1. 15 Oct, 2001 2 commits
    • 	hacks.  Something to remember for the mailbox2 is to do some
      	smart caching, the current buffered stream is not good enough.
      
      	* configure.in: VERSION is set to 0.0.9a for the alpha.
      	* frm/frm.c: Protype for usage(). get_personal() should use
      	const char *.
      	* mail/mail.c (main): Use mailbox_scan() instead of
      	mailbox_messages_count () it is faster for IMAP.
      
      	* mailbox/mbx_imap.c(imap_get_message0): Remove the
      	stream_setbufsiz() it is no longer used.
      	(imap_message_readline imap_body_readline):
      	Bug fix, readline will only consume up to '\n' even though the
      	buffer is bigger.  So we have to adjust the offset/lines/size
      	to reflect what we consume.  This is not very good for example
      	doing:
      	{
      	   off_t offset = 14;
      	   char buffer[512];
      	   stream_readline (stream, buffer, sizeof buffer, offset, NULL);
      	   ...
      	}
      	Will send to the impap server.
      	C: g445 FETCH 4 BODY.PEEK[2]<0.2048>
              S: * 4 FETCH (BODY[2]<0> {739}
      	S: g445 OK FETCH completed
      
      	This is waste since the first line is only 37 bytes.  We will
      	have to come up on the second API with some smart caching.
      
      	* mailbox/memory_stream.c (_memory_write): Nasty bug
      	was not updating the stream size.
      	* mailbox/stream.c(stream_readline): Take care of known
      	case where the buflen is 0 or 1.
      Alain Magloire authored
    • 	it is the same approach as in mail/util.c(environment) settings.
      	The old code was simply overkill, property_t was seldomly use
      	if at all and no need for heavy hash table and all that jazz.
      
      	* mailbox/property.c:  New code, the same as mail/util.c
      	environment.
      	* mailbox/mbx_mbox.c (_mbx_init): Remove property_add_defaults() etc ..
      	no longer in use in the initialisation code.
      	* mailbox/mbx_imap.c: Likewised
      	* mailbox/mbx_pop.c: Likewised
      	* mailbox/mbx_mh.c: Likewised
      	* mailbox/header.c: Remove property code.
      	* mailbox/body.c: Remove property code.
      	* mailbox/message.c: Remove property code.
      	* mailbox/filter.c: Change the code according to the new property_t.
      	* mailbox/filter_rfc822.c: Change the code according to the new
      	property_t.
      	* include/mailutils/header.h: Remove property.
      	* include/mailutils/body.h: Remove property.
      	* include/mailutils/message.h: Remove property.
      	* include/mailutils/property.h: Remove property_add_defaults()
      	property_set_valued () takes one more argument for overwrite.
      	* mailbox/include/header0.hy: Remove property field.
      	* mailbox/include/body0.hy: Remove property field.
      	* mailbox/include/message0.hy: Remove property field.
      	* mailbox/mailbox.c(mailbox_get_property mailbox_set_property):
      	Changed Property code.
      	* mailbox/mailer.c(mailer_set_property mailer_get_property):
      	Changed Property code.
      
      	* mailbox/folder_imap.c (imap_search imap_expunge imap_status): Stubs
      	Search is not implemented yet, STATUS neither and EXPUNGE is not used.
      
      	* mailbox/list.c: Rename variable index to indx to shutup
      	gcc whos confusing with index() when warning level was high.
      	* mailbox/md5-rsa.c: Likewised.
      
      	* mailbox/mailbox.c (mailbox_get_debug mailbox_set_debug):
      	The debug object was being set on the folder not the mailbox.
      
      	* mailbox/mbx_imap.c (imap_messages_count): Attempt to reconnect
      	if the connection timeout.  Is this wise ?
      	(imap_scan0): Move gut of imap_scan() code tho here.
      	(imap_scan): Stub calling imap_scan0() with notification enable.
      	(imap_expunge): After CLOSE, call imap_scan0() wiht notification
      	disable.
      
      	Memory leak in parse822, this was a real pain to trace, because
      	of the recursive nature of the algorithm.  Sam should buy me
      	a beer for this.
      
      	* mailbox/parse822.c: Use more assert to catch errors.
      	(parse822_group): phrase was not free() in case of failure.
      	(parse822_mail_box): Dead if branch remove and free phrase.
      	(parse822_route): accumulator was not being freed.
      	(parse822_local_part): Move down st_free(more).
      	(parse822_domain): Move down st_free(more).
      Alain Magloire authored
  2. 14 Oct, 2001 12 commits
  3. 13 Oct, 2001 2 commits
  4. 12 Oct, 2001 3 commits
  5. 11 Oct, 2001 3 commits
    • 	(imap_string): Free the buffer.
      	(imap_body): Check if we already have the fheader header.
      	(imap_scan): Forgot the break in the switch.
      
      I think, I broke something in the IMAP code too .. sigh ... it
      is getting to late here to figure this out.
      Alain Magloire authored
    • 	the approach of downloading part of the header of the total
      	set of messages.  The it was done before is that the headers
      	were ask one by one per message.  This was causing performance
      	delay because we were doing a lot of small transaction on
      	the TCP/IP stack.  By bundling the entire thing in one request
      	there was much less transcation and the speed was increase
      	by a factor of 10++.
      	The Imap code folder_imap.c and mbx_imap.c is now messy.
      	The rewrite in mailbox2 should clean this up though.
      
      	* mailbox/folder_imap.c (imap_quoted_string): Allocated the
      	memory instead.
      	(imap_body): If we were doing the scan free the memory and create
      	the cache header.
      	(imap_fetch): Create the message if was not done, important for
      	the scan.
      	* mailbox/mbx_imap.c (imap_scan): Bundle one big request to
      	fetch as much information as possible.
      	(message_operation): Free the buffer when done.
      	* mailbox/include/imap0.h: Add IMAP_SCAN states.
      
      	* mailbox/file_stream.c (_file_readline): It seems that fgets() can
      	not handle binary data.  Try to do our best.
      Alain Magloire authored
    • 	of byte written to 0.
      	(header_get_value): Likewised.
      	* mailbox/mbx_imap.c (imap_envelope_sender): Go through
      	header_get_value() to fetch the "Sender" field, it may be cache.
      	(imap_header_get_fvalue): Put parenthesies around the FETCH, the
      	WU-IMAPD likes it that way.
      Alain Magloire authored
  6. 10 Oct, 2001 2 commits
  7. 09 Oct, 2001 2 commits
    • 	is not set fallback on body_lines and header_lines.
      
      	* mail/print.c:  Lines number are not always known for
      	example for POP or IMAP, it is not known until the mail
      	is dowloaded so take a guess base on the size.
      Alain Magloire authored
    • 	Move all the previous mbox_expunge() to mbox_expunge0()
      	with a new argument deciding whether or not to remove
      	messages set deleted.
      	(mbox_save_attributes): Stub calling mbox_expunge0().
      	(mbox_expunge): Stub calling mbox_expunge0()
      
      	* mailbox/mbx_mh.c: Provide a prototype for mh_message_number()
      	there is no provision for it in the current Mailbox API.
      Alain Magloire authored
  8. 08 Oct, 2001 4 commits
  9. 06 Oct, 2001 2 commits
  10. 05 Oct, 2001 4 commits
  11. 04 Oct, 2001 2 commits
  12. 03 Oct, 2001 2 commits