1. 26 Feb, 2014 5 commits
  2. 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
  3. 05 Feb, 2014 1 commit
  4. 04 Feb, 2014 3 commits
  5. 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
  6. 17 Dec, 2013 1 commit
  7. 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
  8. 20 Oct, 2013 1 commit
  9. 22 Aug, 2013 1 commit
  10. 13 Aug, 2013 1 commit
  11. 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
  12. 19 Jun, 2013 1 commit
  13. 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
  14. 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
  15. 07 Apr, 2013 1 commit
  16. 03 Apr, 2013 1 commit
  17. 02 Apr, 2013 2 commits
  18. 01 Apr, 2013 3 commits
    • Sergey Poznyakoff authored
    • * include/mailutils/msgset.h (mu_msgset_sget_mailbox): New proto.
      * include/mailutils/sys/msgset.h (_MU_MSGSET_MODE): New macro.
      * libmailutils/msgset/Makefile.am: Add getmbox.c
      * libmailutils/msgset/getmbox.c: New file.
      * libmailutils/msgset/addset.c: Use _MU_MSGSET_MODE.
      * libmailutils/msgset/create.c: Likewise.
      * libmailutils/msgset/foreachmsg.c: Likewise.
      * libmailutils/msgset/foreachnum.c: Likewise.
      * libmailutils/msgset/negate.c: Likewise.
      * libmailutils/msgset/subset.c: Likewise.
      * libmailutils/msgset/trans.c: Likewise.
      
      * mh/mh.h (mh_private_sequences_iterate): New proto.
      * mh/mh_sequence.c (format_closure) <delim>: New member.
      (format_sequence): Use delim to avoid outputting leading space.
      (save_sequence): Initialize delim.
      (mh_private_sequences_iterate): New function.
      * mh/rmm.c (main): Remove message numbers from sequences.
      * mh/tests/rmm.at: Update.
      Sergey Poznyakoff authored
    • * libmailutils/base/amd.c (_amd_update_message): Return
      immediately if the message is not modified. Always use
      initialized value of flg.
      Sergey Poznyakoff authored
  19. 30 Mar, 2013 4 commits
    • * mh/msgchk.c (checkmail): take into account various
      possible return codes.
      Sergey Poznyakoff authored
    • * include/mailutils/imap.h (mu_imap_search): New proto.
      * libproto/imap/search.c: New file.
      * include/mailutils/sys/imap.h (MU_IMAP_CLIENT_SEARCH_RX): New state.
      * libproto/imap/fetch.c: Fix debugging categories
      * libproto/imap/mbox.c (_imap_messages_recent)
      (_imap_message_unseen): Use search if information is not
      readily available.
      * libproto/imap/status.c (_mu_imap_status_name_table): Comment
      out UNSEEN: its semantics is entirely different from what we
      need.
      * libproto/imap/Makefile.am: Add new file.
      * mu/imap.c: Implement search.
      
      * include/mailutils/sys/mailbox.h (_mu_mailbox) <_get_atime>: New method.
      * include/mailutils/mailbox.h (mu_mailbox_access_time): New proto.
      * libproto/mbox/mbox.c (_mailbox_mbox_init): Initialize
      >_get_atime.
      * libmailutils/mailbox/mailbox.c (mu_mailbox_access_time): New function.
      
      * libmailutils/datetime/utcoff.c (mu_utc_offset): Rewrite using tzset.
      
      * mh/msgchk.c: Implement --date.
      Check for new mail using both recent and unseen messages.
      Sergey Poznyakoff authored
    • * mh/msgchk.c: New file.
      * mh/Makefile.am: Build msgchk.
      * mh/mh_getopt.h: Update.
      * mh/.gitignore: Update.
      * mh/TODO: Update.
      Sergey Poznyakoff authored
  20. 27 Mar, 2013 1 commit
  21. 25 Mar, 2013 3 commits
  22. 21 Mar, 2013 1 commit
  23. 16 Feb, 2013 1 commit
    • The "< file" construct tests if file is executable and begins with
      the shell interpreter magic (#!/ or #! /).  If so, this file is
      executed and its output is collected.  This provides a way for
      building aliases on the fly.
      
      * mh/mh_alias.l (buffer_ctx) <exec_p>: New member.
      (exec_p): New static variable.
      (push_source): If the file is executable and begins with
      the "#!/" magic, run it and collect its output.
      (pop_source): Use exec_p to decide how to close the file.
      * mh/tests/ali.at: Test executable file inclusion.
      * NEWS: Update.
      Sergey Poznyakoff authored
  24. 03 Jan, 2013 1 commit
    • * include/mailutils/sys/body.h (_mu_body)<rawstream>: New member.
      * include/mailutils/sys/message.h (_mu_message)<rawstream>: New member.
      * libmailutils/mailbox/body.c: Rewrite. Return the specially crafted
      "body-stream" for user I/O operations. Writes to that stream trigger
      creation of a temporary stream (write-through mode) which will be used
      for subsequent I/O.
      * libmailutils/mailbox/msgbody.c (mu_message_get_body): Use msg->rawstream.
      * libmailutils/mailbox/msgheader.c (message_header_fill): Do not
      call mu_message_get_streamref, as that can result in endless recursion.
      Use msg->rawstream instead.
      * libmailutils/mailbox/msgref.c (_mu_message_free): Destroy both
      rawstream and outstream.
      * libmailutils/mailbox/msgstream.c (mu_message_set_stream): Set
      rawstream.
      (mu_message_get_stream): Create outstream as needed.
      (mu_message_get_streamref): If the message has been modified,
      create the outstream and return it to the caller. This way, the
      modifications become visible via the stream interface.
      * libmailutils/tests/Makefile.am: Add new testcases.
      * libmailutils/tests/testsuite.at: Likewise.
      * libmailutils/tests/modmesg.c: New file.
      * libmailutils/tests/modmesg00.at: New file.
      * libmailutils/tests/modmesg01.at: New file.
      * libmailutils/tests/modmesg02.at: New file.
      * libmailutils/tests/modmesg03.at: New file.
      * mh/mhn.c: Fix message reference counting.
      Sergey Poznyakoff authored