1. 17 Jul, 2012 2 commits
    • * doc/imprimatur: Upgrade.
      Sergey Poznyakoff authored
    • * am/enable.m4 (MU_ENABLE_BUILD): Change handling of additional-cond
      ($4): the --{enable|disable}-build-* argument value overrides it.
      This allows to use such configuration shortcuts as:
      
        --disable-build-clients --enable-build-mail
      
      which will build only mail, but no other client.
      
      * configure.ac: New option --with-dbm can be used to
      enable/disable building of all available DBM interfaces.
      It can be used in conjunction with implementation-specific
      options in the same way as described above, e.g.:
      
        --without-dbm --with-gdbm
      
      New option --with-mailbindir allows for overriding the installation
      directory for mail[x] only.
      
      * mail/Makefile.am (mailbindir): New variable.
      (bin_PROGRAMS): Rename to mailbin_PROGRAMS.
      Sergey Poznyakoff authored
  2. 16 Jul, 2012 3 commits
    • * include/mailutils/opool.h (mu_opool_alloc): New proto.
      * libmailutils/base/opool.c (mu_opool_alloc): New function.
      (mu_opool_appendz): Do not append trailing null character.
      * libmailutils/cfg/parser.y (mu_cfg_tree_create_node): Reflect
      the change in mu_opool_appendz.
      * comsat/action.c: Use mu_opool_t instead of struct obstack.
      * lib/mailcap.c: Likewise.
      * libmailutils/url/urlstr.c: Likewise.
      * mh/burst.c: Likewise.
      * mh/mh_fmtgram.y: Likewise.
      * mh/mh_format.c: Likewise.
      * mh/mh_format.h: Likewise.
      * mh/mhn.c: Likewise.
      * mh/repl.c: Likewise.
      * mh/whatnowenv.c: Likewise.
      * mimeview/mimetypes.l: Likewise.
      * mimeview/mimeview.h: Likewise.
      
      * gnulib.modules: Remove obstack.
      Sergey Poznyakoff authored
    • * gnulib.modules: Remove getline.
      * pop3d/apop.c [!ENABLE_DBM] Use mu_stream API instead of FILE.
      Sergey Poznyakoff authored
    • Imap4d would fail to select a nonexistent maildir INBOX, because the
      mu_mailbox_uidvalidity would return MU_ERR_NOENT.
      
      * libmailutils/base/amd.c (_amd_scan0): Recompute uidvalidity
      if the mailbox is empty.
      Sergey Poznyakoff authored
  3. 15 Jun, 2012 1 commit
  4. 11 Jun, 2012 1 commit
  5. 10 Jun, 2012 1 commit
  6. 08 Jun, 2012 1 commit
    • We cannot assume that $HOME points to existing directory.
      
      * mh/tests/testsuite.at (MH_SETUP): Override HOME environment
      variable. Use it instead of curdir.
      * mh/tests/atlocal.in (remove_curdir): Likewise.
      * mh/tests/mhn.at: Likewise.
      Sergey Poznyakoff authored
  7. 07 Jun, 2012 3 commits
  8. 06 Jun, 2012 1 commit
    • * comsat/tests/atlocal.in (MH_SUPPORT)
      (MAILDIR_SUPPORT): New variables.
      * comsat/tests/testsuite.at: Disable test cases if their
      prerequisite features are not compiled in.
      Sergey Poznyakoff authored
  9. 04 Jun, 2012 2 commits
    • * libmu_scm/mailutils/Makefile.am (DISTCLEANFILES): Rename to
      CLEANFILES: mailutils.scm should be cleaned as a usual object file.
      (MU_FEATURES): New variable, constructed depending on MU_COND_
      variables.
      (mailutils.scm goal): Use the value of MU_FEATURES as m4 command
      line.
      * libmu_scm/mailutils/mailutils.scm.in: Include only supported libraries.
      Sergey Poznyakoff authored
    • Bugfix · 7dd17568
      * libmailutils/base/symlink.c (mu_readlink): Fix initialization of size.
      Sergey Poznyakoff authored
  10. 01 Jun, 2012 4 commits
    • Sergey Poznyakoff authored
    • * ChangeLog.amend: New file.
      * Makefile.am: Apply corrections from ChangeLog.amend when
      generating ChangeLog file.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * doc/texinfo/mu-mh.texi: Document changes to inc.
      * NEWS: Likewise.
      * mh/inc.c: Accept multiple source mailboxes.
      (input_file): Remove.
      (input_file_list): New variable.
      (opt_handler): Multiple -file options augment input_file_list.
      (incmbox): New function.
      (main): Iterate over input_file_list, incorporating mail from each
      mailbox in it.
      
      Bugfix:
      
      * libproto/imap/mbox.c (_imap_env_date): Return a 0-terminated string.
      
      Fix MH test suite.
      
      The ali-everybody tests fails on machines with user database kept
      in a non-standard storage (e.g. LDAP or NIS).  This patch attempts to
      fix it.
      
      * mh/tests/lu.c: New file.
      * mh/tests/.gitignore: Add lu.
      * mh/tests/Makefile.am (noinst_PROGRAMS): New variable.
      * mh/tests/ali.at: Use lu instead of scanning /etc/passwd directly.
      Sergey Poznyakoff authored
  11. 13 May, 2012 1 commit
    • Reportedly, the test command on 64 boxes is unable to handle unsigned
      long integers.  Install a work over.
      
      * imap4d/tests/IDEF0955.at: Use string comparison in the invocation of test.
      * imap4d/tests/IDEF0956.at: Likewise.
      Sergey Poznyakoff authored
  12. 09 May, 2012 6 commits
    • * bootstrap.conf: Avoid downloading radius.m4 if it is already here.
      Sergey Poznyakoff authored
    • * libproto/mailer/smtp.c (smtp_open): Do not use mu_tls_enable, rely
      on TLS stream functions to do the right thing. This complements
      325c864e.
      Sergey Poznyakoff authored
    • Provide special functions for storing and retrieving URL from
      mu_smtp_t object, instead of using MU_SMTP_PARAM_URL.  The major
      drawback of the latter is that URLs in textual form can contain
      obfuscated access credentials, which makes them unusable for
      authentication.
      
      * include/mailutils/smtp.h (mu_smtp_set_url)
      (mu_smtp_get_url)
      (mu_smtp_set_secret,mu_smtp_get_secret): New protos.
      * include/mailutils/sys/smtp.h (_mu_smtp) <url>: New member.
      * libproto/mailer/smtp_secret.c: New file.
      * libproto/mailer/smtp_url.c: New file.
      * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Add new files.
      * libproto/mailer/smtp.c (smtp_open): Use mu_smtp_set_url to preserve
      URL credentials.
      * libproto/mailer/smtp_auth.c (_mu_smtp_fixup_params): Use smtp->url.
      * libproto/mailer/smtp_create.c (mu_smtp_destroy): Destroy smtp->url.
      * libproto/mailer/smtp_param.c (mu_smtp_set_param): Special
      handling for MU_SMTP_PARAM_URL.
      (mu_smtp_get_param): Likewise.
      Sergey Poznyakoff authored
    • The Q encoding in RFC 2047 is not exactly the same as Quoted-Printable
      encoding: it differs in its handling of space characters (ASCII 32),
      which are encoded as underscores.
      
      * libmailutils/filter/qpflt.c (_qp_decoder): Use xd parameter
      to determine whether to treat underscores specially.
      (_qp_encoder): Likewise.
      (_qp_filter,_Q_filter): Allocate and initialize filter data
      accordingly to the kind of encoding.
      Sergey Poznyakoff authored
    • * doc/texinfo/folder.texi: Update
      * include/mailutils/cpp/folder.h (Folder) <set_stream>
      <get_stream>: Remove.
      * include/mailutils/folder.h (mu_folder_get_stream)
      (mu_folder_get_streamref)
      (mu_folder_set_stream): Remove.
      * include/mailutils/mailbox.h (mu_folder_get_stream)
      (mu_folder_get_streamref)
      (mu_folder_set_stream): Remove protos.
      * include/mailutils/sys/folder.h (_mu_folder)<stream>: Remove.
      All uses updated.
      * libmailutils/mailbox/folder.c (mu_folder_set_stream)
      (mu_folder_get_stream,mu_folder_get_streamref): Remove.
      * libmailutils/mailbox/mailbox.c (mu_mailbox_get_stream)
      (mu_mailbox_get_streamref): Remove.
      * libmu_cpp/folder.cc (get_stream, set_stream): Remove.
      * libmu_scm/mu_mailbox.c (mu-mailbox-get-port): Remove.
      * python/libmu_py/folder.c (get_stream): Remove.
      Sergey Poznyakoff authored
    • * configure.ac: Fix quoting in FriBidi test.
      Sergey Poznyakoff authored
  13. 29 Apr, 2012 1 commit
    • This method copies given messages (ificated by their sequence or UID
      numbers) to the given mailbox. So far this is implemented only in
      IMAP[S] folders.
      
      The mh/inc utility uses this method to optionally move incorporated
      messages to other folder (mailbox) instead of simply deleting them.
      
      * include/mailutils/imap.h (mu_imap_response)
      (mu_imap_response_code): New protos.
      (MU_IMAP_CB_TAGGED_OK,MU_IMAP_CB_TAGGED_NO)
      (MU_IMAP_CB_TAGGED_BAD): New callback codes.
      * include/mailutils/mailbox.h (MU_MAILBOX_COPY_UID)
      (MU_MAILBOX_COPY_CREAT): New constants.
      (mu_mailbox_msgset_copy)
      (mu_mailbox_message_copy): New protos.
      * include/mailutils/sys/imap.h (resp_code): Rename to
      response to avoid confusion. All uses updated.
      (response_code): New member.
      (_mu_imap_process_tagged_response): New proto.
      * include/mailutils/sys/mailbox.h (_mu_mailbox) <_copy>: New member.
      * libmailutils/mailbox/Makefile.am (libmailbox_la_SOURCES): Add copy.c
      * libmailutils/mailbox/copy.c: New file.
      * libproto/imap/err.c (mu_imap_response): New function.
      (mu_imap_response_code): New function.
      * libproto/imap/mbox.c (_imap_copy_to_mailbox)
      (_mu_imap_mailbox_init): Implement _copy method.
      * libproto/imap/resplist.c (IS_LBRACE,IS_RBRACE): Fix macros.
      * libproto/imap/response.c (_mu_imap_response): Call
      _mu_imap_process_tagged_response to process tagged responses.
      * libproto/imap/resproc.c (parse_response_code): Bugfix: expected
      ']' was set off by one.
      (resptab)<code>: New member.
      (_mu_imap_process_tagged_response): New function.
      
      * mh/inc.c (options, mh_option, opt_handler): New option --moveto.
      (move_to_mailbox): New variable.
      (main): If move_to_mailbox is set, move messages to that mailbox
      instead of deleting them.
      * mh/mh_getopt.h (mh_arg)<ARG_MOVETO>: New constant.
      
      * NEWS: Update.
      
      * include/mailutils/folder.h: Add a comment.
      * libmailutils/mailbox/folder.c: Minor formatting change.
      Sergey Poznyakoff authored
  14. 27 Apr, 2012 2 commits
  15. 23 Apr, 2012 1 commit
    • Bugfixes. · f9a486e8
      * libproto/mailer/smtp.c (_smtp_set_rcpt): Assign rcpt_to a copy of the
      recipient address.
      * mail/util.c (util_header_expand): Make sure exp is always initialized.
      * mh/send.c (main): Process mtstailor before checking input files, so
      its settings affect creation of additional headers and adresses. In
      particular, this allows for setting the sender address in mtstailor.
      Sergey Poznyakoff authored
  16. 13 Apr, 2012 1 commit
  17. 25 Mar, 2012 1 commit
    • * examples/aclck.c: Check return values from strdup.
      * libmailutils/base/usremail.c: Likewise.
      * libmailutils/mailbox/bodystruct.c: Likewise.
      * lib/mailcap.c: Likewise.
      * libmailutils/mailbox/mbx_default.c: Likewise.
      * libmailutils/server/acl.c: Likewise.
      * libmailutils/stream/logstream.c: Likewise.
      * libmailutils/stream/message_stream.c: Likewise.
      * libmu_argp/mu_argp.c: Likewise.
      * libmu_auth/ldap.c: Likewise.
      * libmu_auth/pam.c: Likewise.
      * libmu_auth/sql.c: Likewise.
      * libmu_sieve/comparator.c: Likewise.
      * libmu_sieve/conf.c: Likewise.
      * libmu_sieve/extensions/list.c: Likewise.
      * libmu_sieve/extensions/vacation.c: Likewise.
      * libproto/mailer/prog.c: Likewise.
      * libproto/mailer/smtp_io.c: Likewise.
      * maidag/lmtp.c: Likewise.
      * python/libmu_py/address.c: Likewise.
      * sql/odbc.c
      
      * examples/sfrom.c (main): Avoid unnecessary memory allocation.
      * libmailutils/mailbox/mailbox.c: Likewise.
      
      * frm/frm.h: Include mailutils/alloc.h, remove xalloc.h
      * mh/mh.h: Likewise.
      
      * imap4d/imap4d.h: Remove xalloc.h
      * mail/mail.h: Likewise.
      * mimeview/mimeview.h: Likewise.
      * mu/acl.c: Likewise.
      * readmsg/readmsg.c: Likewise.
      
      * include/mailutils/locker.h (mu_locker_set_default_external_program):
      Change returned type.
      * include/mailutils/mailbox.h (mu_set_folder_directory): Change
      returned type.
      * libmailutils/base/locker.c (mu_locker_set_default_external_program):
      Return int (error code).
      * libmailutils/base/tilde.c: Add extra checks
      * libmailutils/mime/mimehdr.c (_mime_header_parse): Bugfix.
      * mail/folders.c: Don't use alloca, use mu_alloc instead. It
      was the only use of that function in Mailutils, so this change
      allows to withdraw the alloca module.
      
      * gnulib.modules (alloca, malloc)
      (realloc, xalloc): Remove.
      
      * frm/common.c: Use mu_alloc and friends instead of xmalloc.
      * frm/from.c: Likewise.
      * imap4d/append.c: Likewise.
      * imap4d/auth_gsasl.c: Likewise.
      * imap4d/authenticate.c: Likewise.
      * imap4d/fetch.c: Likewise.
      * imap4d/imap4d.c: Likewise.
      * imap4d/io.c: Likewise.
      * imap4d/list.c: Likewise.
      * imap4d/namespace.c: Likewise.
      * imap4d/parsebuf.c: Likewise.
      * imap4d/preauth.c: Likewise.
      * imap4d/rename.c: Likewise.
      * imap4d/search.c: Likewise.
      * imap4d/util.c: Likewise.
      * libmu_argp/muinit.c: Likewise.
      * mail/alias.c: Likewise.
      * mail/alt.c: Likewise.
      * mail/copy.c: Likewise.
      * mail/decode.c: Likewise.
      * mail/escape.c: Likewise.
      * mail/file.c: Likewise.
      * mail/from.c: Likewise.
      * mail/mail.c: Likewise.
      * mail/mailline.c: Likewise
      * mail/mailvar.c: Likewise
      * mail/msgset.y: Likewise
      * mail/page.c: Likewise
      * mail/send.c: Likewise
      * mail/shell.c: Likewise
      * mail/unset.c: Likewise
      * mail/util.c: Likewise
      * mh/folder.c: Likewise
      * mh/mh_alias.l: Likewise
      * mh/mh_alias.y: Likewise
      * mh/mh_fmtgram.y: Likewise
      * mh/mh_format.c: Likewise
      * mh/mh_global.c: Likewise
      * mh/mh_init.c: Likewise
      * mh/mh_list.c: Likewise
      * mh/mh_whatnow.c: Likewise
      * mh/mh_whom.c: Likewise
      * mh/mhn.c: Likewise
      * mh/pick.y: Likewise
      * mh/prompter-rl.c: Likewise
      * mh/refile.c: Likewise
      * mh/repl.c: Likewise
      * mh/send.c: Likewise
      * mh/sortm.c: Likewise
      * mimeview/mimetypes.y: Likewise
      * mu/dbm.c: Likewise
      * mu/dispatch.c: Likewise
      * mu/imap.c: Likewise
      * mu/pop.c: Likewise
      * mu/shell.c: Likewise
      * pop3d/apop.c: Likewise
      * pop3d/bulletin.c: Likewise
      * pop3d/popauth.c: Likewise
      * pop3d/user.c: Likewise
      Sergey Poznyakoff authored
  18. 24 Mar, 2012 1 commit
  19. 23 Mar, 2012 2 commits
    • This also fixes e75e9123, which broke TLS support in daemons.
      
      * include/mailutils/stream.h (MU_IOCTL_TOPSTREAM): New ioctl.
      * imap4d/imap4d.c (set_strerr_flt)
      (clr_strerr_flt): Use MU_IOCTL_TOPSTREAM.
      * pop3d/pop3d.c: Likewise.
      * libmailutils/stream/fltstream.c (filter_ctl): Handle both
      MU_IOCTL_SUBSTREAM and MU_IOCTL_TOPSTREAM.
      * libmailutils/stream/iostream.c (_iostream_ctl): Likewise.
      * libmailutils/stream/logstream.c (_log_ctl): Likewise.
      * libmailutils/stream/xscript-stream.c (_xscript_ctl): Likewise.
      Sergey Poznyakoff authored
    • Minor fixes. · bf8b7ff0
      * libmailutils/mime/mimehdr.c (free_param_continuation): Change
      return type to void.
      * mu/shell.c: Include muaux.h
      * libproto/imap/logout.c (mu_imap_logout): Logout is valid in any
      state, except MU_IMAP_SESSION_INIT.
      Sergey Poznyakoff authored
  20. 20 Mar, 2012 1 commit
    • * include/mailutils/util.h (mu_file_safety_code_to_name): New proto.
      * libmailutils/base/filesafety.c: Remove static functions which
      checked file mode bits.  Use safety_checker.mode for that directly.
      (mu_file_safety_code_to_name): New function.
      (mu_file_mode_to_safety_criteria): Bugfix.
      (mu_safety_criteria_to_file_mode): Change algorithm.
      * libmailutils/tests/.gitignore: Update
      * libmailutils/tests/fsaftomod.at: New file.
      * libmailutils/tests/fsaftomod.c: New file.
      * libmailutils/tests/modtofsaf.at: New file.
      * libmailutils/tests/modtofsaf.c: New file.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Add
      fsaftomod and modtofsaf.
      (TESTSUITE_AT): Add fsaftomod.at and modtofsaf.at
      * libmailutils/tests/testsuite.at: Include fsaftomod.at and
      modtofsaf.at
      Sergey Poznyakoff authored
  21. 17 Mar, 2012 4 commits
    • * libmu_dbm/berkeley.c (do_bdb_open): Fix typo.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * mh/etc/replcomps: Format Fcc only if coming from myself.
      * mh/etc/replgroupcomps: Likewise.
      Sergey Poznyakoff authored
    • * imap4d/imap4d.c (set_strerr_flt,clr_strerr_flt): New functions.
      (imap4d_connection): Setup session prefix in strerr if
      mu_log_session_id is set.
      * imap4d/io.c (io_setio): Bugfix: unref debug stream.
      * pop3d/extra.c (pop3d_setio): Likewise.
      * pop3d/pop3d.c (set_strerr_flt,clr_strerr_flt): New functions.
      (pop3d_connection): Setup session prefix in strerr if
      mu_log_session_id is set.
      
      * include/mailutils/acl.h (mu_acl_setenv)
      (mu_acl_getenv,mu_acl_set_session_id): New functions.
      * include/mailutils/server.h (mu_session_id): New extern.
      (mu_m_server_configured_count): Fix signature.
      * include/mailutils/syslog.h (mu_log_session_id): New extern.
      * libmailutils/diag/syslog.c (mu_log_session_id): New global.
      
      * libmailutils/server/acl.c (_mu_acl) <envv,envc,envn>: New
      members.
      (run_closure) <env>: New member.
      (mu_acl_destroy): Free environment.
      (_acl_match): Handle "family" variable.
      (expand_arg): Propagate ACL environment to wordsplit.
      (mu_acl_check_sockaddr): Propagate ACL environment.
      (mu_acl_setenv)
      (mu_acl_getenv,mu_acl_set_session_id): New functions.
      
      * libmailutils/server/ipsrv.c (mu_ip_tcp_accept): Store session ID
      in the ACL.
      (mu_ip_udp_accept): Likewise.
      * libmailutils/server/msrv.c (mu_m_server_configured_count): Fix
      signature.
      (mu_m_server_check_acl): Store session ID in the ACL.
      * libmailutils/server/server.c (mu_session_id): New global variable.
      (connection_loop): Increment session ID
      (mu_acl_set_session_id): New function.
      * libmailutils/stream/fltstream.c (filter_ctl): Handle
      MU_IOCTL_SUBSTREAM.
      * libmailutils/stream/logstream.c (_log_ctl): Likewise.
      * libmu_cfg/common.c (mu_logging_param) <session-id>: New statement.
      Sergey Poznyakoff authored