diff options
-rw-r--r-- | AUTHORS | 20 | ||||
-rw-r--r-- | ChangeLog | 7364 | ||||
-rw-r--r-- | Makefile.am | 70 | ||||
-rw-r--r-- | NEWS | 1078 | ||||
-rw-r--r-- | README | 328 | ||||
-rw-r--r-- | configure.in | 21 | ||||
-rw-r--r-- | libmailbox/Makefile.am | 13 | ||||
-rw-r--r-- | libmailbox/mailbox.c | 99 | ||||
-rw-r--r-- | libmailbox/mailbox.h | 47 | ||||
-rw-r--r-- | libmailbox/unixmbox.c | 268 | ||||
-rw-r--r-- | libmailbox/unixmbox.h | 56 | ||||
-rw-r--r-- | mail/Makefile.am | 106 | ||||
-rw-r--r-- | mail/mail.c | 623 |
13 files changed, 585 insertions, 9508 deletions
@@ -1,21 +1 @@ -The current maintainer Sergey Poznyakoff - -Alain Magloire <alainm@gnu.org> - The starting framework of mailutils etc .. -Brian Edmond <briane@qnx.com> - Various code and bug reports -Dave Inglis <dinglis@qnx.com> - The orignal MIME handling code Jakob Kaivo <jkaivo@ndn.net> - The starting framework for the POP3 and IMAP4 daemons -Jeff Bailey <jbailey@gnu.org> - The starting framework for the mailbox library -Sean 'Shaleh' Perry <shaleh@debian.org> - The starting framewok for the mailbox library -Sergey Poznyakoff <gray@Mirddin.farlep.net> - Worked on pretty much everything 8-) -Sam Roberts <sroberts@uniserve.com> - The parsing code for email addresses. -Wojciech Polak <polak@gnu.org> - TLS, NLS, libmu_cpp, docs, misc hacking. - @@ -1,7364 +1,8 @@ -2008-03-07 Sergey Poznyakoff <gray@gnu.org.ua> +1999-09-11 Jeff Bailey <jbailey@cr499794-a.crdva1.bc.wave.home.com> - * comsat/comsat.c, imap4d/imap4d.c, imap4d/preauth.c, - libargp/sieve.c, libcfg/ldap.c, libcfg/sieve.c: Fix translatable - strings. + * libmailbox/unixmbox.h: Do not prefix config.h defines with _ -2008-03-07 Sergey Poznyakoff <gray@gnu.org.ua> +1999-09-10 Jeff Bailey <jbailey@cr499794-a.crdva1.bc.wave.home.com> - * configure.ac: Require gettext 0.17 - * auth/ldap.c, auth/radius.c, libargp/tls.c, mailbox/cfg_lexer.c, - pop3d/logindelay.c: Fix diagnostic messages. - -2008-03-03 Sergey Poznyakoff <gray@gnu.org.ua> + * */*: Accomidate directory rearrange - * maidag/maidag.c (main): Fix autodetection of log_to_stderr. - * maidag/deliver.c, maidag/maidag.h, maidag/mailtmp.c: Rename - mailer_err to maidag_error. - * maidag/util.c (mailer_err): Rename to maidag_error. Print to - stderr only if log_to_stderr is set. - - Fix bootstrapping with gettext 0.17. - - * bootstrap.conf (avoided_gnulib_modules): Remove size_max - (excluded_files): Remove m4/size_max.m4. - (gnulib_extra_files): Add m4/inttostr.m4 - * gnulib.modules: Add intprops and stdint. - - * m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4, m4/inttypes-h.m4, - m4/inttypes-pri.m4, m4/inttypes.m4, m4/inttypes_h.m4: Remove - -2008-03-02 Sergey Poznyakoff <gray@gnu.org.ua> - - * bootstrap.conf (XGETTEXT_OPTIONS): Update flags. - * configure.ac, NEWS: Version 1.9.90 - * m4/.cvsignore: Add environ.m4 - - * po/ca.po, po/es.po, po/fr.po, po/pl.po, po/ro.po, po/ru.po, - po/rw.po, po/sv.po, po/uk.po, po/LINGUAS, po/ChangeLog: Remove. - We will get po files directly from translationproject.org. - -2008-03-01 Sergey Poznyakoff <gray@gnu.org.ua> - - * mh/folder.c, mh/mh_argp.c, mh/mh_getopt.c, mh/mh_init.c, - mh/rmf.c: Use mu_program_name instead of - program_invocation_short_name. - -2008-02-29 Sergey Poznyakoff <gray@gnu.org.ua> - - * mh/mh_ctx.c (mh_context_read): Allow for header continuation - lines. - * mh/mh_whom.c (mh_whom): Improve diagnostics. - -2008-02-28 Sergey Poznyakoff <gray@gnu.org.ua> - - * examples/Makefile.am (AM_LDFLAGS): Remove. - (LDADD): Add the necessary libraries. - (aclck_LDADD, argcv_LDADD): Remove. - (muemail_LDADD): Needs MU_APP_LIBRARIES. - -2008-02-26 Sergey Poznyakoff <gray@gnu.org.ua> - - * libcfg/init.c: Fix error reporting. - * mailbox/cfg_driver.c (mu_parse_config): Fix memory leak. - -2008-02-21 Sergey Poznyakoff <gray@gnu.org.ua> - - * libsieve/load.c: Add forward declaration of _add_load_dir - * mailbox/parsedate.y (DATE_SET): Fix bug introduced 2008-01-02: - val can sometimes be negative. - * examples/Makefile.am (aclck_LDADD): Define. - -2008-02-09 Sergey Poznyakoff <gray@gnu.org.ua> - - * comsat/comsat.c (comsat_cfg_param): Reword a help message - for require-tty. - * examples/header.c (cmd_readline): New function. - New command 'readline'. - * po/POTFILES.in: Remove stray reference to muerrno.c - -2008-02-08 Sergey Poznyakoff <gray@gnu.org.ua> - - * comsat/action.c (act_getline): Bugfix. Do not return eof - on an empty line. Reported by Damon Harper. - -2008-02-06 Sergey Poznyakoff <gray@gnu.org.ua> - - * examples/pop3client.c: Implement variable expansions in the - prompt. - - * NEWS: Update. - - * pop3d/bulletin.c (read_bulletin_db): Return success if db does - not exist. - * lib/strexit.c: New file. - * lib/signal.c: New file. - -2008-02-05 Sergey Poznyakoff <gray@gnu.org.ua> - - * pop3d/extra.c (pop3d_readline): After a failed authorization - attempt many clients simply disconnect without issuing QUIT. - Do not count this as a protocol error. - - * NEWS: Update. - * 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. - - * mailbox/header.c (header_readline): Bugfix: account for - 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. - -2008-02-04 Sergey Poznyakoff <gray@gnu.org.ua> - - * mailbox/msrv.c (struct _mu_m_server): New member `num_children'. - 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. - - * NEWS: Update. - * 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. - -2008-01-31 Sergey Poznyakoff <gray@gnu.org.ua> - - * auth/radius.c (_expand_query): Fix typo. - * mailbox/cfg_lexer.c (copy_string0): New function. - (copy_string): Rewrite using copy_string0. - (copy_to): Parse strings correctly. - (default_lexer): Bugfix. Return string if tag is quoted. - -2008-01-28 Sergey Poznyakoff <gray@gnu.org.ua> - - * pop3d/bulletin.c (open_bulletin_mailbox): Bugfix. - -2008-01-24 Sergey Poznyakoff <gray@gnu.org.ua> - - * mailbox/cfg_driver.c (mu_cfg_section_add_params): Initialize - section.target with param->data; - * mailbox/stream.c (mu_stream_vprintf): Bugfix. - -2008-01-22 Sergey Poznyakoff <gray@gnu.org.ua> - - * examples/listop.c (find): Fix copy-n-paste error. - (iter): Return error code. - (main): Create iterators on demand. - New command `close'. - - * mailbox/iterator.c (mu_iterator_detach): Bugfix. - -2008-01-16 Sergey Poznyakoff <gray@gnu.org.ua> - - * include/mailutils/acl.h, include/mailutils/debug.hm4, - mailbox/acl.c (mu_sockaddr_to_str, mu_sockaddr_to_astr) - (mu_acl_check_sockaddr, mu_acl_check_inaddr): Use const pointers - when appropriate. - - * include/mailutils/cfg.h (mu_offsetof): Move mu_offsetof to - types.hin. - * include/mailutils/types.hin (mu_offsetof): New macro. - * mailbox/acl.c (MU_S_UN_NAME): New macro. - (debug_sockaddr, mu_sockaddr_to_str, _acl_match) - (_run_entry): Take into account salen for AF_UNIX. - -2008-01-14 Sergey Poznyakoff <gray@gnu.org.ua> - - * include/mailutils/gocs.h (log_facility): Remove. - * 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. - - * libsieve/conf.c (mu_sieve_module_init): Remove initial call to - _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. - -2008-01-13 Sergey Poznyakoff <gray@gnu.org.ua> - - Fix NLS issues. - - * 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. - - * guimb/guimb.h, guimb/util.c (util_error): fmt is const. - * include/mailutils/debug.hm4: include <mailutils/error.h> - * include/mailutils/nls.h: Define _ and N_ only if - DEFAULT_TEXT_DOMAIN is defined (for use in the library). - * maidag/maidag.h, maidag/util.c (mailer_err) : fmt is const. - * mail.local/mail.local.h (mailer_err): All mandatory args are - consts. - * mailbox/msrv.c: Include limits.h - -2008-01-12 Sergey Poznyakoff <gray@gnu.org.ua> - - * NEWS, configure.ac: Version 1.2.91. - - * mailbox/gdebug.c (mu_debug_level_from_string): Bugfix. - -2008-01-09 Sergey Poznyakoff <gray@gnu.org.ua> - - * auth/ldap.c (_mu_ldap_search): Provide %u expansion for backward - 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. - - * TODO: Update. - * 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. - -2008-01-06 Sergey Poznyakoff <gray@gnu.org.ua> - - Fix message delivery to maildir boxes. - - * 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. - -2008-01-05 Sergey Poznyakoff <gray@gnu.org.ua> - - * NEWS: Update. - - * 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. - - * include/mailutils/server.h (mu_m_server_prefork_fp): New - 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. - -2008-01-04 Sergey Poznyakoff <gray@gnu.org.ua> - - * TODO, NEWS: Update. - * 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. - -2008-01-02 Sergey Poznyakoff <gray@gnu.org.ua> - - * include/mailutils/property.h: Update - * 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_.* - -2007-12-30 Sergey Poznyakoff <gray@gnu.org.ua> - - * comsat/comsat.c: New config statement require-tty. - (main): Use /dev/null as the tty if require-tty is false. - - * examples/config/comsat.conf: Remove obsolete example file. - * examples/config/mailutils.rc: Remove obsolete example file. - - * comsat/oldcfg.c: New file. - * comsat/Makefile.am: Add oldcfg.c. - * comsat/comsat.c: Handle old -c option and provide a new option - for converting old-style config file to the new format. - - * comsat/Makefile.am: Remove cfg.c - * comsat/cfg.c: Remove. - * comsat/comsat.c: Use MU configuration and acls. - * comsat/comsat.h: Include acl.h - * libproto/maildir/mbox.c (maildir_qfetch): Bugfix. - - * NEWS: Update. - - * 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. - -2007-12-28 Sergey Poznyakoff <gray@gnu.org.ua> - - Additional mailbox URL parameters `type', `user' and `param' can - appear in any local URLs. - - * TODO, NEWS: Update. - - * examples/url-parse.c: Print field/value pairs. - * include/mailutils/argcv.h (MU_ARGCV_RETURN_DELIMS): New macro. - (mu_argcv_get_np): New function. - (mu_argcv_remove): New function. - * include/mailutils/mutil.h (mu_scheme_autodetect_p): Change - prototype. - * include/mailutils/registrar.h (mu_registrar_lookup_url): New - function. - (struct _mu_record._is_scheme): Change signature. - * include/mailutils/url.h (mu_url_sget_fvpairs) - (mu_url_aget_fvpairs): New functions. - (mu_url_expand_path): New function. - - * libproto/imap/folder.c (folder_imap_list): Fix signature. - * libproto/nntp/folder.c (nntp_folder_list): Fix signature. - * libproto/include/amd.h (amd_url_init): Remove. - * libproto/include/registrar0.h: Fix scheme defines. - * libproto/include/url0.h (struct _mu_url.fvpairs,fvcount): New - members. - * libproto/maildir/folder.c (_maildir_is_scheme): Change - signature. - (_maildir_url_init): Remove - (_maildir_record): Remove url_init. - * libproto/mbox/folder.c (_path_record): Remove url_init. - (_mbox_record): Use mu_url_expand_path as url_init. - (_path_is_scheme): Change signature. - * libproto/mh/folder.c (_mh_is_scheme): Change signature. - (_mh_url_init): Remove. - (_mh_record): Use - mu_url_expand_path as url_init. - * libproto/mbox/Makefile.am (libmu_mbox_la_SOURCES): Remove url.c - * libproto/mbox/url.c: Remove. - - * mail/mail.h, mail/util.c (util_url_to_string): New function. - * mail/quit.c, mail/summary.c: Use util_url_to_string where - appropriate. - * mailbox/amd.c (amd_url_destroy, amd_url_init): Remove. - * mailbox/argcv.c (mu_argcv_get_np): New function. - (argcv_scan): Change signature. All callers updated. - (argcv_get_n): Rewrite using argcv_get_np. - (mu_argcv_remove): New function. - - * mailbox/file_stream.c (struct _prog_stream.argc): Fix data type. - * mailbox/folder.c (mu_folder_create_from_record): URL initializer - is optional. - * mailbox/gdebug.c (mu_global_debug_from_string): Fix datatype of - argc. - * mailbox/mailbox.c (mailbox_folder_create): Rewrite. - (_create_mailbox): Split off _create_mailbox0 function. - Make URL initializer optional. - * mailbox/mutil.c (mu_scheme_autodetect_p): Rewrite. - * mailbox/registrar.c (mu_registrar_lookup_url): New function. - (mu_registrar_lookup): Rewrite using mu_registrar_lookup_url. - (mu_record_is_scheme,mu_record_set_is_scheme): Change signature. - * mailbox/url.c (mu_url_destroy): Destroy fvpairs. - (url_parse0): Use scheme "file" for URLs beginning with a /. - Parse parameters. - (mu_url_sget_fvpairs, mu_url_aget_fvpairs): New functions. - (mu_url_expand_path): New function. - * mailbox/testsuite/Urls: Update. - - * pop3d/bulletin.c (set_bulletin_db,set_bulletin_source): Allocate - string storage. - (read_bulletin_db): Return 0 if no record was found. - (get_last_delivered_num): Return error code. - (deliver_pending_bulletins): Rewrite. - * pop3d/capa.c (pop3d_capa): Bugfix. - -2007-12-21 Sergey Poznyakoff <gray@gnu.org.ua> - - * examples/lsf.c: Use mu_folder_enumerate + callback function, for - 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. - -2007-12-19 Sergey Poznyakoff <gray@gnu.org.ua> - - * NEWS: Update. - * 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. - -2007-12-15 Sergey Poznyakoff <gray@gnu.org.ua> - - * libcfg/acl.c (getword): Bugfix. - * maidag/lmtp.c, maidag/maidag.c, maidag/maidag.h: Use ACLs. - * pop3d/pop3d.c (pop3d_cfg_param): Add acl section. - -2007-12-13 Sergey Poznyakoff <gray@gnu.org.ua> - - * examples/aclck.c, examples/addr.c, examples/base64.c, - 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 - - -2007-12-11 Sergey Poznyakoff <gray@gnu.org.ua> - - * comsat/comsat.c, imap4d/imap4d.c, maidag/maidag.c, - 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. - - - * include/mailutils/cfg.h (mu_cfg_section): New type. - (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 - -2007-12-09 Sergey Poznyakoff <gray@gnu.org.ua> - - * examples/Makefile.am: add echosrv.c. - * examples/echosrv.c: New file. - * include/mailutils/Makefile.am: Add server.h. - * include/mailutils/server.h: New file. - * include/mailutils/acl.h (mu_acl_t): Move to types.hin - * include/mailutils/types.hin (mu_acl_t,mu_server_t) - (mu_tcp_server_t): New types. - * mailbox/Makefile.am: Add server.c and tcpsrv.c. - * mailbox/server.c: New file. - * mailbox/tcpsrv.c: New file. - * mailbox/acl.c: Include <sys/wait.h> - Rename all `sin' and `sun' to avoid name clashes. - * mailbox/errors (MU_ERR_LOCK_EXT_FAIL): Do not abbreviate - anything in error description. - - * auth/ldap.c (_construct_attr_array): Use mu_vartab_* to expand - filter. - * imap4d/preauth.c: Fix misleading comment. - * mailbox/vartab.c (mu_vartab_expand): Support old prefix (%) for - single-character variables. - -2007-12-07 Sergey Poznyakoff <gray@gnu.org.ua> - - * NEWS, TODO: Update. - * examples/Makefile.am: Add aclck - * examples/aclck.c: New file. Test program for ACLs. - * include/mailutils/Makefile.am (pkginclude_HEADERS): Add acl.h, - kwd.h and vartab.h. - * include/mailutils/acl.h: New file. ACL declarations. - * include/mailutils/kwd.h: New file. Declarations for simple - string to token conversion. - * include/mailutils/vartab.h: New file. Declarations of functions - for variable expansion. - |