1. 09 Oct, 2010 1 commit
  2. 08 Sep, 2010 2 commits
    • * mailbox/fltstream.c (filter_wr_flush): Fix erroneous conditional.
      (filter_wait): New method.
      (mu_filter_stream_create): Set wait method.
      
      * imap4d/io.c: New source.
      * imap4d/Makefile.am: Add io.c
      * imap4d/*: Update I/O function calls.
      Sergey Poznyakoff authored
    • Imap4d successfully passes all tests.
      
      * imap4d/close.c (imap4d_close0): Fix improper use of MU_STREAM_READ
      (flags changed their semantics since then).
      * imap4d/fetch.c: Send \n terminated lines, rely on filters to recode
      line terminators to \r\n.
      (fetch_io): Rewrite using CRLF encoder and util_copy_out.
      (_frt_header_fields): Rewind memory stream before reading from it.
      
      * imap4d/auth_gsasl.c: Send \n terminated lines, rely on filters
      to recode line terminators to \r\n.
      * imap4d/auth_gss.c: Likewise.
      * imap4d/capability.c: Likewise.
      * imap4d/copy.c: Likewise.
      * imap4d/id.c: Likewise.
      * imap4d/idle.c: Likewise.
      * imap4d/list.c: Likewise.
      * imap4d/namespace.c: Likewise.
      * imap4d/preauth.c: Likewise.
      * imap4d/search.c: Likewise.
      * imap4d/status.c: Likewise.
      * imap4d/store.c: Likewise.
      * imap4d/select.c: Likewise.
      (imap4d_select_status): Fix improper use of MU_STREAM_READ.
      
      * imap4d/util.c: Send \n terminated lines, rely on filters
      to recode line terminators to \r\n.
      (util_setio): Apply CRLF filters to both input and output streams
      (in opposite directions).
      (util_copy_out): New function.
      (remove_cr): Remove.
      * imap4d/imap4d.h (util_copy_out): New prototype.
      Sergey Poznyakoff authored
  3. 05 Jan, 2010 1 commit
  4. 16 Dec, 2009 1 commit
    • Affected files:
      
      * comsat/comsat.c
      * examples/header.c
      * examples/mailcap.c
      * examples/pop3client.c
      * examples/url-parse.c
      * imap4d/fetch.c
      * imap4d/id.c
      * imap4d/list.c
      * imap4d/select.c
      * imap4d/status.c
      * imap4d/store.c
      * imap4d/sync.c
      * imap4d/util.c
      * include/mailutils/sieve.h
      * libmu_argp/common.c
      * libmu_argp/muinit.c
      * libmu_sieve/actions.c
      * libmu_sieve/extensions/pipe.c
      * libmu_sieve/extensions/vacation.c
      * libmu_sieve/prog.c
      * libmu_sieve/require.c
      * libmu_sieve/runtime.c
      * libmu_sieve/sieve-priv.h
      * libmu_sieve/sieve.y
      * libproto/imap/folder.c
      * libproto/imap/mbox.c
      * libproto/mailer/sendmail.c
      * libproto/mbox/mbox.c
      * libproto/pop/pop3_list.c
      * libproto/pop/pop3_stat.c
      * maidag/lmtp.c
      * maidag/sieve.c
      * mail/copy.c
      * mail/decode.c
      * mail/envelope.c
      * mail/eq.c
      * mail/escape.c
      * mail/from.c
      * mail/mail.h
      * mail/mailline.c
      * mail/mailvar.c
      * mail/size.c
      * mail/util.c
      * mail/write.c
      * mailbox/cfg_format.c
      * mailbox/folder.c
      * mailbox/parse822.c
      * mailbox/system.c
      * messages/messages.c
      * mh/folder.c
      * mh/forw.c
      * mh/inc.c
      * mh/mh.h
      * mh/mh_alias.l
      * mh/mh_fmtgram.y
      * mh/mh_getopt.h
      * mh/mh_init.c
      * mh/mh_msgset.c
      * mh/mh_whatnow.c
      * mh/mhn.c
      * mh/pick.y
      * mimeview/mimetypes.y
      * python/libmu_py/debug.c
      * sieve/sieve.c
      Sergey Poznyakoff authored
  5. 06 Nov, 2008 1 commit
    • * include/mailutils/stream.h (MU_STREAM_IRGRP, MU_STREAM_IWGRP)
      (MU_STREAM_IROTH, MU_STREAM_IWOTH, MU_STREAM_IMASK): New defines.
      * include/mailutils/mutil.h (mu_stream_flags_to_mode): New
      prototype.
      * libproto/maildir/mbox.c (maildir_create, maildir_flush)
      (maildir_scan0): Consider mailbox flags	to determine its file
      mode.
      * mailbox/amd.c (amd_open, amd_message_stream_open): Likewise.
      * mailbox/file_stream.c (_file_open): Likewise.
      * mailbox/mutil.c (mu_stream_flags_to_mode): New file.
      
      * imap4d/namespace.c (namespace_getfullpath)
      (namespace_checkfullpath): Return the namespace number in the last
      argument (if not null).
      * imap4d/append.c, imap4d/copy.c, imap4d/delete.c, imap4d/list.c,
      imap4d/rename.c, imap4d/select.c, imap4d/status.c: Update calls to
      namespace_getfullpath.
      * imap4d/create.c (imap4d_create): Set mailbox flags depending on
      the namespace it is created in.
      * imap4d/imap4d.c (mailbox_mode): New variable.
      (parse_mode_spec): New function.
      (imap4d_cfg_param): New statements other-mailbox-mode and
      shared-mailbox-mode.
      * imap4d/imap4d.h (mailbox_mode): New proto.
      (namespace_getfullpath, namespace_checkfullpath): Add a parameter.
      
      * mailbox/progmailer.c (mu_progmailer_set_debug): Add missing
      return statement.
      Sergey Poznyakoff authored
  6. 19 Aug, 2008 1 commit
    • * imap4d/id.c: New file.
      * imap4d/Makefile.am (imap4d_SOURCES): Add id.c, remove version.c.
      * imap4d/commands.c: Add ID command.
      Remove X-VERSION command.
      (SELECT,EXAMINE): Switch to authenticated mode on failure.
      * imap4d/imap4d.c (imap4d_argc, imap4d_argv): New variables.
      (imap4d_cfg_param): New keyword `id-fields'.
      (main): Save command line arguments.
      * imap4d/imap4d.h (imap4d_argc, imap4d_argv): New declarations.
      * imap4d/select.c (imap4d_select0): Do not reset state to auth on
      failure, this is done by util_finish.
      * imap4d/version.c: Remove.
      * imap4d/capability.c: Announce ID capability, remove X-VERSION.
      * imap4d/testsuite/imap4d/x.exp: Use ID instead of X-VERSION.
      
      * TODO, NEWS: Update.
      
      * mailbox/cfg_parser.y (_set_fun,parse_param): Bugfix.
      Sergey Poznyakoff authored
  7. 18 Aug, 2008 1 commit
    • * TODO: Update.
      * imap4d/fetch.c: Prevent coredumps on inexpected end of statement
      (e.g. `FETCH 1:* (uid')
      * imap4d/imap4d.h (imap4d_select0): Update protottype.
      * imap4d/select.c (imap4d_select0): Do not advertise actual
      mailbox name with a NO response.
      Return to authenticated state on failure.
      Sergey Poznyakoff authored
  8. 10 Aug, 2008 1 commit
    • * imap4d/util.c (util_getword, util_getitem, util_token)
      (util_unquote): Remove.
      (imap4d_readline): Rewrite to reduce memory reallocation.  Add
      support for non-synchronizing literals (RFC 2088).
      (imap4d_readline_ex): Remove.
      (util_do_command): Rewrite using new imap4d_readline.
      (util_parse_internal_date0): Remove.
      (imap4d_tokbuf_init, imap4d_tokbuf_destroy, imap4d_tokbuf_argc)
      (imap4d_tokbuf_getarg, util_isdelim)
      (imap4d_tokbuf_from_string): New functions.
      * imap4d/append.c, imap4d/auth_gss.c, imap4d/authenticate.c,
      imap4d/check.c, imap4d/close.c, imap4d/commands.c, imap4d/copy.c,
      imap4d/create.c, imap4d/delete.c, imap4d/examine.c,
      imap4d/imap4d.h, imap4d/list.c, imap4d/login.c, imap4d/logout.c,
      imap4d/lsub.c, imap4d/expunge.c, imap4d/idle.c, imap4d/noop.c,
      imap4d/rename.c, imap4d/search.c, imap4d/select.c,
      imap4d/starttls.c, imap4d/status.c, imap4d/store.c,
      imap4d/subscribe.c, imap4d/uid.c, imap4d/unsubscribe.c,
      imap4d/version.c: Rewrite using new imap4d_readline.
      * imap4d/namespace.c: Use new imap4d_readline.  Ensure that
      each reported prefix ends with a hierarchy delimiter.
      * imap4d/imap4d.c (imap4d_mainloop): Use new imap4d_readline.
      * imap4d/fetch.c: Rewrite parser from scratch.
      * imap4d/capability.c (imap4d_capability_init): Report LITERAL+
      capability.
      
      * imap4d/testsuite/imap4d/anystate.exp: Account for the LITERAL+
      capability.
      * imap4d/testsuite/imap4d/append.exp: Fix APPEND arguments (imap4d
      requires exactly three arguments, as per RFC3501.
      Fix octet count in literals returned by fetch (previous versions
      failed to include the trailing CRLF).
      * imap4d/testsuite/imap4d/create.exp: Likewise.
      * imap4d/testsuite/imap4d/fetch.exp: Fix FETCH arguments (previous
      versions incorrectly accepted header-list without parentheses.
      Fix result of FETCH 4 BODY[2.2.1]: it returns entire part, in the
      contrast to previous versions, which treated it as
      BODY[2.2.1.TEXT].
      
      * maidag/mailtmp.c (mail_tmp_finish): Ensure /dev/null is treated
      as mailbox.
      Sergey Poznyakoff authored
  9. 08 Aug, 2008 1 commit
  10. 10 Nov, 2007 1 commit
    • * frm/common.c, imap4d/sync.c, libsieve/runtime.c,
      mh/scan.c: Update declaration of observable actions  .
      * imap4d/select.c, imap4d/status.c, mh/anno.c, mh/forw.c,
      mh/repl.c: Use mu_mailbox_sync instead of
      mu_mailbox_save_attributes.
      * include/mailutils/mailbox.h (mu_mailbox_sync): New function.
      (mu_mailbox_save_attributes): Deprecated.
      * include/mailutils/message.h (mu_message_get_qid)
      (mu_message_set_qid): New functions.
      * include/mailutils/observer.h (MU_EVT_MESSAGE_APPEND): New event.
      (mu_observer_set_action_data): New function. Registers
      action-specific data.
      (mu_observable_notify): Get call-specific data as the third
      argument.
      * include/mailutils/types.hin (mu_message_qid_t): New data type.
      * libproto/imap/folder.c, libproto/imap/mbox.c,
      libproto/include/amd.h, libproto/maildir/mbox.c,
      libproto/mailer/sendmail.c, libproto/mailer/smtp.c,
      libproto/mbox/mboxscan.c, libproto/mh/mbox.c,
      libproto/nntp/mbox.c, libproto/pop/mbox.c, mailbox/folder.c,
      mailbox/mailer.c : Update calls to mu_observable_notify.
      * libproto/include/mailbox0.h (struct _mu_mailbox): Rename
      _save_attributes to _sync.
      * mailbox/amd.c: Likewise
      (_quick_get_message): New member.
      (MAILBOX_NOTIFY): Remove.
      * libproto/include/message0.h (struct _mu_message): New member
      _get_qid.
      * libproto/include/observer0.h (struct _mu_observer): New member
      _action_data.
      * libproto/mbox/mbox.c: Implement mbox_message_qid. Update calls
      to mu_observable_notify.
      (mbox_append_message): Report MU_EVT_MESSAGE_APPEND
      * mailbox/observer.c (mu_observer_destroy): Call _destroy with
      _action_data as its third argument.
      (mu_observer_action, mu_observable_notify): Takes third argument
      (call data)
      (mu_observer_set_action, mu_observer_set_destroy): Update signature.
      (mu_observer_set_action_data): New function.
      
      * libproto/mbox/mbox0.h, mail.local/main.c: Minor change.
      
      * mail.local/Makefile.am (mail_local_LDADD): Add MU_LIB_MAILER
      
      * mailbox/file_stream.c (_file_open): Fix handling of
      MU_STREAM_APPEND. Remove assertion.
      
      * mailbox/mailbox.c (mu_mailbox_quick_get_message): New function
      (mu_mailbox_sync): New function
      (mu_mailbox_get_size): Implement brute-force approach in case the
      mailbox does not provide a method.
      
      * mailbox/message.c (mu_message_get_qid, mu_message_set_qid): New
      function.
      
      * maildag/: New directory. A general-purpose mail delivery agent.
      * maildag/deliver.c: New file.
      * maildag/lmtp.c: New file.
      * maildag/maidag.c: New file.
      * maildag/maidag.h: New file.
      * maildag/mailtmp.c: New file.
      * maildag/mailquota.c: New file.
      * maildag/script.c: New file.
      * maildag/util.c: New file.
      * maildag/Makefile.am: New file.
      * maildag/.cvsignore: New file.
      Sergey Poznyakoff authored
  11. 10 Jul, 2007 1 commit
  12. 27 Jun, 2007 1 commit
  13. 27 Jan, 2006 2 commits
  14. 25 Jan, 2006 1 commit
  15. 26 Aug, 2005 1 commit
  16. 17 May, 2005 1 commit
  17. 16 Feb, 2005 1 commit
  18. 09 Feb, 2003 1 commit
  19. 22 Jan, 2003 1 commit
  20. 29 Dec, 2002 1 commit
  21. 22 Aug, 2002 1 commit
  22. 05 Aug, 2002 1 commit
  23. 04 Aug, 2002 1 commit
  24. 02 May, 2002 1 commit
  25. 15 Apr, 2002 1 commit
  26. 12 Mar, 2002 1 commit
  27. 27 Feb, 2002 1 commit
  28. 19 Feb, 2002 1 commit
  29. 15 Jan, 2002 1 commit
  30. 05 Oct, 2001 1 commit
    • 	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
  31. 31 Aug, 2001 1 commit
  32. 30 Aug, 2001 1 commit
  33. 02 Jul, 2001 1 commit
    • 	it will save the attribute flags.
      	* imap4d/close.c: Typo.
      	* imap4d/logout: Remove the mailbox_close() and mailbox_destroy()
      	it is being call imap4d_bye ().
      	* imap4d/select.c (imapr3d_select0): call mailbox_save_attributes()
      	if a mailbox was already selected.
      
      	Feedback from Sergey for the need of saving the attribute flags
      	without expunging.  Note, this is a hack, the code is taken from
      	mbox_expunge(mbx_mbox.c) and there is lot of duplication.  But
      	since we are moving toward a new mailbox API, the code will be
      	rewritten more cleanly in the new API.
      
      	* include/mailutils/mailbox.h: Add proto mailbox_save_attributes()
      	* mailbox/include/mailbox0.h: New field in struct _mailbox
      	_save_attributes (mailbox_t);
      	* mailbox/mailbox.c: New function mailbox_save_attributes ().
      	* mailbox/mbx_mbox.c: New function mbox_save_attributes (),
      	implement saving the attribute flags in header field "Status:"
      Alain Magloire authored
  34. 28 May, 2001 1 commit
  35. 13 May, 2001 1 commit
  36. 09 May, 2001 1 commit
  37. 07 May, 2001 1 commit
  38. 23 Apr, 2001 1 commit