1. 07 Jul, 2009 4 commits
    • Sergey Poznyakoff authored
    • * include/mailutils/cstr.h (mu_str_stripws): New function.
      * mailbox/stripws.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add stripws.c
      
      * examples/nntpclient.c (stripwhite): Remove. Use mu_str_stripws instead.
      (execute_line): Rewrite using new string functions.
      * examples/pop3client.c: Likewise.
      * mailbox/mailcap.c (stripwhite): Remove. Use mu_str_stripws instead.
      * mailbox/mime.c (_strltrim, _strttrim, _strtrim): Remove. Use
      mu_str_stripws instead.
      
      * mail/mail.c: Use mu_str_stripws.
      * mail/mail.h (util_stripwhite): Remove prototype.
      * mail/util.c (util_stripwhite): Remove
      * examples/pop3client.c: Likewise.
      * imap4d/util.c: Use new string functions.
      * maidag/forward.c: Likewise.
      * maidag/lmtp.c: Likewise.
      * mh/mhn.c: Likewise.
      
      * libproto/imap/folder.c: Remove unused local.
      * libproto/mailer/smtp.c (smtp_writeline): Minor optimization.
      Sergey Poznyakoff authored
    • * include/mailutils/cstr.h (mu_str_skip_class_comp)
      (mu_str_skip_cset_comp): New prototypes.
      * mailbox/strskip.c (mu_str_skip_class_comp)
      (mu_str_skip_cset_comp): New functions.
      * libmu_auth/ldap.c (find_pwcheck): Fix typo in function
      call.
      * libproto/pop/mbox.c: Fix typos in diagnostic messages.
      Sergey Poznyakoff authored
    • * include/mailutils/cctype.h: New file.
      * include/mailutils/cstr.h: New file.
      * include/mailutils/Makefile.am: Add new files.
      * mailbox/cstrcasecmp.c: New file.
      * mailbox/cstrlower.c: New file.
      * mailbox/cstrupper.c: New file.
      * mailbox/muctype.c: New file.
      * mailbox/strltrim.c: New file.
      * mailbox/strrtrim.c: New file.
      * mailbox/strskip.c: New file.
      * mailbox/Makefile.am: Add new files.
      * .gitignore: Update
      
      * gnulib.modules: Remove strcase.
      
      * comsat/comsat.h, imap4d/imap4d.h, include/mailutils/mailutils.h,
      include/mailutils/mutil.h, include/mailutils/sys/pop3.h,
      libmu_scm/mu_scm.h, mail/mail.h: Include cstr.h and cctype.h.
      
      * comsat/oldcfg.c, config/mailutils-config.c,
      examples/mimetest.c, examples/mta.c, examples/nntpclient.c,
      examples/pop3client.c, imap4d/append.c, imap4d/create.c,
      imap4d/delete.c, imap4d/fetch.c, imap4d/id.c,
      imap4d/idle.c, imap4d/list.c, imap4d/namespace.c,
      imap4d/rename.c, imap4d/search.c, imap4d/status.c,
      imap4d/store.c, imap4d/uid.c, imap4d/util.c,
      libmu_argp/compat.c, libmu_auth/ldap.c,
      libmu_auth/sql.c, libmu_scm/mu_message.c,
      libmu_sieve/actions.c, libmu_sieve/comparator.c,
      libmu_sieve/extensions/list.c, libmu_sieve/extensions/spamd.c,
      libmu_sieve/extensions/vacation.c, libmu_sieve/load.c,
      libmu_sieve/sieve.l, libmu_sieve/tests.c,
      libproto/imap/folder.c, libproto/mailer/smtp.c,
      libproto/mbox/mbox.c, libproto/mh/folder.c,
      libproto/mh/mbox.c, libproto/pop/folder.c,
      libproto/pop/mbox.c, libproto/pop/pop3_connect.c,
      maidag/forward.c, maidag/lmtp.c, maidag/maidag.c,
      maidag/maidag.h, maidag/mailquota.c, mail/alt.c,
      mail/copy.c, mail/decode.c, mail/escape.c,
      mail/followup.c, mail/mail.c, mail/mailline.c,
      mail/msgset.y, mail/print.c, mail/reply.c,
      mail/send.c, mail/shell.c, mail/util.c,
      mail/write.c, mailbox/address.c,
      mailbox/amd.c, mailbox/assoc.c,
      mailbox/attachment.c, mailbox/attribute.c,
      mailbox/cfg_lexer.l, mailbox/date.c,
      mailbox/filter.c, mailbox/gdebug.c,
      mailbox/header.c, mailbox/kwd.c,
      mailbox/locale.c, mailbox/mailcap.c,
      mailbox/mailer.c, mailbox/message.c,
      mailbox/message_stream.c, mailbox/mime.c,
      mailbox/msrv.c, mailbox/mutil.c,
      mailbox/parse822.c, mailbox/progmailer.c,
      mailbox/rfc2047.c, mailbox/syslog.c, mailbox/url.c,
      mailbox/version.c, mh/mh.h, mh/mh_alias.l,
      mh/mh_ctx.c, mh/mh_fmtgram.y, mh/mh_init.c,
      mh/mh_list.c, mh/mh_msgset.c, mh/mh_sequence.c,
      mh/mh_whatnow.c, mh/mh_whom.c, mh/mhn.c,
      mh/mhparam.c, mh/pick.y, mh/sortm.c,
      mimeview/mimetypes.y, pop3d/bulletin.c,
      pop3d/expire.c, pop3d/pop3d.c, pop3d/pop3d.h,
      pop3d/popauth.c, pop3d/user.c, readmsg/msglist.c,
      readmsg/readmsg.c, readmsg/readmsg.h, sql/mysql.c,
      sql/postgres.c: Use locale-independent cclass and str functions.
      Sergey Poznyakoff authored
  2. 06 Jul, 2009 1 commit
    • * paths: New file.
      * am/config_paths.m4: New file.
      * include/confpaths.h.in: New file.
      * Makefile.am (EXTRA_DIST): Add paths.
      (DISTCLEANFILES): Add pathdefs.h
      * configure.ac: Invoke MU_CONFIG_PATHS
      (AC_CONFIG_FILES): Add include/confpaths.h
      * include/Makefile.am (EXTRA_DIST): Add confpaths.h.in
      * lib/utmp.c, libmu_scm/mu_scm.c,
      libproto/mailer/sendmail.c, mail/mail.c: Use PATH_* constants.
      * mail/mail.h: Remove definition of _PATH_SENDMAIL.
      * .gitignore, include/.gitignore: Update.
      Sergey Poznyakoff authored
  3. 05 Jul, 2009 1 commit
    • * examples/cpp/http.cc, examples/cpp/iconv.cc, examples/cpp/lsf.cc,
      examples/cpp/mailcap.cc, examples/cpp/msg-send.cc, examples/cpp/sfrom.cc,
      libmu_cpp/message.cc, libmu_cpp/mutil.cc, libmu_cpp/pop3.cc:
      Include missing <cstdlib>.
      Wojciech Polak authored
  4. 04 Jul, 2009 4 commits
    • * maint.mk: New file.
      * config/maint.mk: New file.
      * README-hacking: Update.
      Sergey Poznyakoff authored
    • * 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
    • * 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
  5. 18 Jun, 2009 1 commit
  6. 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
  7. 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
    • 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 13 Apr, 2009 1 commit
  15. 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
  16. 06 Apr, 2009 1 commit
  17. 30 Mar, 2009 1 commit
  18. 28 Mar, 2009 2 commits
  19. 27 Mar, 2009 2 commits
  20. 25 Mar, 2009 5 commits
  21. 24 Mar, 2009 3 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