1. 06 Feb, 2008 4 commits
    • Sergey Poznyakoff authored
    • New file · 0dedfaf2
      Sergey Poznyakoff authored
    • * 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
  2. 05 Feb, 2008 3 commits
    • * 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
    • Sergey Poznyakoff authored
    • 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
  3. 04 Feb, 2008 2 commits
    • New member `child_pid'.
      (children): Remove global.
      (m_server_list): New variable. Keeps track of created m_servers.
      (alloc_children, register_child, unregister_child)
      (terminate_children): New functions.
      (m_server_cleanup): New function.
      (mu_m_server_idle): Iterate over all registered m-servers until
      one of them recognizes the child.
      (mu_m_server_create,mu_m_server_destroy): Keep track of existing
      m-servers using m_server_list.
      (mu_m_server_set_max_children): Rewrite using alloc_children.
      (mu_m_server_run): Terminate all children before returning.
      (m_srv_conn): Use register_child to remember created children.
      Sergey Poznyakoff authored
    • * examples/header.c: New command `itr'.
      (main): Empty input repeats the recent command.
      * include/mailutils/header.h (mu_header_get_iterator): New
      function.
      * libproto/include/header0.h (struct _mu_header): New member itr.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add hdritr.c
      * mailbox/hdritr.c: New file.
      * mailbox/header.c (mu_header_remove): Bugfix. Invalidate the
      header after removal.
      Sergey Poznyakoff authored
  4. 31 Jan, 2008 1 commit
  5. 28 Jan, 2008 1 commit
  6. 24 Jan, 2008 3 commits
  7. 22 Jan, 2008 4 commits
  8. 16 Jan, 2008 2 commits
  9. 14 Jan, 2008 2 commits
    • * 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
    • _path_append.
      * libsieve/load.c (sieve_init_load_path): New function.
      (load_module,sieve_load_add_path,sieve_load_add_dir): Call
      sieve_init_load_path.
      * mail.local/main.c (parse_opt): Bugfix. Translate -S option to
      sieve-filter configuration statement.
      Sergey Poznyakoff authored
  10. 13 Jan, 2008 3 commits
    • * 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
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
  11. 12 Jan, 2008 1 commit
  12. 11 Jan, 2008 2 commits
  13. 09 Jan, 2008 2 commits
    • compatibility with other modules.
      * auth/radius.c, auth/sql.c: Use mu_vartab_t for expansion.
      * include/mailutils/mailutils.h: Include mailutils/assoc.h
      * lib/tcpwrap.c (mu_tcpwrapper_access): Ignore local sockets.
      * libargp/muinit.c (mu_app_init): Re-assign mu_program_name after
      command line parsing, so that --program-name takes effect.
      * libcfg/sql.c (mu_sql_param): Fix typo in statement name.
      * libproto/include/amd.h (struct _amd_message.create): New member.
      * libproto/maildir/mbox.c (maildir_create): New function.
      (_mailbox_maildir_init): Set amd->create.
      * mailbox/amd.c (amd_open): Call amd->create after successfully
      creating the directory.
      * mailbox/cfg_driver.c (_cb_include): Mask out
      MU_PARSE_CONFIG_GLOBAL in the flags.
      (mu_build_container): Bugfix. Take struct include_data as
      argument, instead of using an auto variable. All callers updated.
      * mailbox/ipsrv.c (mu_ip_tcp_accept): Bugfix: use client address,
      not server, to print diagnostics.
      * mailbox/msrv.c (m_srv_conn): Fix prefork condition for
      single-process mode.
      Sergey Poznyakoff authored
    • * include/mailutils/server.h (mu_m_server_set_foreground)
      (mu_m_server_foreground,mu_m_server_pidfile)
      (mu_m_server_set_default_address)
      (mu_m_server_get_srvlist)
      (mu_m_server_get_default_address): New functions.
      * libargp/muinit.c (get_canonical_name): Do not use xmalloc.
      * mailbox/ipsrv.c (mu_ip_server_get_sockaddr): Return
      MU_ERR_BUFSPACE if provided buffer is not long enough to
      accomodate the result.
      * mailbox/msrv.c (mu_m_server_set_foreground)
      (mu_m_server_foreground,mu_m_server_pidfile)
      (mu_m_server_set_default_address)
      (mu_m_server_get_srvlist)
      (mu_m_server_get_default_address)
      (mu_m_server_parse_url): New functions.
      Sergey Poznyakoff authored
  14. 06 Jan, 2008 1 commit
    • * libproto/include/amd.h (struct _amd_message): Remove `deleted',
      add `orig_flags' instead.
      (struct _amd_data): Remove `msg_file_name', add `cur_msg_file_name'
      and `new_msg_file_name'.
      Add `mailbox_size'.
      * libproto/maildir/mbox.c (struct _maildir_message): Remove
      `newflag', add `dir'.
      (maildir_name_info_ptr): New function.
      (mk_info_filename): Bugfix.
      (maildir_cur_message_name, maildir_new_message_name): New
      functions.
      (maildir_msg_init): Set ->dir
      (maildir_msg_finish_delivery): Handle error conditions.
      (maildir_scan_dir): New argument `dirname'. Initialize orig_flags.
      (maildir_qfetch): Initialize dir.
      (_mailbox_maildir_init): Set cur_msg_file_name and
      new_msg_file_name.
      * libproto/mh/mbox.c (_mh_cur_message_name)
      (_mh_new_message_name): New functions.
      (mh_scan0): Initialize orig_flags.
      (_mailbox_mh_init): Set cur_msg_file_name and
      new_msg_file_name.
      * mailbox/amd.c (amd_message_qid, _amd_message_save)
      (amd_append_message, amd_expunge, amd_scan_message)
      (amd_pool_open, amd_header_fill): Use appropriate msg_file_name
      functions.
      (amd_get_size): Implemented.
      * mailbox/mailbox.c (mu_mailbox_flush): Bugfix.
      Sergey Poznyakoff authored
  15. 05 Jan, 2008 3 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
    • 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
  16. 04 Jan, 2008 3 commits
    • Sergey Poznyakoff authored
    • * 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
    • * 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
  17. 02 Jan, 2008 1 commit
    • * libproto/include/property0.h (struct property_item): Remove
      key, set and next.
      (struct _mu_property): Use mu_assoc_t to keep the items.
      * mailbox/property.c: Rewrite using mu_assoc_t for storage.
      
      * mailbox/parsedate.y (DATE_SET): Take an additional argument
      specifying upper limit for the value. Bail out if val is out of
      range. All callers updated.
      (SET_.*): Rewrite via __SET_.*
      Sergey Poznyakoff authored
  18. 30 Dec, 2007 2 commits