1. 19 May, 2009 1 commit
    • * maidag/deliver.c: Run filter scripts with user privileges.
      * maidag/script.c (apply_script): Use stat, not access, to check
      for the existence of the script file. Access takes into account
      accessibility of intermediate directories, which is irrelevant
      in this case.
      * mailbox/mutil.c (mu_expand_path_pattern): Bugfix.  Remove the
      % format specifiers after expanding them.
      Sergey Poznyakoff authored
  2. 11 May, 2009 1 commit
    • * mailbox/filter.c (filter_close): Do not close transport stream if
      the MU_STREAM_NO_CLOSE flag is set.
      * imap4d/fetch.c (fetch_io): Fix memory leak: open the filter
      with MU_STREAM_NO_CLOSE flag and destroy it after use.
      * include/mailutils/header.h (mu_header_set_stream): Comment out.
      There is no such function, but perhaps there should be?
      
      * libproto/mbox/folder.c (_folder_mbox_init): If there is no
      explicit path in the URL, use ".".  This makes it possible to
      use URLs like: mbox:file.
      
      * mailbox/nls.c (mu_set_locale) [ENABLE_NLS]: Remove ifdef.
      Setlocale must be enabled whenever possible, otherwise
      we cannot relay on mu_strftime malfunctions in non-english
      locales.
      * mh/mh_whom.c (mh_alias_expand): Handle NULL or empty inputs.
      Sergey Poznyakoff authored
  3. 16 Apr, 2009 1 commit
    • * include/mailutils/address.h (struct _mu_address): Rename to
      struct mu_address: it is public interface.
      * include/mailutils/types.hin: Likewise.
      * examples/addr.c: Likewise.
      * mailbox/address.c: Likewise.
      * mailbox/parse822.c: Likewise.
      
      * libmu_sieve/extensions/vacation.c (vacation_reply): Fix memory leaks.
      * libproto/mailer/mbox.c (remote_mbox_append_message): Use
      mu_address_create_hint instead of mu_set_user_email_domain/mu_address_create.
      * maidag/maidag.c (main): Set both diag and debug printers explicitly.
      * mail/from.c (mail_from0): minor change.
      * mail/reply.c (reply0): Fix memory leak.
      * mailbox/header.c: minor change.
      Sergey Poznyakoff authored
  4. 15 Apr, 2009 1 commit
    • * examples/addr.c: Allow to modify hints via command line (-v)
      and within the shell (\...).
      * include/mailutils/address.h (MU_ADDR_HINT_*): New defines.
      (struct _mu_address): Definition.
      (mu_address_create_hint): New prototype.
      * include/mailutils/parse822.h (mu_parse822_address_list)
      (mu_parse822_mail_box, mu_parse822_group)
      (mu_parse822_address, mu_parse822_route_addr)
      (mu_parse822_route, mu_parse822_addr_spec)
      (mu_parse822_unix_mbox, mu_parse822_local_part): Take hint and hint flags.
      * mailbox/parse822.c: Likewise.
      
      * libproto/include/Makefile.am (noinst_HEADERS): Remove address0.h
      * libproto/include/address0.h: Removed.
      * mailbox/address.c (mu_address_create_hint): New function.
      (mu_address_create): Rewrite using mu_address_create_hint.
      
      * mh/mh_init.c (mh_expand_aliases): Use mu_header_sget_field_name
      * mh/mh_whom.c (mh_alias_expand): Rewrite using mu_address_create_hint.
      This fixes parsing addresses similar to "a@b <a@b>".
      * mh/send.c: New command line option --preserve (--keep)
      Sergey Poznyakoff authored
  5. 14 Apr, 2009 1 commit
    • * imap4d/imap4d.c (homedir): Remove variable.
      (real_homedir, imap4d_homedir, modify_homedir): New variables.
      (imap4d_cfg_param): New statements: homedir, personal-namespace.
      (imap4d_session_setup0): Initialize real_homedir and imap4d_homedir.
      * imap4d/imap4d.h (homedir, rootdir): Remove declarations.
      (real_homedir, imap4d_homedir, modify_homedir): New declarations.
      Include mailutils/vartab.h.
      * imap4d/list.c, imap4d/lsub.c, imap4d/namespace.c,
      imap4d/subscribe.c, imap4d/unsubscribe.c,
      imap4d/util.c: Use imap4d_homedir and real_homedir, where appropriate.
      * NEWS: Update.
      
      * imap4d/preauth.c: Remove inclusion of mailutils/vartab.h
      Sergey Poznyakoff authored
  6. 13 Apr, 2009 1 commit
  7. 07 Apr, 2009 2 commits
    • * mailbox/mbx_default.c (mu_mailbox_create_default): Reset mail to NULL
      if it is "".
      Sergey Poznyakoff authored
    • * NEWS: Update.
      
      * configure.ac (MU_LIB_REMOTE): Remove.
      (AC_CONFIG_FILES): Remove libproto/remote/Makefile.
      * include/mailutils/registrar.h (mu_remote_mbox_record): Remove.
      (MU_REMOTE_MBOX_PRIO): Remove.
      
      * libproto/Makefile.am (SUBDIRS): Remove remote.
      * libproto/include/mailer0.h (_mu_mailer_mailbox_init)
      (_mu_mailer_folder_init): New protos.
      * libproto/include/registrar0.h (_url_smtp_init)
      (_mailer_smtp_init): Remove.
      (_mu_mailer_sendmail_init, _mu_mailer_prog_init): Add prototype.
      
      * libproto/include/url0.h (struct _mu_url._uplevel): New member.
      * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Remove
      url_sendmail.c and url_smtp.c.
      * libproto/mailer/mbox.c: Move from ../remote.
      * libproto/mailer/url_sendmail.c: Remove.
      * libproto/mailer/url_smtp.c: Remove.
      * libproto/mailer/prog.c: Fix namespace.
      * libproto/mailer/sendmail.c: Likewise.
      * libproto/mailer/smtp.c: Likewise.
      * libproto/mailer/remote.c: New file.
      
      * libproto/remote/: Remove.
      
      * maidag/Makefile.am (maidag_LDADD): Remove ${MU_LIB_REMOTE}.
      * maidag/deliver.c (deliver_url): Remove `remote+' hack.
      (deliver): Fix error message.
      * maidag/guile.c: Fix indentation.
      * maidag/maidag.c: Support `remote+' mailboxes for backward compatibility.
      * mailbox/mailbox.c (_create_mailbox0): Call u_init after ensuring that
      url->scheme coincides with record->scheme.
      * mailbox/url.c (mu_url_uplevel): Use url->_uplevel, if defined.
      
      * libmu_argp/mu_argp.h (mu_check_option): Remove duplicate and
      incorrect prototype.
      Sergey Poznyakoff authored
  8. 06 Apr, 2009 1 commit
  9. 30 Mar, 2009 1 commit
  10. 28 Mar, 2009 2 commits
  11. 27 Mar, 2009 2 commits
  12. 25 Mar, 2009 5 commits
  13. 24 Mar, 2009 4 commits
    • * maidag/python.c: New file.
      * maidag/script.c (script_tab): Add Python.
      * maidag/maidag.h (python_check_msg): New prototype.
      * configure.ac: Conditionally define python-related variables.
      Wojciech Polak authored
    • * include/mailutils/guile.h (mu_guile_init, mu_guile_load)
      (mu_guile_eval, mu_guile_mailbox_apply, mu_guile_message_apply)
      (mu_guile_safe_exec, mu_guile_safe_proc_call): New protos.
      
      * libmu_scm/Makefile.am: Add mu_guile.c
      * libmu_scm/mu_guile.c: New file.
      * libmu_scm/mu_mailbox.c (struct mu_mailbox): Kludge: new member noclose.
      (mu_scm_mailbox_free): Do not close/destroy mailbox if it is marked
      noclose.
      (mu_scm_mailbox_create0): Kludge: new function.
      
      * libmu_scm/mu_message.c (mu_scm_message_print): Bugfix.
      
      * maidag/Makefile.am: Add guile.c and sieve.c.
      * maidag/deliver.c (maidag_stdio_delivery) [WITH_GUILE]: Remove block.
      (deliver_url): Call script_apply, instead of sieve_test.
      * maidag/maidag.c: Rewrite scripting support in a modular way.
      Remove options: --sieve, --source (and the corresponding config statements).
      Add options: --language, --script.
      Add configure statement: filter (block).
      * maidag/maidag.h (progfile_pattern, sieve_pattern): Remove.
      (script_list, sieve_debug_flags, message_id_header, sieve_enable_log): New
      prototypes.
      [WITH_GUILE]: Remove.
      (maidag_script_fun, struct maidag_script): New data type.
      (script_handler): New extern.
      (script_lang_handler, script_suffix_handler)
      (script_register, script_apply): New protos.
      (scheme_check_msg, sieve_check_msg): New protos.
      * maidag/script.c: Rewrite. Provide general-purpose serialized script support.
      
      * guimb/guimb.h (struct guimb_data): Remove.
      * guimb/main.c: Rewrite in a cleaner way, using functions from mu_guile.c.
      * guimb/collect.c (guimb_catch_body, guimb_catch_handler)
      (guimb_exit): Remove.
      
      * guimb/scm/sieve-core.scm (sieve-current-message, sieve-mailbox): Public.
      (sieve-run-current-message): New public function.
      (sieve-run): Call sieve-run-current-message for each message.
      * guimb/scm/sieve.scm.in (sieve-save-program): Change code generation to
      suit both per-mailbox and per-message invocation. This kicks mail.local
      out of whack.
      
      * maidag/guile.c: New file.
      * maidag/sieve.c: New file.
      Sergey Poznyakoff authored
    • * configure.ac (GUIMB): Rename to MU_SCM_BIN_PROGRAMS_BUILD.
      * guimb/Makefile.am: Likewise.
      Sergey Poznyakoff authored
    • The proper delimiters are ( and ), listed in RFC as atom_specials.
      The characters "[]<>." are delimiters for FETCH, and "." is  a
      delimiter for STORE.  Fix tokenizer to recognize these only in the
      corresponding contexts.
      
      In particular, it fixes parsing of input atoms containing dots, as
      foo@bar.baz, which previous versions incorrectly splitted in three.
      
      * imap4d/util.c (ISDELIM): Delimiters are only ( and )
      * imap4d/imap4d.h (struct imap4d_parsebuf): new data type.
      (imap4d_parsebuf_t): New data type.
      (imap4d_parsebuf_exit, imap4d_parsebuf_peek)
      (imap4d_parsebuf_next, imap4d_parsebuf_token)
      (imap4d_parsebuf_data, imap4d_with_parsebuf): New prototypes.
      * imap4d/parsebuf.c: New file.
      * imap4d/Makefile.am: Add parsebuf.c
      * imap4d/fetch.c, imap4d/store.c: Rewrite using parsebuf functions.
      Sergey Poznyakoff authored
  14. 22 Mar, 2009 2 commits
    • * mailbox/stream.c (mu_stream_readline): Fix byte counting.
      Sergey Poznyakoff authored
    • * scripts/guile-1.4: Removed.
      * scripts/guile-1.6/guile-doc-snarf: Move to the parent dir.
      * scripts/guile-1.6/guile-doc-snarf.awk: Move to the parent dir.
      * scripts: Rename to mu-aux. All references updated.
      * am/enable.m4 (MU_ENABLE_SUPPORT): add fourth argument, action-default
      Translate + to x.
      * am/guile.m4 (MU_RESULT_ACTIONS): Remove.
      (MU_CHECK_GUILE): Rewrite. Drop support for versions < 1.8
      * am/lib.m4 (MU_CHECK_LIB): Rewrite using a cleaner approach.
      * bootstrap.conf: Remove build_aux assignement.
      * configure.ac: Assume a new naming scheme for optional builds: for
      each subst variable named MU_whatever_BUILD there is a corresponing
      Makefile.am variable named MU_whatever_LIST, if `whatever' is to be
      built MU_whatever_BUILD is set to '$(MU_whatever_LIST)'
      New option --disable-c++.
      Improve status output.
      * examples/Makefile.am, examples/cpp/Makefile.am,
      include/mailutils/Makefile.am, libmu_cpp/Makefile.am, libmu_scm/Makefile.am,
      libmu_sieve/Makefile.am, libmu_sieve/extensions/Makefile.am,
      libmu_sieve/load.c, mail.remote/Makefile.am,
      mail.remote/testsuite/Makefile.am, mailbox/Makefile.am,
      mh/Makefile.am, mimeview/Makefile.am, mu-aux/Makefile.am,
      python/mailutils/Makefile.am: Reflect changes to autoconf machinery.
      
      * /include/mailutils/guile.h: Drop support for versions < 1.8
      * libmu_scm/mu_util.c: Likewise.
      Sergey Poznyakoff authored
  15. 19 Mar, 2009 1 commit
  16. 18 Mar, 2009 1 commit
  17. 14 Mar, 2009 1 commit
  18. 12 Mar, 2009 1 commit
    • Bugfixes. · 5b1a5402
      * imap4d/bye.c: Discern between input and output errors.
      * imap4d/imap4d.h (ERR_NO_IFILE): New error code.
      * imap4d/util.c: Discern between input and output errors.
      Improve trace output.
      (imap4d_getline): Signal ERR_NO_IFILE on EOF.
      * movemail/movemail.c: Fix include statements.
      Sergey Poznyakoff authored
  19. 08 Mar, 2009 1 commit
  20. 07 Mar, 2009 1 commit
    • * libmu_cpp/address.cc, libmu_cpp/envelope.cc, libmu_cpp/header.cc,
      libmu_cpp/url.cc: Use sget instead of aget.
      * libmu_cpp/list.cc (mulist_to_stl): New function.
      (List::to_stl): New method.
      * include/mailutils/cpp/list.h: Likewise.
      Wojciech Polak authored
  21. 05 Mar, 2009 1 commit
  22. 04 Mar, 2009 3 commits
  23. 03 Mar, 2009 1 commit
    • * NEWS: Update.
      * include/mailutils/mailbox.h (mu_ticket_file): New extern.
      * include/mailutils/message.h (mu_message_save_to_mailbox): Change proto.
      * include/mailutils/sieve.h (mu_sieve_get_ticket, mu_sieve_set_ticket): Remove.
      * libmu_sieve/actions.c (sieve_action_fileinto): Update call to
      mu_message_save_to_mailbox.
      * libmu_sieve/sieve-priv.h (struct mu_sieve_machine): Remove ticket.
      * libmu_sieve/sieve.y (mu_sieve_get_ticket, mu_sieve_set_ticket): Remove.
      * mailbox/mbx_default.c (mu_mailbox_create_default): Read a wicket file and
      attach a ticket if mailbox opened successfully.
      * mailbox/wicket.c: Re-format.
      * sieve/sieve.c: Remove special wicket-handling code.
      
      * libmu_auth/radius.c, movemail/movemail.c: Add missing includes
      Sergey Poznyakoff authored
  24. 27 Feb, 2009 1 commit
    • * libmu_cpp/filter.cc, include/mailutils/cpp/filter.h,
      include/mailutils/cpp/stream.h: Split FilterStream.
      * libmu_cpp/mailbox.cc, include/mailutils/cpp/mailbox.h: Add new methods.
      * examples/cpp/iconv.cc: Reflect changes in filter.h.
      * examples/cpp/mimetest.cc: Likewise.
      * examples/cpp/http.cc: Bugfix.
      Wojciech Polak authored
  25. 20 Feb, 2009 2 commits
    • * libproto/include/amd.h (new_msg_file_name): Add an argument indicating
      whether an actual expunsion is going to take place, as opposed to saving
      message flags.
      * libproto/maildir/mbox.c (maildir_new_message_name): Sync with above changes.
      * libproto/mh/mbox.c (_mh_new_message_name): Likewise.
      * mailbox/amd.c (_amd_message_save): Handle unlink requests
      (new_msg_file_name returning NULL name). This avoids creating temp files.
      (amd_expunge): Remove messages that have had MU_ATTRIBUTE_DELETED on mailbox
      open, if the underlying mailbox implementation allows that.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
  26. 19 Feb, 2009 1 commit
    • * bootstrap.conf (gnulib_extra_files): Remove.
      * gnulib.modules (inttostr): Add module.
      * include/mailutils/io.h: New file.
      * include/mailutils/Makefile.am: Add io.h
      
      * mailbox/inttostr.c, mailbox/inttostr.h: Remove
      * mailbox/imaxtostr.c, mailbox/offtostr.c, mailbox/umaxtostr.c: Remove
      * mailbox/intprops.h: Remove
      * mailbox/asnprintf.c, mailbox/asprintf.c, mailbox/vasnprintf.c: New files.
      * mailbox/Makefile.am: Update.
      
      * mailbox/mu_umaxtostr.c: rename to lib/mu_umaxtostr.c
      * mailbox/mu_umaxtostr.h: rename to lib/mu_umaxtostr.h
      * lib/Makefile.am (libmuaux_la_SOURCES): Add mu_umaxtostr.[ch]
      
      * libmu_auth/radius.c, libmu_cfg/common.c, libmu_scm/mu_port.c,
      libproto/imap/folder.c, libproto/imap/mbox.c,
      libproto/mbox/mbox.c, libproto/mh/mbox.c, libproto/pop/mbox.c,
      mailbox/acl.c, mailbox/daemon.c, mailbox/mailer.c,
      mailbox/message.c, mailbox/mutil.c, mailbox/stream.c: Use mu_strerror.
      Avoid using mu_umaxtostr.
      Sergey Poznyakoff authored