1. 04 Jul, 2009 3 commits
    • * README-hacking: Update.
      * configure.ac (MU_COMMON_INCLUDES): Remove.
      (MU_LIB_COMMON_INCLUDES,MU_APP_COMMON_INCLUDES): New variables.
      Link lib/gettext.h and lib.intprops.h to include.
      * gnulib.modules: Remove fnmatch.
      * comsat/Makefile.am, config/Makefile.am,
      dotlock/Makefile.am, frm/Makefile.am,
      guimb/Makefile.am, imap4d/Makefile.am,
      maidag/Makefile.am, mail/Makefile.am,
      movemail/Makefile.am, pop3d/Makefile.am,
      python/libmu_py/Makefile.am, readmsg/Makefile.am
      sieve/Makefile.am (INCLUDES): Use MU_APP_COMMON_INCLUDES
      * lib/Makefile.am, examples/Makefile.am,
      libmu_argp/Makefile.am, libmu_auth/Makefile.am,
      libmu_cpp/Makefile.am, libmu_sieve/Makefile.am,
      libproto/imap/Makefile.am, libproto/mailer/Makefile.am,
      libproto/mh/Makefile.am, libproto/nntp/Makefile.am,
      libproto/pop/Makefile.am, mailbox/Makefile.am,
      mapi/Makefile.am, messages/Makefile.am,
      mh/Makefile.am, sql/Makefile.am (INCLUDES): Use MU_LIB_COMMON_INCLUDES
      Sergey Poznyakoff authored
    • * examples/mta.c: Remove include mu_asprintf.h.
      * libmu_auth/radius.c: Remove include inttostr.h.
      * libmu_scm/mu_dbgport.c: Silence gcc warnings.
      * libmu_sieve/extensions/pipe.c: Remove include <mu_dbm.h>.
      * libmu_sieve/sieve-priv.h: Remove include mu_asprintf.h.
      * maidag/python.c: Remove unused locals.
      * python/libmu_py/address.c: Likewise.
      * python/libmu_py/auth.c: Likewise.
      * python/libmu_py/body.c: Likewise.
      * python/libmu_py/secret.c: Likewise.
      * python/libmu_py/stream.c: Likewise.
      * python/libmu_py/url.c: Likewise.
      * python/libmu_py/util.c: Likewise.
      Sergey Poznyakoff authored
    • Bugfixes. · 44f275b8
      * mailbox/debug.c (mu_debug_printv): use mu_debug_vprintf
      * mailbox/message_stream.c (restore_envelope): supplied
      sender address must be a single word.
      Sergey Poznyakoff authored
  2. 18 Jun, 2009 1 commit
  3. 28 May, 2009 1 commit
    • * python/libmu_py/secret.c: New file.
      * python/mailutils/secret.py: New file.
      * python/mailutils/url.py (get_secret): New method.
      (get_passwd): Remove.
      
      * python/mailutils/mailbox.py (MailboxBase.open): Access mode argument
      value can be now one of the following strings: "r", "w", "a", "c".
      Wojciech Polak authored
  4. 26 May, 2009 4 commits
    • Wojciech Polak authored
    • * Makefile.am (AUTOMAKE_OPTIONS): Remove.
      * bootstrap: Import from mailfromd.
      * configure.ac: Require autoconf 2.63
      Enable silent-rules mode by default.
      * guimb/scm/Makefile.am: Add silent-rules markers.
      * include/mailutils/Makefile.am: Likewise.
      * libmu_scm/Makefile.am: Likewise.
      * testsuite/Makefile.am: Likewise.
      Sergey Poznyakoff authored
    • Bugfix · 1c2e9187
      Sergey Poznyakoff authored
    • * guimb/main.c (main_sym): Remove const qualifier.
      * imap4d/imap4d.h (util_getfullpath): 1st arg is const.
      * imap4d/util.c: Likewise.
      * include/mailutils/guile.h (mu_guile_load): 1st arg is const.
      * include/mailutils/sql.h (mu_sql_get_field): 3rd arg is const.
      * libmu_auth/radius.c: Cleanup trailing whitespace.
      * libmu_scm/mu_guile.c (mu_guile_load): 1st arg is const.
      (struct load_closure): Filename is const. All uses updated.
      * mailbox/monitor.c (RWLOCK_TRYRDLOCK, RWLOCK_TRYWRLOCK): Remove
      [!WITH_PTHREAD] (RWLOCK_DESTROY): Empty define.
      * mailbox/mutil.c (mu_aget_user_email_domain): Minor fix.
      * sql/sql.c (mu_sql_get_field): 3rd arg is const.
      Sergey Poznyakoff authored
  5. 25 May, 2009 2 commits
    • * include/mailutils/types.hin (mu_secret_t): New type.
      * include/mailutils/auth.h (mu_ticket_destroy): Remove 2nd arg (owner).
      (mu_ticket_ref, mu_ticket_unref): New functions.
      (mu_ticket_set_destroy): New function.
      (mu_ticket_set_pop): Remove.
      (mu_ticket_get_cred, mu_ticket_set_get_cred): New functions.
      (mu_ticket_get_data): Return data pointer.
      (mu_ticket_set_secret, mu_ticket_set_plain): New functions.
      (mu_wicket_create): Remove 2nd arg.
      (mu_wicket_set_filename, mu_wicket_get_filename): Remove.
      (mu_wicket_set_ticket): Remove.
      (mu_wicket_get_ticket): Change proto.
      (mu_wicket_set_destroy, mu_wicket_set_data)
      (mu_wicket_get_data, mu_wicket_set_get_ticket): New functions.
      (mu_file_wicket_create): New function.
      * include/mailutils/mailutils.h: Include secret.h
      [MU_COMPAT]: Remove.
      * include/mailutils/url.h (mu_url_sget_passwd, mu_url_aget_passwd)
      (mu_url_get_passwd)
      (mu_url_get_secret): New function.
      
      * libproto/include/auth0.h: Rewrite.
      * libproto/include/imap0.h (struct _f_imap): Replace passwd with
      mu_secret_t secret.
      * libproto/include/url0.h (struct _mu_url): Replace passwd with
      mu_secret_t secret.
      (_get_passwd): Replace with _get_secret
      
      * mailbox/secret.c: New function.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add secret.c.
      
      * mailbox/ticket.c: Rewrite from scratch.
      * mailbox/wicket.c: Rewrite from scratch.
      
      * libproto/imap/folder.c: Rewrite using mu_secret_t.
      * libproto/pop/mbox.c: Rewrite using mu_secret_t.
      
      * libproto/mailer/prog.c, libproto/mailer/sendmail.c,
      mailbox/auth.c, mailbox/url.c, movemail/movemail.c: Reflect changes
      to ticket/wicket system.
      * mailbox/mbx_default.c: Use new mu_wicket_t functions.
      
      * python/libmu_py/auth.c (api_wicket_get_filename)
      (api_wicket_set_filename): Remove. Not applicable any more.
      * python/libmu_py/url.c (api_url_get_passwd): Temporarly
      commented out.
      
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add secret.h.
      * examples/url-parse.c: Use mu_secret_t calls.
      
      * imap4d/namespace.c: Minor changes.
      * libmu_auth/pam.c: Likewise.
      Sergey Poznyakoff authored
    • * libmu_argp/muinit.c (mu_app_init): Allow capa==NULL.
      * mailbox/cfg_driver.c (mu_config_clone_container): Do nothing
      if cont == NULL.
      Sergey Poznyakoff authored
  6. 19 May, 2009 1 commit
    • Bugfixes · fd5b5599
      * 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 13 Apr, 2009 1 commit
  12. 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
  13. 06 Apr, 2009 1 commit
  14. 30 Mar, 2009 1 commit
  15. 28 Mar, 2009 2 commits
  16. 27 Mar, 2009 2 commits
  17. 25 Mar, 2009 5 commits
  18. 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
  19. 22 Mar, 2009 2 commits
    • Bugfix. · 37fcd5c1
      * 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
  20. 19 Mar, 2009 1 commit
  21. 18 Mar, 2009 1 commit
  22. 14 Mar, 2009 1 commit
  23. 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