- 14 Oct, 2001 7 commits
-
-
-
-
-
-
-
It should probably be a runtime option via set debug=1 or something for now it is disable between if (0) {...}. More cleanup in the IMAP code. A memory stream buffer is use to save the string literal sended by the IMAP server. The allocation is handle by the memory_stream which simplifies the code. * folder_imap.c (folder_imap.c): Create a memory stream to hold the literal or quoted string send by the IMAP server. (folder_imap_list folder_imap_lsub): There is no callback field the struct folder_list is in struct _f_imap now. (imap_literal_string imap_quoted_string imap_string): Use the memory string stream to save the result. (imap_body): Still need to be clean, but creates the cache header when doing the scan. (imap_parse): Do not use alloca().
Alain Magloire authored
-
- 13 Oct, 2001 2 commits
-
-
- 12 Oct, 2001 3 commits
-
-
-
-
* mailbox/folder_imap.c (imap_body): Destry the cache header if it was previously set on a SCAN. * mailbox/mbx_imap.c (delete_to_string): New function, to generate a string of IMAP message numbers. (imap_expunge): use delete_to_string; (attribute_string): Removed. (flags_string): Removed. (flags_to_string): Replace attribute_string() and flags_string(). (message_operation): Rename to fetch_operation. * mailbox/include/imap0.h(struct _f_imap): field func and id removed, never used.
Alain Magloire authored
-
- 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
-
- 10 Oct, 2001 2 commits
-
-
-
For pop this a little hackish, since there is no proper folder. As a hack we set for the pop folder the actual mailbox as data pointer. (pop_user): the owner of the authority is the folder.
Alain Magloire authored
-
- 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
-
- 08 Oct, 2001 4 commits
-
-
- 06 Oct, 2001 2 commits
-
-
-
LPAREN. * mailbox/header.c (header_get_fvalue): Return 0 in the number of byte return argument even when no header is found. (header_get_value): Likewised. * mailbox/mbx_imap.c (imap_header_get_fvalue): Also cache the message size and the FLAGS. (imap_message_size): If we already have the size do not request it again.
Alain Magloire authored
-
- 05 Oct, 2001 4 commits
-
-
-
-
parse822_quoted_string() sometimes returns EOK and does not fill qstr (e.g. when parsing empty string: "")
Sergey Poznyakoff authored -
There is no parenthesis when we send the UIDVALIDITY/UNSEEN. * mailbox/header.c (header_free_cache): New function. (fill_blurb): Call header_free_cache to release memory. (header_destroy): Move the code to header_free_cache(). (header_set_fvalue): Accept a NULL value, it will permanent failure i.e. the header does not exist. (header_get_value): Check the cache provided by the header object then the cache from _get_fvalue() and fall back to downloading the entire header. * mailbox/mbx_imap.c (imap_hader_get_fvalue): Implement a cache in IMAP for the most use headers like "FROM, SUBJECT ....". * mailbox/include/imap0.h: New field in _m_imap to hold the header cache. * mailbox/mapfile_stream.c: signed and unsigned cast.
Alain Magloire authored
-
- 04 Oct, 2001 2 commits
-
-
-
the \\Delete flag and just keep it locally. The expunge will take care of resending it. (imap_attr_get_flags): Likewised.
Alain Magloire authored
-
- 03 Oct, 2001 2 commits
-
-
- 02 Oct, 2001 2 commits
-
-
-
* mailbox2/include/mailutils/sys/mbox.h: New prototypes. * mailbox2/mbox/*.c: Finish implementation. * mailbox2/attribute.c: Add user flags. * mailbox2/dattribute.c: Add user flags. To be compatible with the old mailbox, all stream read and write take an offset. Removed stream_seek () and add stream_is_seekable() instead. * mailbox2/stream.c: Likewised. * mailbox2/bstream.c: Likewised. * mailbox2/fdstream.c: Likewised. * mailbox2/fstream.c: Likewised. * mailbox2/mapstream.c: Likewised. * mailbox2/memstream.c: Likewised. * mailbox2/tcpstream.c: Likewised. * mailbox2/include/mailutils/error.h: Add EBADFD.
Alain Magloire authored
-
- 27 Sep, 2001 1 commit
-
-
- 26 Sep, 2001 1 commit
-
-
- 24 Sep, 2001 1 commit
-
-
Changes are too numerous to enumarate. * mailbox2/mbox/*.[ch]: First mbox implementation. * mailbox2/mbox/Makefile.am: New file.
Alain Magloire authored
-
- 23 Sep, 2001 2 commits
-
-
-
the base functions/methods visible so the extended object could reuse some base methods if necessary. Inheritance is possible because we always add to the end of the vtable structure new functions. For example, mime_t object will be also a message_t. and it will be possible to do { mime_t mime; header_t header; ... message_get_header ((message_t)mime, header); } Another example is tcpstream(socket stream) extends fdstream(file description stream); Also the name of the functions have change to match better there purpose. * mailbox2/Makefile.am: lockfile.c added. * mailbox2/bstream.c: Reoganisation to make the functions visible. * mailbox2/dattribute.c: Likewise. * mailbox2/dotlock.c: Likewise. * mailbox2/fdstream.c: Likewise. * mailbox2/fstream.c: Likewise. * mailbox2/mapstream.c: Likewise. * mailbox2/memstream.c: Likewise. * mailbox2/pticket.c: Likewise. * mailbox2/sdebug.c: Likewise. * mailbox2/tcpstream.c: Likewise. * mailbox2/include/mailutils/Makefile.am: lockfile.h added. * mailbox2/include/mailutils/attribute.h: Add the new prototypes. * mailbox2/include/mailutils/mbox.h: Add the new prototypes. * mailbox2/include/mailutils/stream.h: Add the new prototypes. * mailbox2/include/mailutils/sys/Makefile.am: dattribute.h lockfile.h mapstream.h pticket.h added. * mailbox2/include/mailutils/sys/bstream.h: Add new prototypes. * mailbox2/include/mailutils/sys/fdstream.h: Likewise. * mailbox2/include/mailutils/sys/fstream.h: Likewise. * mailbox2/include/mailutils/sys/mbox.h: Likewise. * mailbox2/include/mailutils/sys/memstream.h: Likewise. * mailbox2/include/mailutils/sys/sdebug.h: Likewise. * mailbox2/include/mailutils/sys/tcpstream.h: Likewise.
Alain Magloire authored
-