- 19 Oct, 2001 2 commits
-
-
- 17 Oct, 2001 12 commits
-
-
-
--enable-debug switch. Changed the last log's header line: apparently was a result of some copy-and-paste :^)
Sergey Poznyakoff authored -
-
-
-
adds -ggdb to the invocation of gcc, and removes any optimization directives from CFLAGS.
Sergey Poznyakoff authored -
-
-
-
-
it is not unusual to see server with a shorter timeout. When the timeout occurs, the server sends a BYE. To catch this all functions in folder_imap.c and mbx_imap.c use a proloque folder_open() or imap_messages_count to check if the server timedout and reconnect. This is not bullet proof since the "* BYE" will be act upon on the second request, the first is where we catch "* BYE". On mailbox2 this behaviour will be disable/enable with a property and make more reliable, so client set the property "AUTORECONNECT". * mailbox/folder_imap.c: Prologue to must functions calling folder_open(). * mailbox/mbx_imap.c: Proloque to must functions calling folder_open() or imap_messages_count. (section_name): Buglet passed the wrong argument to sizeof(). For debugging purposes, to see the traffic * mailbox/folder_imap.c: Print to stderr the command sent to the IMAP server. #define DEBUG_SHOW_COMMAND 1 Print to stderr the responses received from the IMAP server. #define DEBUG_SHOW_RESPONSE 1 Print to stderr the literal/quoted string received from the IMAP server. #define DEBUG_SHOW_DATA 1
Alain Magloire authored
-
- 16 Oct, 2001 5 commits
-
-
-
-
-
* mailbox/sendmail.c: Use vfork() instead of fork(). In a multithreaded environment, fork () may not be supported. Since we do fork()/exec(), vfork() will do fine. This was trigger by QNX/Neutrino, where fork()ing is not supported after threads have been created. 2001-10-15 Sam Roberts * doc/texinfo/programs.texi: Typo and semantics corrections.
Alain Magloire authored
-
- 15 Oct, 2001 5 commits
-
-
-
Bad analysis on my part. Functions removed. * configure.in: Bump to 0.0.9b * TODO: Put a note apropos mailbox2.
Alain Magloire authored -
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
-
- 14 Oct, 2001 12 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 2 commits
-
-