1. 08 Dec, 2008 1 commit
  2. 03 Dec, 2008 1 commit
    • * testsuite/etc/mailutils.rc.in: New file.
      * testsuite/etc/DISTFILES: Add mailutils.rc.in
      * testsuite/lib/mailutils.exp (mu_copy_file): Define $arg
      variable to simplify using $ in template files.
      
      * sieve/testsuite/lib/sieve.exp (SIEVE_ETC_DIR): New global
      (sieve_test): Explicitly pass -f.
      Use SIEVE_ETC_DIR/mailutils.rc as configuration file.
      
      * imap4d/testsuite/imap4d/list.exp: Update the '*' test to match
      new contents of $MU_DATA_DIR/etc
      * sieve/sieve.c (sieve_mailbox): Print actual mailbox URL in case
      of failure.
      Sergey Poznyakoff authored
  3. 07 Nov, 2008 1 commit
    • * mailbox/permstr.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add permstr.c.
      * imap4d/imap4d.c (parse_mode_spec): Remove function.
      (cb_mailbox_mode): Use mu_parse_stream_perm_string instead of
      parse_mode_spec.
      * imap4d/imap4d.h (namespace_getfullpath)
      (namespace_checkfullpath): First arg is const.
      * imap4d/namespace.c (namespace_getfullpath)
      (namespace_checkfullpath): First arg is const.
      * include/mailutils/message.h (mu_message_save_to_mailbox): Add
      5th argument (permissions).
      * mailbox/message.c: Likewise.
      * include/mailutils/mutil.h (mu_parse_stream_perm_string): New
      proto.
      (mu_stream_flags_to_mode): Add isdir argument.
      * libsieve/actions.c (sieve_action_fileinto): New tag :permissions
      allows to set permissions to the mailbox being created.
      * mailbox/mutil.c (mu_stream_flags_to_mode): Add 2nd argument
      (isdir). Any bits in [go] sets imply raising 'x' bit for
      directories (i.e. if isdir != 0).
      
      * libproto/maildir/mbox.c, mailbox/amd.c: Update calls to
      mu_stream_flags_to_mode.
      
      * NEWS, doc/texinfo/sieve.texi: Update.
      
      Allow to set file permissions of the local mailboxes during
      creation.
      Sergey Poznyakoff authored
  4. 06 Nov, 2008 1 commit
    • * include/mailutils/stream.h (MU_STREAM_IRGRP, MU_STREAM_IWGRP)
      (MU_STREAM_IROTH, MU_STREAM_IWOTH, MU_STREAM_IMASK): New defines.
      * include/mailutils/mutil.h (mu_stream_flags_to_mode): New
      prototype.
      * libproto/maildir/mbox.c (maildir_create, maildir_flush)
      (maildir_scan0): Consider mailbox flags	to determine its file
      mode.
      * mailbox/amd.c (amd_open, amd_message_stream_open): Likewise.
      * mailbox/file_stream.c (_file_open): Likewise.
      * mailbox/mutil.c (mu_stream_flags_to_mode): New file.
      
      * imap4d/namespace.c (namespace_getfullpath)
      (namespace_checkfullpath): Return the namespace number in the last
      argument (if not null).
      * imap4d/append.c, imap4d/copy.c, imap4d/delete.c, imap4d/list.c,
      imap4d/rename.c, imap4d/select.c, imap4d/status.c: Update calls to
      namespace_getfullpath.
      * imap4d/create.c (imap4d_create): Set mailbox flags depending on
      the namespace it is created in.
      * imap4d/imap4d.c (mailbox_mode): New variable.
      (parse_mode_spec): New function.
      (imap4d_cfg_param): New statements other-mailbox-mode and
      shared-mailbox-mode.
      * imap4d/imap4d.h (mailbox_mode): New proto.
      (namespace_getfullpath, namespace_checkfullpath): Add a parameter.
      
      * mailbox/progmailer.c (mu_progmailer_set_debug): Add missing
      return statement.
      Sergey Poznyakoff authored
  5. 23 Aug, 2008 1 commit
    • * imap4d/testsuite/imap4d.rcin: New file.
      * imap4d/testsuite/Makefile.am (EXTRA_DIST): Add imap4d.rcin
      * imap4d/testsuite/.cvsignore: Add imap4d.rc
      * imap4d/testsuite/lib/imap4d.exp: Use mu_makespool to prepare
      mailspools and mu_create_config to create test configuration
      file.  Specify the maximum amount of configuration data in the
      latter, instead of using command line options.
      * mail.local/testsuite/lib/mail.local.exp: Likewise.
      * pop3d/testsuite/lib/pop3d.exp: Likewise.
      
      * pop3d/testsuite/pop3d.rcin: New file.
      * pop3d/testsuite/Makefile.am (EXTRA_DIST): Add pop3d.rcin
      * pop3d/testsuite/.cvsignore: Add pop3d.rc.
      
      * testsuite/etc/passwd.in: Use Tcl variable for expansion.
      * testsuite/lib/mailutils.exp (mu_copy_file): New function.
      (mu_makespool, mu_create_config): New function.
      (mu_init): Remove unused variable MU_MAKESPOOL.
      (mu_prepare_spools): Use mu_makespool.
      (mu_cleanup_spools): Remove.
      
      * libcfg/init.c (mu_parse_config_files): Minor change.
      * mailbox/cfg_lexer.l (mu_get_config): Fix return value.
      Sergey Poznyakoff authored
  6. 21 Aug, 2008 2 commits
  7. 19 Aug, 2008 2 commits
    • * imap4d/id.c: New file.
      * imap4d/Makefile.am (imap4d_SOURCES): Add id.c, remove version.c.
      * imap4d/commands.c: Add ID command.
      Remove X-VERSION command.
      (SELECT,EXAMINE): Switch to authenticated mode on failure.
      * imap4d/imap4d.c (imap4d_argc, imap4d_argv): New variables.
      (imap4d_cfg_param): New keyword `id-fields'.
      (main): Save command line arguments.
      * imap4d/imap4d.h (imap4d_argc, imap4d_argv): New declarations.
      * imap4d/select.c (imap4d_select0): Do not reset state to auth on
      failure, this is done by util_finish.
      * imap4d/version.c: Remove.
      * imap4d/capability.c: Announce ID capability, remove X-VERSION.
      * imap4d/testsuite/imap4d/x.exp: Use ID instead of X-VERSION.
      
      * TODO, NEWS: Update.
      
      * mailbox/cfg_parser.y (_set_fun,parse_param): Bugfix.
      Sergey Poznyakoff authored
    • * auth/gsasl.c: Remove deprecated data types.
      * imap4d/auth_gsasl.c (retrieve_password): Minor fix.
      
      * imap4d/imap4d.c, imap4d/imap4d.h, imap4d/namespace.c,
      lib/tcpwrap.c, libcfg/acl.c, libcfg/auth.c, libcfg/common.c,
      libcfg/ldap.c, libcfg/sieve.c, libcfg/sql.c, maidag/maidag.c,
      mail.local/main.c, mailbox/gdebug.c, mailbox/msrv.c,
      mimeview/mimeview.c, pop3d/bulletin.c, pop3d/pop3d.c,
      pop3d/pop3d.h, sieve/sieve.c: Reflect changes to the configuration
      system.
      
      * mailbox/Makefile.am (AM_LFLAGS): New variable.
      (EXTRA_DIST) Add cfg_lexer.l.
      (libmailutils_la_SOURCES): Add alloc.c and opool.c
      (BUILT_SOURCES): Add cfg_lexer.c.
      (cfg_lexer.c): New goal.
      * mailbox/alloc.c, mailbox/opool.c: New files.
      * mailbox/cfg_lexer.c: Remove.
      * mailbox/cfg_lexer.l: New file.
      * mailbox/.cvsignore: Add cfg_lexer.c.
      
      * include/mailutils/Makefile.am: Add alloc.h and opool.h
      * include/mailutils/alloc.h: New file.
      * include/mailutils/opool.h: New file.
      
      * include/mailutils/cfg.h (mu_cfg_lexer_t,mu_cfg_alloc_t)
      (mu_cfg_free_t): Remove types.
      (MU_CFG_STRING, MU_CFG_LIST, MU_CFG_ARRAY): New defines.
      (mu_config_value_t): New data type.
      (struct mu_cfg_node): Change type of `label'.
      (struct mu_cfg_tree): Remove `alloc', `free'.
      New member `pool'.
      (mu_cfg_parse): Simplify the signature by removing superfluous
      arguments.
      (mu_cfg_tie_in): Remove.
      (mu_cfg_lexer_pool): New function.
      (mu_cfg_find_node, mu_cfg_find_node_label): Remove.
      (mu_cfg_callback_t): Change signature.
      (MU_CFG_LIST_MASK): New define.
      (MU_CFG_LIST_OF, MU_CFG_TYPE, MU_CFG_IS_LIST): New defines.
      (mu_cfg_get_debug): New function.
      (mu_cfg_assert_value_type, mu_cfg_string_value_cb): New functions.
      (mu_cfg_tree_set_alloc, mu_cfg_tree_alloc): Remove.
      * mailbox/cfg_driver.c: Adapt for new node structure.
      (mu_cfg_assert_value_type, mu_cfg_string_value_cb): New function.
      * mailbox/cfg_format.c: Adapt for new node structure.
      * mailbox/cfg_parser.y: Adapt for changes in cfg data types and
      lexer.
      
      * include/mailutils/mailutils.h: Include alloc.h and opool.h
      * include/mailutils/mu_auth.h (mu_authorization_add_module)
      (mu_authentication_add_module): New prototypes.
      
      * include/mailutils/syslog.h (mu_string_to_syslog_facility)
      (mu_string_to_syslog_priority): First argument is const char *.
      * mailbox/syslog.c: Likewise.
      
      * include/mailutils/types.hin (mu_opool_t): New type.
      * mailbox/list.c (mu_list_get_comparator): Add missing return
      statement.
      Sergey Poznyakoff authored
  8. 18 Aug, 2008 1 commit
    • * TODO: Update.
      * imap4d/fetch.c: Prevent coredumps on inexpected end of statement
      (e.g. `FETCH 1:* (uid')
      * imap4d/imap4d.h (imap4d_select0): Update protottype.
      * imap4d/select.c (imap4d_select0): Do not advertise actual
      mailbox name with a NO response.
      Return to authenticated state on failure.
      Sergey Poznyakoff authored
  9. 17 Aug, 2008 2 commits
    • * imap4d/list.c (imap4d_list): Fix addslash condition.
      Sergey Poznyakoff authored
    • * doc/rfc/Makefile.am: Add rfc3691.txt
      * doc/rfc/rfc3691.txt: New file.
      * imap4d/capability.c: Announce UNSELECT capability.
      * imap4d/close.c: Implement UNSELECT command.
      * imap4d/commands.c: Add UNSELECT command.
      * imap4d/imap4d.h (imap4d_unselect): New proto.
      * imap4d/testsuite/imap4d/anystate.exp: Reflect UNSELECT
      capability.
      * imap4d/testsuite/imap4d/examine.exp: Reflect yesterday's changes
      to STATUS output.
      Sergey Poznyakoff authored
  10. 16 Aug, 2008 2 commits
    • * imap4d/status.c (imap4d_status): Remove extra whitespace
      before closing parenthesis in untagged reply.
      Sergey Poznyakoff authored
    • * imap4d/fetch.c (parse_fetch_body): Bugfix, allow another tokens
      after BODY.
      * imap4d/util.c (util_msgset): Make sure returned number of
      elements in set is always correct.
      * mailbox/folder.c (is_known_folder): Compare paths as well.  It
      was commented out on 2001-04-10 (7 years ago!!!) for unknown
      reasons.
      * mailbox/url.c (DECL_CMP): Bugfix. The macro effectively created
      a scheme comparator, no matter what its second argument was.
      Sergey Poznyakoff authored
  11. 14 Aug, 2008 1 commit
    • * auth/gsasl.c (_gsasl_readline): Prevent stucking in
      blocking streams.
      * imap4d/auth_gsasl.c: Remove deprecated functions and data types.
      * imap4d/auth_gss.c (auth_gssapi): Fix signature.
      * imap4d/copy.c (imap4d_copy0): Fix return value.
      * imap4d/imap4d.c (imap4d_cfg_param): Fix type of login-disabled.
      * include/mailutils/gsasl.h (struct mu_gsasl_module_data): New
      members: service, realm, hostname, anon_user.
      * libcfg/gsasl.c (mu_gsasl_param): New keywords: service,
      realm, hostname, anonymous-user.
      Sergey Poznyakoff authored
  12. 13 Aug, 2008 1 commit
  13. 12 Aug, 2008 1 commit
    • * imap4d/copy.c, imap4d/fetch.c, imap4d/store.c: Do not report
      error on non-existing message sets (RFC 3501, section 6.4.8).
      * imap4d/testsuite/imap4d/IDEF0955.exp: Reflect this behavior.
      * imap4d/testsuite/imap4d/fetch.exp: Header names in replies
      to BODY[HEADER.FIELDS...] are no longer quoted.
      Sergey Poznyakoff authored
  14. 11 Aug, 2008 2 commits
    • * imap4d/authenticate.c (_auth_try): Fix call to p->handler.
      * imap4d/fetch.c (fetch_send_section_part): New argument
      close_bracket.
      Never print .PEEK, it confuses some clients (notably Thunderbird).
      I need to verify RFC, though.
      All callers updated.
      * imap4d/idle.c: Use imap4d_getline to get the reply, to avod modifying
      tok and command.
      * imap4d/imap4d.h (util_send_bytes, util_trim_nl): New prototypes.
      * imap4d/util.c (util_trim_nl): New function.
      (imap4d_getline): Use util_trim_nl.
      Sergey Poznyakoff authored
    • Bugfixes. · 30f0097c
      * imap4d/fetch.c (fetch_send_section_part): Make sure the item tag
      always reflects peek status.  All callers updated.
      (fetch_io): Try to allocate as large a buffer as possible.
      Use util_send_bytes where fit.
      * imap4d/imap4d.h (imap4d_auth_handler_fp): Remove unused argument.
      * imap4d/store.c (imap4d_store0): Take into account eventual UID
      prefix.
      * imap4d/util.c (util_send_bytes): New function.
      (util_send): Comment out transcript.
      (util_do_command): Fix coredump on invalid commands.
      (imap4d_readline): Transcript only first line of the input.
      Ensure entire literal is read.
      Sergey Poznyakoff authored
  15. 10 Aug, 2008 1 commit
    • * imap4d/util.c (util_getword, util_getitem, util_token)
      (util_unquote): Remove.
      (imap4d_readline): Rewrite to reduce memory reallocation.  Add
      support for non-synchronizing literals (RFC 2088).
      (imap4d_readline_ex): Remove.
      (util_do_command): Rewrite using new imap4d_readline.
      (util_parse_internal_date0): Remove.
      (imap4d_tokbuf_init, imap4d_tokbuf_destroy, imap4d_tokbuf_argc)
      (imap4d_tokbuf_getarg, util_isdelim)
      (imap4d_tokbuf_from_string): New functions.
      * imap4d/append.c, imap4d/auth_gss.c, imap4d/authenticate.c,
      imap4d/check.c, imap4d/close.c, imap4d/commands.c, imap4d/copy.c,
      imap4d/create.c, imap4d/delete.c, imap4d/examine.c,
      imap4d/imap4d.h, imap4d/list.c, imap4d/login.c, imap4d/logout.c,
      imap4d/lsub.c, imap4d/expunge.c, imap4d/idle.c, imap4d/noop.c,
      imap4d/rename.c, imap4d/search.c, imap4d/select.c,
      imap4d/starttls.c, imap4d/status.c, imap4d/store.c,
      imap4d/subscribe.c, imap4d/uid.c, imap4d/unsubscribe.c,
      imap4d/version.c: Rewrite using new imap4d_readline.
      * imap4d/namespace.c: Use new imap4d_readline.  Ensure that
      each reported prefix ends with a hierarchy delimiter.
      * imap4d/imap4d.c (imap4d_mainloop): Use new imap4d_readline.
      * imap4d/fetch.c: Rewrite parser from scratch.
      * imap4d/capability.c (imap4d_capability_init): Report LITERAL+
      capability.
      
      * imap4d/testsuite/imap4d/anystate.exp: Account for the LITERAL+
      capability.
      * imap4d/testsuite/imap4d/append.exp: Fix APPEND arguments (imap4d
      requires exactly three arguments, as per RFC3501.
      Fix octet count in literals returned by fetch (previous versions
      failed to include the trailing CRLF).
      * imap4d/testsuite/imap4d/create.exp: Likewise.
      * imap4d/testsuite/imap4d/fetch.exp: Fix FETCH arguments (previous
      versions incorrectly accepted header-list without parentheses.
      Fix result of FETCH 4 BODY[2.2.1]: it returns entire part, in the
      contrast to previous versions, which treated it as
      BODY[2.2.1.TEXT].
      
      * maidag/mailtmp.c (mail_tmp_finish): Ensure /dev/null is treated
      as mailbox.
      Sergey Poznyakoff authored
  16. 08 Aug, 2008 1 commit
  17. 07 Aug, 2008 2 commits
  18. 04 Aug, 2008 1 commit
  19. 07 Mar, 2008 1 commit
  20. 06 Feb, 2008 1 commit
    • * imap4d/bye.c, imap4d/starttls.c, imap4d/util.c: Use exit codes
      from sysexits.h
      * imap4d/imap4d.c: Use mu_set_signals to install signals.
      Use exit codes from sysexits.h.
      * imap4d/imap4d.h: Include sysexits.h and muaux.h
      (ERR_TERMINATE): New define.
      (imap4d_sigchld,imap4d_signal): Remove.
      (imap4d_master_signal,imap4d_child_signal): New prototypes.
      * imap4d/signal.c (imap4d_master_signal,imap4d_child_signal): New
      functions.
      
      * pop3d/pop3d.h Include sysexits.h and muaux.h
      (ERR_TERMINATE): New define.
      (pop3d_signal): Remove.
      (pop3d_master_signal, pop3d_child_signal): New protos.
      * pop3d/signal.c (pop3d_master_signal, pop3d_child_signal): New
      functions.
      
      * pop3d/extra.c, pop3d/popauth.c
      * pop3d/pop3d.c: Use mu_set_signals to install signals.
      Use exit codes from sysexits.h.
      
      * include/mailutils/server.h (mu_m_server_set_strexit): New
      prototype.
      * include/mailutils/types.hin (MU_ARRAY_SIZE): New define.
      
      * lib/Makefile.am (libmuaux_la_SOURCES): Add signal.c, strexit.c.
      (noinst_HEADERS): Add muaux.h
      * lib/muaux.h: New file.
      
      * libsieve/extensions/spamd.c: Add NLS markers.
      
      * mailbox/header.c (header_readline): Minor rewrite.
      * mailbox/msrv.c (struct _mu_m_server): New member `strexit'.
      (mu_m_server_begin): Call alloc_children.
      (mu_m_server_restore_signals): New function.
      (mu_m_server_end): Call mu_m_server_restore_signals.
      (m_srv_conn): Reset signals in child branch.
      
      * po/POTFILES.in: Update.
      Sergey Poznyakoff authored
  21. 05 Feb, 2008 1 commit
    • multi-line headers.
      
      * imap4d/list.c (imap4d_list): Speed up LIST "" INBOX.
      * libproto/imap/folder.c (folder_imap_list): Remove erroneous
      assignments to f_imap->folder.
      
      Fix handling of remote mailboxes in clients:
      
      * libproto/imap/url.c (_url_imap_init,_url_imaps_init): Remove
      call to mu_url_init.
      * libproto/pop/url.c (_url_pop_init): Remove call to mu_url_init.
      * mailbox/mailbox.c (mailbox_folder_create): Bugfix: Lack of path
      component is not an error.
      Sergey Poznyakoff authored
  22. 14 Jan, 2008 1 commit
    • * include/mailutils/syslog.h (mu_log_facility, mu_log_tag): New
      declarations.
      (MU_LOG_TAG): New define.
      * mailbox/gocs.c (mu_gocs_logging_init): Set mu_log_tag.
      * mailbox/syslog.c (mu_log_facility, mu_log_tag): New variables.
      * libcfg/common.c (mu_logging_param): New statement `tag'.
      * comsat/comsat.c, imap4d/imap4d.c, imap4d/login.c,
      maidag/maidag.c, mail.local/main.c, pop3d/pop3d.c, pop3d/user.c,
      sieve/sieve.c: Use MU_LOG_TAG in openlog, and
      program_version in mu_m_server_create calls.
      Sergey Poznyakoff authored
  23. 13 Jan, 2008 1 commit
    • * configure.ac: Define DEFAULT_TEXT_DOMAIN
      * comsat/comsat.c, dotlock/dotlock.c, frm/frm.c, frm/from.c,
      guimb/main.c, imap4d/imap4d.c, maidag/maidag.c, mail/mail.c,
      mail.local/main.c, mail.remote/mail.remote.c, messages/messages.c,
      mh/ali.c, mh/anno.c, mh/burst.c, mh/comp.c, mh/fmtcheck.c,
      mh/folder.c, mh/forw.c, mh/inc.c, mh/install-mh.c, mh/mark.c,
      mh/mhl.c, mh/mhn.c, mh/mhparam.c, mh/mhpath.c, mh/pick.c,
      mh/refile.c, mh/repl.c, mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c,
      mh/sortm.c, mh/whatnow.c, mh/whom.c, mimeview/mimeview.c,
      movemail/movemail.c, pop3d/pop3d.c, pop3d/popauth.c,
      readmsg/readmsg.c, sieve/sieve.c,
      Use MU_APP_INIT_NLS instead of mu_init_nls.
      * mailbox/nls.c (mu_init_nls): Do not call textdomain.
      Sergey Poznyakoff authored
  24. 05 Jan, 2008 2 commits
    • * mailbox/Makefile.am: Replace tcpsrv.c with ipsrv.c.
      * mailbox/tcpsrv.c: Replace with ...
      * mailbox/ipsrv.c: ... this file, which supports both TCP and UDP.
      
      * mailbox/msrv.c: Use mu_ip_server_t.
      * mailbox/server.c (mu_server_destroy): Bugfix.
      * comsat/comsat.c, comsat/comsat.h: Use m-server.
      
      * maidag/lmtp.c, maidag/maidag.h, pop3d/pop3d.c: Update to match
      changed m-server types.
      
      * include/mailutils/server.h (mu_tcp_*): Replace with mu_ip_*.
      Add new prototypes.
      * include/mailutils/types.hin: Likewise.
      
      * lib/tcpwrap.c, lib/tcpwrap.h (mu_tcp_wrapper_prefork): Update
      signature to match mu_m_server_prefork_fp.
      
      * examples/echosrv.c: Use mu_ip_server_t
      * imap4d/idle.c, imap4d/imap4d.c, imap4d/imap4d.h,
      imap4d/preauth.c, imap4d/util.c: Remove mu_gocs_daemon.
      * include/mailutils/gocs.h, include/mailutils/libargp.h,
      include/mailutils/libargp.h, libargp/cmdline.c,
      libargp/common.c, libcfg/common.c, libcfg/init.c,
      mailbox/daemon.c, mailbox/gocs.c: Remove mu_gocs_daemon.
      
      * mailbox/amd.c (amd_open): Provide a null-locker.
      * include/mailutils/locker.h, mailbox/locker.c
      (mu_locker_mod_flags): New function.
      
      * examples/config/mailutils.schema: LDAP schema for Mailutils.
      * examples/config/Makefile.am: Add mailutils.schema
      
      * dotlock/dotlock.c (main): Remove superfluous invocation of
      mu_locker_set_flags.
      
      * libproto/mbox/mbox.c (mbox_quick_get_message): Return
      MU_ERR_NOENT if mailbox is empty.
      
      * mailbox/tcpsrv.c (family_to_proto): Rename to
      mu_address_family_to_domain.
      * po/POTFILES.in: Update.
      * pop3d/lock.c (pop3d_lock): use mu_locker_mod_flags, instead of
      mu_locker_set_flags.
      Sergey Poznyakoff authored
    • function type.
      (mu_m_server_destroy, mu_m_server_set_prefork)
      (mu_m_server_configured_count, mu_m_server_end): New functions.
      * mailbox/msrv.c (struct _mu_m_server.prefork): New member.
      (mu_m_server_set_prefork): New function.
      (m_srv_conn): Use prefork to decide whether to proceed with a
      connection.
      
      * lib/tcpwrap.c, lib/tcpwrap.h (mu_tcp_wrapper_prefork): New
      function.
      
      * imap4d/imap4d.c, maidag/lmtp.c, maidag/maidag.c,
      pop3d/pop3d.c: Use m-server prefork to handle TCP wrappers.
      
      * po/POTFILES.in: Add more files.
      Sergey Poznyakoff authored
  25. 04 Jan, 2008 1 commit
    • * mailbox/msrv.c: New file.
      * mailbox/Makefile.am: Add msrv.c.
      * include/mailutils/server.h (mu_tcp_server_conn_fp): Take
      sockaddr as argument
      (mu_tcp_server_create,mu_tcp_server_get_sockaddr): Likewise.
      (mu_m_server_*): New prototypes.
      * include/mailutils/types.hin (mu_m_server_t): New type.
      * mailbox/acl.c: Fix debugging output.
      (mu_sockaddr_to_str, mu_sockaddr_to_astr): New functions.
      
      * mailbox/tcpsrv.c: Handle AF_INET and AF_UNIX sockets.
      * examples/echosrv.c: Update mu_tcp_server_* calls.
      * examples/config/Makefile.am: Remove comsat.conf and
      mailutils.rc.
      
      * imap4d/imap4d.c, imap4d/imap4d.h, imap4d/signal.c,
      maidag/lmtp.c, maidag/maidag.c, maidag/maidag.h, pop3d/extra.c,
      pop3d/pop3d.c, pop3d/pop3d.h, pop3d/signal.c: Rewrite using
      m-server.
      
      * include/mailutils/cfg.h (mu_offsetof): Bug fix.
      * mailbox/cfg_driver.c (dup_container): Bugfix. Offset was not
      copied.
      (mu_cfg_section_add_params): If identifier starts with a dot, it
      is hidden, i.e. its substatements are copied directly into the
      parent structure.
      * mailbox/cfg_lexer.c (isword): Take care of opening braces.
      (default_lexer): Several fixes.
      * mailbox/cfg_parser.y (mu_cfg_parse): Initialize debugging level
      from global settings.
      (_scan_tree_helper): Ensure debugging object has correct locus
      information before calling the section parser.
      (mu_cfg_scan_tree): If no debugging object is supplied, use the
      one from diag.c
      * mailbox/daemon.c (mu_daemon_create_pidfile): Return a meaningful
      error code.
      * mailbox/debug.c (mu_debug_create): Initialize printer to NULL.
      (mu_debug_vprintf): If printer is NULL, use
      mu_debug_default_printer.
      (mu_debug_check_level): Bugfix.
      
      * mailbox/server.c: Minor indentation fix.
      * mailbox/syslog.c (mu_diag_syslog_printer): Chop off \r as well.
      * mailbox/folder.c (mu_folder_create_from_record): Bugfixes.
      
      * include/mailutils/debug.hm4 (mu_sockaddr_to_str)
      (mu_sockaddr_to_astr): New functions.
      
      * include/mailutils/.cvsignore: Add debug.h
      
      * po/POTFILES.in: Update.
      Sergey Poznyakoff authored
  26. 30 Dec, 2007 1 commit
    • * frm/testsuite/frm/test.exp: Call mu_init with -noflags option.
      Use --mail-folder option when necessary.
      * messages/testsuite/messages/test.exp: Likewise.
      * readmsg/testsuite/readmsg/test.exp: Likewise.
      * sieve/testsuite/lib/sieve.exp: Likewise.
      * sieve/testsuite/sieve/action.exp: Likewise.
      * sieve/testsuite/scripts/fileinto.sv: Use +file, instead of
      %file.
      
      * imap4d/imap4d.c: Register mailbox formats before parsing
      configuration.
      * imap4d/util.c (util_wcard_match): Replaced with a more efficient
      implementation, based on wildmat from GNU Radius.
      * imap4d/testsuite/imap4d/list.exp: Expect two non-mailbox files
      to appear in the list output (see libproto/mbox/folder.c, 2007-12-28).
      
      * libargp/common.c: New option --mail-folder.
      * libcfg/common.c: New statement mailbox/folder
      
      * libproto/maildir/folder.c (_maildir_is_scheme): Never return
      MU_FOLDER_ATTRIBUTE_DIRECTORY bit: maildir folders cannot contain
      subfolders.
      * libproto/maildir/mbox.c (maildir_msg_init): Bugfix: use full
      file name.
      Print additional diagnostics if stat fails.
      * libproto/mbox/folder.c (list_helper): Take additional argument,
      record, specifying a mu_record_t object to match entries
      against. If it is NULL, mu_registrar_lookup is used.
      Fix descending into subdirectories.
      
      * maidag/deliver.c (deliver): Split off deliver_to_user function;
      call it with user privileges. This fixes privileges of any created
      maildir folders.
      * maidag/maidag.c (set_debug_flags): Bugfix.
      
      * mail/mail.c (main): Open the mailbox with MU_STREAM_CREAT flag.
      
      * mailbox/amd.c (amd_open): Do not initialize amd->mtime to
      trigger initial scanning.
      (_amd_message_save): Check rename return value.
      (amd_is_updated): Do not check for msg_count==0, rely on the
      timestamp.
      
      * mailbox/mailbox.c (mu_mailbox_set_default_proto): Accept an
      argument without trailing semicolon.
      * mailbox/mbx_default.c (mu_set_mail_directory): Accept NULL
      argument.
      (mu_set_mailbox_pattern): Likewise.
      (mu_mailbox_create_default): Use FOLDER or MAIL environment
      variables only if _mu_mailbox_pattern is not set. In other words,
      setting mail-spool in the configuration file overrides these
      variables.
      Sergey Poznyakoff authored
  27. 21 Dec, 2007 2 commits
    • speed up.
      * imap4d/imap4d.h (WCARD_NOMATCH,WCARD_MATCH)
      (WCARD_RECURSE_MATCH): Remove.
      * imap4d/list.c: Rewrite using mu_folder_enumerate.
      * imap4d/lsub.c (imap4d_lsub): Fix call to util_wcard_match.
      * imap4d/util.c (util_wcard_match): Return 0 for match, 1
      otherwise.
      * imap4d/testsuite/imap4d/list.exp: Fix two testcases to match
      the new (stricter RFC-compliant) behavior.
      * include/mailutils/folder.h (mu_folder_match_fp): New typedef.
      (mu_folder_enumerate_fp): New typedef.
      (mu_folder_enumerate): New function.
      (mu_folder_set_match, mu_folder_get_match): New functions.
      
      * libproto/imap/folder.c, libproto/include/imap0.h,
      libproto/nntp/folder.c : Use new folder list framework.
      * libproto/include/folder0.h (struct _mu_folder._list): Change
      signature.
      (_match): New member.
      * libproto/mbox/folder.c (_path_is_scheme): Improve automatic
      mailbox	format detection.
      (folder_mbox_list): Do not use glob, recursively scan
      subdirectories instead.
      * mailbox/folder.c (mu_folder_match): New function.
      (mu_folder_create_from_record): Set mu_folder_match as the default
      matcher.
      (mu_folder_set_match, mu_folder_get_match): New functions.
      (mu_folder_enumerate): New function.
      (mu_folder_list): Rewrite using mu_folder_enumerate.
      Sergey Poznyakoff authored
  28. 19 Dec, 2007 1 commit
    • * configure.ac (MU_LIB_REMOTE): New substitution variable.
      (AC_CONFIG_FILES): Add libproto/remote/Makefile.
      * imap4d/copy.c, imap4d/create.c, imap4d/delete.c, imap4d/fetch.c,
      imap4d/imap4d.c, imap4d/list.c, imap4d/lsub.c, imap4d/rename.c,
      imap4d/subscribe.c, imap4d/unsubscribe.c, imap4d/util.c: Spelling
      fixes.
      * include/mailutils/cfg.h (mu_cfg_error_count): New variable.
      * include/mailutils/gocs.h (struct mu_gocs_mailbox):  New member
      mailbox_pattern
      * include/mailutils/libargp.h (mu_rcfile_lint): New variable.
      * include/mailutils/mailbox.h (mu_set_mailbox_pattern): New
      function.
      (mu_mail_directory): Removed.
      (mu_mailbox_url): New function.
      * include/mailutils/mutil.h (mu_normalize_mailbox_url): Remove.
      * include/mailutils/registrar.h (mu_0_6_registrar_lookup): Remove.
      
      * libargp/common.c: New options --rcfile-lint and
      --mailbox-pattern.
      * libargp/muinit.c: Handle --rcfile-lint.
      * libcfg/common.c: New statement mailbox-pattern
      * libmu_scm/mu_mailbox.c (mu-mail-directory): Deprecated.
      (mu-user-mailbox-url): New function.
      
      * libproto/remote: New directory.
      * libproto/remote/folder.c: New file.
      * libproto/remote/mbox.c: New file.
      * libproto/remote/.cvsignore: New file.
      
      * libproto/Makefile.am (SUBDIRS): Add remote
      * libproto/mbox/folder.c, libproto/mbox/url.c: Indentation and
      spelling fixes.
      * maidag/Makefile.am (maidag_LDADD): Add MU_LIB_REMOTE.
      * maidag/maidag.c: Register mu_remote_mbox_record.
      * mailbox/cfg_parser.y (mu_cfg_error_count): New variable.
      (mu_cfg_format_error,_mu_cfg_vperror): Increment
      mu_cfg_error_count.
      * mailbox/debug.c (mu_debug_check_level): Do not mask out
      inheritance bit.
      * mailbox/gocs.c (mu_gocs_mailbox_init): Set mailbox pattern.
      * mailbox/mailbox.c (_create_mailbox): Bugfix.
      * mailbox/mbx_default.c (mu_set_mailbox_pattern): New finction.
      (mu_set_mail_directory): Rewrite.
      (user_mailbox_name): Rewrite.
      * mailbox/mutil.c (mu_normalize_mailbox_url): Remove.
      * mailbox/registrar.c (mu_0_6_registrar_lookup): Remove.
      * guimb/scm/sieve-core.scm (sieve-main): Use mu-user-mailbox-url.
      Sergey Poznyakoff authored
  29. 13 Dec, 2007 1 commit
    • examples/decode2047.c, examples/echosrv.c, examples/encode2047.c,
      examples/header.c, examples/http.c, examples/iconv.c,
      examples/listop.c, examples/lsf.c, examples/mailcap.c,
      examples/mimetest.c, examples/msg-send.c, examples/muemail.c,
      examples/murun.c, examples/nntpclient.c, examples/pop3client.c,
      examples/sfrom.c, examples/url-parse.c: Include config.h. Use
      MU_ASSERT instead of assert.
      
      * include/mailutils/cfg.h (struct mu_cfg_section.offset): New
      member.
      * include/mailutils/debug.hm4 (MU_ASSERT): New member.
      * lib/utmp.c: Include config.h.
      * libcfg/Makefile.am (libmucfg_la_SOURCES): Add acl.c.
      * libcfg/acl.c: New file.
      * libcfg/common.c (cb_debug_level): Immediately set debugging
      level.
      * mailbox/acl.c: mu_acl_log expands its argument.
      * mailbox/cfg_driver.c (mu_create_canned_section)
      (mu_create_canned_param): Avoid creating container twice.
      * mailbox/cfg_format.c (format_param): Do not pring type if
      argname contains a colon.
      * mailbox/cfg_parser.y (_scan_tree_helper): Compute target
      pointer.
      
      * imap4d/imap4d.c, imap4d/imap4d.h, pop3d/pop3d.c,
      pop3d/pop3d.h: Use MU ACLs
      Sergey Poznyakoff authored
  30. 11 Dec, 2007 2 commits
    • pop3d/pop3d.c: Call mu_tcpwrapper_cfg_init.
      
      * include/mailutils/cfg.h (mu_cfg_section_add_container)
      (mu_cfg_section_add_params, mu_create_canned_section)
      (mu_create_canned_param, mu_get_canned_container): New functions.
      * lib/tcpwrap.c (mu_tcpwrapper_cfg_init): New function.
      * lib/tcpwrap.h (TCP_WRAPPERS_CONFIG): Change definition.
      * mailbox/cfg_driver.c (mu_create_canned_section)
      (mu_create_canned_param): Change prototypes.
      (add_parameters): Rename to mu_cfg_section_add_params, make
      extern. All callers changed.
      Sergey Poznyakoff authored
    • (struct mu_cfg_param.offset): New member
      (mu_offsetof): New define
      (mu_cfg_section_fp): Change signature
      (struct mu_cfg_section.label,target): New members.
      (struct mu_cfg_section.data): Remove.
      (struct mu_cfg_section.children): New member, instead of
      param and subsec which are removed.
      (mu_cfg_scan_tree): Change signature.
      (mu_config_register_section): Change signature.
      (mu_parse_config): Change signature.
      (mu_parse_config_tree): Rename to mu_cfg_tree_reduce.
      (mu_get_config): New proto.
      
      * include/mailutils/libcfg.h (mu_parse_config_files): Change
      prototype.
      
      * dotlock/dotlock.c, imap4d/imap4d.c, lib/tcpwrap.h,
      libargp/muinit.c, libcfg/auth.c, libcfg/common.c, libcfg/gsasl.c,
      libcfg/init.c, libcfg/ldap.c, libcfg/pam.c, libcfg/radius.c,
      libcfg/sieve.c, libcfg/sql.c, libcfg/tls.c, libcfg/virtdomain.c,
      maidag/maidag.c, mail.local/main.c, mail.remote/mail.remote.c,
      mailbox/cfg_format.c, mailbox/cfg_parser.y, mimeview/mimeview.c,
      movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
      sieve/sieve.c: Reflect changes to the cfg framework.
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add cfg_driver.c.
      * mailbox/cfg_driver.c: New file.
      * mailbox/cfg_lexer.c: Move driver part into a separate file.
      
      * examples/Makefile.am (AM_LDFLAGS): Remove libmuaux
      * examples/echosrv.c: Remove getopt.h
      Sergey Poznyakoff authored
  31. 09 Dec, 2007 1 commit