1. 05 Dec, 2014 1 commit
    • New imap4d statement "retain-groups" instructs it to retain the
      named supplementary user groups when switching to the user
      privileges (previously, imap4d just switched to <user>:mail).
      Read-only mailboxes are handled graciously: SELECT succeeds on
      such mailboxes, bug marks them explicitly as read-only.
      
      * imap4d/imap4d.c (user_retain_groups): New global.
      New config statement "retain-groups".
      (mu_get_user_groups): New function.
      (imap4d_session_setup0): Use mu_switch_to_privs instead of
      just setuid.
      * imap4d/list.c (imap4d_list): Fix handling of
        LIST "" "/path/to/mbox"
      * imap4d/select.c (imap4d_select0): Retry opening in read-only
      mode if failed to open for read-write.
      * libproto/maildir/mbox.c (maildir_mkfilename)
      (mk_info_filename): Change return value and signature. All uses
      changed.
      (maildir_scan0): Don't shuffle messages if mailbox is opened
      read-only.
      * libproto/maildir/folder.c: Update call to maildir_mkfilename.
      * libproto/maildir/maildir.h (maildir_mkfilename): Change
      prototype.
      Sergey Poznyakoff authored
  2. 03 Dec, 2014 1 commit
  3. 14 Aug, 2014 1 commit
  4. 10 Aug, 2014 1 commit
    • * imap4d/search.c (imap4d_search0): Use parsebuf.err_mesg if defined,
      otherwise fall back to the general "parse error" message.
      * include/mailutils/datetime.h (MU_DATETIME_INTERNALDATE): Use %e for
      day. Day can be one-digit decimal.
      * libmailutils/datetime/scantime.c (mu_scan_datetime): Skip initial
      ws for %e.
      * mu/imap.c (com_search): Print newline after the "no matches" message.
      Sergey Poznyakoff authored
  5. 27 Jul, 2014 1 commit
    • This patch adds a convenience library libmuscript that provides scripting
      capability easy to use in MU applications. Currently used by maidag and
      inc.
      
      * include/mailutils/util.h (mu_stpcpy): 2nd arg is const.
      * libmailutils/string/stpcpy.c: Likewise.
      
      * lib/.gitignore: Update.
      * lib/Makefile.am: New library libmuscript.a
      * lib/muscript.h: New file.
      * lib/muscript_priv.h: New file.
      * lib/script.c: New file.
      * maidag/guile.c: Rename to ...
      * lib/guile.c: ... this
      * maidag/python.c: Rename to ...
      * lib/python.c: ... this
      * maidag/sieve.c: Rename to ...
      * lib/sieve.c: ... this
      
      * maidag/Makefile.am (maidag_LDADD): Add libmuscript.a
      (maidag_SOURCES): Update.
      * maidag/maidag.c (script_handler): Change type to mu_script_t.
      * maidag/maidag.h: Include muscript.h
      * maidag/script.c: Rewrite via libmuscript
      
      * mh/Makefile.am (inc_LDADD): New variable.
      * mh/inc.c (options): New options --language and --script.
      (mh_option): New options -language and -script.
      (incdat) <handler,descr>: New members.
      (incmbx): Optionally process each message through a script. If it is
      marked as deleted upon return, don't incorporate it.
      (main): Set mh as the default mailbox scheme.
      Initialize scripting subsystem and deallocate it when finished.
      * mh/mh_getopt.h (ARG_LANG, ARG_SCRIPT): New constants.
      Sergey Poznyakoff authored
  6. 26 Jul, 2014 1 commit
    • * bootstrap.conf: Create and populate lib/gnu, if necessary.
      * configure.ac (MU_APP_COMMON_INCLUDES): Update.
      (AC_CONFIG_FILES): Build lib/gnu/Makefile
      * lib/Makefile.am (libmuaux_a_SOURCES): Add all objects from gnu/
      * po/POTFILES.in: Update.
      
      * examples/.gitignore: Update.
      Sergey Poznyakoff authored
  7. 17 Jul, 2014 2 commits
  8. 07 Jul, 2014 3 commits
  9. 05 Jul, 2014 1 commit
    • * libmailutils/filter/xml.c: New file.
      * include/mailutils/filter.h (mu_xml_filter): New extern.
      * libmailutils/filter/Makefile.am (libfilter_la_SOURCES): Add xml.c
      * libmailutils/filter/filter.c (mu_filter_get_list): Register mu_xml_filter.
      
      * libmailutils/tests/xml.at: New file.
      * libmailutils/tests/Makefile.am: Add xml.at
      * libmailutils/tests/testsuite.at: Likewise.
      Sergey Poznyakoff authored
  10. 01 Jul, 2014 1 commit
    • * include/mailutils/filter.h (mu_htmlent_filter): New extern.
      * libmailutils/filter/Makefile.am: Add htmlent.c
      * libmailutils/filter/filter.c (mu_filter_get_list): Register mu_htmlent_filter.
      * libmailutils/filter/htmlent.c: New file.
      * libmailutils/tests/htmlent.at: New testcase.
      * libmailutils/tests/Makefile.am: Add new testcase.
      * libmailutils/tests/testsuite.at: Likewise.
      Sergey Poznyakoff authored
  11. 17 Jun, 2014 1 commit
    • Without this, `mk_info_filename' generates filenames of the following
      form when the flag set is empty:
      
          1402217787.M664911P5957Q143.hostname:2
      
      The original Maildir spec (http://cr.yp.to/proto/maildir.html),
      however, mandates that filenames must be of the form `uniq:info', with
      `info' starting with "2,"--including a comma.
      
      This patch removes the "cleanup" performed by `mk_info_filename' as
      that there is no rationale for it in mailutils' source code history,
      and as it breaks Gnus' "nnmaildir" backend (Cf.  `nnmaildir--add-flag').
      
      * libproto/maildir/mbox.c (mk_info_filename): Keep comma at the end of
      filename when the flags suffix is empty.
      Damien Diederen authored
  12. 21 May, 2014 1 commit
  13. 15 Apr, 2014 1 commit
  14. 26 Feb, 2014 5 commits
  15. 06 Feb, 2014 2 commits
    • * mh/mh_getopt.c (mh_getopt): Correctly handle traditional options
      that begin with "no" (e.g. "notify").
      * mh/inc.c (mh_option): Accept -notify (single-dash).
      Sergey Poznyakoff authored
    • * include/mailutils/mailbox.h (mu_mailbox_set_notify)
      (mu_mailbox_unset_notify): New protos.
      * include/mailutils/sys/mailbox.h (_mu_mailbox) <notify_user>
      <notify_fd,notify_sa>: New members.
      * libmailutils/mailbox/Makefile.am (libmailbox_la_SOURCES): Add
      biffnotify.c
      * libmailutils/mailbox/biffnotify.c: New file.
      * libmailutils/mailbox/mailbox.c (_mailbox_create_from_record): Initialize
      notify_fd.
      (mu_mailbox_destroy): Free notify_sa.
      (mu_mailbox_close): Close notify_fd.
      (mu_mailbox_flush): Rewrite to handle append-only mailboxes effectively.
      * libmailutils/server/msrv.c (server_cfg_param): Fix docstring.
      * libmailutils/stream/file_stream.c (fd_open): Open fd read-write if
      both MU_STREAM_APPEND and MU_STREAM_READ are requested.
      * libproto/mbox/mbox.c (mbox_expunge0): Rescan the mailbox if
      messages_count == 0. Special handling for append-only mailboxes.
      * maidag/deliver.c: Use library notification mechanism.
      * mh/inc.c: New option --notify.
      * movemail/movemail.c: Likewise.
      Sergey Poznyakoff authored
  16. 05 Feb, 2014 1 commit
  17. 04 Feb, 2014 3 commits
  18. 24 Dec, 2013 1 commit
    • The bug was introduced in commit 6e2a3758.
      
      The ACLs allow administrators to limit access to IMAP services to
      particular users or users belonging to particular groups.
      
      * imap4d/authenticate.c (imap4d_auth_capability): Take session
      pointer as argument.  Don't report authentication capabilities
      if tls is required.
      (imap4d_authenticate): Fix conditional.
      * imap4d/capability.c (imap4d_capability): Update call to
      imap4d_auth_capability.
      * imap4d/imap4d.c (cb_tls_required): Set tls_mode.
      (auth_deny_user_list,auth_allow_user_list)
      (auth_deny_group_list,auth_allow_group_list): New statics.
      (check_user_groups,imap_check_group_list): New static functions.
      (imap4d_cfg_param) <allow-users,deny-users>
      <allow-groups,deny-groups>: New configuration statements.
      (imap4d_session_setup0): Check allow/deny lists.
      * imap4d/imap4d.h (imap4d_auth_capability): Change signature.
      
      * pop3d/pop3d.c (cb_tls_required): Set tls_mode.
      
      * bootstrap (gnulib_extra_files): Update.
      Sergey Poznyakoff authored
  19. 17 Dec, 2013 1 commit
  20. 30 Nov, 2013 1 commit
    • * libproto/imap/appmsg.c (mu_imap_append_message): Fix conditional.
      * libproto/imap/mbox.c (_imap_mbx_append_message): Fix error checking.
      * libproto/imap/url.c (_mu_imap_url_init)
      (_mu_imaps_url_init): Set _get_path member.  This allows the user
      to specify an URL without explicit path, implying INBOX.
      Sergey Poznyakoff authored
  21. 20 Oct, 2013 1 commit
    • * imap4d/io.c (io_copy_out): Switch to full buffering before sending
      data.
      * libmailutils/stream/stream.c (_stream_skip_input_bytes): Bugfix.
      Sergey Poznyakoff authored
  22. 22 Aug, 2013 1 commit
  23. 13 Aug, 2013 1 commit
  24. 17 Jul, 2013 1 commit
    • * pop3d/pop3d.h (ERR_SYS_LOGIN): New error code.
      * pop3d/capa.c (pop3d_session_init): Advertise the AUTH-RESP-CODE
      capability.
      * pop3d/cmd.c (error_table) <ERR_BAD_LOGIN>: Mark with the
      AUTH response code.
      <ERR_SYS_LOGIN>: New entry.
      * pop3d/user.c (pop3d_user): Use mu_get_auth to obtain
      the user's identity. On error, the error code is ERR_BAD_LOGIN
      or ERR_SYS_LOGIN, depending on its return and return from
      mu_authenticate.
      Sergey Poznyakoff authored
  25. 19 Jun, 2013 1 commit
  26. 25 May, 2013 2 commits
    • * imap4d/io.c (imap4d_tokbuf_decrlf): Rewrite to run in
      O(n).
      * libmailutils/server/ipsrv.c (mu_ip_tcp_accept): Return 0 on
      EINTR (unless srv->f_intr tells otherwise) and EAGAIN.  The caller
      will retry.
      (mu_ip_server_accept): output a diagnostic message before
      returning error.
      Sergey Poznyakoff authored
    • * mu/Makefile.am (mailutils-config): Fix sed expression
      * mu/mailutils-config.in: Replace MUNAME once and assign
      it to the variable.
      Sergey Poznyakoff authored
  27. 12 Apr, 2013 1 commit
    • * mh/show.c: New file.
      * NEWS: Document changes.
      * libmailutils/stream/message_stream.c (copy_trimmed_value): Fix
      string length calculation to allow for empty lines.
      * mh/.gitignore: Update.
      * mh/Makefile.am: Build show.
      * mh/TODO: Document show.
      * mh/mh_getopt.h: Add new option codes.
      * mh/mh_init.c (mh_expand_name): Change handling of the
      last argument. All callers updated.
      (mh_draft_name): Remove.
      Sergey Poznyakoff authored
  28. 07 Apr, 2013 1 commit
  29. 03 Apr, 2013 1 commit