citadel.git
14 years ago* BIG rewrite of header handling and slimming of context_loop and session_loop; shuff...
Wilfried Göesgens [Sun, 17 May 2009 08:34:33 +0000 (08:34 +0000)]
* BIG rewrite of header handling and slimming of context_loop and session_loop; shuffle everything arround.

14 years ago* Titles and descriptions for site configuration tabs are now divs with class 'confti...
Art Cancro [Sat, 16 May 2009 04:06:04 +0000 (04:06 +0000)]
* Titles and descriptions for site configuration tabs are now divs with class 'conftitle' and 'confdescr' instead of H1 and H2 blocks.  Added CSS declarations for these styles.  Now they don't look obtusely large anymore.

14 years ago* CSS changes to make the rounded boxes look like rounded boxes, even on IE8, which...
Art Cancro [Fri, 15 May 2009 21:29:56 +0000 (21:29 +0000)]
* CSS changes to make the rounded boxes look like rounded boxes, even on IE8, which broke them (again).  Fuck Microsoft.  Where's a multi-megaton nuke when I need one?

14 years ago* add defines for our errorcodes
Wilfried Göesgens [Thu, 14 May 2009 20:00:17 +0000 (20:00 +0000)]
* add defines for our errorcodes
* create citadel<->http return code mapper
* add more DAV ed stuff

14 years ago* mainmenu.c: removed C code that had been commented out and replaced with a template...
Art Cancro [Thu, 14 May 2009 19:34:30 +0000 (19:34 +0000)]
* mainmenu.c: removed C code that had been commented out and replaced with a template.  Are there any more of these?

14 years ago* Removed 'close window' link from logout screen because some browsers don't allow...
Art Cancro [Thu, 14 May 2009 13:18:26 +0000 (13:18 +0000)]
* Removed 'close window' link from logout screen because some browsers don't allow it to work.

14 years ago* output the mime type of the tepmlate in read_message so we can have different ones
Wilfried Göesgens [Wed, 13 May 2009 21:51:12 +0000 (21:51 +0000)]
* output the mime type of the tepmlate in read_message so we can have different ones
* switch msg to set the mimetype of the template
* add eDELETE HTTP Command to msg so we can do exactly that in this situation. previously executed stuff needs to let this through to there.

15 years ago* Fixed a bug that caused vnotes not to display when encapsulated in multipart/altern...
Art Cancro [Tue, 12 May 2009 21:31:44 +0000 (21:31 +0000)]
* Fixed a bug that caused vnotes not to display when encapsulated in multipart/alternative because mime_content_type was used where msg4_content_type should have been used.

15 years ago* Save notes as multipart/alternative with a text/plain version so they can be read...
Art Cancro [Tue, 12 May 2009 21:18:53 +0000 (21:18 +0000)]
* Save notes as multipart/alternative with a text/plain version so they can be read in the text mode client.

15 years ago* Based on some quick testing, render_MIME_VNote() appears to be sound. Adding text...
Art Cancro [Tue, 12 May 2009 20:59:37 +0000 (20:59 +0000)]
* Based on some quick testing, render_MIME_VNote() appears to be sound.  Adding text/vnote to WebCit's MSGP declaration.

15 years ago* Notes now display properly, regardless of whether we received the text/vnote from...
Art Cancro [Tue, 12 May 2009 20:53:36 +0000 (20:53 +0000)]
* Notes now display properly, regardless of whether we received the text/vnote from MSG4 or DLAT.   We can add text/vnote to our MSGP declaration as soon as dothebart confirms that an inline renderer is available.

15 years ago* Reversed the IsEmptyStr logic to determine whether a note is in vNote format or...
Art Cancro [Tue, 12 May 2009 20:45:34 +0000 (20:45 +0000)]
* Reversed the IsEmptyStr logic to determine whether a note is in vNote format or legacy text format.  Notes are now working again, but it's still calling load_mimepart() every time.

15 years ago* load_mimepart() was including protocol chatter in its data buffer. Fixed.
Art Cancro [Tue, 12 May 2009 20:42:08 +0000 (20:42 +0000)]
* load_mimepart() was including protocol chatter in its data buffer.  Fixed.

15 years ago* Got the Notes screen a little closer to displaying properly but it's still not...
Art Cancro [Tue, 12 May 2009 03:29:57 +0000 (03:29 +0000)]
* Got the Notes screen a little closer to displaying properly but it's still not quite there.

15 years ago* add message ID to the notification template; not used for funnambol, but for possib...
Wilfried Göesgens [Mon, 11 May 2009 23:01:04 +0000 (23:01 +0000)]
* add message ID to the notification template; not used for funnambol, but for possible other applications.

15 years ago* added iltls corrections and additions to our french translation.
Wilfried Göesgens [Sun, 10 May 2009 22:06:36 +0000 (22:06 +0000)]
* added iltls corrections and additions to our french translation.

15 years ago* use enum to handle http request types
Wilfried Göesgens [Sun, 10 May 2009 22:01:12 +0000 (22:01 +0000)]
* use enum to handle http request types
* some more cleanup

15 years ago* uninitialized value...
Wilfried Göesgens [Sun, 10 May 2009 21:59:59 +0000 (21:59 +0000)]
* uninitialized value...

15 years ago* shrinked the rest of these shutdown stuff into the module-handler.
Wilfried Göesgens [Sun, 10 May 2009 20:05:44 +0000 (20:05 +0000)]
* shrinked the rest of these shutdown stuff into the module-handler.

15 years ago* add more module handlers:
Wilfried Göesgens [Sun, 10 May 2009 18:05:56 +0000 (18:05 +0000)]
* add more module handlers:
  * start (alloc structures here; don't depend on others...)
  * init (fill your structs, register with others...)
  * shutdown (free your static structs etc.

  * Session New: for allocation etc.
  * Session Attach: on each request before it gets hot.
  * Session Detach: clean up your session local stuff
  * Session Destroy: the user is gone; flush your memory.

* more news: WC is set before the SessionNew; so you can use WC there.

* shuffled some more stuff arround:
  * i/o related stuff
  * directory calculation
  * local css detection is now part of the start handler...
  * all creates/frees of structures that can be done in the above handrlers is done there now.

15 years ago* just destroy it if we allocated it
Wilfried Göesgens [Thu, 7 May 2009 22:40:33 +0000 (22:40 +0000)]
* just destroy it if we allocated it

15 years ago* make vcard loader abstract so we can use it in more places
Wilfried Göesgens [Thu, 7 May 2009 22:36:48 +0000 (22:36 +0000)]
* make vcard loader abstract so we can use it in more places
* use it in other places

15 years ago* use default message loading mechanisms instead of brewing our own soup here
Wilfried Göesgens [Thu, 7 May 2009 21:20:52 +0000 (21:20 +0000)]
* use default message loading mechanisms instead of brewing our own soup here

15 years ago* fix memleak
Wilfried Göesgens [Thu, 7 May 2009 20:25:44 +0000 (20:25 +0000)]
* fix memleak

15 years ago* don't choke if the vcard fails to load
Wilfried Göesgens [Thu, 7 May 2009 20:13:20 +0000 (20:13 +0000)]
* don't choke if the vcard fails to load
* upsi. serv_printf needs a formatstring as first argument...

15 years ago* fix build without iconv
Wilfried Göesgens [Tue, 5 May 2009 23:09:33 +0000 (23:09 +0000)]
* fix build without iconv

15 years ago* init pointer...
Wilfried Göesgens [Tue, 5 May 2009 22:47:52 +0000 (22:47 +0000)]
* init pointer...

15 years ago* done should be initialized...
Wilfried Göesgens [Tue, 5 May 2009 22:03:10 +0000 (22:03 +0000)]
* done should be initialized...

15 years ago* remove more serv_readln etc...
Wilfried Göesgens [Mon, 4 May 2009 22:22:10 +0000 (22:22 +0000)]
* remove more serv_readln etc...

15 years ago* remove serv_getln here too
Wilfried Göesgens [Mon, 4 May 2009 21:49:02 +0000 (21:49 +0000)]
* remove serv_getln here too

15 years ago* remove old style server communication.
Wilfried Göesgens [Mon, 4 May 2009 21:22:43 +0000 (21:22 +0000)]
* remove old style server communication.

15 years ago* Removed a FIXME comment
Art Cancro [Mon, 4 May 2009 21:02:23 +0000 (21:02 +0000)]
* Removed a FIXME comment

15 years ago* serv_getln now is a wrapper around existing functionality. a new temporary var...
Wilfried Göesgens [Mon, 4 May 2009 20:10:56 +0000 (20:10 +0000)]
* serv_getln now is a wrapper around existing functionality. a new temporary var in WC is used for performance reasons.
* non-buffered IO is going away completely, thus we remove the buffered suffix from the function and all places that used it so far
* set O_NONBLOCK on our server FD, hopefully this does what we want?

15 years ago* undo linebuffering, its going away under that name
Wilfried Göesgens [Mon, 4 May 2009 20:06:33 +0000 (20:06 +0000)]
* undo linebuffering, its going away under that name
* fix user loading

15 years ago* make tinymce give us utf-8 rather than html entities. Thanks to sorrow for digging...
Wilfried Göesgens [Mon, 4 May 2009 19:23:42 +0000 (19:23 +0000)]
* make tinymce give us utf-8 rather than html entities. Thanks to sorrow for digging deeper into this.

15 years ago* Since we can now shut down the master SSH session cleanly with a command, there...
Art Cancro [Sun, 3 May 2009 03:38:07 +0000 (03:38 +0000)]
* Since we can now shut down the master SSH session cleanly with a command, there's no need to do the whole fork()/exec() thing.  Replaced all that messy code with a simple call to system() and a SSH parameter to auto-background.

15 years ago* Found a better way for ctdlmigrate to shut down the master SSH socket. SSH has...
Art Cancro [Sun, 3 May 2009 03:30:35 +0000 (03:30 +0000)]
* Found a better way for ctdlmigrate to shut down the master SSH socket.  SSH has a command to do it.  No more silly games trying to hunt for the correct pid to kill.

15 years ago* upsi. double free.
Wilfried Göesgens [Sat, 2 May 2009 14:40:50 +0000 (14:40 +0000)]
* upsi. double free.

15 years ago* temporary solution to our ser_readln migration: have a buffer on the session, read...
Wilfried Göesgens [Wed, 29 Apr 2009 21:42:05 +0000 (21:42 +0000)]
* temporary solution to our ser_readln migration: have a buffer on the session, read there to, and copy it over then.
* remove some more serv_readln's, add some more GetServerStatus'es

15 years ago* output errors via important_message
Wilfried Göesgens [Tue, 28 Apr 2009 22:20:51 +0000 (22:20 +0000)]
* output errors via important_message

15 years ago* start migrating important message to strbuf; have both meanwhile.
Wilfried Göesgens [Tue, 28 Apr 2009 21:29:17 +0000 (21:29 +0000)]
* start migrating important message to strbuf; have both meanwhile.
* evaluate result of gotoroom; this needs to be done elsewhere too.
* fix roomname thing in useredit

15 years ago* Offer the ability to switch authentication modes via WebCit. This is a great way...
Art Cancro [Tue, 28 Apr 2009 19:53:24 +0000 (19:53 +0000)]
* Offer the ability to switch authentication modes via WebCit.  This is a great way for site operators to lock themselves out of their own systems.

15 years ago* If running 7.60 code for the first time, serv_upgrade erases any existing LDAP...
Art Cancro [Tue, 28 Apr 2009 04:22:54 +0000 (04:22 +0000)]
* If running 7.60 code for the first time, serv_upgrade erases any existing LDAP configuration left behind by the old module.

15 years ago* use load_message in the useredit form
Wilfried Göesgens [Sun, 26 Apr 2009 13:36:43 +0000 (13:36 +0000)]
* use load_message in the useredit form
* enable the vcard editor to work with a preloaded message

15 years ago* chop read_message into two pieces: the part actualy loading the message (so we...
Wilfried Göesgens [Sun, 26 Apr 2009 11:37:56 +0000 (11:37 +0000)]
* chop read_message into two pieces: the part actualy loading the message (so we can reuse it elsewhere) and the rendering.

15 years ago* make it const baby!
Wilfried Göesgens [Sun, 26 Apr 2009 10:25:46 +0000 (10:25 +0000)]
* make it const baby!

15 years ago* Added rsync of non-database dirs. ctdlmigrate is now complete.
Art Cancro [Sun, 26 Apr 2009 04:10:29 +0000 (04:10 +0000)]
* Added rsync of non-database dirs.  ctdlmigrate is now complete.

15 years ago* Use fork() and exec() instead of system() to set up the master SSH session, so...
Art Cancro [Sun, 26 Apr 2009 03:46:53 +0000 (03:46 +0000)]
* Use fork() and exec() instead of system() to set up the master SSH session, so we can get the pid to kill later
* At exit, kill the master SSH session and delete the socket

15 years ago* Delete socket file after ctdlmigrate runs
Art Cancro [Sun, 26 Apr 2009 02:54:16 +0000 (02:54 +0000)]
* Delete socket file after ctdlmigrate runs

15 years ago* ctdlmigrate: added a local replacement for gets() that
Art Cancro [Sun, 26 Apr 2009 02:14:22 +0000 (02:14 +0000)]
* ctdlmigrate: added a local replacement for gets() that
  doesn't throw a warning.

15 years ago* evade double calls to output_headers
Wilfried Göesgens [Sat, 25 Apr 2009 22:21:32 +0000 (22:21 +0000)]
* evade double calls to output_headers

15 years ago* buybuy serv_read
Wilfried Göesgens [Sat, 25 Apr 2009 21:56:29 +0000 (21:56 +0000)]
* buybuy serv_read
* fix some warnings

15 years ago* replace I/O in js handler
Wilfried Göesgens [Sat, 25 Apr 2009 17:31:38 +0000 (17:31 +0000)]
* replace I/O in js handler

15 years ago* allow groupdetection in user sorters
Wilfried Göesgens [Sat, 25 Apr 2009 14:36:19 +0000 (14:36 +0000)]
* allow groupdetection in user sorters
* we have stringnames for sorting algorithms... trapped myself with not updating documentation.

15 years ago* remove old notes rendering code, its not used anymore.
Wilfried Göesgens [Sat, 25 Apr 2009 14:09:27 +0000 (14:09 +0000)]
* remove old notes rendering code, its not used anymore.
* add mail attachment inline renderer for notes
* add first draft template stripped down from the original notes thing, needs some more love.

15 years ago* swap I/O to the new functions
Wilfried Göesgens [Sat, 25 Apr 2009 13:32:30 +0000 (13:32 +0000)]
* swap I/O to the new functions

15 years ago* relicense to BSD
Wilfried Göesgens [Sat, 25 Apr 2009 13:31:34 +0000 (13:31 +0000)]
* relicense to BSD

15 years ago* add strbuf wrapper arround vcard parser
Wilfried Göesgens [Sat, 25 Apr 2009 13:30:59 +0000 (13:30 +0000)]
* add strbuf wrapper arround vcard parser

15 years ago* fix some denglish
Wilfried Göesgens [Sat, 25 Apr 2009 12:08:00 +0000 (12:08 +0000)]
* fix some denglish

15 years ago* sendcommand default watchdog timeout set to 60 seconds. 5 seconds is way too low.
Art Cancro [Fri, 24 Apr 2009 15:14:43 +0000 (15:14 +0000)]
* sendcommand default watchdog timeout set to 60 seconds.  5 seconds is way too low.
* ctdlmigrate overrides the default and sets it to 3600 seconds on both the source and target hosts.

15 years ago* ctdlmigrate
Art Cancro [Fri, 24 Apr 2009 04:07:44 +0000 (04:07 +0000)]
* ctdlmigrate

15 years ago* ctdlmigrate utility (not finished)
Art Cancro [Fri, 24 Apr 2009 03:21:22 +0000 (03:21 +0000)]
* ctdlmigrate utility (not finished)

15 years ago* Added a subcommand to the migrator to list out all of the directories which require...
Art Cancro [Fri, 24 Apr 2009 02:09:30 +0000 (02:09 +0000)]
* Added a subcommand to the migrator to list out all of the directories which require copying because they are not part of the database; these can be fed into rsync to supplement the XML dump and build a complete replica of a Citadel installation.

15 years ago* use modern functions for downloads.
Wilfried Göesgens [Thu, 23 Apr 2009 21:29:32 +0000 (21:29 +0000)]
* use modern functions for downloads.

15 years ago* permit access to images without login
Wilfried Göesgens [Wed, 22 Apr 2009 23:02:30 +0000 (23:02 +0000)]
* permit access to images without login

15 years ago* display submessages / texts while quoting messages
Wilfried Göesgens [Wed, 22 Apr 2009 22:26:59 +0000 (22:26 +0000)]
* display submessages / texts while quoting messages
* sort userlists by name
* escape username for selectbox field

15 years ago* XMPP logging a little less verbose
Art Cancro [Wed, 22 Apr 2009 14:37:27 +0000 (14:37 +0000)]
* XMPP logging a little less verbose

15 years ago* Handle wandering punctuation in charset definitions. This fixes the most common...
Art Cancro [Wed, 22 Apr 2009 02:25:02 +0000 (02:25 +0000)]
* Handle wandering punctuation in charset definitions.  This fixes the most common WebCit crash being experienced since the 7.50 release.  Committing to both trunk and stable-75x.

15 years ago* operate blobreader so it will search \n000\n if we're server reading and just end...
Wilfried Göesgens [Tue, 21 Apr 2009 20:36:08 +0000 (20:36 +0000)]
* operate blobreader so it will search \n000\n if we're server reading and just end if we're http reading.

15 years ago* have select acting like it would accept \n000\n as terminator for the end of blobs
Wilfried Göesgens [Tue, 21 Apr 2009 20:33:36 +0000 (20:33 +0000)]
* have select acting like it would accept \n000\n as terminator for the end of blobs

15 years ago* Fixed striplt() to only remove leading and trailing blanks, but no others. It...
Art Cancro [Tue, 21 Apr 2009 02:37:46 +0000 (02:37 +0000)]
* Fixed striplt() to only remove leading and trailing blanks, but no others.  It is still O(1) with no calls to strlen().

15 years ago* migrate http read logic to the strbuf controlled readbuffered internal fast mode
Wilfried Göesgens [Mon, 20 Apr 2009 22:34:09 +0000 (22:34 +0000)]
* migrate http read logic to the strbuf controlled readbuffered internal fast mode

15 years ago* this include is needed on *bsd
Wilfried Göesgens [Sun, 19 Apr 2009 21:09:51 +0000 (21:09 +0000)]
* this include is needed on *bsd

15 years ago* use enhanced buffering while reading messages too.
Wilfried Göesgens [Sun, 19 Apr 2009 20:25:48 +0000 (20:25 +0000)]
* use enhanced buffering while reading messages too.

15 years ago* add include header *bsd probably needs here
Wilfried Göesgens [Sun, 19 Apr 2009 18:23:59 +0000 (18:23 +0000)]
* add include header *bsd probably needs here

15 years ago* read calendars line & blob buffered. we're FAST now.
Wilfried Göesgens [Sun, 19 Apr 2009 15:06:39 +0000 (15:06 +0000)]
* read calendars line & blob buffered. we're FAST now.

15 years ago* implement buffered IO for blob-reading, so you can continue siping from the blob...
Wilfried Göesgens [Sun, 19 Apr 2009 15:05:55 +0000 (15:05 +0000)]
* implement buffered IO for blob-reading, so you can continue siping from the blob you read for line buffered read before.

15 years ago* separate loading & parsing the ical attachment
Wilfried Göesgens [Sun, 19 Apr 2009 10:12:54 +0000 (10:12 +0000)]
* separate loading & parsing the ical attachment

15 years ago* extract_key() now expects the caller to specify the '='
Wilfried Göesgens [Sun, 19 Apr 2009 09:33:54 +0000 (09:33 +0000)]
* extract_key() now expects the caller to specify the '='

- Diese und die folgenden Zeilen werden ignoriert --

M    lib/mime_parser.c

15 years ago* big profiling stuff:
Wilfried Göesgens [Sat, 18 Apr 2009 20:30:14 +0000 (20:30 +0000)]
* big profiling stuff:
  * reduce strlen use wherever we can
  * reduce malloc usage
  * don't use sprintf

15 years ago* upsi here too.
Wilfried Göesgens [Sat, 18 Apr 2009 13:06:22 +0000 (13:06 +0000)]
* upsi here too.

15 years ago* evaluate server status code, this will lock us up if we're trying to read the messa...
Wilfried Göesgens [Sat, 18 Apr 2009 12:41:37 +0000 (12:41 +0000)]
* evaluate server status code, this will lock us up if we're trying to read the message though.

15 years ago* persistantly handle the bufferlengths for dates; snprintf doesn't terminate strings...
Wilfried Göesgens [Sat, 18 Apr 2009 12:14:27 +0000 (12:14 +0000)]
* persistantly handle the bufferlengths for dates; snprintf doesn't terminate strings if they exceed the provided length, which was causing character soup in some rare cases.

15 years ago* add missing blank
Wilfried Göesgens [Sat, 18 Apr 2009 12:10:38 +0000 (12:10 +0000)]
* add missing blank

15 years ago* abort if we're not able to retrieve the citserver information instead of crashing...
Wilfried Göesgens [Sat, 18 Apr 2009 12:09:55 +0000 (12:09 +0000)]
* abort if we're not able to retrieve the citserver information instead of crashing over it.

15 years ago* Don't attempt to evaluate (ptr-1) when ptr is already at the beginning of the buffer.
Art Cancro [Fri, 17 Apr 2009 16:46:34 +0000 (16:46 +0000)]
* Don't attempt to evaluate (ptr-1) when ptr is already at the beginning of the buffer.

15 years ago* make FourHash case insensitive
Wilfried Göesgens [Fri, 17 Apr 2009 06:19:01 +0000 (06:19 +0000)]
* make FourHash case insensitive

15 years ago* give all commands their own function
Wilfried Göesgens [Fri, 17 Apr 2009 00:44:52 +0000 (00:44 +0000)]
* give all commands their own function
* evade rumpelstilskin-lookup in favour of module registration commands
* replace linked list of commands by 4-char-hash.

15 years ago* Added unused cmdbuf parms to more cmd_xxxx() functions
Art Cancro [Fri, 17 Apr 2009 00:36:52 +0000 (00:36 +0000)]
* Added unused cmdbuf parms to more cmd_xxxx() functions

15 years ago* Removed XYZZY command. Nothing happens.
Art Cancro [Fri, 17 Apr 2009 00:32:27 +0000 (00:32 +0000)]
* Removed XYZZY command.  Nothing happens.
* cmd_getu() now accepts a string argument which is discarded, to make the API consistent.

15 years ago* Made our Berkeley DB errors look more like the ones thrown by other applications...
Art Cancro [Thu, 16 Apr 2009 21:24:32 +0000 (21:24 +0000)]
* Made our Berkeley DB errors look more like the ones thrown by other applications, so that when people Google them they don't get led to a 'Citadel Sucks' thread on a popular Ubuntu support forum that was populated by paid Zimbra astroturfers.

15 years ago* When we get a Berkeley DB panic, display a descriptive Berkeley DB error message...
Art Cancro [Thu, 16 Apr 2009 21:10:54 +0000 (21:10 +0000)]
* When we get a Berkeley DB panic, display a descriptive Berkeley DB error message using db_strerror() rather than an error number

15 years ago* rc.d/citadel installed by setup.c now logs to syslog by default
Art Cancro [Thu, 16 Apr 2009 17:58:31 +0000 (17:58 +0000)]
* rc.d/citadel installed by setup.c now logs to syslog by default

15 years ago* Don't fetch header summary in MSGS command for calendar view. We don't need it.
Art Cancro [Thu, 16 Apr 2009 15:04:41 +0000 (15:04 +0000)]
* Don't fetch header summary in MSGS command for calendar view.  We don't need it.

15 years ago* Minor bugfix to above
Art Cancro [Thu, 16 Apr 2009 15:00:11 +0000 (15:00 +0000)]
* Minor bugfix to above

15 years ago* Minor bugfix to above
Art Cancro [Thu, 16 Apr 2009 14:59:01 +0000 (14:59 +0000)]
* Minor bugfix to above

15 years ago* Completed optimization of load_ical_part(), now uses the data supplied by MSG4...
Art Cancro [Thu, 16 Apr 2009 14:29:18 +0000 (14:29 +0000)]
* Completed optimization of load_ical_part(), now uses the data supplied by MSG4 if it is usable.  In initial testing this cuts calendar load time almost in half.

15 years ago* Cleanup
Art Cancro [Thu, 16 Apr 2009 03:16:43 +0000 (03:16 +0000)]
* Cleanup

15 years ago* Added some traces and minor additions, getting ready to optimize load_ical_object...
Art Cancro [Thu, 16 Apr 2009 03:04:54 +0000 (03:04 +0000)]
* Added some traces and minor additions, getting ready to optimize load_ical_object() so that it doesn't have to call load_mimepart() most of the time

15 years ago* Log the wall clock time required to complete each transaction.
Art Cancro [Wed, 15 Apr 2009 19:40:51 +0000 (19:40 +0000)]
* Log the wall clock time required to complete each transaction.