summaryrefslogtreecommitdiffabout
authorJeff Bailey <jbailey@gnu.org>1999-09-11 22:58:21 (GMT)
committer Jeff Bailey <jbailey@gnu.org>1999-09-11 22:58:21 (GMT)
commit759a29ba3bff2db376a068f90f7e9ede5896a249 (patch) (side-by-side diff)
treef8978993f6bad674bf0d042302010506022a2b53
parentaaa222bbc4368755bc3e88fee1cf006613f7afe9 (diff)
downloadmailutils-gnu.tar.gz
mailutils-gnu.tar.bz2
Imported sourcesstartgnu
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--AUTHORS20
-rw-r--r--ChangeLog7364
-rw-r--r--Makefile.am70
-rw-r--r--NEWS1078
-rw-r--r--README328
-rw-r--r--configure.in21
-rw-r--r--libmailbox/Makefile.am13
-rw-r--r--libmailbox/mailbox.c99
-rw-r--r--libmailbox/mailbox.h47
-rw-r--r--libmailbox/unixmbox.c268
-rw-r--r--libmailbox/unixmbox.h56
-rw-r--r--mail/Makefile.am106
-rw-r--r--mail/mail.c623
13 files changed, 585 insertions, 9508 deletions
diff --git a/AUTHORS b/AUTHORS
index 83a5233..81f70f6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -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.
-
diff --git a/ChangeLog b/ChangeLog
index b76ada9..48f36c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
- * include/mailutils/mailutils.h: Include acl.h, kwd.h and
- vartab.h.
- * include/mailutils/types.hin: Define mu_vartab_t
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add acl.c, kwd.c,
- and vartab.c.
- * mailbox/acl.c: New file.
- * mailbox/kwd.c: New file.
- * mailbox/vartab.c: New file.
-
- * mailbox/cfg_parser.y (parse_cidr): Fix typo.
- * mailbox/list.c: Fix indentation.
- * mailbox/mailbox.c (_create_mailbox): Fix type of level.
- * mailbox/syslog.c: Use mu_kwd_* functions.
-
-2007-12-05 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Add TCP wrappers support.
- * imap4d/Makefile.am, mu_daemon_argp_parser (LDADD): Add
- TCPWRAP_LIBRARIES.
- * imap4d/imap4d.c: Include tcpwrap.h
- (imap4d_mainloop): Check the connection using tcp wrappers.
- * imap4d/preauth.c: Fix a typo in the comment.
- * maidag/maidag.h: Include tcpwrap.h
- * maidag/maidag.c, maidag/lmtp.c: Add TCP wrappers support.
- * pop3d/pop3d.c: Include tcpwrap.h
- (pop3d_mainloop): Check the connection using tcp wrappers.
- * lib/Makefile.am: Add tcpwrap.c and tcpwrap.h
- * lib/tcpwrap.c: New file.
- * lib/tcpwrap.h: New file.
- * libargp/common.c (mu_daemon_argp_parser): Bugfix.
-
-2007-12-04 Sergey Poznyakoff <gray@gnu.org.ua>
-
- II. Extend --config-help output. Each configuration parameter
- has a docstring which is displayed as a comment before it.
- A docstring is also added to the configuration group structure,
- for use in future.
-
- * include/mailutils/cfg.h (struct mu_cfg_param): New members
- `docstring' and `argname'.
- (struct mu_cfg_section): New member `docstring'.
- (mu_cfg_format_docstring): New function.
- * include/mailutils/libargp.h (mu_help_config_mode): New
- declaration.
- * libargp/cmdline.h (mu_help_config_mode): Remove.
- * libargp/muinit.c (mu_app_init): Better format the initial
- comment.
- * mailbox/cfg_format.c (mu_cfg_data_type_string): Use NLS.
- (mu_cfg_format_docstring): New function.
- (format_param,format_section): Use mu_cfg_format_docstring.
- * mailbox/cfg_lexer.c (mu_config_create_container): Initialize
- allocated memory chunk with zeros.
- (dup_container): Duplicate docstring.
- (mu_build_container): Document include statement.
-
- * dotlock/dotlock.c, imap4d/imap4d.c, libargp/tls.c,
- libcfg/auth.c, libcfg/common.c, libcfg/gsasl.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, mimeview/mimeview.c,
- movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
- sieve/sieve.c: Document configuration file statements.
-
- * pop3d/pop3d.h (expire): Change type to unsigned int.
-
- * po/POTFILES.in: Add missing files.
-
- I. Implement --config-help option, which displays configuration
- file statements understood by the given program.
-
- * imap4d/imap4d.h: Include xalloc.h
- * frm/common.c, imap4d/imap4d.c: Shut compiler warnings.
- * include/mailutils/cfg.h (mu_cfg_format_tree): Rename to
- mu_cfg_format_parse_tree.
- (mu_cfg_format_container,mu_format_config_tree): New functions.
- (mu_parse_config_tree): New prototype.
- (mu_cfg_tree_create_node): Change signature (const char* instead
- of char*).
- * include/mailutils/gocs.h (mu_gocs_register): First arg is const.
- * include/mailutils/libargp.h (mu_argp_node_list_new): Mark
- invariable arguments as const.
- * include/mailutils/libcfg.h (mu_libcfg_init): Remove const from
- the arg.
- * include/mailutils/mutil.h (mu_spawnvp): Remove const from the
- 2nd arg.
- * libargp/cmdline.c (mu_argp_node_list_new): Mark invariable
- arguments as const.
-
- * lib/mailcap.h: New file.
- * lib/Makefile.am (libmuaux_la_SOURCES): Add mailcap.h
- * libargp/cmdline.h (mu_help_config_mode): New extern.
- * libargp/common.c: New option --config-help displays a
- configuration file summary.
- * libargp/muinit.c (mu_app_init): Handle --config-help.
- * libcfg/init.c (mu_libcfg_init): Remove const from the arg.
- * maidag/maidag.h (mda): New prototype.
- * mail/decode.c: Include mailcap.h
- * mail/mail.h: Define _GNU_SOURCE before including stdio.h
- * mail/send.c: Fix includes.
- * mail.remote/mail.remote.c: Include mu_umaxtostr.h
-
- * mailbox/cfg_format.c (mu_cfg_data_type_string)
- (mu_cfg_format_container): New function.
- * mailbox/cfg_lexer.c (mu_build_container): New function.
- (mu_parse_config_tree): Use mu_build_container.
- (mu_format_config_tree): New function.
- * mailbox/cfg_parser.y (mu_cfg_tree_create_node): Change proto.
- * mailbox/gocs.c (struct mu_gocs_entry): Name is const.
- (mu_gocs_register): 1st arg (capa) is const.
- * mailbox/mutil.c (mu_spawnvp): Remove const from the 2nd arg.
- * mh/mh_whatnow.c (invoke): Shut compiler warnings.
- * mimeview/mimetypes.l (mimetypes_open): Shut compiler warnings.
- * mimeview/mimeview.c: Include mailcap.h
- (display_file): Shut compiler warnings.
- * readmsg/readmsg.c: Include mu_umaxtostr.h
- * sieve/sieve.c (parser): Remove unused variable.
-
-2007-12-03 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * auth/virtual.c (site_virtual_pwddir): Replace with global
- struct mu_gocs_virtual mu_virtual_module_config
-
- * include/mailutils/cfg.h (MU_PARSE_CONFIG_GLOBAL)
- (MU_PARSE_CONFIG_VERBOSE, MU_PARSE_CONFIG_DUMP): New defines.
- (mu_cfg_tree_create,mu_cfg_tree_set_debug,mu_cfg_tree_set_alloc)
- (mu_cfg_tree_alloc,mu_cfg_tree_free)
- (mu_cfg_tree_create_node,mu_cfg_tree_add_node): New functions.
- * include/mailutils/gocs.h (struct mu_gocs_virtual): New data
- type.
- * include/mailutils/libargp.h (struct mu_argp_node_list): New data
- type.
- (mu_argp_node_list_init, mu_argp_node_list_add)
- (mu_argp_node_list_new, mu_argp_node_list_finish): New functions.
- * libargp/cmdline.h: New header.
- * libargp/Makefile.am (libmuargp_a_SOURCES): Add cmdline.h.
-
- * dotlock/dotlock.c, imap4d/imap4d.c, libargp/auth.c,
- libargp/cmdline.c, libargp/common.c, libargp/compat.c,
- libargp/gsasl.c, libargp/mu_argp.c, libargp/muinit.c,
- libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c,
- libargp/tls.c, libargp/virtdomain.c, libcfg/common.c,
- libcfg/init.c, libcfg/virtdomain.c, maidag/maidag.c,
- mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c,
- movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
- sieve/sieve.c: Change option parsing, usig mu_cfg_tree_ functions.
-
- * mailbox/argcv.c: Fix a typo in comment.
- * mailbox/cfg_lexer.c (mu_parse_config_tree): New function.
- (_mu_parse_config): Rewrite using mu_parse_config_tree.
- * mailbox/cfg_parser.y (mu_cfg_format_error,_mu_cfg_vperror)
- (debug_print_node): Use default diag debug_t object, if the passed
- one is NULL. Reset locus after formatting.
- (mu_cfg_postorder): Return immediately if node == NULL.
- (mu_cfg_tree_create,mu_cfg_tree_set_debug,mu_cfg_tree_set_alloc)
- (mu_cfg_tree_alloc,mu_cfg_tree_free,mu_cfg_tree_create_node)
- (mu_cfg_tree_add_node): New functions.
- * mailbox/gocs.c (mu_gocs_store): Make sure no capa/data tuple
- gets registered twice.
-
- * NEWS: Update.
- * gnulib.modules: Add des. Sort lines.
- * imap4d/Makefile.am (imap4d_SOURCES): Add preauth.c
- * imap4d/preauth.c: New file.
- * imap4d/authenticate.c (imap4d_authenticate): Use
- imap4d_session_setup.
- * imap4d/imap4d.c (imap4d_session_setup)
- (imap4d_session_setup0): New functions.
- (imap4d_mainloop): Implement PREAUTH mode.
- * imap4d/imap4d.h (RESP_PREAUTH): New define.
- (enum imap4d_preauth): New data type.
- (preauth_mode,preauth_program,preauth_only,ident_port): New
- globals.
- (imap4d_session_setup,imap4d_session_setup0): New functions.
- * imap4d/login.c (imap4d_login): Use imap4d_session_setup0.
- * imap4d/util.c (sc2string): Handle RESP_PREAUTH
-
- * lib/.cvsignore, m4/.cvsignore: Update.
-
- * mailbox/tcp.c: Fix indentation.
-
-2007-12-02 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/cfg_format.c: New file.
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add cfg_format.c
- * mailbox/cfg_parser.y (mu_cfg_print_tree): Remove
- * include/mailutils/cfg.h (mu_cfg_format_tree): New prototype.
-
-2007-12-01 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (AC_CONFIG_FILES): Remove include/gnu/Makefile.
-
-2007-11-30 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS, TODO: Update
- * include/mailutils/types.hin: New type mu_log_level_t.
- * include/mailutils/debug.hm4, include/mailutils/diag.h,
- mailbox/cfg_lexer.c, mailbox/cfg_parser.y, mailbox/dbgstderr.c,
- mailbox/dbgsyslog.c, mailbox/debug.c, mailbox/diag.c,
- mailbox/gdebug.c, mailbox/muerror.c, mailbox/syslog.c,
- sieve/sieve.c: Use mu_log_level_t instead of size_t for debugging
- and logging levels.
-
-2007-11-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * comsat/action.c, comsat/comsat.c, imap4d/auth_gsasl.c,
- imap4d/auth_gss.c, imap4d/authenticate.c, imap4d/bye.c,
- imap4d/close.c, imap4d/imap4d.c, imap4d/login.c, imap4d/search.c,
- imap4d/signal.c, imap4d/starttls.c, imap4d/util.c, maidag/lmtp.c,
- maidag/maidag.c, maidag/script.c, mail.local/main.c,
- mail.local/script.c, pop3d/apop.c, pop3d/bulletin.c,
- pop3d/extra.c, pop3d/lock.c, pop3d/logindelay.c, pop3d/pop3d.c,
- pop3d/quit.c, pop3d/signal.c, pop3d/user.c, libsieve/util.c: Use
- mu_diag_output instead of syslog.
-
- * sieve/sieve.c: New option --no-program-name, for testsuite.
- * sieve/testsuite/lib/sieve.exp: Call sieve with the
- --no-program-name option.
-
- * mailbox/cfg_lexer.c, mailbox/cfg_parser.y: Improve debugging.
- * mailbox/diag.c: New file.
- * mailbox/gdebug.c (mu_debug_level_from_string): New function.
- * mailbox/muerror.c (mu_verror, mu_error): Rewrite using mu_diag
- functions.
- * mailbox/syslog.c (mu_diag_level_to_syslog): New function.
- (mu_diag_syslog_printer): New function.
-
- * mh/mh_argp.c (mh_argp_parse): Set prigram name using
- mu_set_program_name.
- * mh/mh_init.c (mu_error_printer): No longer needed.
- * movemail/movemail.c (movemail_error_printer): No longer needed.
-
- * include/mailutils/Makefile.am (pkginclude_HEADERS): Add diag.h
- * include/mailutils/diag.h: New file.
- * include/mailutils/cfg.h (mu_cfg_lexer_t): Take mu_debug_t as its
- second argument.
- * include/mailutils/error.h: Include diag.h
- (mu_program_name,mu_set_program_name): Remove. Already declared in
- diag.h.
- (mu_error_set_print): Deprecated.
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add diag.c
-
-2007-11-28 Sergey Poznyakoff <gray@gnu.org.ua>
-
- III. Use mu_debug_t for diagnostics in cfg framework.
-
- * include/mailutils/cfg.h, mailbox/cfg_lexer.c,
- mailbox/cfg_parser.y (mu_cfg_tree_t):
- New data type.
- (mu_cfg_perror_t): Remove
- (mu_cfg_parse): Change prototype.
- (mu_cfg_perror): Change type.
- (mu_cfg_format_error): New function.
- (mu_cfg_destroy_tree): Change signature.
- (mu_cfg_callback_t): Take mu_debug_t as its first argument,
- instead of mu_cfg_locus_t. The mu_debug_t is to be used for error
- reporting and debugging diagnostics. The cfg_lexer is responsible
- for storing the necessary locus data into it before calling
- callbacks.
- (mu_cfg_section_fp): Take an additional argument.
- (mu_cfg_scan_tree): Simplified prototype. The mu_cfg_tree_t passed
- as its first argument already contains all necessary data that
- were passed as arguments previously.
- (mu_parse_config): First two args are consts.
-
- * include/mailutils/libcfg.h, imap4d/imap4d.c, libcfg/auth.c,
- libcfg/common.c, libcfg/ldap.c, libcfg/sieve.c, libcfg/sql.c,
- maidag/maidag.c, mail.local/main.c, mimeview/mimeview.c,
- pop3d/pop3d.c, sieve/sieve.c: Reflect changes to the cfg
- framework.
-
- * mailbox/debug.c (mu_debug_vprintf): Make sure the locus info is
- formatted on the first call.
-
- II. Further improvement of mu_debug_t.
-
- * include/mailutils/debug.hm4 (struct mu_debug_locus): New data
- type.
- (mu_debug_set_locus, mu_debug_get_locus)
- (mu_debug_set_function, mu_debug_get_function): New prototypes.
- (mu_debug_printer_fp, mu_debug_syslog_printer)
- (mu_debug_stderr_printer): Change type of the first argument.
- (mu_debug_set_data): New function.
- (all proto): Remove argument names, use only types to avoid
- problems on some broken systems (FreeBSD comes to mind).
- * libproto/include/debug0.h (struct _mu_debug): printer: change
- type of the first argument.
- locus, function, data, destroy: New fields.
-
- * mailbox/dbgstderr.c (mu_debug_stderr_printer): Change type of
- the first argument.
- * mailbox/dbgsyslog.c (mu_debug_syslog_printer): Change type of
- the first argument.
-
- * mailbox/debug.c (mu_debug_destroy): Flush any left over data.
- Call destroy, if supplied.
- (mu_debug_set_data): New function.
- (mu_debug_vprintf): Print locus and function (if supplied) at the
- beginning of the buffer.
- (mu_debug_set_locus, mu_debug_get_locus, mu_debug_set_function)
- (mu_debug_get_function): New functions.
-
- * scripts/debugdef.m4 (MKDEBUG): Use mu_debug_set_locus and
- mu_debug_set_function to print source locations. This allows for
- easy i18n of the MU_DEBUG[0-9]* format strings.
-
- I. Introduce "global debug settings". Mailutils objects are supposed
- to set their default mu_debug_t objects basing on these settings.
-
- * include/mailutils/Makefile.am: Add debug.hm4. Build debug.h from
- it.
- * include/mailutils/debug.hm4: New file.
- * include/mailutils/debug.h: Remove generated file.
- * scripts/Makefile.am (EXTRA_DIST): Add debugdef.m4
- * scripts/debugdef.m4: New file.
-
- * include/mailutils/gocs.h (struct mu_gocs_debug): New data type.
- (mu_gocs_register_std): Argument is const.
- (mu_gocs_debug_init): New function.
- * include/mailutils/libargp.h (mu_debug_cmdline): New extern.
- * include/mailutils/libcfg.h (mu_debug_cfg_capa): New extern.
- * libargp/cmdline.c: Add mu_debug_cmdline
- * libargp/common.c: Add debug settings.
- * libargp/mu_argp.c (struct cap_buf.capa): Remove const qualifier.
- * libcfg/common.c (mu_locking_param): Remove superfluous `lock-'
- prefix from the statement names.
- (mu_debug_param): New parameter group.
- * libcfg/init.c: Add mu_debug_param.
- * mailbox/gocs.c (mu_gocs_debug_init): New function.
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add gdebug.c
- * mailbox/gdebug.c: New file
- * mailbox/debug.c (mu_debug_printf, mu_debug_vprintf)
- (mu_debug_check_level): New functions.
- (mu_debug_printv, mu_debug_print): Rewrite using new basic calls.
-
- * comsat/comsat.c, dotlock/dotlock.c, examples/muauth.c,
- mail.remote/mail.remote.c: Add debug capability.
- * frm/frm.c, frm/from.c, guimb/main.c, imap4d/imap4d.c,
- mail/mail.c, mail.local/main.c, messages/messages.c,
- pop3d/pop3d.c, readmsg/readmsg.c: Add locking and debug capabilities.
-
- * examples/mimetest.c, examples/msg-send.c, frm/common.c,
- libargp/auth.c, libmu_scm/mu_message.c, mail/send.c, mh/send.c,
- mimeview/mimeview.c, movemail/movemail.c, sieve/sieve.c: Update
- invocation of mu_debug_set_level.
-
- * libproto/imap/folder.c, libproto/imap/mbox.c,
- libproto/include/folder0.h, libproto/include/mailbox0.h,
- libproto/include/mailer0.h, libproto/mailer/sendmail.c,
- libproto/mailer/smtp.c, libproto/mbox/mbox.c,
- libproto/nntp/folder.c, libproto/nntp/nntp_debug.c,
- libproto/pop/mbox.c, libproto/pop/pop3_debug.c, mailbox/amd.c,
- mailbox/mailer.c, mailbox/message.c, mailbox/mu_auth.c: Use
- MU_DEBUG[0-9] for debugging.
-
- * mailbox/muerror.c: Include string.h
- * mailbox/syslog.c (syslog_to_n): Remove unused variable.
- * mailbox/assoc.c (struct _mu_assoc_elem): name is not const.
- * mailbox/cfg_lexer.c: Quoted strings can be continued to the
- following line either by using a trailing backslash or by
- concatenating strings together, as in C.
- * mailbox/mailbox.c (_create_mailbox): Initialize debug object
- using global "mailbox" level.
- (mu_mailbox_create): Fix bug introduced on 2007-11-26.
-
- * include/mailutils/libsieve.h (mu_sieve_set_debug_level): Change
- prototype.
- (mu_sieve_set_debug_object): New prototype.
- * libsieve/sieve.y (mu_sieve_machine_init): Initialize debug
- object from "sieve" global level.
- (mu_sieve_set_debug_level): Set only debug_level.
- (mu_sieve_set_debug_object): New function.
-
- * maidag/maidag.c: Remove explicit setting of debug object. Add
- "debug" group, which provides the required functionality.
- (set_debug_flags): Likewise. This function and the corresponding
- command line option are fading out in favor of global debug
- settings.
-
-2007-11-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (MU_APP_LIBRARIES): Load libmuaux after libmuargp
- and libcfg.
- (fgetpwent): Use AC_CHECK_FUNCS
- * auth/virtual.c: Use mu_fgetpwent if fgetpwent is not available.
-
- * lib/Makefile.am: Add back utmp.c
- * lib/utmp.c: Restore after unintended remove.
- * m4/utmp.m4: Fix quoting.
-
- * libcfg/gsasl.c, libcfg/ldap.c, libcfg/pam.c, libcfg/radius.c,
- libcfg/sieve.c, libcfg/sql.c, libcfg/tls.c, libcfg/virtdomain.c:
- Include stdlib.h
-
- * libproto/imap/folder.c, libproto/mbox/mbox.c,
- libproto/mbox/mbox0.h, libproto/pop/mbox.c, mailbox/attachment.c,
- mailbox/mailbox.c, mailbox/parsedate.y: Do not use alloca.
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add fgetpwent.c
- and intprops.h.
- * mailbox/fgetpwent.c (fgetpwent): Rename to mu_fgetpwent.
- * mailbox/gocs.c: Revert recent change. It broke the testsuite in
- sieve.
- * mailbox/syslog.c (log_facility): Initialize to LOG_FACILITY.
-
- * configure.ac, NEWS: Add LDAP support.
- * auth/Makefile.am (libmuauth_la_SOURCES): Add ldap.c.
- * auth/ldap.c: New file.
- * include/mailutils/Makefile.am (pkginclude_HEADERS): Add ldap.h.
- * include/mailutils/ldap.h: New file.
- * include/mailutils/libcfg.h (mu_ldap_cfg_capa): New extern.
- * include/mailutils/mu_auth.h (mu_auth_ldap_module): New extern.
- (MU_AUTH_REGISTER_ALL_MODULES): Register ldap.
- * libcfg/Makefile.am (libmucfg_la_SOURCES): Add ldap.
- * libcfg/ldap.c: New file.
- * libcfg/init.c (cfg_capa_table): Add ldap.
- * mailbox/gocs.c (mu_gocs_logging_init): Initialize log_facility
- to default if not specified otherwise. Need to revise this later.
- * mailbox/version.c (mu_conf_option): Reveal ldap, if supported.
-
- * mailbox/mu_auth.c (mu_auth_data_alloc): Add safety
- checks. Provide reasonable defaults for missing arguments.
- * mailbox/mutil.c (mutil_parse_field_map): Bugfix - increment by 2
- on each loop.
-
- * libargp/mu_argp.c (mu_build_argp): Do not bail out if an unknown
- capability is requested.
-
- * include/mailutils/assoc.h (mu_assoc_count): New function.
- * mailbox/assoc.c: Likewise.
-
- * auth/radius.c (_expand_query): Static
-
- * mailbox/cfg_lexer.c: Fixed memory management during cloning.
-
-2007-11-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Improve debugging.
-
- * imap4d/login.c, pop3d/user.c: Print user db source along with
- the login name.
- * include/mailutils/debug.h (mu_debug_set_print): Change
- prototype.
- (mu_debug_printer_fp): New data type.
- (mu_debug_default_printer): New extern.
- (mu_debug_syslog_printer,mu_debug_stderr_printer): New prototypes.
-
- * libproto/include/debug0.h (struct _mu_debug): Remove unused
- `buffer' and `buflen'. Add `stream'. Change signature of `_print' and
- rename it to `printer'.
- * mailbox/debug.c: Rewrite debugging support.
- (mu_debug_default_printer): New global.
-
- * mailbox/gocs.c (mu_gocs_logging_init): Initialize
- mu_debug_default_printer.
-
- * mailbox/memory_stream.c (_memory_truncate): Bugfix.
- (_memory_get_transport2): Implement method.
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add dbgstderr.c
- and dbgsyslog.c
- * mailbox/dbgstderr.c, mailbox/dbgsyslog.c: New files.
- * maidag/maidag.c, mail.local/main.c, sieve/sieve.c: Remove
- _mu_debug_printer, the default implementation will do.
-
- * mailbox/mu_auth.c: Improve debugging.
-
- * libsieve/comparator.c, libsieve/load.c, libsieve/sieve.l:
- Include ctype.h
-
- * include/mailutils/libargp.h: Remove option declarations.
- * include/mailutils/mu_auth.h (struct mu_auth_data): New member
- `source'.
- (mu_auth_set_debug): New proto.
- * libargp/common.c: Define option values. New option --debug-auth.
- * libargp/auth.c, libargp/gsasl.c,
- libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c,
- libargp/tls.c, libargp/virtdomain.c: Define option values.
-
-2007-11-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libsieve/conf.c (mu_sieve_module_init): Initialize
- mu_sieve_library_path with SIEVE_MODDIR.
-
-2007-11-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail.local/mail.local.h, mail.local/main.c: Limit verbosity of
- messages printed to stderr.
-
- * libsieve/extensions/pipe.c: Fix indentation.
- * libsieve/extensions/spamd.c: Use socket stream.
- * mailbox/socket_stream.c (_s_open): Default to RDWR mode.
-
- * libcfg/common.c (mu_logging_param): Use callback to parse the
- facility.
-
- * README-alpha: Update.
- * auth/pam.c (mu_pam_module_init): Use struct.
- * include/mailutils/gocs.h (struct mu_gocs_pam): New data type.
- * include/mailutils/libcfg.h (mu_sieve_cfg_capa)
- (mu_daemon_cfg_capa,mu_auth_cfg_capa): New declarations.
- * libargp/common.c (mu_daemon_argp_parser): Handle ARGP_KEY_INIT.
- * libargp/pam.c (service_name): Remove.
- (pam_settings): Add new variable.
- (mu_pam_argp_parser): Reflect this.
- * libcfg/auth.c (mu_auth_section_parser): New function.
- (mu_auth_cfg_capa): New variable.
- * libcfg/common.c (mu_daemon_section_parser): Handle
- mu_cfg_section_start.
- * libcfg/init.c (cfg_capa_table): Add auth, sieve, daemon.
- (reserved_name): Remove auth and daemon.
- * mailbox/Makefile.am (EXTRA_DIST): Remove @MU_EXTRA_DIST@.
- * mailbox/daemon.c (mu_gocs_daemon_init): Remove extra checks.
- * mailbox/mu_auth.c (_add_module_list): Skip delimiters.
- * po/POTFILES.in: Update.
-
-2007-11-19 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Add AM_PROG_LIBTOOL.
-
- * include/mailutils/libargp.h (mu_argp_build): Change proto.
- * libargp/compat.c (mu_argp_parse): Update call to mu_argp_build.
- * libargp/mu_argp.c (mu_argp_build): Optionally return expanded
- capability list in the third argument.
- * libargp/muinit.c (mu_app_init): Pass expanded capability list to
- mu_libcfg_init.
-
- * include/mailutils/cfg.h (mu_cfg_parser_verbose): New variable.
- * include/mailutils/libargp.h (OPT_RCFILE_VERBOSE): New value.
- * libargp/Makefile.am (AM_CFLAGS): Rename to AM_CPPFLAGS, define
- SYSCONFDIR.
- * libargp/common.c (mu_common_argp, mu_common_argp_parser): New
- option rcfile-verbose.
- * mailbox/Makefile.am (AM_CPPFLAGS): define SYSCONFDIR.
- * mailbox/cfg_lexer.c (_mu_parse_config): Implement `include'
- statement. Add verbose logging.
- * mailbox/cfg_parser.y (mu_cfg_parser_verbose): New variable.
- (mu_cfg_parse): Zero out parse_tree before returning.
- (_scan_tree_helper): Remove dependency on MU_CONFIG_VERBOSE envar.
- Use mu_cfg_parser_verbose instead.
-
- * config/mailutils.m4: New file
- * config/Makefile.am: Install mailutils.m4 to $(datadir)/aclocal
-
- * configure.ac (VI_CURRENT): Raise to 3;
- (MU_APP_LIBRARIES): Rename libargp.a to libmuargp.a
- * NEWS: Update.
-
- * comsat/comsat.c, dotlock/dotlock.c, examples/muauth.c,
- examples/muemail.c, frm/frm.h, guimb/main.c, imap4d/imap4d.c,
- libargp/auth.c, libargp/cmdline.c, libargp/common.c,
- libargp/gsasl.c, libargp/mu_argp.c, libargp/pam.c,
- libargp/radius.c, libargp/sieve.c, libargp/sql.c, libargp/tls.c,
- libargp/virtdomain.c, maidag/maidag.h, mail/mail.c,
- mail.local/main.c, mail.remote/mail.remote.c, messages/messages.c,
- mimeview/mimetypes.y, mimeview/mimeview.c, movemail/movemail.c,
- pop3d/extra.c, pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c,
- sieve/sieve.c: Include mailutils/libargp.h.
-
- * config/mailutils-config.c: New arguments to --link: cfg and argp.
-
- * include/mailutils/Makefile.am (pkginclude_HEADERS): Remove
- compat.h, add libargp.h, libcfg.h and version.h
- * include/mailutils/compat.h: Remove
- * include/mailutils/libargp.h: New file (from libargp/cmdline.h)
- * include/mailutils/libcfg.h: New file (from (libcfg/)
- * include/mailutils/version.h: New file
-
- * include/mailutils/folder.h (struct mu_0_6_folder_list): Remove
- (mu_0_6_folder_list, mu_0_6_folder_lsub)
- (mu_0_6_folder_list_destroy): Remove.
-
- * include/mailutils/mailutils.h: Include version.h
- Remove 0.6 compatibility layer.
- * mailbox/folder.c (list_to_0_6_folder_list, mu_0_6_folder_list)
- (mu_0_6_folder_lsub, mu_0_6_folder_list_destroy): Remove.
-
- * lib/Makefile.am (libmuaux_la_SOURCES): Remove argpinit.c,
- muinit.h and muinit.c
-
- * libargp/Makefile.am (noinst_LIBRARIES, noinst_HEADERS): Remove
- (lib_LIBRARIES): Add libmuargp.a
- * libargp/compat.c: New file.
- * libargp/muinit.c: New file.
- * libargp/cmdline.h: Remove.
-
- * libcfg/Makefile.am (noinst_HEADERS): Remove.
- * libcfg/auth.c, libcfg/common.c, libcfg/gsasl.c, libcfg/init.c,
- libcfg/pam.c, libcfg/radius.c, libcfg/sieve.c, libcfg/sql.c,
- libcfg/tls.c, libcfg/virtdomain.c: Include mailutils/libcfg.h
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add version.c
- * mailbox/cfg_lexer.c (_mu_parse_config): Do nothing if
- root_container is NULL.
-
- * 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: Use mh_argp_init instead of
- mu_argp_init.
- * mh/mh_argp.c, mh/mh_getopt.h (mh_argp_init): New function
-
-2007-11-18 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * bootstrap (cp_mark_as_generated): Create target directory if
- needed.
-
- Make libmailutils independent from gnulib. Remove generated files
- from the repository. Bootstrap directly from the gnulib CVS.
-
- * scripts/gnulib-sync, autogen.sh: Remove.
- * bootstrap, bootstrap.conf: New files.
- * README-hacking: New file.
-
- * configure.ac: Update.
- * lib/Makefile.am: Update.
- * mailbox/Makefile.am: Update.
- * include/mailutils/Makefile.am (SUBDIRS): Remove gnu
- * include/mailutils/gnu/Makefile.am: Remove
- * examples/argcv.c, examples/mta.c, guimb/guimb.h,
- imap4d/imap4d.h, libargp/mu_argp.c, libargp/tls.c,
- maidag/maidag.h, mail/mail.h, mail/send.c,
- mail.local/mail.local.h, mh/mh.h: Remove getline.h
- * libproto/nntp/mbox.c: Include mailutils/md5.h
- * libargp/cmdline.h: Include strings.h
- * m4/debug.m4, m4/enable.m4, m4/gsasl.m4, m4/guile.m4,
- m4/mu_libobj.m4: Minor fix
- * m4/intmax.m4,m4/inttypes-pri.m4,m4/inttypes_h.m4: Update
- * mailbox/alloca.h: Remove
- * mailbox/mailbox.c: Include string.h
- * mailbox/nls.c: Include locale.h
- * po/Makevars: Remove.
-
- * absolute-header.m4, alloca.m4, allocsa.m4, argp.m4, codeset.m4,
- d-type.m4, eealloc.m4, eoverflow.m4, error.m4, exitfail.m4,
- extensions.m4, fnmatch.m4, full-header-path.m4, getdelim.m4,
- getline.m4, getlogin_r.m4, getndelim2.m4, getopt.m4, getpass.m4,
- gettext.m4, glibc2.m4, glibc21.m4, glob.m4, gnulib.m4, iconv.m4,
- intdiv0.m4, isc-posix.m4, lcmessage.m4, lib-ld.m4, lib-link.m4,
- lib-prefix.m4, lock.m4, longdouble.m4, longlong.m4,
- mailbox-link.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, mbstate_t.m4,
- mbswidth.m4, memchr.m4, mempcpy.m4, minmax.m4, obstack.m4,
- onceonly.m4, po.m4, printf-posix.m4, progtest.m4, regex.m4,
- restrict.m4, setenv.m4, signed.m4, size_max.m4, snprintf.m4,
- ssize_t.m4, stat-macros.m4, stdbool.m4, stdint.m4, stdint_h.m4,
- strcase.m4, strchrnul.m4, strdup.m4, strerror_r.m4, strndup.m4,
- strnlen.m4, strtok_r.m4, sysexits.m4, uint32_t.m4, uintmax_t.m4,
- ulonglong.m4, unistd_h.m4, unlocked-io.m4, vasnprintf.m4,
- vasprintf.m4, visibility.m4, vsnprintf.m4, wchar_t.m4, wcwidth.m4,
- wint_t.m4, xalloc.m4, xsize.m4: Remove.
-
- * alloca.c, allocsa.c, allocsa.h, asprintf.c, basename.c, error.c,
- error.h, exit.h, exitfail.c, exitfail.h, fnmatch.c, fnmatch_.h,
- fnmatch_loop.c, getpass.c, getpass.h, intprops.h, malloc.c,
- mbswidth.c, mbswidth.h, md5.c, md5.h, obstack.c, obstack.h,
- realloc.c, setenv.c, setenv.h, snprintf.c, snprintf.h, stdbool.h,
- stdbool_.h, strcasecmp.c, strncasecmp.c, strsignal.c, strtok_r.c,
- unsetenv.c, utmp.c, vasprintf.c, vasprintf.h, vsyslog.c,
- xalloc-die.c, xalloc.h, xalloc_die.c, xmalloc.c, xsize.h,
- xstrdup.c: Remove.
-
- * alloca.c, alloca_.h, argp-ba.c, argp-eexst.c, argp-fmtstream.c,
- argp-fmtstream.h, argp-fs-xinl.c, argp-help.c, argp-namefrob.h,
- argp-parse.c, argp-pin.c, argp-pv.c, argp-pvh.c, argp-xinl.c,
- argp.h, asnprintf.c, fnmatch.c, fnmatch_.h, fnmatch_loop.c,
- getdelim.c, getdelim.h, getline.c, getline.h, getlogin_r.c,
- getlogin_r.h, getndelim2.c, getndelim2.h, getopt.c, getopt.h,
- getopt1.c, getopt_.h, getopt_int.h, gettext.h, glob-libc.h,
- glob.c, glob_.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h,
- memchr.c, mempcpy.c, mempcpy.h, minmax.h, pin.c, printf-args.c,
- printf-args.h, printf-parse.c, printf-parse.h, regcomp.c, regex.c,
- regex.h, regex_internal.c, regex_internal.h, regexec.c,
- stat-macros.h, stdbool_.h, stdint_.h, strcase.h, strcasecmp.c,
- strchrnul.c, strchrnul.h, strdup.c, strdup.h, strncasecmp.c,
- strndup.c, strndup.h, strnlen.c, strnlen.h, strnlen1.c,
- strnlen1.h, strtok_r.c, strtok_r.h, sysexit_.h, unlocked-io.h,
- vasnprintf.c, vasnprintf.h, vsnprintf.c, vsnprintf.h, wcwidth.h,
- xsize.h: Remove.
-
-2007-11-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/sha1.h: Remove.
- * include/mailutils/sha1.h: Add.
- * mailbox/md5.h: Remove.
- * include/mailutils/md5.h: Add.
- * include/mailutils/Makefile.am: Update.
- * mailbox/Makefile.am: Update.
- * libproto/pop/mbox.c, libproto/pop/pop3_apop.c,
- libproto/pop/pop3_stls.c, mailbox/md5.c, mailbox/message.c,
- mailbox/sha1.c, pop3d/apop.c, pop3d/pop3d.h, sql/mysql.c: Fix
- usage of sha1_ and md5_.
- * mailbox/mu_auth.c, mailbox/mutil.c, mailbox/rfc2047.c: Eliminate
- strtok_r.
-
- * auth/sql.h (mu_internal_sql_config): Move to ...
- * include/mailutils/sql.h: ... here
- * imap4d/auth_gsasl.c: Bugfix.
-
- Move rc file and argp parsing into separate abstract layers.
-
- * include/mailutils/gocs.h, include/mailutils/pam.h,
- include/mailutils/radius.h, include/mailutils/syslog.h: New files
- * lib/argpinit.c, lib/muinit.c, lib/muinit.h: New files.
- * libsieve/conf.c: New file.
-
- * libcfg: New directory
- * libcfg/libcfg.h, libcfg/auth.c, libcfg/common.c, libcfg/init.c,
- libcfg/gsasl.c, libcfg/pam.c, libcfg/radius.c, libcfg/sieve.c,
- libcfg/sql.c, libcfg/tls.c, libcfg/virtdomain.c,
- libcfg/.cvsignore: New files.
-
- * libargp: New directory
- * libargp/auth.c, libargp/cmdline.h, libargp/common.c,
- libargp/gsasl.c, libargp/mu_argp.h, libargp/mu_argp.c,
- libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c,
- libargp/tls.c, libargp/virtdomain.c, libargp/.cvsignore: New
- files.
-
- * mailbox/.cvsignore: Add cfg_parser.c and cfg_parser.h.
- * mailbox/gocs.c: New file.
- * Makefile.am (SUBDIRS): Add libargp and libcfg.
- * configure.ac (MU_APP_LIBRARIES): New variable
- (MU_COMMON_INCLUDES): add libargp and libcfg
- (AC_CONFIG_FILES): Add libargp and libcfg.
-
- * auth/gsasl.c, auth/pam.c, auth/radius.c, auth/sql.c, auth/sql.h,
- auth/tls.c, auth/virtual.c, comsat/comsat.h, frm/frm.h,
- guimb/guimb.h, imap4d/imap4d.h, include/mailutils/gsasl.h,
- include/mailutils/libsieve.h, include/mailutils/mailutils.h,
- include/mailutils/mu_auth.h, include/mailutils/tls.h,
- include/mailutils/sql.h, maidag/maidag.h, mail/mail.h,
- mail.local/mail.local.h, mailbox/daemon.c, mailbox/system.c,
- mh/mh_argp.c, mh/mh_getopt.h, pop3d/pop3d.h,
- readmsg/readmsg.h: Remove argp stuff
-
- * comsat/comsat.c, config/mailutils-config.c, dotlock/dotlock.c,
- examples/muauth.c, examples/muemail.c, frm/frm.c, frm/from.c,
- guimb/main.c, imap4d/idle.c, imap4d/imap4d.c, imap4d/util.c,
- imap4d/version.c, maidag/lmtp.c, maidag/maidag.c,
- maidag/mailquota.c, mail/mail.c, mail/send.c, mail/version.c,
- mail.local/mailquota.c, mail.local/main.c,
- mail.remote/mail.remote.c, mailbox/mu_auth.c, messages/messages.c,
- mimeview/mimeview.c, movemail/movemail.c, pop3d/extra.c,
- pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c, sieve/sieve.c:
- Use mu_app_init for parsing command line and
- configuration files.
- * comsat/Makefile.am, config/Makefile.am, dotlock/Makefile.am,
- examples/Makefile.am, frm/Makefile.am, guimb/Makefile.am,
- imap4d/Makefile.am, maidag/Makefile.am, mail/Makefile.am,
- mail.local/Makefile.am, mail.remote/Makefile.am,
- mailbox/Makefile.am, messages/Makefile.am, mimeview/Makefile.am,
- movemail/Makefile.am, pop3d/Makefile.am, readmsg/Makefile.am,
- sieve/Makefile.am: Use MU_APP_LIBRARIES.
-
- * include/mailutils/Makefile.am: Add new files.
- * include/mailutils/argp.h: Remove.
- * include/mailutils/cfg.h: New file.
- * include/mailutils/daemon.h (MODE_INTERACTIVE,MODE_DAEMON): New
- defines (from removed argp.h).
- (mu_gocs_daemon): New decl.
- * include/mailutils/error.h (mu_program_name): New variable
- (mu_set_program_name): New function.
- * lib/Makefile.am (libmuaux_la_SOURCES): Add new files.
- * libsieve/Makefile.am (libsieve_la_SOURCES): Remove argp.c, add
- conf.c instead.
- * libsieve/argp.c: Remove.
-
- * mailbox/cfg_parser.y (mu_cfg_parse_boolean): New function.
- * mailbox/mu_argp.c: Remove.
-
- * mailbox/muerror.c (mu_program_name): New variable
- (mu_set_program_name): New function
- (mu_default_error_printer): Print program name before diagnostic
- string.
- * mailbox/mutil.c (mu_sql_decode_password_type): New function.
- * mh/mh_whom.c (mh_alias_expand): Bugfix
- * po/POTFILES.in: Update
- * testsuite/lib/mailutils.exp (mu_init): Pass --no-site-rcfile
- --no-user-rcfile to all programs.
-
-2007-11-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * maidag/lmtp.c: Use English reply texts.
-
- * auth/sql.c (decode_tuple_v1_0): Allow mailbox to be NULL.
- * comsat/comsat.c: Use mu_error for diagnostics where possible.
- * libproto/include/amd.h (struct _amd_data. qfetch): New member.
- * libproto/maildir/mbox.c (maildir_qfetch): Implement quick_get
- method.
- * libproto/mh/mbox.c (mh_qfetch): Likewise.
- * mailbox/amd.c (amd_quick_get_message): Likewise.
-
-2007-11-11 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * auth/sql.c, libproto/mbox/folder.c: Rename MU_READ_ERROR to
- MU_ERR_READ, for consistency.
-
- * comsat/Makefile.am (comsatd_LDADD): Add all mailbox formats.
- * comsat/cfg.c: Use mu_error instead of syslog.
- * comsat/comsat.c (comsat_daemon): Implement test mode.
- (notify_user): Use mailbox quick access mode instead of directly
- fiddling with the UNIX mailbox stream.
-
- * include/mailutils/stream.h (MU_STREAM_QACCESS): New define.
- * libproto/mbox/mbox.c: Implement _quick_get_message method.
- * libproto/mbox/mbox0.h (mbox_scan1): New function.
- * libproto/mbox/mboxscan.c (mbox_scan0): Split into mbox_scan0
- proper and mbox_scan_internal.
- (mbox_scan1): New function.
- Remove unused defines.
- * libsieve/load.c: Do not deallocate loaded modules.
- * mail.local/main.c (set_debug_flags): Fix typo.
- * mailbox/amd.c: Implement get_qid method.
- (amd_append_message): Signal MU_EVT_MESSAGE_APPEND.
- * mailbox/errors (MU_ERR_BADOP): New error code.
- (MU_READ_ERROR): Rename to MU_ERR_READ, for consistency.
- * mailbox/file_stream.c (_prog_destroy,_prog_close): Fix waiting
- for the children to terminate. Do not forcefully kill them.
-
- * mailbox/mailbox.c: Control allowed operations, depending on
- MU_STREAM_QACCESS bit.
-
-2007-11-10 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * mailbox/Makefile.am: Update
- * libsieve/extensions/pipe.c: Update
-
- * libsieve/extensions/Makefile.am: Add pipe.c
- * libsieve/extensions/pipe.c: New file
-
- * Makefile.am, configure.ac: Add maidag.
- * frm/common.c, imap4d/sync.c, libsieve/runtime.c,
- mh/scan.c: Update declaration of observable actions.
- * imap4d/select.c, imap4d/status.c, mh/anno.c, mh/forw.c,
- mh/repl.c: Use mu_mailbox_sync instead of
- mu_mailbox_save_attributes.
- * include/mailutils/mailbox.h (mu_mailbox_sync): New function
- (mu_mailbox_save_attributes): Deprecated.
- * include/mailutils/message.h (mu_message_get_qid)
- (mu_message_set_qid): New functions.
- * include/mailutils/observer.h (MU_EVT_MESSAGE_APPEND): New event.
- (mu_observer_set_action_data): New function. Registers
- action-specific data.
- (mu_observable_notify): Get call-specific data as the third
- argument.
- * include/mailutils/types.hin (mu_message_qid_t): New data type.
- * libproto/imap/folder.c, libproto/imap/mbox.c,
- libproto/include/amd.h, libproto/maildir/mbox.c,
- libproto/mailer/sendmail.c, libproto/mailer/smtp.c,
- libproto/mbox/mboxscan.c, libproto/mh/mbox.c,
- libproto/nntp/mbox.c, libproto/pop/mbox.c, mailbox/folder.c,
- mailbox/mailer.c : Update calls to mu_observable_notify.
- * libproto/include/mailbox0.h (struct _mu_mailbox): Rename
- _save_attributes to _sync.
- * mailbox/amd.c: Likewise.
- (_quick_get_message): New member.
- (MAILBOX_NOTIFY): Remove.
- * libproto/include/message0.h (struct _mu_message): New member
- _get_qid.
- * libproto/include/observer0.h (struct _mu_observer): New member
- _action_data.
- * libproto/mbox/mbox.c: Implement mbox_message_qid. Update calls
- to mu_observable_notify.
- (mbox_append_message): Report MU_EVT_MESSAGE_APPEND.
- * mailbox/observer.c (mu_observer_destroy): Call _destroy with
- _action_data as its third argument.
- (mu_observer_action, mu_observable_notify): Takes third argument
- (call data)
- (mu_observer_set_action, mu_observer_set_destroy): Update signature.
- (mu_observer_set_action_data): New function.
-
- * libproto/mbox/mbox0.h, mail.local/main.c: Minor change
-
- * mail.local/Makefile.am (mail_local_LDADD): Add MU_LIB_MAILER
-
- * mailbox/file_stream.c (_file_open): Fix handling of
- MU_STREAM_APPEND. Remove assertion.
-
- * mailbox/mailbox.c (mu_mailbox_quick_get_message): New function
- (mu_mailbox_sync): New function.
- (mu_mailbox_get_size): Implement brute-force approach in case the
- mailbox does not provide a method.
-
- * mailbox/message.c (mu_message_get_qid, mu_message_set_qid): New
- function.
-
- * maildag/: New directory. A general-purpose mail delivery agent.
- * maildag/deliver.c: New file.
- * maildag/lmtp.c: New file.
- * maildag/maidag.c: New file.
- * maildag/maidag.h: New file.
- * maildag/mailtmp.c: New file.
- * maildag/mailquota.c: New file.
- * maildag/script.c: New file.
- * maildag/util.c: New file.
- * maildag/Makefile.am: New file.
- * maildag/.cvsignore: New file.
-
-2007-11-08 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/cfg_lexer.c: Do not use obstack.
- * mailbox/refcount.c (mu_refcount_inc, mu_refcount_dec): Bugfix
-
- * auth/pam.c, auth/radius.c: Add configuration keywords.
- * mailbox/cfg_lexer.c (isword): Allow dots in words.
-
- * configure.ac, NEWS: version 1.2.90
- * mailbox/Makefile.am: Additional dependency
- cfg_parser.h:cfg_parser.y
- * mailbox/cfg_lexer.c (_mu_config_register_section): Zero out
- the root container after creation.
- (_mu_parse_config): Use `program' not `prog' for per-program
- sections.
- * pop3d/pop3d.c (cb_bulletin_db): Fix typo
- (pop3d_cfg_param): Protect some variables by ifdefs.
-
- * include/mailutils/argp.h (mu_argp_set_config_param): New
- function.
- * include/mailutils/cfg.h (mu_cfg_time): New value
- (struct mu_cfg_section): Rewamp using lists.
- (enum mu_cfg_cont_type, struct mu_cfg_cont): New types.
- (mu_config_create_container, mu_config_clone_container)
- (mu_config_destroy_container): New functions.
- (mu_parse_config): New function.
- * include/mailutils/mu_auth.h (mu_authentication_clear_list)
- (mu_authorization_clear_list): New functions.
- * mailbox/cfg_lexer.c: Add missing includes
- (mu_config_create_container, mu_config_clone_container)
- (mu_config_destroy_container): New functions.
- (mu_parse_config): New function.
- (_mu_config_register_section): New function.
- (mu_config_register_section): New function.
- (_mu_parse_config): Fully implement system-wide/per-user
- configuration semantics.
- (mu_parse_config): Take two more arguments.
- * mailbox/cfg_parser.h: Remove automatically generated file.
- * mailbox/cfg_parser.y (find_container): New function
- (find_subsection,find_param): Rewrite using find_container
- (parse_param): Implement new data type mu_cfg_time (time_t value).
- (_scan_tree_helper): Complain about unknown sections only if
- MU_CONFIG_VERBOSE environment variable is set.
- * mailbox/mu_argp.c (assign_string): Bugfix.
- (mu_argp_set_config_param): New function.
- (mu_argp_parse): Remove eventual `lt-' prefix from program names.
- * mailbox/mu_auth.c: New options --clear-authorization and
- --clear-authentication.
- (mu_authorization_clear_list,mu_authentication_clear_list): New
- functions.
-
- * include/mailutils/refcount.h (struct _mu_refcount): Move ro
- refcount.c
- (mu_refcount_inc,mu_refcount_dec): Change return value.
- (mu_refcount_value): New function.
- * mailbox/refcount.c (struct _mu_refcount): Moved from refcount.h
- (mu_refcount_value): New function.
- (mu_refcount_create,mu_refcount_destroy,mu_refcount_inc)
- (mu_refcount_dec): Fix monitor usage.
- (mu_refcount_inc,mu_refcount_dec): Fix return type.
-
- * mailbox/Makefile.am (libmailutils_la_SOURCES): Add refcount.c
- * dotlock/dotlock.c, imap4d/imap4d.c, mail.local/main.c,
- mail.remote/mail.remote.c, mimeview/mimeview.c,
- movemail/movemail.c, pop3d/pop3d.c, pop3d/signal.c,
- readmsg/readmsg.c, sieve/sieve.c: Implement new configuration.
-
- * testsuite/lib/mailutils.exp: Set MU_CONFIG_FLAVOR envar to
- `none' to avoid reading configuration files.
-
-2007-11-06 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/message.c (message_stream_size): Bugfix.
-
-2007-11-05 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Implement socket stream type and shutdown method for streams:
-
- * mailbox/socket_stream.c: New file.
- * include/mailutils/stream.h (mu_socket_stream_create)
- (mu_stream_shutdown, mu_stream_set_shutdown): New functions.
- * libproto/include/stream0.h (struct _mu_stream): New member
- `_shutdown'.
- * mailbox/file_stream.c (mu_stream_create): Bugfix.
- * mailbox/stream.c (mu_stream_shutdown)
- (mu_stream_set_shutdown): New functions.
- * mailbox/tcp.c (_tcp_shutdown): New function.
- (_tcp_stream_init): New function.
- (mu_tcp_stream_create_with_source_ip): Register _tcp_shutdown.
-
- Implement normal UNIX-style configuration files:
-
- * mailbox/cfg_lexer.c: New file.
- * mailbox/cfg_parser.y: New file.
- * mailbox/cfg_parser.h: New file.
- * mailbox/Makefile.am: Add cfg_ sources and socket_stream.c.
-
- * include/mailutils/cfg.h: New file.
- * include/mailutils/Makefile.am (pkginclude_HEADERS): Add cfg.h.
- * include/mailutils/argp.h: Include cfg.h.
- (mu_create_argcv): Remove prototype.
- * include/mailutils/mu_auth.h (struct mu_auth_module): New member
- `cfg'.
- (MU_AUTH_REGISTER_ALL_MODULES): Call mu_auth_init first.
-
- * mailbox/mu_argp.c: Rewrite. Implement normal configuration
- (resource) file support. Overloaded command line options begin to
- phase out.
- * mailbox/mu_auth.c, auth/gsasl.c, auth/pam.c, auth/radius.c,
- auth/sql.c, auth/tls.c, auth/virtual.c, libsieve/argp.c,
- mailbox/system.c: Implement configuration statements.
-
- * imap4d/imap4d.c: Begin switching to the new configuration scheme.
-
- * mh/mh_whatnow.c, mh/send.c, sql/mysql.c, sql/odbc.c,
- sql/postgres.c: Keep the namespace clean.
-
-2007-10-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/escape.c (escape_deadletter): Add missing check.
-
-2007-10-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * mailbox/url.c (url_parse0): The notation proto:///file means
- absolute file name.
- * mailbox/testsuite/Urls: Likewise
-
-2007-09-04 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * README: Reword yesterdays changing by pointing to the
- documentation, instead of the raw texi file.
- * doc/texinfo/Makefile.am (master-menu, untabify, final): New
- goals.
- * doc/texinfo/mastermenu.el, doc/texinfo/untabify.el: New files
- * doc/texinfo/mailutils.texi: Rebuild master menu.
-
-2007-09-03 Darel Henman <dhenman@gmail.com>
-
- * README: Editted text in README file related to the
- -enable-mh-utils option. This was to correct a reference from
- a now non-existent mh README file to the ..doc/texinfo/mh-mh.texi file.
-
-
-2007-08-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * config/mailutils-config.c (lib_descr): Add mailer.
- * doc/texinfo/programs.texi (Loader Flags): Update
-
-2007-08-24 Darel Henman <dhenman@gmail.com>
-
- * mailbox/mailer.c: Include <sys/time.h> to fix builds on CygWin.
-
-
-2007-08-21 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/mta.c: Accomodate for the change from 2007-08-09
-
-2007-08-18 Wojciech Polak <polak@gnu.org>
-
- * doc/texinfo/mailutils.texi (References): Added RFC 2487 and 2595.
- * doc/texinfo/url.texi (URL): Document POPS and IMAPS protocols.
-
-2007-08-09 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libproto/mailer/smtp.c (smtp_send_message): Do not output space
- character after MAIL FROM: and RCPT TO:
-
-2007-07-18 Wojciech Polak <polak@gnu.org>
-
- Added support for new protocols: POPS (pops://)
- and IMAPS (imaps://).
-
- * include/mailutils/registrar.h: Register new protocols:
- mu_pops_record and mu_imaps_record.
- * libproto/imap/folder.c (_imaps_record, mu_imaps_record): Added.
- (folder_imap_open): Handle IMAPS connection.
- * libproto/imap/mbox.c (_mailbox_imap_and_imaps_init): New function.
- (_mailbox_imaps_init): Likewise.
- (_mailbox_imap_init): Call _mailbox_imap_and_imaps_init.
- * libproto/include/imap0.h (_f_imap): Added new variable imaps.
- * libproto/include/registrar0.h (MU_IMAPS_PORT, MU_IMAPS_SCHEME)
- (MU_IMAPS_SCHEME_LEN): Added new constants.
- (MU_POPS_PORT, MU_POPS_SCHEME, MU_POPS_SCHEME_LEN): Likewise.
- * libproto/pop/folder.c (_pops_record, mu_pops_record): Added.
- * libproto/pop/mbox.c (_pop_data): Added new variable pops.
- (_mailbox_pop_and_pops_init): New function.
- (_mailbox_pops_init): Likewise.
- (_mailbox_pop_init): Call _mailbox_pop_and_pops_init.
- (pop_open): Handle POPS connection.
-
-2007-07-18 Wojciech Polak <polak@gnu.org>
-
- * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES):
- Added url_sendmail.c and url_smtp.c.
- * libproto/mailer/url_sendmail.c: Moved from mailbox/url_sendmail.c.
- (_url_sendmail_init): Call mu_url_init.
- * libproto/mailer/url_smtp.c: Moved from mailbox/url_smtp.c.
- (_url_smtp_init): Call mu_url_init.
- * libproto/pop/url.c (_url_pop_init, _url_pops_init): Call mu_url_init.
- * libproto/imap/url.c (_url_imap_init, _url_imaps_init): Likewise.
- * mailbox/Makefile.am (libmailutils_la_SOURCES):
- Removed url_sendmail.c and url_smtp.c.
- * mailbox/url_sendmail.c: Moved to libproto/mailer/url_sendmail.c.
- * mailbox/url_smtp.c: Moved to libproto/mailer/url_smtp.c.
- * mailbox/url.c (mu_url_init): New function.
- * include/mailutils/url.c (mu_url_init): New prototype.
-
-2007-07-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * include/mailutils/libsieve.h (mu_stream_printf): Remove
- conflicting prototype.
-
-2007-07-17 Wojciech Polak <polak@gnu.org>
-
- * libproto/mailer: New directory. Keeps libmu_mailer.la.
- * libproto/mailer/Makefile.am: New file.
- * libproto/mailer/sendmail.c: Moved from mailbox/sendmail.c.
- * libproto/mailer/smtp.c: Moved from mailbox/smtp.c.
- * libproto/Makefile.am (SUBDIR): Added mailer.
- * examples/Makefile.am, guimb/Makefile.am, libmu_scm/Makefile.am,
- mail/Makefile.am, mail.remote/Makefile.am, mh/Makefile.am,
- sieve/Makefile.am: Added ${MU_LIB_MAILER}.
- * mailbox/sendmail.c: Moved to libproto/mailer/sendmail.c.
- * mailbox/smtp.c: Moved to libproto/mailer/smtp.c.
- * mailbox/mutil.c (mu_tls_begin): Removed placeholder.
- * mailbox/Makefile.am (libmailutils_la_SOURCES):
- Removed sendmail.c and smtp.c.
- * configure.ac: Added MU_LIB_MAILER.
-
-2007-07-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/mh_ctx.c (mh_context_read): Avoid writing past blurb end.
- * mh/send.c: New mtstailor variable "username"
-
-2007-07-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/imap4d.h (util_parse_822_date): First arg is const
- * imap4d/util.c: Likewise.
- * imap4d/search.c: Rewrite using parse tree instead of instruction
- array. Implement boolean shortcut evaluation.
-
-2007-07-10 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/fetch.c, imap4d/select.c, imap4d/status.c, mh/inc.c,
- mh/mh_init.c, pop3d/bulletin.c: Fix format strings
- * imap4d/search.c, libproto/mbox/folder.c, mailbox/envelope.c,
- examples/url-parse.c, mailbox/mu_auth.c: Minor fixes
- * include/mailutils/libsieve.h (mu_stream_printf): Remove
- * libsieve/actions.c (mu_stream_printf): Remove
- (mime_create_ds): Bugfix: datestr was never initialized! Nobody
- noticed this far?
-
-2007-07-10 Wojciech Polak <polak@gnu.org>
-
- * auth/tls.c (mu_tls_begin): New function.
- (_tls_stream_push): Added mu_error call.
- (_tls_open_client): Return MU_ERR_FAILURE instead of -1.
- * include/mailutils/tls.h (mu_tls_readline_fn)
- (mu_tls_writeline_fn, mu_tls_stream_ctl_fn): New data types.
- (mu_tls_begin): New prototype.
- * mailbox/mutil.c (mu_tls_begin): Placeholder.
-
- * libproto/pop/mbox.c (pop_parse_capa): New function.
- (pop_capa): Send CAPA, but don't parse the response,
- call pop_parse_capa() instead.
- (pop_reader, pop_writer, pop_stream_ctl): New static functions.
- (pop_stls): Uses now mu_tls_begin() from libmuauth.
-
- * libproto/imap/folder.c: (imap_reader, imap_writer)
- (imap_stream_ctl): New static functions.
- (tls): Uses now mu_tls_begin() from libmuauth.
- (folder_imap_open): Use MU_IMAP_PORT.
-
- * mailbox/smtp.c: Added STARTTLS support.
- (smtp_parse_ehlo_ack): New function.
- (smtp_starttls): New function.
- (stmp_reader, smtp_writer, smtp_stream_ctl): New static
- functions.
-
- * mailbox/stream.c: (mu_stream_vprintf)
- (mu_stream_printf, mu_stream_sequential_vprintf)
- (mu_stream_sequential_printf): New functions.
- * include/mailutils/stream.h: (mu_stream_vprintf)
- (mu_stream_printf, mu_stream_sequential_vprintf)
- (mu_stream_sequential_printf): New prototypes.
-
-2007-07-09 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS, configure.ac: Version 1.2.1
- * THANKS: Add Robby Villegas
- * examples/mta.c, libproto/imap/folder.c, libproto/nntp/folder.c,
- mimeview/mimetypes.l: Fix format string
- * libproto/imap/mbox.c: Minor fixes
- * mail/mail.c (mail_mainloop): Use "%s" to properly pass command
- to util_do_command. Remove call to util_escape_percent
- * mail/mail.h, mail/util.c (util_escape_percent): Delete
-
- * libproto/include/envelope0.h (date,sender): New members
- (_sender,_date): Rename to _get_sender, _get_date
- [__cplusplus]: Add missing }
-
- * include/mailutils/envelope.h, mailbox/envelope.c
- (mu_envelope_get_sender)
- (mu_envelope_sget_sender, mu_envelope_aget_sender)
- (mu_envelope_get_date, mu_envelope_sget_date)
- (mu_envelope_aget_date): New functions
- (mu_envelope_sender, mu_envelope_date): Rewrite as macros
-
- * guimb/util.c, imap4d/append.c, imap4d/fetch.c, imap4d/search.c,
- libmu_scm/mu_message.c, libsieve/actions.c, libsieve/tests.c,
- mail/from.c, mailbox/amd.c, mailbox/mutil.c,
- readmsg/readmsg.c: Rewrite using new envelope accessors
-
- * libproto/mbox/mbox.c (write_array): New function
- (mbox_append_message0): Rewrite using new envelope accessors +
- write_array
-
-2007-07-06 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (INTLINCS): Remove leftover variable
- (MU_LINK_POSTFLAGS): New subst
- * auth/Makefile.am, comsat/Makefile.am,
- dotlock/Makefile.am, examples/Makefile.am,
- examples/cpp/Makefile.am, frm/Makefile.am, guimb/Makefile.am,
- imap4d/Makefile.am, lib/Makefile.am, libmu_cpp/Makefile.am,
- libmu_scm/Makefile.am, libproto/imap/Makefile.am,
- libproto/maildir/Makefile.am, libproto/mbox/Makefile.am,
- libproto/mh/Makefile.am, libproto/nntp/Makefile.am,
- libproto/pop/Makefile.am, libsieve/Makefile.am,
- libsieve/extensions/Makefile.am, mail/Makefile.am,
- mail.local/Makefile.am, mail.remote/Makefile.am,
- mailbox/Makefile.am, messages/Makefile.am, mh/Makefile.am,
- mimeview/Makefile.am, movemail/Makefile.am,
- pop3d/Makefile.am, readmsg/Makefile.am, sql/Makefile.am,
- sieve/Makefile.am(INCLUDES): Remove INTLINCS
- * config/Makefile.am (INCLUDES): Remove INTLINCS
- (mailutils_config_CFLAGS): Use MU_LINK_POSTFLAGS
-
-2007-07-05 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * configure.ac: Change library version info
- * examples/url-parse.c: Rewrite using sget accessors
- * include/mailutils/url.h, mailbox/url.c (mu_url_sget_scheme)
- (mu_url_aget_scheme, mu_url_sget_user, mu_url_aget_user)
- (mu_url_sget_passwd, mu_url_aget_passwd, mu_url_sget_auth)
- (mu_url_aget_auth, mu_url_sget_host, mu_url_aget_host)
- (mu_url_sget_path, mu_url_aget_path, mu_url_sget_query)
- (mu_url_aget_query): New functions
- (mu_url_get_scheme, mu_url_get_user, mu_url_get_passwd)
- (mu_url_get_auth, mu_url_get_host, mu_url_get_path)
- (mu_url_get_query)
- (mu_url_is_same_scheme, mu_url_is_same_user, mu_url_is_same_path)
- (mu_url_is_same_host, mu_url_is_same_port): Rewrite using sget
- accessors.
-
- * libproto/imap/folder.c, libproto/imap/mbox.c,
- libproto/mbox/folder.c, libproto/mbox/mbox.c,
- libproto/nntp/folder.c, libproto/nntp/mbox.c, libproto/pop/mbox.c,
- mailbox/amd.c, mailbox/sendmail.c, mailbox/smtp.c,
- mailbox/wicket.c: Use mu_url_sget or mu_url_aget, depending on the
- needs.
-
- * mailbox/mailbox.c (mu_mailbox_get_debug): Propagate the debug
- state to the underlying folder.
-
-2007-07-03 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail.local/Makefile.am (mail_local_LDADD): Add missing
- libraries. Reported by Robby Villegas.
-
-2007-07-01 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/assoc.c (assoc_rehash): Fix an incorrect element
- size calculation.
-
-2007-06-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * COPYING, COPYING.LESSER: Install official versions
- * configure.ac, NEWS: Version 1.2
- * libsieve/extensions/spamd.c: Append `X-' headers.
- * mail.local/main.c: Read message contents from the message
- stream, so any changes to its headers and/or body are propagated
- to the final delivery.
-
-2007-06-28 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Remove the definition of ARG_UNUSED
-
- * mailbox/header.c (mu_hdrent_create): Minor change
- * libsieve/argp.c (sieve_argp_parser): Bug fix
- * libsieve/prog.c (sieve_code_command: Bug fixes
-
- * include/mailutils/types.hin (MU_ARG_UNUSED, MU_PRINTFLIKE): New
- macros.
- * lib/daemon.c: Use __attribute__ instead of ARG_UNUSED
- * auth/pam.c, auth/radius.c, auth/sql.c, auth/virtual.c,
- examples/nntpclient.c, examples/pop3client.c, imap4d/capability.c,
- imap4d/check.c, imap4d/close.c, imap4d/fetch.c,
- libproto/imap/folder.c, libproto/imap/url.c,
- libproto/maildir/folder.c, libproto/maildir/mbox.c,
- libproto/mbox/folder.c, libproto/mbox/url.c, libproto/mh/folder.c,
- libproto/mh/mbox.c, libproto/nntp/url.c, libproto/pop/mbox.c,
- libproto/pop/url.c, libsieve/util.c, libsieve/extensions/spamd.c,
- mail/decode.c, mail/escape.c, mail/exit.c, mail/folders.c,
- mail/if.c, mail/inc.c, mail/list.c, mail/mail.c, mail/mailline.c,
- mail/msgset.y, mail/quit.c, mail/source.c, mail/summary.c,
- mail/tag.c, mail/version.c, mailbox/amd.c, mailbox/auth.c,
- mailbox/file_stream.c, mailbox/filter_iconv.c,
- mailbox/filter_trans.c, mailbox/message_stream.c,
- mailbox/monitor.c, mailbox/mu_auth.c, mailbox/parsedate.y,
- mailbox/system.c, mailbox/url_sendmail.c, mh/ali.c,
- mh/mhparam.c, pop3d/auth.c, pop3d/signal.c, sql/odbc.c: Use
- MU_ARG_UNUSED to mark unused formal parameters.
-
- * guimb/guimb.h, imap4d/imap4d.h, include/mailutils/debug.h,
- include/mailutils/error.h, include/mailutils/libsieve.h,
- include/mailutils/nntp.h, include/mailutils/pop3.h,
- libproto/include/imap0.h, libsieve/sieve.h, mail/mail.h,
- mail.local/mail.local.h, mh/mh.h, pop3d/pop3d.h: Mark printf-like
- calls with MU_PRINTFLIKE.
-
- * po/Makevars (XGETTEXT_OPTIONS): Add Mailutils-specific
- printf-like calls.
-
- * NEWS: Update
- * include/mailutils/header.h (mu_header_append,mu_header_prepend):
- New functions
- * mailbox/header.c: Likewise
- * include/mailutils/mailer.h (mu_mailer_send_fragments): New
- function
- * mailbox/mailer.c: Likewise
- * include/mailutils/mutil.h (mu_rfc2822_msg_id): New function
- * mailbox/mutil.c: Likewise
- * mailbox/mime.c (_mime_set_content_type): Avoid risky usage of
- static buffers.
-
- * mh/TODO: Update
- * mh/mh_getopt.h (ARG_CHUNKSIZE): New value
- * mh/mh_init.c (mh_create_message_id): Rewrite using
- mu_rfc2822_msg_id
- * mh/send.c: Implement `--send'.
-
-2007-06-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Prepare for the GPL v.3 release.
- Relicense programs under GPL v.3, libraries under LPGL v.3
-
-2007-06-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/header.c: Implement a terse runtime help.
-
-2007-06-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
-
- * mailbox/header.c (header_readline): Always nul-terminate the
- buffer.
- (mu_hdrent_find): Allow negative instance indices, meaning
- scanning from the bottom up.
-
- * include/mailutils/list.h: Fix typo
- * libsieve/argp.c: New option --clearpath
- * libsieve/load.c: Minor change
- * libsieve/sieve.h: Minor change
- * sieve/testsuite/sieve/ext.exp: Pass --clearpath option to sieve
-
- * mh/anno.c, mh/burst.c, mh/comp.c, mh/compcommon.c, mh/folder.c,
- mh/forw.c, mh/inc.c, mh/mark.c, mh/mh.h, mh/mh_alias.y,
- mh/mh_argp.c, mh/mh_ctx.c, mh/mh_global.c, mh/mh_init.c,
- mh/mh_msgset.c, mh/mh_sequence.c, mh/mh_whatnow.c, mh/mh_whom.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/whom.c: Use mu_header_sget to retrieve context and
- configuration settings. Update all callers.
-
- * include/mailutils/header.h (MU_HEADER_REPLACE)
- (MU_HEADER_BEFORE): New macros
- (mu_header_remove,mu_header_insert)
- (mu_header_sget_value_n,mu_header_get_value_n)
- (mu_header_aget_value_n,mu_header_get_address_n)
- (mu_header_sget_field_name,mu_header_sget_field_value)
- (mu_header_get_value_unfold_n,mu_header_aget_value_unfold_n): New
- functions;
- (mu_header_sget_value,mu_header_get_value,mu_header_aget_value)
- (mu_header_get_address,mu_header_get_value_unfold)
- (mu_header_aget_value_unfold): Rewrite as macros
- (mu_header_set_set_value,mu_header_set_get_value)
- (mu_header_set_size,mu_header_set_lines): Remove functions
-
- * libproto/include/header0.h: Rewrite from scratch
- * mailbox/header.c: Rewrite from scratch
-
- * examples/header.c: New program
- * examples/Makefile.am (noinst_PROGRAMS): Add header
- * examples/addr.c: Remove unused vars
- * lib/mu_dbm.c, libproto/maildir/mbox.c, mh/mh_format.c: Remove
- unused functions
- * libmu_scm/mu_message.c (_get_envelope_sender): Bugfix: the return
- value was wrong.
- * examples/mimetest.c, libproto/imap/mbox.c, libproto/mbox/mbox.c,
- libsieve/actions.c, mail/decode.c, mail/escape.c, mail/mail.h,
- mail/print.c, mail/retain.c, mail/send.c, mail.local/mailquota.c,
- mailbox/amd.c, mailbox/sendmail.c: Prefer mu_header_sget
- where possible. Remove obsolete header calls.
- * mail.remote/testsuite/Data: Remove extra white space
- * mail.local/main.c (main): Register all mailbox formats
- * mailbox/mime.c: Fix indentation
- * mh/mhn.c: shut up the gcc warning
-
-2007-06-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * examples/addr.c, examples/mta.c, frm/common.c, imap4d/fetch.c,
- libmu_scm/mu_message.c, mail/alias.c, mail/alt.c, mail/from.c,
- mail/mail.h, mail/reply.c, mail/send.c, mail/util.c,
- mailbox/attachment.c, mailbox/mutil.c, mailbox/sendmail.c,
- mailbox/smtp.c, mh/mh.h, mh/mh_format.c, mh/mh_format.h,
- mh/mh_init.c: Use mu_address_sget functions, where possible.
- * include/mailutils/address.h (mu_address_set_local_part)
- (mu_address_set_domain,mu_address_set_route)
- (mu_address_set_email,mu_address_sget_comments)
- (mu_address_sget_local_part,mu_address_sget_personal)
- (mu_address_sget_domain,mu_address_sget_route)
- (mu_address_sget_email): New functions
- * mailbox/address.c: LIkewise
-
-2007-06-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Use AM_PROG_CC_C_O and AC_PROG_CXX
- * include/mailutils/property.h (mu_property_sget_value)
- (mu_property_aget_value): New functions
- * mailbox/property.c: Likewise
- * mailbox/Makefile.am: Merge DEFS and AM_CPPFLAGS
- * mailbox/mailer.c (mu_mailer_send_message): Set envelope from
- address according to the underlying mailer type.
- * mailbox/smtp.c (smtp_open,smtp_send_message): On invalid
- arguments, return EINVAL instead of spitting out assertion.
- (smtp_send_message): Null from address is an error.
- * mh/sortm.c: Stable sort.
-
-2007-05-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * README: Fix typos, use LDFLAGS instead of LIBS
- * auth/tls.c (_tls_stream_push): Flush data. before returning.
-
-2007-05-09 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * scripts/ylwrap: Rename to ...
- * scripts/gylwrap: ... this
- * doc/texinfo/Makefile.am, libsieve/Makefile.am,
- mailbox/Makefile.am, mailbox/Makefile.am, mh/Makefile.am,
- mimeview/Makefile.am, scripts/Makefile.am: Update to the
- above change.
-
-2007-05-08 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * Makefile.am (alpha): Change distdir format
- * examples/mimetest.c: Print more information about the message
- structure.
- * mailbox/mime.c (_mime_parse_mpart_message): One more fix
- * mailbox/testsuite/Mime: Fix to match new mimetest output and
- bugfixes in mime.c
- * imap4d/testsuite/imap4d/fetch.exp, mail/testsuite/mail/read.exp,
- mail/testsuite/mail/write.exp,
- readmsg/testsuite/readmsg/test.exp: Update to match bugfixes in
- mime.c
- * testsuite/spool/mbox1: Fix msg#5
-
-2007-05-07 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/daemon.c (mu_daemon_remove_pidfile): Reset pidfile.
-
-2007-04-30 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (MU_BUILT_CXX_EXAMPLES): Define if c++ libs
- requested.
- * examples/cpp/Makefile.am: Build c++ examples
- * libmu_cpp/Makefile.am (libmu_cpp_la_LDFLAGS): Add -rpath
-
-2007-04-30 Wojciech Polak <polak@gnu.org>
-
- * libproto/pop/mbox.c: Fixed APOP handling.
-
-2007-04-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/header.c (mu_header_get_value): Bugfix
- * mailbox/mbx_default.c (mu_mailbox_create_default): Fix memory
- leaks.
-
-2007-03-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * pop3d/bulletin.c (read_bulletin_db): Do not close DB too early.
-
-2007-03-07 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/testsuite/imap4d/expunge.exp: Fix pattern
- * include/mailutils/assoc.h (mu_assoc_create): Add third argument.
- (mu_assoc_destroy,mu_assoc_clear): New functions
- * include/mailutils/header.h (mu_header_set_get_fvalue): Remove
- function.
- * libproto/imap/mbox.c (imap_header_get_fvalue): Remove
- * libproto/include/header0.h (struct _mu_header): Remove
- `fhdr_count' and `fhdr', add `cache'.
- Remove `_get_fvalue'
- * libproto/mbox/mbox.c: Remove rudimentary header caching
- * libproto/mbox/mbox0.h: Likewise
- * libproto/mbox/mboxscan.c: Likewise
- * mail/alias.c, mailbox/mutil.c: Update calls to mu_assoc_create
- * mailbox/assoc.c (mu_assoc_create): Take 3 arguments
- (mu_assoc_clear, mu_assoc_destroy): New functions
- * mailbox/header.c: Rewrite header caching
-
- * include/mailutils/locker.h: Rewrite
- * mailbox/locker.c: Rewrite
-
-2007-03-06 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/mime.c (_mime_parse_mpart_message): The CRLF preceding
- the encapsulation line is conceptually attached to the boundary.
- * NEWS: Update
-
-2007-02-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * Makefile.am: Add libmu_cpp
- * NEWS, README: Update
- * configure.ac: Add `--enable-experimental' option
- Rewrite DBM handling
- Withdraw old DBM support
- * auth/sql.c: Actually set quota if it is available
- * include/mailutils/mu_auth.h (struct mu_auth_data): New field
- `flags'.
- (mu_auth_data_set_quota): New function
- * lib/mu_dbm.h, lib/mu_dbm.c: Withdraw old DBM support. Fix style
- issues.
- * mail.local/mail.local.h (check_quota): Change signature
- * mail.local/mailquota.c: Get quota value from mu_auth_data, if
- available.
- * mail.local/main.c (check_quota): Change signature
- * mailbox/mu_auth.c (mu_auth_data_alloc): Fill auth object with
- zeroes.
- (mu_auth_data_set_quota): New function
- * pop3d/apop.c: Remove unused variables
- * pop3d/bulletin.c (deliver_pending_bulletins): Return
- immediately, if unable to count messages in the bulletin box
- * pop3d/popauth.c (action_list): Do not check db permissions.
-
- * pop3d/bulletin.c (read_bulletin_db,write_bulletin_db): Fix
- permissions.
- (open_bulletin_mailbox): Open the mailbox in read-only mode
- (set_bulletin_db): Do not try to open the mailbox.
-
-2007-02-25 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * pop3d/bulletin.c: Fix copyright year
- * pop3d/expire.c, pop3d/top.c: A message is marked for expiration
- after RETR or TOP.
- * pop3d/logindelay.c (check_login_delay): Fix error message
- * pop3d/pop3d.c (pop3d_parse_opt): --expire=0 implies
- --delete-expired.
-
- * doc/texinfo/programs.texi: Document new pop3d options
- * libproto/mbox/mbox.c: Indentation fixes
- * NEWS: Update
-
-2007-02-23 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * auth/sql.c: Implement field mapping and retrieval by field
- names.
- * include/mailutils/mu_auth.h (struct mu_auth_data.quota): New
- field
- (mu_auth_data_destroy): New function
- * include/mailutils/mutil.h (mutil_parse_field_map): New function
- * include/mailutils/sql.h (mu_sql_dispatch.get_field_number): New
- field
- (mu_sql_get_field): New function
- * lib/mu_dbm.c, lib/mu_dbm.h (mu_dbm_datum_free): New function
- * mailbox/mu_auth.c (mu_auth_data_destroy): New function
- * mailbox/mutil.c (mutil_parse_field_map): New function
-
- * pop3d/bulletin.c: Implement bulletin facility
- * pop3d/Makefile.am: Add bulletin.c
- * pop3d/apop.c (pop3d_apop): Call pop3d_begin_session instead of
- duplicating code from user.c
- * pop3d/pop3d.c (--bulletin-source, --bulletin-db): New options
- * pop3d/pop3d.h (auth_data): New global
- * pop3d/user.c (pop3d_begin_session): New function. Implement
- bulletin facility
- * pop3d/popauth.c (action_list): Call mu_dbm_datum_free
-
- * readmsg/readmsg.c (main): -h shows `From ' headers as well.
- * readmsg/testsuite/readmsg/test.exp: Adapt for the new readmsg
- behavior
-
- * sql/sql.c, sql/mysql.c, sql/odbc.c, sql/postgres.c: Implement
- retrieval by field name.
-
-2007-02-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/assoc.c: New file. Implementation of associative arrays.
- * mailbox/Makefile.am: Add assoc.c
- * mailbox/errors (MU_ERR_EXISTS): New error code
- * include/mailutils/assoc.h: New file
- * include/mailutils/Makefile.am: Add assoc.h
- * auth/radius.c (mu_radius_authenticate): Remove unused variable
- * include/mailutils/iterator.h (mu_iterator_current_kv): New
- function
- (mu_iterator_set_getitem): Change signature. All references
- updated.
- * mailbox/iterator.c: Likewise
- * libproto/nntp/nntp_iterator.c, libproto/pop/pop3_iterator.c,
- mailbox/list.c: Likewise
- * include/mailutils/types.hin (mu_assoc_t): New data type
- * libproto/include/iterator0.h (getitem): Change signature
-
- * mail/alias.c: Reimplement using mu_assoc_t
- * mail/mail.h: Include mailutils/assoc.h
-
- * mailbox/mu_argp.c: Improve diagnostics of errors in rc files.
-
-2007-02-13 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/pipe.c (mail_pipe): Fix handling of cmd variable and
- command argument.
- * mail/send.c (compose_destroy): Do not free outfiles[i], the
- caller is responsible for that.
- * mailbox/amd.c (amd_envelope_date, amd_envelope_sender): If buf
- is NULL, return required length of the buffer.
- * mailbox/argcv.c (argcv_get_n): Prevent coredump if command='"'
- * mailbox/testsuite/Argcv: Test '"' case.
- * mailbox/header.c: Indentation fix
- * readmsg/readmsg.c: Improve compatibility with elm's
- implementation.
- * readmsg/readmsg.h: Add some includes
- * THANKS: Add Neil R. Ormos
- * NEWS: Update
-
-2006-12-31 Wojciech Polak <polak@gnu.org>
-
- Updated libmu_cpp to the current API 1.0.
- All method names now begin with a lowercase letter.
- Files affected:
-
- * libmu_cpp/address.cc, libmu_cpp/filter.cc, libmu_cpp/header.cc,
- libmu_cpp/iterator.cc, libmu_cpp/list.cc, libmu_cpp/mailbox.cc,
- libmu_cpp/mailcap.cc, libmu_cpp/mailer.cc, libmu_cpp/message.cc,
- libmu_cpp/pop3.cc, libmu_cpp/stream.cc, libmu_cpp/url.cc,
- include/mailutils/cpp/address.h, include/mailutils/cpp/error.h,
- include/mailutils/cpp/filter.h, include/mailutils/cpp/header.h,
- include/mailutils/cpp/iterator.h, include/mailutils/cpp/list.h,
- include/mailutils/cpp/mailbox.h, include/mailutils/cpp/mailcap.h,
- include/mailutils/cpp/mailer.h, include/mailutils/cpp/mailutils.h,
- include/mailutils/cpp/message.h, include/mailutils/cpp/pop3.h,
- include/mailutils/cpp/stream.h, include/mailutils/cpp/url.h
- * examples/cpp/addr.cc, examples/cpp/http.cc, examples/cpp/iconv.cc,
- examples/cpp/listop.cc, examples/cpp/mailcap.cc, examples/cpp/murun.cc,
- examples/cpp/sfrom.cc, examples/cpp/url-parse.cc: Updated.
- * libmu_cpp/Makefile.am: Updated.
-
-2006-12-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac, NEWS: Version 1.1.90
- * mail/mail.c (default_setup): Set nullbody and nullbodymsg
- * mail/send.c: Sent empty messages only if nullbody is set
- * mailbox/amd.c (amd_open): Create directory if MU_STREAM_CREAT is
- given.
- * mimeview/mimeview.c (doc): Remove leftover \v
- * doc/texinfo/programs.texi (Mail Variables): Document nullbody
- and nullbodymsg
-
-2006-12-15 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Require at least version 2.60 of autoconf
- * include/mailutils/stream.h (MU_STREAM_READY_EX): New define
- * mail.local/main.c: Allow to be run from console by a
- non-privileged user (useful with fetchmail)
- * mailbox/mutil.c (mu_fd_wait): Handle MU_STREAM_READY_EX
- * mailbox/sendmail.c (sendmail_send_message): Failing waitpid is
- not an error if errno==ECHILD (the calling program might have
- ignored SIGCHLD).
-
-2006-11-13 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Fix creation of MU_LTLIBOBJS. Patch submitted by
- Kevin Buckley and Kenji Miyake
- * include/mailutils/stream.h (MU_STREAM_READY_EX): New define
- * mailbox/mutil.c (mu_fd_wait): Handle MU_STREAM_READY_EX
- * mail.local/main.c
-
-2006-10-30 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac, NEWS: Raise version number to 1.1
-
- * NEWS: Update
- * mail.remote/mail.remote.c, sieve/sieve.c: Fix docstrings.
- * libproto/imap/folder.c (imap_parse): Preserve the remainder of
- the OK line after '[whatever]' for diagnostic purposes.
-
- * doc/texinfo/programs.texi: Document changes to mail
- * TODO: Update
- * examples/encode2047.c: new options -o/-t enable/disable special
- interpretation of the octal escapes in the input.
- * mailbox/testsuite/Argcv: Comment out 8-bit test case. Sorry, tcl
- looses badly in handling eight-bit binary data.
- * mailbox/testsuite/Encode2047: Feed input in octal notation and
- use encode2047 \o command to override tcl brokenness.
- * mailbox/testsuite/mailbox/encode2047.exp: Allow test string to
- begin with two back slashes.
-
- * m4/.cvsignore: Update
- * mail/escape.c (escape_sign): Print "-- \n" before the signature
- * mail/mail.h: Remove the declaration of cursor
- * mail/util.c: Allow use of ^ and $ as positioning commands
-
-2006-10-25 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Check for large file support and fseeko. Replace
- the latter with fseek if it is not available.
- (MU_GUILE_SITE_DIR,MU_GUILE_SIEVE_MOD_DIR)
- (MU_GUILE_SIEVE_SCRIPTS,MU_GUILE_SIEVE_MOD_DATA): New variables
- * guimb/scm/Makefile.am: Do not try to install anything if Guile
- is not available
- * libmu_scm/Makefile.am: Likewise
- * mailbox/file_stream.c: Use fseeko instead of fseek
-
-2006-10-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Updated
- * doc/texinfo/programs.texi: Updated
-
- * configure.ac (MU_GUILE_SITE_DIR,MU_GUILE_SIEVE_MOD_DIR)
- (MU_GUILE_SIEVE_SCRIPTS,MU_GUILE_SIEVE_MOD_DATA): New variables to
- clean build without Guile
- * guimb/scm/Makefile.am: Likewise
- * libmu_scm/Makefile.am: Likewise
- * mail/escape.c (escape_sign): Print "-- \n" before the signature.
- * mail/util.c (util_do_command): Implement ^ and $.
-
-2006-10-18 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Require gettext 0.15
- (check_bdb): Bugfix
- * m4/iconv.m4, m4/intmax.m4, m4/inttypes.m4, m4/nls.m4,
- m4/printf-posix.m4, m4/progtest.m4: Update
- * mail.local/main.c: Formatting fix
- * scripts/gnulib-sync (copy_files): Adjust for gettext 0.15
-
-2006-10-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/texinfo/mu_address.texi: Added to the repository
- * doc/texinfo/mu_body.texi: Likewise
- * doc/texinfo/mu_logger.texi: Likewise
- * doc/texinfo/mu_mailbox.texi: Likewise
- * doc/texinfo/mu_message.texi: Likewise
- * doc/texinfo/mu_mime.texi: Likewise
- * doc/texinfo/mu_scm.texi: Likewise
- * doc/texinfo/.cvsignore: Update
-
-2006-10-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Add support for Berkeley DB 3 and 4
-
- * auth/radius.c: Return meaningful error codes.
- * auth/sql.c: Likewise
- * auth/virtual.c: Likewise
- * mailbox/system.c: Likewise
-
- * sql/mysql.c (octet2hex): Rename to mu_octet_to_hex to avoid name
- clashes with mysql
-
- * config/Makefile.am (mailutils_config_CFLAGS): Define I18NLIBS
- inconditionally.
- * examples/Makefile.am (muath): New target
-
- * include/mailutils/mu_auth.h (enum mu_auth_key_type): New data
- type.
- (mu_get_auth): New function.
- * lib/mu_dbm.c: Support for Berkeley DB 3, 4
- * mailbox/mu_auth.c (mu_get_auth): New function.
- (mu_auth_runlist): Change return code convention: underlying calls
- should return meaningful error codes, not just 0/1.
-
- * examples/muauth.c: new file
-
-2006-10-04 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libsieve/extensions/vacation.c (vacation_subject): Improve
- yesterday's fix, following Kostas' suggestion.
-
-2006-10-03 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libsieve/prog.c (sieve_code_command): Avoid dead loop if a tag
- is not given the argument it requires. Improve the diagnostics.
- Bug reported by Kostas Zorbadelos.
- * libsieve/extensions/vacation.c (vacation_subject): Make sure
- subject is not null.
-
-2006-09-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * comsat/action.c: Minor fixes
- * libproto/mbox/mboxscan.c (FAST_HEADER): Fix unfolding: Advance p
- only if ':' was found.
- Minor macro style fixes
- * mail/mail.h (struct mail_env_entry): New member v.bool
- * mail/set.c (mail_set): Init dummy to 1
- * mail/util.c: mail_env_entry->set means that the entry was ever
- set. mail_env_entry->v.bool is the actual value of boolean
- variables.
- * mail.local/main.c: Minor indentation fixes
- * mailbox/mutil.c (mu_string_unfold): Convert \n followed by any
- amount of whitespace to single space.
- * mh/sortm.c: Minor fix
-
-2006-09-10 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * dotlock/dotlock.c, mail.local/main.c, mail.remote/mail.remote.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/whom.c, mimeview/mimeview.c, sieve/sieve.c:
- Reformat argp docstring in accordance with the new argp
- guidelines. Remove unneeded translators comment.
-
- * config/mailutils-config.c, mh/mh.h, mh/mh_getopt.c,
- movemail/movemail.c: Include argp-namefrob.h is no longer needed
-
- Update by gnulib-sync.
-
- * lib/Makefile.am: Updated
- * m4/gnulib.m4: Updated
- * mailbox/Makefile.am: Updated
-
- * lib/allocsa.c: Updated
- * lib/allocsa.h: Updated
- * lib/allocsa.valgrind: Updated
- * lib/asprintf.c: Updated
- * lib/error.c: Updated
- * lib/error.h: Updated
- * lib/exit.h: Updated
- * lib/exitfail.c: Updated
- * lib/exitfail.h: Updated
- * lib/getpass.c: Updated
- * lib/getpass.h: Updated
- * lib/mbswidth.c: Updated
- * lib/mbswidth.h: Updated
- * lib/obstack.c: Updated
- * lib/obstack.h: Updated
- * lib/realloc.c: Updated
- * lib/setenv.c: Updated
- * lib/setenv.h: Updated
- * lib/snprintf.c: Updated
- * lib/snprintf.h: Updated
- * lib/unsetenv.c: Updated
- * lib/vasprintf.c: Updated
- * lib/vasprintf.h: Updated
- * lib/xalloc-die.c: Updated
- * lib/xalloc.h: Updated
- * lib/xmalloc.c: Updated
- * lib/xsize.h: Updated
- * m4/absolute-header.m4: Added to the repository
- * m4/alloca.m4: Updated
- * m4/allocsa.m4: Updated
- * m4/argp.m4: Updated
- * m4/d-type.m4: Updated
- * m4/eealloc.m4: Updated
- * m4/eoverflow.m4: Updated
- * m4/error.m4: Updated
- * m4/exitfail.m4: Updated
- * m4/extensions.m4: Updated
- * m4/fnmatch.m4: Updated
- * m4/getdelim.m4: Updated
- * m4/getline.m4: Updated
- * m4/getlogin_r.m4: Updated
- * m4/getopt.m4: Updated
- * m4/getpass.m4: Updated
- * m4/glob.m4: Updated
- * m4/intmax_t.m4: Updated
- * m4/inttostr.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/mbchar.m4: Updated
- * m4/mbiter.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbswidth.m4: Updated
- * m4/md5.m4: Updated
- * m4/memchr.m4: Updated
- * m4/mempcpy.m4: Updated
- * m4/minmax.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/regex.m4: Updated
- * m4/setenv.m4: Updated
- * m4/sha1.m4: Updated
- * m4/signed.m4: Updated
- * m4/size_max.m4: Updated
- * m4/snprintf.m4: Updated
- * m4/ssize_t.m4: Updated
- * m4/stat-macros.m4: Updated
- * m4/stdbool.m4: Updated
- * m4/stdint.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/strcase.m4: Updated
- * m4/strchrnul.m4: Updated
- * m4/strdup.m4: Updated
- * m4/strndup.m4: Updated
- * m4/strnlen.m4: Updated
- * m4/strtok_r.m4: Updated
- * m4/sysexits.m4: Updated
- * m4/unistd_h.m4: Updated
- * m4/vasnprintf.m4: Updated
- * m4/vasprintf.m4: Updated
- * m4/vsnprintf.m4: Updated
- * m4/wchar_t.m4: Updated
- * m4/wcwidth.m4: Added to the repository
- * m4/wint_t.m4: Updated
- * m4/xalloc.m4: Updated
- * m4/xsize.m4: Updated
- * m4/xsize.m4: Updated
- * mailbox/alloca.c: Updated
- * mailbox/alloca_.h: Updated
- * mailbox/argp-ba.c: Updated
- * mailbox/argp-eexst.c: Updated
- * mailbox/argp-fmtstream.c: Updated
- * mailbox/argp-fmtstream.h: Updated
- * mailbox/argp-fs-xinl.c: Updated
- * mailbox/argp-help.c: Updated
- * mailbox/argp-namefrob.h: Updated
- * mailbox/argp-parse.c: Updated
- * mailbox/argp-pin.c: Updated
- * mailbox/argp-pv.c: Updated
- * mailbox/argp-pvh.c: Updated
- * mailbox/argp-xinl.c: Updated
- * mailbox/argp.h: Updated
- * mailbox/asnprintf.c: Updated
- * mailbox/fnmatch.c: Updated
- * mailbox/fnmatch_.h: Updated
- * mailbox/fnmatch_loop.c: Updated
- * mailbox/getdelim.c: Updated
- * mailbox/getdelim.h: Updated
- * mailbox/getline.c: Updated
- * mailbox/getline.h: Updated
- * mailbox/getlogin_r.c: Updated
- * mailbox/getlogin_r.h: Updated
- * mailbox/getopt.c: Updated
- * mailbox/getopt1.c: Updated
- * mailbox/getopt_.h: Updated
- * mailbox/getopt_int.h: Updated
- * mailbox/gettext.h: Updated
- * mailbox/glob-libc.h: Updated
- * mailbox/glob.c: Updated
- * mailbox/glob_.h: Updated
- * mailbox/imaxtostr.c: Updated
- * mailbox/intprops.h: Updated
- * mailbox/inttostr.c: Updated
- * mailbox/inttostr.h: Updated
- * mailbox/malloc.c: Updated
- * mailbox/mbchar.c: Updated
- * mailbox/mbchar.h: Updated
- * mailbox/mbuiter.h: Updated
- * mailbox/md5.c: Updated
- * mailbox/md5.h: Updated
- * mailbox/memchr.c: Updated
- * mailbox/mempcpy.c: Updated
- * mailbox/mempcpy.h: Updated
- * mailbox/minmax.h: Updated
- * mailbox/offtostr.c: Updated
- * mailbox/printf-args.c: Updated
- * mailbox/printf-args.h: Updated
- * mailbox/printf-parse.c: Updated
- * mailbox/printf-parse.h: Updated
- * mailbox/regcomp.c: Updated
- * mailbox/regex.c: Updated
- * mailbox/regex.h: Updated
- * mailbox/regex_internal.c: Updated
- * mailbox/regex_internal.h: Updated
- * mailbox/regexec.c: Updated
- * mailbox/sha1.c: Updated
- * mailbox/sha1.h: Updated
- * mailbox/size_max.h: Updated
- * mailbox/stat-macros.h: Updated
- * mailbox/stdbool_.h: Updated
- * mailbox/stdint_.h: Updated
- * mailbox/strcase.h: Updated
- * mailbox/strcasecmp.c: Updated
- * mailbox/strchrnul.c: Updated
- * mailbox/strchrnul.h: Updated
- * mailbox/strdup.c: Updated
- * mailbox/strdup.h: Updated
- * mailbox/strncasecmp.c: Updated
- * mailbox/strndup.c: Updated
- * mailbox/strndup.h: Updated
- * mailbox/strnlen.c: Updated
- * mailbox/strnlen.h: Updated
- * mailbox/strnlen1.c: Updated
- * mailbox/strnlen1.h: Updated
- * mailbox/strtok_r.c: Updated
- * mailbox/strtok_r.h: Updated
- * mailbox/sysexit_.h: Updated
- * mailbox/umaxtostr.c: Updated
- * mailbox/vasnprintf.c: Updated
- * mailbox/vasnprintf.h: Updated
- * mailbox/vsnprintf.c: Updated
- * mailbox/vsnprintf.h: Updated
- * mailbox/wcwidth.h: Added to the repository
- * mailbox/xsize.h: Updated
-
-2006-08-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * THANKS: Add Damon Harper
-
- Implement changes proposed by Damon Harper:
-
- * comsat/action.c (act_getline): Change return type to
- unsigned. Return actual number of input lines processed or 0 on
- failure (either I/O, or memory allocation or EOF).
- (action_echo): Rewritten to use shell-like syntax
- (run_user_action): Rewritten main loop to make it cleaner. In
- particular, expand agruments after word splitting. Use new echo
- semantics.
-
- * mail/table.c (mail_escape_table): Add ~x
-
-2006-08-23 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/mailbox.c: Include alloca.h
-
-2006-07-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/page.c (top_of_page,cursor,page_map,page_size)
- (page_avail,page_map): Hide as static
- (fill_page_map): Reset cursor if it points past the last
- message.
- * mail/testsuite/mail/write.exp: Add new testcase
-
-2006-07-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Raise version number to 1.0.1
- * NEWS: Version 1.0.1
- * lib/mailcap.c (expand_string, run_test, run_mailcap): Fix memory
- allocation bugs. Place all temporary strings in the obstack.
-
- Fix coredump on `cd x<TAB>' in mail. Bug reported by
- Daniel Kahn Gillmor.
-
- * include/mailutils/folder.h (mu_folder_create_from_record): New
- function.
- * mailbox/folder.c (mu_folder_create_from_record): New
- function.
- (mu_folder_create): Interface to mu_folder_create_from_record
- * mailbox/mutil.c (mu_scheme_autodetect_p): Return true if scheme
- is the name of an existing file or directory.
-
- * mail/mailline.c (file_generator): Remove leading pathlen
- characters from the returned names.
-
- * libproto/mbox/folder.c: Minor formatting changes
- * mail/mail.c: Likewise
-
- * THANKS: Add Daniel Kahn Gillmor
-
-2006-07-07 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (AC_CHECK_FUNCS): Add setlocale
-
-2006-07-06 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/rfc/rfc2231.txt: New file
- * doc/rfc/Makefile.am (EXTRA_DIST): Add rfc2231.txt
- * mh/TODO: Update
-
- Sources at this point are tagged rel-1_0
-
- * NEWS: Update
- * configure.ac: Raise version number to 1.0
- * direntry: Update for 1.0
- * doc/texinfo/Makefile.am: Removed hack introduced on
- 2006-06-15. It triggered unnecessary doc updates.
- * scripts/guile-1.6/guile-doc-snarf (snarf_doc): Do not use \n in
- the replacement part of a sed expression for the sake of older
- seds. Use a more sophisticated approach with changing hold/pattern
- spaces instead.
- * scripts/guile-1.6/guile-doc-snarf.awk: Adopt for the new output
- format of snarf_doc
-
-2006-06-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * gnulib.modules (mailutils): Add sha1
- * lib/Makefile.am: Update
- * mailbox/Makefile.am: Update
- * m4/gnulib.m4: Update
- * sql/mysql.c: Implement verification against mysql v4 passwords.
-
- Update by gnulib-sync.
-
- * lib/allocsa.c: Updated
- * lib/allocsa.h: Updated
- * lib/allocsa.valgrind: Updated
- * lib/asprintf.c: Updated
- * lib/error.c: Updated
- * lib/error.h: Updated
- * lib/exit.h: Updated
- * lib/exitfail.c: Updated
- * lib/exitfail.h: Updated
- * lib/getpass.c: Updated
- * lib/getpass.h: Updated
- * lib/mbswidth.c: Updated
- * lib/mbswidth.h: Updated
- * lib/obstack.c: Updated
- * lib/obstack.h: Updated
- * lib/realloc.c: Updated
- * lib/setenv.c: Updated
- * lib/setenv.h: Updated
- * lib/snprintf.c: Updated
- * lib/snprintf.h: Updated
- * lib/unsetenv.c: Updated
- * lib/vasprintf.c: Updated
- * lib/vasprintf.h: Updated
- * lib/xalloc-die.c: Updated
- * lib/xalloc.h: Updated
- * lib/xmalloc.c: Updated
- * lib/xsize.h: Updated
- * m4/alloca.m4: Updated
- * m4/allocsa.m4: Updated
- * m4/argp.m4: Updated
- * m4/d-type.m4: Updated
- * m4/eealloc.m4: Updated
- * m4/eoverflow.m4: Updated
- * m4/error.m4: Updated
- * m4/exitfail.m4: Updated
- * m4/extensions.m4: Updated
- * m4/fnmatch.m4: Updated
- * m4/full-header-path.m4: Added to the repository
- * m4/getdelim.m4: Updated
- * m4/getline.m4: Updated
- * m4/getlogin_r.m4: Updated
- * m4/getopt.m4: Updated
- * m4/getpass.m4: Updated
- * m4/glob.m4: Updated
- * m4/intmax_t.m4: Updated
- * m4/inttostr.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/mbchar.m4: Updated
- * m4/mbiter.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbswidth.m4: Updated
- * m4/md5.m4: Updated
- * m4/memchr.m4: Updated
- * m4/mempcpy.m4: Updated
- * m4/minmax.m4: Updated
- * m4/obstack.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/regex.m4: Updated
- * m4/restrict.m4: Updated
- * m4/setenv.m4: Updated
- * m4/sha1.m4: Added to the repository
- * m4/signed.m4: Updated
- * m4/size_max.m4: Updated
- * m4/snprintf.m4: Updated
- * m4/ssize_t.m4: Updated
- * m4/stat-macros.m4: Updated
- * m4/stdbool.m4: Updated
- * m4/stdint.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/strcase.m4: Updated
- * m4/strchrnul.m4: Updated
- * m4/strdup.m4: Updated
- * m4/strerror_r.m4: Updated
- * m4/strndup.m4: Updated
- * m4/strnlen.m4: Updated
- * m4/strtok_r.m4: Updated
- * m4/sysexits.m4: Updated
- * m4/uintmax_t_gl.m4: Updated
- * m4/uintmax_t_gl.m4: Updated
- * m4/ulonglong_gl.m4: Updated
- * m4/ulonglong_gl.m4: Updated
- * m4/unistd_h.m4: Added to the repository
- * m4/vasnprintf.m4: Updated
- * m4/vasprintf.m4: Updated
- * m4/vsnprintf.m4: Updated
- * m4/wchar_t.m4: Updated
- * m4/wint_t.m4: Updated
- * m4/xalloc.m4: Updated
- * m4/xsize.m4: Updated
- * m4/xsize.m4: Updated
- * mailbox/alloca.c: Updated
- * mailbox/alloca_.h: Updated
- * mailbox/argp-ba.c: Updated
- * mailbox/argp-eexst.c: Updated
- * mailbox/argp-fmtstream.c: Updated
- * mailbox/argp-fmtstream.h: Updated
- * mailbox/argp-fs-xinl.c: Updated
- * mailbox/argp-help.c: Updated
- * mailbox/argp-namefrob.h: Updated
- * mailbox/argp-parse.c: Updated
- * mailbox/argp-pin.c: Updated
- * mailbox/argp-pv.c: Updated
- * mailbox/argp-pvh.c: Updated
- * mailbox/argp-xinl.c: Updated
- * mailbox/argp.h: Updated
- * mailbox/asnprintf.c: Updated
- * mailbox/fnmatch.c: Updated
- * mailbox/fnmatch_.h: Updated
- * mailbox/fnmatch_loop.c: Updated
- * mailbox/getdelim.c: Updated
- * mailbox/getdelim.h: Updated
- * mailbox/getline.c: Updated
- * mailbox/getline.h: Updated
- * mailbox/getlogin_r.c: Updated
- * mailbox/getlogin_r.h: Updated
- * mailbox/getopt.c: Updated
- * mailbox/getopt1.c: Updated
- * mailbox/getopt_.h: Updated
- * mailbox/getopt_int.h: Updated
- * mailbox/gettext.h: Updated
- * mailbox/glob-libc.h: Updated
- * mailbox/glob.c: Updated
- * mailbox/glob_.h: Updated
- * mailbox/imaxtostr.c: Updated
- * mailbox/intprops.h: Updated
- * mailbox/inttostr.c: Updated
- * mailbox/inttostr.h: Updated
- * mailbox/malloc.c: Updated
- * mailbox/mbchar.c: Updated
- * mailbox/mbchar.h: Updated
- * mailbox/mbuiter.h: Updated
- * mailbox/md5.c: Updated
- * mailbox/md5.h: Updated
- * mailbox/memchr.c: Updated
- * mailbox/mempcpy.c: Updated
- * mailbox/mempcpy.h: Updated
- * mailbox/minmax.h: Updated
- * mailbox/offtostr.c: Updated
- * mailbox/printf-args.c: Updated
- * mailbox/printf-args.h: Updated
- * mailbox/printf-parse.c: Updated
- * mailbox/printf-parse.h: Updated
- * mailbox/regcomp.c: Updated
- * mailbox/regex.c: Updated
- * mailbox/regex.h: Updated
- * mailbox/regex_internal.c: Updated
- * mailbox/regex_internal.h: Updated
- * mailbox/regexec.c: Updated
- * mailbox/sha1.c: Added to the repository
- * mailbox/sha1.h: Added to the repository
- * mailbox/size_max.h: Updated
- * mailbox/stat-macros.h: Updated
- * mailbox/stdbool_.h: Updated
- * mailbox/stdint_.h: Updated
- * mailbox/strcase.h: Updated
- * mailbox/strcasecmp.c: Updated
- * mailbox/strchrnul.c: Updated
- * mailbox/strchrnul.h: Updated
- * mailbox/strdup.c: Updated
- * mailbox/strdup.h: Updated
- * mailbox/strncasecmp.c: Updated
- * mailbox/strndup.c: Updated
- * mailbox/strndup.h: Updated
- * mailbox/strnlen.c: Updated
- * mailbox/strnlen.h: Updated
- * mailbox/strnlen1.c: Updated
- * mailbox/strnlen1.h: Updated
- * mailbox/strtok_r.c: Updated
- * mailbox/strtok_r.h: Updated
- * mailbox/sysexit_.h: Updated
- * mailbox/umaxtostr.c: Updated
- * mailbox/vasnprintf.c: Updated
- * mailbox/vasnprintf.h: Updated
- * mailbox/vsnprintf.c: Updated
- * mailbox/vsnprintf.h: Updated
- * mailbox/xsize.h: Updated
-
- End of update
-
- * auth/sql.c: Minor fixes to get rid of the spurious gcc warnings.
- * libsieve/actions.c: Likewise
- * libsieve/prog.c: Likewise
- * libsieve/sieve.h: Likewise
- * libsieve/sieve.l: Likewise
- * libsieve/extensions/vacation.c: Likewise
- * mail/escape.c: Likewise
- * mailbox/argcv.c: Likewise
- * mailbox/file_stream.c: Likewise
- * mailbox/munre.c: Likewise
- * mailbox/mutil.c: Likewise
- * mh/mh_alias.l: Likewise
- * mh/mh_alias.y: Likewise
- * mh/mh_init.c: Likewise
- * mh/mh_whatnow.c: Likewise
- * mh/mh_whom.c: Likewise
- * mh/mhn.c: Likewise
- * sql/sql.c: Likewise
-
- * include/mailutils/header.h (MU_HEADER_DCC): New macro. Dcc is a
- header traditionally used by MH
- * include/mailutils/mutil.h (mu_unre_set_regex): First argument is
- const.
- * lib/daemon.c: Include stdlib.h
- * lib/mailcap.c: All functions, except display_stream_mailcap, are
- static.
- * libmu_scm/mu_message.c (struct mu_message.needs_destroy): New
- member
- (mu_scm_message_mark): Raise needs_destroy if the message has null
- owner.
- (mu_scm_message_free): Do not attempt to reference msg, unless its
- needs_destroy is set.
- (mu_scm_message_create): Initialize needs_destroy to 0.
- * libsieve/extensions/moderator.c (moderator_action): set deleted
- flag manually, do not use undeclared sieve_mark_deleted.
- * mailbox/amd.c (amd_close): Unlock the monitor before returning
-
- * mh/send.c (fix_fcc): Minor fix
- (fix_dcc): New function. Rewrites MH Dcc as standard Bcc header.
- (_action_send): Call fix_dcc
-
- * sql/mysql.c (mu_check_mysql_scrambled_password): Use
- get_salt_from_scrambled.
-
-2006-06-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/filter_trans.c (trans_read): Break the loop if both
- transcoder and read return 0 bytes. This is necessary to correctly
- handle unfinished input strings
- * mailbox/testsuite/Decode2047: New testcase: an example of
- unfinished input.
-
- * configure.ac: Raise version number to 0.6.95
- * NEWS: Update
-
-2006-06-15 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Fix generation of libmu_scm documentation.
-
- * doc/texinfo/Makefile.am (INCFILES): Add mu_*.texi files
- * doc/texinfo/libmu_scm.texi: Include snarfed files.
- * libmu_scm/Makefile.am (GUILE_BUILT_SOURCES_X)
- (DISTCLEANFILES): Add guile-procedures.texi
- (guile-procedures.texi): New rule
- * libmu_scm/mailutils.scm.in: Use documentation module. Update
- documentation-files to make sure MU docs are found.
- * libmu_scm/mu_address.c, libmu_scm/mu_logger.c,
- libmu_scm/mu_mailbox.c, libmu_scm/mu_message.c,
- libmu_scm/mu_mime.c, libmu_scm/mu_scm.c,
- libmu_scm/mu_util.c: Update docstrings
- * scripts/guile-1.6/guile-doc-snarf: Fix docfile generation
- * scripts/guile-1.6/guile-doc-snarf.awk: Likewise
- * libmu_scm/.cvsignore, doc/texinfo/.cvsignore,
- include/mailutils/.cvsignore: Update
- * libproto/.cvsignore: New file
-
-2006-06-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/tcp.c (mu_tcp_stream_create_with_source_ip):
- (mu_tcp_stream_create_with_source_host): New functions
- * include/mailutils/stream.h: Likewise
-
- * mailbox/mailbox.c (mailbox_folder_create): Bugfix,
- strncmp(fname...
- * mailbox/registrar.c: Stop iterating when the matching record was
- found.
-
-2006-06-10 Thomas Seeling <thomas.seeling@gmx.net> (trivial changes)
-
- * mailbox/registrar.c (mu_registrar_record): Tolerate NULL
- argument.
-
-2006-05-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * guimb/main.c: Remove leftover optind usage. Thanks Jay
- Sulzberger <jays@panix.com> for reporting.
-
-2006-05-23 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * m4/mu_libobj.m4 (MU_REPLACE_FUNCS): Remove erroneous AC_DEFINE
- * examples/encode2047.c: Allow to change encoding and charset
- at runtime.
- * mailbox/filter_trans.c (trans_read): Bugfix. Do not break the
- loop if there are characters left in the buffer.
- * mailbox/testsuite/Makefile.am (EXTRA_DIST): Add Encode2047
- * mailbox/testsuite/RFC2047: Rename to ...
- * mailbox/testsuite/Decode2047: ... this
- * mailbox/testsuite/Encode2047: New file
- * mailbox/testsuite/mailbox/DISTFILES: Update
- * mailbox/testsuite/mailbox/rfc2047.exp: Rename to ...
- * mailbox/testsuite/mailbox/decode2047.exp: ... this
- * mailbox/testsuite/mailbox/encode2047.exp: New test
-
-2006-05-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libproto/mbox/mbox.c (mbox_is_updated): Return 1 (not updated)
- if unable to measure stream size.
- * mail/quit.c (mail_mbox_close): Initialize held_count to 0
- * mailbox/header.c (mu_header_set_value): Fix length calculation.
-
-2006-05-21 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/folder.c (main): Minor fix
-
- * mailbox/smtp.c (smtp_send_message): Avoid generating spurious
- newline when skipping an Fcc header.
-
-2006-05-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/mailer.c (save_fcc): Handle comma-delimited folder lists
- in Fcc lines.
- * mh/Makefile.am: Add mh_format.h
- * mh/mh_format.h: New file
- * mh/TODO: Update
- * mh/mh_format.c: Move declarations of strobj functions to
- mh_format.h
- * mh/mh_init.c (mh_file_to_message): Fix a memory leak
- * mh/mh_whatnow.c (mh_whatnow): consult VISUAL and EDITOR
- environment variables for the default editor
- * mh/repl.c (opt_handler, make_draft): Handle --fcc
- * mh/rmf.c (main): Fix coredump if invoked with no options.
- * mh/send.c (check_file): Change format of the mesg_list entries.
- (fix_fcc): Correctly handle comma-delimited lists of folders.
- (backup_file): New function.
- (_action_send): Rename draft file after sending it.
- * NEWS: Update.
-
-2006-05-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/send.c (_action_send): Use %z instead of %Z to form Date
- header.
-
- * NEWS: Update
- * doc/texinfo/mu-mh.texi: Minor fix
- * mh/ali.c, mh/burst.c, mh/comp.c, mh/compcommon.c, mh/fmtcheck.c,
- mh/folder.c, mh/forw.c, mh/inc.c, mh/mark.c, mh/mh_alias.l,
- mh/mh_alias.y, mh/mh_argp.c, mh/mh_ctx.c, mh/mh_fmtgram.y,
- mh/mh_format.c, mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c,
- mh/mh_stream.c, mh/mh_whatnow.c, mh/mh_whom.c, mh/mhl.c, mh/mhn.c,
- mh/pick.c, mh/pick.y, mh/refile.c, mh/repl.c, mh/rmf.c, mh/scan.c,
- mh/send.c, mh/sortm.c: Remove mh_error function, use mu_error
- instead.
-
- * mh/folder.c: Improve compatibility with nmh: if a folder is
- specified along with -all, set the recursion depth to 2 (unless
- -recurse has also been given).
- (print_header,print_total): Default to -1
- (recurse): Removed in favor of max_depth.
- (has_folder,max_depth): New variable.
- (OPTION_IS_SET): New macro.
- (opt_handler): Updated for new variable usage.
- (_scan): Depth argument is now size_t
- Take into account max_depth.
- (action_print): Use OPTION_IS_SET with the three-state variables
- (main): Properly set/clear show_all and max_depth.
-
-2006-05-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/folder.c (opt_handler): Allow -noheader and -nototal to be
- used with -all.
- * mh/mh_init.c (mh_error): Moved from mh_error.c
- * mh/Makefile.am (libmh_a_SOURCES): Remove mh_error.c
- * mh/mh_error.c: Removed
-
-2006-05-15 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/folder.c (_scan): Bugfix
- * mh/mh.h (mh_makedir): New function
- * mh/mh_init.c (mh_makedir): New function
- (mh_check_folder): Use mh_makedir to create directories (or
- directory hierarchies).
- * NEWS: Update
-
-2006-05-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/folder.c (_scan): Test for existence of the folder even if
- --fast was given. Exit with code 1 if the folder does not exist.
-
-2006-04-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/texinfo/mu-mh.texi: New file
- * doc/texinfo/programs.texi: Update
- * doc/texinfo/Makefile.am (mailutils_TEXINFOS): Add mu-mh.texi
- (info_TEXINFOS): Remove muint.texi
-
- * mh/README: Removed. Documentation moved to its proper place in
- mailutils.info.
-
- * Makefile.am (SUBDIRS): Remove intl
- * configure.ac: Require external gettext
- Always define GNULIB_ARGP_EXTERN_BASENAME
- * config/Makefile.am (AM_CPPFLAGS): Removed
- * mailbox/Makefile.am: Likewise
- * movemail/Makefile.am: Likewise
- * include/mailutils/address.h (mu_address_set_personal)
- (mu_address_set_comments): New functions
- * mailbox/address.c: Likewise
- * mailbox/sendmail.c: Add extra debug info
- * mh/mh.h: Include <argp-namefrob.h>
- * mh/mh_getopt.c: Likewise
- * mh/mh_alias.y (mh_alias_get_internal): Set `inclusive'
- only if the alias matches
- (mh_alias_get_address): Initialize incl
- Use mu_address_set_personal to handle alias inclusion
- * mh/mh_whom.c (mh_alias_expand): Initialize incl
-
-2006-04-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS, README: Updated
-
- * configure.ac: Minor change
- * guimb/scm/Makefile.am (sieve.scm): Use auxiliary sed script to
- create.
- (pkgdata_DATA): Rename to sievemod_DATA
- * guimb/scm/redirect.scm: Use handle-exception where necessary
- * guimb/scm/reject.scm: Likewise.
- * guimb/scm/vacation.scm: Likewise.
-
- * guimb/scm/sieve-core.scm: Rewrite as module. Change
- initialization of the syntax tables.
- (handle-exception,sieve-verbose-print): New macro
- (action-fileinto,action-keep,action-stop,action-discard): Produce
- verbose diagnostics if required.
- (sieve-run): Take thunk as an argument. Report implicit keep if it
- returns #t and the verbose mode is on.
- (sieve-main): Take thunk as an argument.
- * guimb/scm/sieve.scm.in: Load sieve-core as a module.
- Do not use make-shared-substring. Change
- initialization of the syntax tables. Construct the code so, that
- it returns #t if implicit keep is performed, pass the code as an
- argument to sieve-main.
- Fix handling of command line arguments when executing the compiled
- code (call without -o option).
- (lex-error,syntax-error): Rewritten
- (sieve-preprocess-arguments): Correctly handle #:comparator
- tags
- (sieve-parse-arguments): Fix handling of keywords (did not work with
- Guile 1.6.x)
- (sieve-parse-test): Bugfix 1: Some tests are not procedures.
- Bugfix 2: Do not ignore last test in allof, anyof constructs
- (sieve-save-program): Rewrite using with-output-to-file
- (grammar): New option --verbose.
-
- * include/mailutils/guile.h: Update
- * libmu_scm/Makefile.am (pkgdata_DATA): Rename to site_DATA
- * libmu_scm/mailutils.scm.in: Change module definition
-
- * libmu_scm/mu_message.c: Throw exceptions on errors.
- * libmu_scm/mu_scm.c (mu-strerror): New function
- * libmu_scm/mu_scm.h: Include mailutils/errno.h
- * m4/guile.m4: New option --with-guiledir. AC_SUBST all GUILE_.*
- variables. Use $GUILE_CONFIG instead of guile-config.
-
-2006-04-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * guimb/scm/sieve-core.scm: Always load mailutils module
- (sieve-main): Use (mu-mail-directory) instead of mu-path-maildir.
- * include/mailutils/guile.h: Add support for Guile 1.8
- (mu_scm_error): New function
- * include/mailutils/mutil.h (mu_spawnvp): Change type of the 2nd
- argument.
- * libmu_scm/mailutils.scm.in (mu-libs): Use "libmailutils" instead
- of "libmailbox"
- * libmu_scm/mu_address.c: Rewritten using Guile 1.8 API.
- Throw 'mailutils-error instead of returning #f on error.
- * libmu_scm/mu_body.c: Likewise
- * libmu_scm/mu_logger.c: Likewise
- * libmu_scm/mu_mailbox.c: Likewise
- * libmu_scm/mu_message.c: Likewise
- * libmu_scm/mu_mime.c: Likewise
- * libmu_scm/mu_port.c: Likewise
- * libmu_scm/mu_scm.c: Likewise
- * libmu_scm/mu_util.c: Likewise
-
- * libproto/imap/mbox.c (imap_envelope_date): bugfix
- * mailbox/amd.c [WITH_PTHREAD][HAVE_PTHREAD_H]: Fix typo
- * mailbox/locker.c (lock_external): Minor fix
- * mailbox/mutil.c (mu_spawnvp): Change type of the 2nd argument.
-
-2006-04-19 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * gnulib.modules (muaux): Remove xstrtol
- * libproto/pop/mbox.c (parse_answer0,parse_answer1): Use strtoul
- instead of strtoumax. This is a temporary change.
- * m4/gnulib.m4: Remove gl_XSTRTOL.
- * m4/xstrtol.m4: Removed
- * lib/xstrtol.h: Removed
- * lib/xstrtol.c: Removed
- * lib/xstrtoul.c: Removed
-
- * NEWS: Update
- * README: Document --with-berkeley-db option
- * configure.ac (--with-berkeley-db): New option
- (--with-db2): Deprecated. Remove from the help list.
- Raise version number to 0.6.94
-
- * lib/mu_dbm.c: Add support for Berkeley DB >= 3
- * lib/mu_dbm.h: Likewise
- * pop3d/popauth.c: Likewise
- * mailbox/nls.c: Include stdlib.h
-
- * doc/texinfo/address.texi, doc/texinfo/attribute.texi,
- doc/texinfo/auth.texi, doc/texinfo/body.texi,
- doc/texinfo/envelope.texi, doc/texinfo/folder.texi,
- doc/texinfo/framework.texi, doc/texinfo/headers.texi,
- doc/texinfo/imap4.texi, doc/texinfo/iterator.texi,
- doc/texinfo/libsieve.texi, doc/texinfo/locker.texi,
- doc/texinfo/mailbox.texi, doc/texinfo/mailcap.texi,
- doc/texinfo/mailer.texi, doc/texinfo/mbox.texi,
- doc/texinfo/message.texi, doc/texinfo/mime.texi,
- doc/texinfo/nntp.texi, doc/texinfo/parse822.texi,
- doc/texinfo/pop3.texi, doc/texinfo/smtp.texi,
- doc/texinfo/stream.texi, doc/texinfo/url.texi: Reflect namespace
- changes.
-
-2006-04-05 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * THANKS: Add Willem Jaap Zwart
- * NEWS: Update
- * imap4d/imap4d.h (is_atom): New function
- * imap4d/list.c (print_file,print_dir): Rewrite using an
- auxiliary function. Make sure the string is properly quoted if it
- is not a valid atom.
- * imap4d/util.c (is_atom): New function.
- * libproto/imap/folder.c (list_copy): Do nothing if src is NULL.
- (imap_list): Use mu_argcv_get instead of strtok_r to parse last
- two tokens of the reply, so that file names containing white space
- are processed.
- * mailbox/argcv.c: Fix indentation.
-
-2006-03-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/append.c, imap4d/fetch.c, libproto/imap/mbox.c,
- libproto/mbox/mbox.c, libsieve/actions.c, mailbox/message.c,
- mailbox/message_stream.c, mh/mh_init.c, mh/send.c: Use mu_strftime
- * include/mailutils/envelope.h (MU_ENVELOPE_DATE_FORMAT)
- (MU_ENVELOPE_DATE_LENGTH): New defines
- * include/mailutils/mutil.h (mu_strftime): New function
- * include/mailutils/nls.h (mu_set_locale,mu_restore_locale): New
- functions
- * mailbox/mutil.c (mu_strftime): New function
- * mailbox/nls.c (mu_locale_set): New variable
- (mu_set_locale,mu_restore_locale): New functions
- (mu_init_nls): Use mu_set_locale. Store its return in mu_locale_set.
-
- * scripts/generr.awk: Report error if no output lines were
- produced.
-
-2006-03-03 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * Makefile.am (SUBDIRS): Add libproto
- * configure.ac: Define MU_LIB_.* variables
- (MU_AUTHLIBS): Initialize to empty value.
- (AC_CONFIG_FILES): Add libproto Makefiles
-
- * libproto: New directory
- * libproto/Makefile.am: New file
- * libproto/imap: New directory
- * libproto/include: New directory
- * libproto/maildir: New directory
- * libproto/mbox: New directory
- * libproto/mh: New directory
- * libproto/nntp: New directory
- * libproto/pop: New directory
-
- * mailbox/imap/folder.c, mailbox/imap/mbox.c, mailbox/imap/url.c,
- mailbox/imap/Makefile.am, mailbox/imap/.cvsignore: Move to
- libproto/imap
-
- * mailbox/include/address0.h, mailbox/include/amd.h,
- mailbox/include/attribute0.h, mailbox/include/auth0.h,
- mailbox/include/body0.h, mailbox/include/debug0.h,
- mailbox/include/envelope0.h, mailbox/include/filter0.h,
- mailbox/include/folder0.h, mailbox/include/header0.h,
- mailbox/include/imap0.h, mailbox/include/iterator0.h,
- mailbox/include/list0.h, mailbox/include/mailbox0.h,
- mailbox/include/mailer0.h, mailbox/include/message0.h,
- mailbox/include/mime0.h, mailbox/include/monitor0.h,
- mailbox/include/observer0.h, mailbox/include/property0.h,
- mailbox/include/registrar0.h, mailbox/include/stream0.h,
- mailbox/include/url0.h, mailbox/include/Makefile.am,
- mailbox/include/.cvsignore: Move to libproto/include
-
- * mailbox/maildir/folder.c, mailbox/maildir/maildir.h,
- mailbox/maildir/mbox.c, mailbox/maildir/Makefile.am,
- mailbox/maildir/.cvsignore: Move to libproto/maildir
-
- * mailbox/mbox/folder.c, mailbox/mbox/mbox.c,
- mailbox/mbox/mbox0.h, mailbox/mbox/mboxscan.c, mailbox/mbox/url.c,
- mailbox/mbox/Makefile.am, mailbox/mbox/.cvsignore: Move to
- libproto/mbox.
-
- * mailbox/mh/folder.c, mailbox/mh/mbox.c, mailbox/mh/Makefile.am,
- mailbox/mh/.cvsignore: Move to libproto/mh
-
- * mailbox/nntp/folder.c, mailbox/nntp/mbox.c,
- mailbox/nntp/nntp0.h, mailbox/nntp/nntp_article.c,
- mailbox/nntp/nntp_body.c, mailbox/nntp/nntp_carrier.c,
- mailbox/nntp/nntp_connect.c, mailbox/nntp/nntp_create.c,
- mailbox/nntp/nntp_date.c, mailbox/nntp/nntp_debug.c,
- mailbox/nntp/nntp_destroy.c, mailbox/nntp/nntp_disconnect.c,
- mailbox/nntp/nntp_group.c, mailbox/nntp/nntp_head.c,
- mailbox/nntp/nntp_help.c, mailbox/nntp/nntp_ihave.c,
- mailbox/nntp/nntp_iterator.c, mailbox/nntp/nntp_last.c,
- mailbox/nntp/nntp_list_active.c,
- mailbox/nntp/nntp_list_distribpats.c,
- mailbox/nntp/nntp_list_distributions.c,
- mailbox/nntp/nntp_list_extensions.c,
- mailbox/nntp/nntp_list_newsgroups.c,
- mailbox/nntp/nntp_list_times.c, mailbox/nntp/nntp_mode_reader.c,
- mailbox/nntp/nntp_newgroups.c, mailbox/nntp/nntp_newnews.c,
- mailbox/nntp/nntp_next.c, mailbox/nntp/nntp_post.c,
- mailbox/nntp/nntp_quit.c, mailbox/nntp/nntp_readline.c,
- mailbox/nntp/nntp_response.c, mailbox/nntp/nntp_sendline.c,
- mailbox/nntp/nntp_stat.c, mailbox/nntp/nntp_stream.c,
- mailbox/nntp/nntp_timeout.c, mailbox/nntp/url.c,
- mailbox/nntp/Makefile.am, mailbox/nntp/.cvsignore: Move to
- libproto/nntp
-
- * mailbox/pop/folder.c, mailbox/pop/mbox.c,
- mailbox/pop/pop3_apop.c, mailbox/pop/pop3_capa.c,
- mailbox/pop/pop3_carrier.c, mailbox/pop/pop3_connect.c,
- mailbox/pop/pop3_create.c, mailbox/pop/pop3_debug.c,
- mailbox/pop/pop3_dele.c, mailbox/pop/pop3_destroy.c,
- mailbox/pop/pop3_disconnect.c, mailbox/pop/pop3_iterator.c,
- mailbox/pop/pop3_list.c, mailbox/pop/pop3_lista.c,
- mailbox/pop/pop3_noop.c, mailbox/pop/pop3_pass.c,
- mailbox/pop/pop3_quit.c, mailbox/pop/pop3_readline.c,
- mailbox/pop/pop3_response.c, mailbox/pop/pop3_retr.c,
- mailbox/pop/pop3_rset.c, mailbox/pop/pop3_sendline.c,
- mailbox/pop/pop3_stat.c, mailbox/pop/pop3_stls.c,
- mailbox/pop/pop3_stream.c, mailbox/pop/pop3_timeout.c,
- mailbox/pop/pop3_top.c, mailbox/pop/pop3_uidl.c,
- mailbox/pop/pop3_uidla.c, mailbox/pop/pop3_user.c,
- mailbox/pop/url.c, mailbox/pop/Makefile.am,
- mailbox/pop/.cvsignore: Move to libproto/pop.
-
- * auth/Makefile.am, comsat/Makefile.am, config/Makefile.am,
- dotlock/Makefile.am, examples/Makefile.am, frm/Makefile.am,
- guimb/Makefile.am, imap4d/Makefile.am, libmu_scm/Makefile.am,
- libsieve/Makefile.am, libsieve/extensions/Makefile.am,
- mail/Makefile.am, mail.local/Makefile.am, mail.remote/Makefile.am,
- mailbox/Makefile.am, mapi/Makefile.am, messages/Makefile.am,
- mh/Makefile.am, mimeview/Makefile.am, movemail/Makefile.am,
- pop3d/Makefile.am, readmsg/Makefile.am, sieve/Makefile.am: Use
- MU_LIB_.* variables instead of referring to the libraries by their
- relative paths.
-
- * po/POTFILES.in: Update
-
- * mailbox/amd.c: Protect definition of _XOPEN_SOURCE by an extra
- ifdef.
- * libsieve/extensions/vacation.c (regex_comparator): Fix error
- diagnostics
- * mail/mail.h (cursor): Fix declaration
-
- * mailbox/Makefile.am: Fix INCLUDES and SUBDIRS
- * mailbox/filter_trans.c (base64_encode): Split into two
- functions.
- (B_encode): New function for RFC 2047 encoding
- * mailbox/rfc2047.c: Minor indentation fix
- * mh/mhn.c (finish_msg): Make sure part header is preserved.
-
-2006-02-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * auth/Makefile.am, libmu_cpp/Makefile.am, libmu_scm/Makefile.am,
- mailbox/imap/Makefile.am, mailbox/maildir/Makefile.am,
- mailbox/mbox/Makefile.am, mailbox/mh/Makefile.am,
- mailbox/nntp/Makefile.am, mailbox/pop/Makefile.am,
- mapi/Makefile.am: Set version info
- * mailbox/Makefile.am: Compile libmailutils first, then recurse
- into the subdirs.
- * m4/guile.m4: Use improved sed expression, proposed by Thien-Thi
- Nguyen.
-
-2006-02-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
-
- * mh/mhn.c (split_args): New function
- (_message_is_external_body ): Use split_args to parse
- additional arguments
- (mhn_edit): Fix invocation of edit_modify (was not getting
- additional arguments after ';')
- (parse_header_directive): New function
- (mhn_header): New function
- (mhn_compose): Bugfix: initialize env.line
- Call mhn_header to optionally encode Subject line
-
- * mailbox/rfc2047.c (mu_rfc2047_encode): Return EINVAL if any of
- the arguments is NULL.
-
- * frm/common.c (get_personal): Fix coredump on empty From: headers.
-
-2006-02-09 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/message_stream.c (restore_envelope): Restore line
- accidentally deleted with the recent changes.
-
-2006-02-08 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Fix displaying source locations in Sieve action logs:
-
- * libsieve/prog.c (sieve_change_source)
- (sieve_check_source_changed): New functions
- (sieve_code_action,sieve_code_test): Call
- sieve_check_source_changed.
- * libsieve/sieve.h (sieve_change_source): New function
- * libsieve/sieve.l (push_source,pop_source): Do not code
- SOURCE instruction directly, use sieve_change_source() to let the
- code generator know it should do it.
-
- Fix build on platforms without program_invocation_short_name:
-
- * mailbox/Makefile.am (AM_CFLAGS): Use AM_CPPFLAGS instead.
- * config/Makefile.am, movemail/Makefile.am (AM_CPPFLAGS): Add
- GNULIB_ARGP_EXTERN_BASENAME=1
- * config/mailutils-config.c, movemail/movemail.c: Include
- argp-namefrob.h
-
-2006-02-07 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/stream.c (mu_stream_getline)
- (mu_stream_sequential_getline): New function
-
- * mailbox/message_stream.c (_mu_rfc822_open, restore_envelope): Use
- mu_stream_getline
-
- * include/mailutils/stream.h (mu_stream_getline)
- (mu_stream_sequential_getline): New function
-
- * include/mailutils/libsieve.h (mu_sieve_machine_inherit_report):
- Replace by mu_sieve_machine_inherit
- * libsieve/sieve.y: Likewise
- * libsieve/extensions/moderator.c: Likewise.
- * libsieve/extensions/vacation.c: Fix the leading comment.
- * mailbox/argp-namefrob.h: Restored changes accidentally lost in
- gnulib.
-
-2006-02-06 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Raise version number to 0.6.93
- * include/mailutils/libsieve.h (mu_sieve_machine_dup)
- (mu_sieve_machine_inherit_report): New functions
- * include/mailutils/message.h (mu_stream_to_message): New
- function.
- * include/mailutils/mutil.h (mu_mh_delim): New function
- * libsieve/actions.c: Minor stylistic changes
- * libsieve/require.c: Likewise
- * libsieve/sieve.h: Likewise
- * libsieve/sieve.y (mu_sieve_machine_inherit_report)
- (mu_sieve_machine_dup): New functions
- * libsieve/util.c: Minor stylistic changes
- * libsieve/extensions/moderator.c: New file. Automatic moderator
- for Mailman-driven mailing lists.
- * libsieve/extensions/Makefile.am: Add moderator module
-
- * mailbox/message_stream.c: New file. Derived from mh/mh_stream.c
- * mailbox/Makefile.am: Add message_stream.c
- * mailbox/mutil.c (mu_mh_delim): New function
- * mh/mh_stream.c: Rewritten using mu_stream_to_message. Actually,
- the source can be removed now and the function moved elsewhere,
- e.g. to mh_init...
- * sieve/sieve.c (main): Register all mailbox/mailer formats.
-
-2006-01-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/comp.c: Fix semantics of -build/-draftmessage/-[no]draftfolder
- options for compatibility with other implementations of MH
- * mh/forw.c: Likewise
- * mh/whatnow.c: Likewise
- * mh/repl.c: Likewise
- * mh/compcommon.c: Bugfix.
- * mh/mh.h (mh_draft_message): New prototype.
- (xmalloc,xrealloc): Remove prototypes
- * mh/mh_argp.c (parse_opt): Pass ARGP_KEY_INIT to the application
- handler.
- * mh/mh_init.c (mh_draft_message): New function
- * mh/mh_whatnow.c (quit): Don't call rename if both file and
- draftfile are the same.
-
- * imap4d/select.c (imap4d_select0): Fix status display.
-
-2006-01-25 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/select.c (imap4d_select0): Create INBOX if it does not
- exist.
-
- * mailbox/Makefile.am (AM_CFLAGS): Define
- GNULIB_ARGP_EXTERN_BASENAME
- * mailbox/argp-namefrob.h: Bugfix (stray #)
- * mailbox/mutil.c (__argp_base_name): New function
-
- * THANKS: Add Helmut Leitner.
- * mail/mail.c (parse_opt): Try to catch arguments separated from
- the option by whitespace. Solution proposed by Helmut Leitner.
- Avoid queueing multiple "set mode=send" options.
-
- * sql/mysql.c (connect): Initialize socket_name to NULL
-
- * include/mailutils/compat.h (registrar_lookup): Define to
- mu_0_6_registrar_lookup
- * include/mailutils/mailbox.h (mu_mailbox_set_default_proto)
- (mu_mailbox_get_default_proto): New prototypes.
- * include/mailutils/registrar.h (mu_registrar_lookup): Changed
- declaration.
- (mu_0_6_registrar_lookup): New prototype.
- * mailbox/mailbox.c (mu_mailbox_set_default_proto)
- (mu_mailbox_get_default_proto): New functions.
- (mu_mailbox_create): Append default_proto to the mailbox URL, if
- the latter does not already contain one.
- Update invocation of mu_registrar_lookup
-
- * mailbox/mbx_default.c (tilde_expand): Remove
- (mu_mailbox_create_default): Use mu_tilde_expansion instead of
- tilde_expand
-
- * mailbox/mu_argp.c (mu_mailbox_argp_option)
- (mu_common_argp_parser): New option --mailbox-type
- * mailbox/mutil.c (mu_tilde_expansion): Expand tilde after
- the protocol specification.
-
- * mailbox/registrar.c (mu_registrar_lookup): Return error
- code. Use an extra argument to return the flags.
- (mu_0_6_registrar_lookup): New function for compatibility with
- previous versions.
-
- * mailbox/folder.c: Update invocations of mu_registrar_lookup
- * mailbox/mailer.c: Likewise
- * mailbox/mbox/folder.c: Likewise.
-
- * NEWS: Update
-
-2006-01-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/mh_ctx.c (mh_context_read): Allow for empty lines and
- conventional comment characters ('#') in the context file.
- * mh/mh_init.c (mh_is_my_name): Bugfix: do not use strtok_r, which
- modifies its argument.
-
- * include/mailutils/header.h (MU_HEADER_X_MAILER): New define
- * mail/send.c (mail_send0): Use MU_HEADER_X_MAILER
- * mh/replcomps: Remove X-Mailer. Send will add it if needed.
- * mh/replgroupcomps: Likewise
- * mh/send.c (read_mts_profile): Support localname and localdomain
- variables.
- (read_mts_profile): Support x-mailer variable.
- * NEWS: Updated
-
-2006-01-23 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/mail.h (exec_compl): New prototype
- * mail/mailline.c (ml_command_completion): Fix coredump
- (exec_compl,exec_generator): New functions
- * mail/table.c: Use exec_compl to complete first argument to !
-
- * mailbox/parse822.c (mu_parse822_time): Assume UTC for invalid or
- unknown timezones.
-
-2006-01-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Sources before this point are tagged alpha_0_6_92
-
- * mailbox/mu_umaxtostr.c: New file
- * mailbox/mu_umaxtostr.h: New file
-
- * configure.ac: Remove HAVE_DECL_PROGRAM_INVOCATION_NAME hack,
- newer argp does that itself.
- Raise version number to 0.6.93
- * gnulib.modules (mailutils): Add inttostr
- * examples/Makefile.am, imap4d/Makefile.am,
- libsieve/extensions/Makefile.am, pop3d/Makefile.am (AM_LDFLAGS):
- Load libmuaux before libmailutils.
-
- * mailbox/imap/Makefile.am (libmu_imap_la_LIBADD): New variable
- * mailbox/pop/Makefile.am (libmu_pop_la_LIBADD): New variable
-
- * examples/muemail.c: Include stdlib.h
-
- * imap4d/fetch.c, imap4d/imap4d.c, imap4d/search.c,
- mailbox/daemon.c, mailbox/message.c, mailbox/imap/mbox.c,
- mh/burst.c, mh/compcommon.c, mh/folder.c, mh/forw.c,
- mh/mh_global.c, mh/mh_msgset.c, mh/mh_sequence.c, mh/mhn.c,
- mh/mhpath.c, mh/pick.c, mh/repl.c, mh/sortm.c, pop3d/apop.c,
- pop3d/capa.c, pop3d/dele.c, pop3d/list.c, pop3d/logindelay.c,
- pop3d/pop3d.c, pop3d/stat.c, pop3d/uidl.c, pop3d/user.c: Use
- mu_umaxtostr to format size_t and off_t values
-
- * imap4d/imap4d.h, libmu_scm/mu_port.c, mh/mh.h, pop3d/pop3d.h:
- Include mu_umaxtostr.h
-
- * mh/mh_format.c: Recognize EET and EEST time zones
-
- * mailbox/pop/mbox.c: Fix parsing of pop3 server replies.
- Use mu_umaxtostr to format size_t and off_t values
-
- * mailbox/imap/folder.c: Add gettext markers
- * mailbox/mbox/mbox.c: Likewise
- * mailbox/mbox/mbox0.h: Include mailutils/nls.h
-
- * mail/set.c, mail/unset.c, mail/mail.h,
- mail/util.c (util_printenv): Change return type to void.
- All callers updated.
-
- * mail.local/mail.local.h: Define USE_MAILBOX_QUOTAS after
- including mu_dbm.h
- * mail.local/mailquota.c: Issue error message if unable to open
- the database.
-
- * mailbox/Makefile.am (AM_CFLAGS): Define
- GNULIB_ARGP_DISABLE_DIRNAME
- (EXTRA_DIST): Remove pin.c
-
- * po/POTFILES.in: Updated. Sorted alphabetically
-
- * scripts/gnulib-sync (expand_modules): Implement 'avoid' feature.
- Avoid expanding dirname into mailbox/, since it drags xalloc with
- it.
-
- Update by gnulib-sync.
-
- * lib/fnmatch.c: Updated
- * lib/malloc.c: Updated
- * lib/strcasecmp.c: Updated
- * lib/strncasecmp.c: Updated
- * m4/gnulib.m4: Updated
- * m4/xstrtol.m4: Updated
-
- * lib/allocsa.c: Updated
- * lib/allocsa.h: Updated
- * lib/allocsa.valgrind: Updated
- * lib/asprintf.c: Updated
- * lib/error.c: Updated
- * lib/error.h: Updated
- * lib/exit.h: Updated
- * lib/exitfail.c: Updated
- * lib/exitfail.h: Updated
- * lib/getpass.c: Updated
- * lib/getpass.h: Updated
- * lib/mbswidth.c: Updated
- * lib/mbswidth.h: Updated
- * lib/obstack.c: Updated
- * lib/obstack.h: Updated
- * lib/realloc.c: Updated
- * lib/setenv.c: Updated
- * lib/setenv.h: Updated
- * lib/snprintf.c: Updated
- * lib/snprintf.h: Updated
- * lib/unsetenv.c: Updated
- * lib/vasprintf.c: Updated
- * lib/vasprintf.h: Updated
- * lib/xalloc-die.c: Updated
- * lib/xalloc.h: Updated
- * lib/xmalloc.c: Updated
- * lib/xsize.h: Updated
- * m4/alloca.m4: Updated
- * m4/allocsa.m4: Updated
- * m4/argp.m4: Updated
- * m4/d-type.m4: Updated
- * m4/eealloc.m4: Updated
- * m4/eoverflow.m4: Updated
- * m4/error.m4: Updated
- * m4/exitfail.m4: Updated
- * m4/extensions.m4: Updated
- * m4/fnmatch.m4: Updated
- * m4/getdelim.m4: Updated
- * m4/getline.m4: Updated
- * m4/getlogin_r.m4: Updated
- * m4/getopt.m4: Updated
- * m4/getpass.m4: Updated
- * m4/glob.m4: Updated
- * m4/intmax_t.m4: Updated
- * m4/inttostr.m4: Added to the repository
- * m4/inttypes.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/mbchar.m4: Updated
- * m4/mbiter.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbswidth.m4: Updated
- * m4/md5.m4: Updated
- * m4/memchr.m4: Updated
- * m4/mempcpy.m4: Updated
- * m4/minmax.m4: Updated
- * m4/obstack.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/regex.m4: Updated
- * m4/restrict.m4: Updated
- * m4/setenv.m4: Updated
- * m4/signed.m4: Updated
- * m4/size_max.m4: Updated
- * m4/snprintf.m4: Updated
- * m4/stat-macros.m4: Updated
- * m4/stdbool.m4: Updated
- * m4/stdint.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/strcase.m4: Updated
- * m4/strchrnul.m4: Updated
- * m4/strdup.m4: Updated
- * m4/strerror_r.m4: Updated
- * m4/strndup.m4: Updated
- * m4/strnlen.m4: Updated
- * m4/strtok_r.m4: Updated
- * m4/sysexits.m4: Updated
- * m4/uintmax_t_gl.m4: Updated
- * m4/uintmax_t_gl.m4: Updated
- * m4/ulonglong_gl.m4: Updated
- * m4/ulonglong_gl.m4: Updated
- * m4/vasnprintf.m4: Updated
- * m4/vasprintf.m4: Updated
- * m4/vsnprintf.m4: Updated
- * m4/wchar_t.m4: Updated
- * m4/wint_t.m4: Updated
- * m4/xalloc.m4: Updated
- * m4/xsize.m4: Updated
- * m4/xsize.m4: Updated
- * mailbox/alloca.c: Updated
- * mailbox/alloca_.h: Updated
- * mailbox/argp-ba.c: Updated
- * mailbox/argp-eexst.c: Updated
- * mailbox/argp-fmtstream.c: Updated
- * mailbox/argp-fmtstream.h: Updated
- * mailbox/argp-fs-xinl.c: Updated
- * mailbox/argp-help.c: Updated
- * mailbox/argp-namefrob.h: Updated
- * mailbox/argp-parse.c: Updated
- * mailbox/argp-pin.c: Added to the repository
- * mailbox/argp-pv.c: Updated
- * mailbox/argp-pvh.c: Updated
- * mailbox/argp-xinl.c: Updated
- * mailbox/argp.h: Updated
- * mailbox/asnprintf.c: Updated
- * mailbox/fnmatch.c: Updated
- * mailbox/fnmatch_.h: Updated
- * mailbox/fnmatch_loop.c: Updated
- * mailbox/getdelim.c: Updated
- * mailbox/getdelim.h: Updated
- * mailbox/getline.c: Updated
- * mailbox/getline.h: Updated
- * mailbox/getlogin_r.c: Updated
- * mailbox/getlogin_r.h: Updated
- * mailbox/getopt.c: Updated
- * mailbox/getopt1.c: Updated
- * mailbox/getopt_.h: Updated
- * mailbox/getopt_int.h: Updated
- * mailbox/gettext.h: Updated
- * mailbox/glob-libc.h: Updated
- * mailbox/glob.c: Updated
- * mailbox/glob_.h: Updated
- * mailbox/imaxtostr.c: Added to the repository
- * mailbox/intprops.h: Added to the repository
- * mailbox/inttostr.c: Added to the repository
- * mailbox/inttostr.h: Added to the repository
- * mailbox/malloc.c: Updated
- * mailbox/mbchar.c: Updated
- * mailbox/mbchar.h: Updated
- * mailbox/mbuiter.h: Updated
- * mailbox/md5.c: Updated
- * mailbox/md5.h: Updated
- * mailbox/memchr.c: Updated
- * mailbox/mempcpy.c: Updated
- * mailbox/mempcpy.h: Updated
- * mailbox/minmax.h: Updated
- * mailbox/offtostr.c: Added to the repository
- * mailbox/printf-args.c: Updated
- * mailbox/printf-args.h: Updated
- * mailbox/printf-parse.c: Updated
- * mailbox/printf-parse.h: Updated
- * mailbox/regcomp.c: Updated
- * mailbox/regex.c: Updated
- * mailbox/regex.h: Updated
- * mailbox/regex_internal.c: Updated
- * mailbox/regex_internal.h: Updated
- * mailbox/regexec.c: Updated
- * mailbox/size_max.h: Updated
- * mailbox/stat-macros.h: Updated
- * mailbox/stdbool_.h: Updated
- * mailbox/stdint_.h: Updated
- * mailbox/strcase.h: Updated
- * mailbox/strcasecmp.c: Updated
- * mailbox/strchrnul.c: Updated
- * mailbox/strchrnul.h: Updated
- * mailbox/strdup.c: Updated
- * mailbox/strdup.h: Updated
- * mailbox/strncasecmp.c: Updated
- * mailbox/strndup.c: Updated
- * mailbox/strndup.h: Updated
- * mailbox/strnlen.c: Updated
- * mailbox/strnlen.h: Updated
- * mailbox/strnlen1.c: Updated
- * mailbox/strnlen1.h: Updated
- * mailbox/strtok_r.c: Updated
- * mailbox/strtok_r.h: Updated
- * mailbox/sysexit_.h: Updated
- * mailbox/umaxtostr.c: Added to the repository
- * mailbox/vasnprintf.c: Updated
- * mailbox/vasnprintf.h: Updated
- * mailbox/vsnprintf.c: Updated
- * mailbox/vsnprintf.h: Updated
- * mailbox/xsize.h: Updated
-
-2006-01-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Fix bug reported by Ronan KERYELL <Ronan.Keryell@enstb.org>
- (Debian Bug#344420):
-
- * mailbox/file_stream.c (_file_write): Return ENOSPC if fwrite
- returns 0.
- * mailbox/mbox/mbox.c (mbox_append_message0): Preserve return
- status from mu_stream_write, if it is not 0.
- * movemail/movemail.c (main): Exit on first detected IO
- error. Make sure the source mailbox is not modified if not all
- messages were moved successfully.
-
- * THANKS: Add Ronan KERYELL
-
- Support automatic home directory creation in imap4d
-
- * imap4d/authenticate.c (imap4d_authenticate): Call
- imap4d_check_home_dir before switching to user's privileges. Bail
- out if it returns with an error.
- Use util_chdir instead of chdir to change to user's home
- directory.
- * imap4d/login.c (imap4d_login): Likewise
- * imap4d/imap4d.c (create_home_dir,home_dir_mode): New variables
- (options): New option --create-home-dir
- (imap4d_check_home_dir): New function
- * imap4d/imap4d.h (imap4d_check_home_dir,util_chdir): New
- prototype.
- * imap4d/util.c (util_chdir): New function.
- * doc/texinfo/programs.texi: Document --create-home-dir option.
- * NEWS: Update
-
-2006-01-18 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * README-alpha: Update cvs co information
-
-2006-01-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Updated
- * THANKS: Add Walter Neumann
- * doc/texinfo/programs.texi: Document inplacealiases and
- recursealiases.
- * mail/alias.c (alias_expand): Recursively expand aliases if
- recursealiases is set.
- * mail/mail.c (default_setup): Provide defaults for inplacealiases
- and recursealiases.
- * mail/mail.h (is_address_field): New prototype.
- * mail/send.c (compose_header_set): Check for valid arguments at
- the beginning of the function (value can be NULL, e.g. if the user hit
- C-D at Cc: prompt).
- Call util_merge_addresses() only if inplacealiases is set. Expand
- aliases before calling it.
- * mail/util.c (is_address_field): Remove static qualifier.
- (util_header_expand): Expand aliases unless inplacealiases is set.
- * mail/testsuite/mail/send.exp: Set inplacealiases.
-
-2005-12-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * lib/mu_dbm.c: Allow specifying full file name (including the
- suffix).
-
-2005-12-08 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/comp.c, mh/forw.c, mh/repl.c: Make sure -nodraftfolder
- cancels Draft-Folder variable, not only -draftfolder option.
-
-2005-12-05 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/util.c (util_do_command): Bugfix
-
-2005-12-04 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/list.c (list_file,print_dir,print_file): Use
- mkfullname. Fixes [bug #15144].
-
- * imap4d/create.c: Do not create anything and return OK if the
- argument is suffixed with a hierarchy separator. Fixes [bug #15142].
- * imap4d/status.c (imap4d_status): Flush attributes before opening
- the mailbox.
- (status_unseen): Remove superfluous condition
- Fixes [bug #15143].
-
-2005-12-03 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/burst.c (finish_stream): Set map.first if necessary
- (burst_digest): Initialize eb_length
- (burst_rename): Skip messages that do not need to be renamed.
- (main): Do not process inplace if burst_count is 0
-
- * include/mailutils/stream.h (mu_temp_file_stream_create): New
- function.
- * mailbox/file_stream.c: Likewise.
-
- * mh/burst.c: New option --length allows to set a minimal
- encapsulation boundary length.
- (burst_digest): Take into account minimal EB length.
-
- * mh/README: Update
- * mh/TODO: Update
-
- * mh/burst.c (burst): Keep message sequence number in msgno.
- (burst_rename): Fix loop limits
- (main): Fix calculation of last_uid.
- Keep message sequence numbers in ms.
- (burst_digest): Initial implementation of RFC 934
-
-2005-11-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/rfc/rfc934.txt: New file.
- * doc/rfc/Makefile.am (EXTRA_DIST): Add rfc934.txt
-
- * mailbox/amd.c (amd_msg_lookup): Bugfix. Use msg_count == 0
- to determine if the msg_array is empty.
- * mailbox/mime.c (mu_mime_get_part): Set stream_size function.
-
- * mh/burst.c: New file. Initial implementation of burst command.
- * mh/Makefile.am (PROGRAMS_MH,EXTRA_PROGRAMS): Add burst
- * mh/TODO: Update
- * mh/forw.c (msg_copy): Implement FSA described in RFC 934
- * mh/mh_getopt.h (enum mh_arg): New declaration, instead of
- multiple defines.
- * mh/mh_init.c (mh_expand_name): Accept names starting with mh:/
- protocol indicator.
- * mh/.cvsignore: Add burst, sort entries.
-
-2005-11-28 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/header.c: Fix indentation
- * mh/mh.h (mh_context_destroy,mh_context_merge): New proto
- * mh/mh_ctx.c (mh_context_destroy,mh_context_merge): New
- functions.
- * mh/mh_init.c (mh_expand_name): Make sure the returned value can
- safely be freed.
- * mh/send.c (read_mts_profile): Allow .mtstailor to override
- system-wide configuration values.
-
-2005-11-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/msgset.y (msgset_negate): Fix loop break condition.
-
- * sieve/sieve.c (options): Add --dry-run, an alias for -n.
-
-2005-11-25 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/cd.c, mh/folder.c: Fix diagnostic messages
-
-2005-11-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Declare HAVE_DECL_PROGRAM_INVOCATION_NAME,
- otherwise argp-help.c can bail out at line 1693
- * examples/argcv.c: Temporarily include config.h to make sure
- replaced symbols are referenced properly.
- The use of config.h in example files should be reduced to minimum.
-
- * auth/sql.h (sql_interface): Fix data type
- * include/mailutils/errno.hin: Include errno.h
- Provide ECANCELED if it is missing (mainly for cygwin).
- * mailbox/errors (MU_ERR_CANCELED): New error code.
-
- * Makefile.am (EXTRA_DIST): Remove MU_EXTRA_DIST
- * configure.ac: Call MU_FINISH
- * m4/mu_libobj.m4 (MU_LIBSOURCE,MU_LIBSOURCES): Construct the list
- of EXTRA_DIST sources.
- (MU_FINISH): New defun
- * mailbox/Makefile.am (EXTRA_DIST): Add MU_EXTRA_DIST
-
-2005-11-15 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Determine the size of off_t and define an
- equivalent mu_off_t type. We cannot use off_t in the library since
- its size depends on whether large file support is used or not,
- which will lead to arbitrary crashes if a user application and the
- library use off_t of different sizes.
- (MU_COMMON_INCLUDES): New substitute variable
-
- * gnulib.modules (mailutils): Add glob
-
- * include/mailutils/types.h: Removed
- * include/mailutils/types.hin: New file
- * include/mailutils/Makefile.am: Build types.h
-
- * auth/Makefile.am (UNCLUDES): Rewritten using MU_COMMON_INCLUDES
- * comsat/Makefile.am: Likewise
- * config/Makefile.am: Likewise
- * dotlock/Makefile.am: Likewise
- * examples/Makefile.am: Likewise
- * frm/Makefile.am: Likewise
- * guimb/Makefile.am: Likewise
- * imap4d/Makefile.am: Likewise
- * lib/Makefile.am: Likewise
- * libmu_cpp/Makefile.am: Likewise
- * libmu_scm/Makefile.am: Likewise
- * libsieve/Makefile.am: Likewise
- * libsieve/extensions/Makefile.am: Likewise
- * mail/Makefile.am: Likewise
- * mail.local/Makefile.am: Likewise
- * mail.remote/Makefile.am: Likewise
- * mailbox/Makefile.am: Likewise
- * mailbox/imap/Makefile.am: Likewise
- * mailbox/maildir/Makefile.am: Likewise
- * mailbox/mbox/Makefile.am: Likewise
- * mailbox/mh/Makefile.am: Likewise
- * mailbox/nntp/Makefile.am: Likewise
- * mailbox/pop/Makefile.am: Likewise
- * mapi/Makefile.am: Likewise
- * messages/Makefile.am: Likewise
- * mh/Makefile.am: Likewise
- * mimeview/Makefile.am: Likewise
- * movemail/Makefile.am: Likewise
- * pop3d/Makefile.am: Likewise
- * readmsg/Makefile.am: Likewise
- * sieve/Makefile.am: Likewise
- * sql/Makefile.am: Likewise
-
- * auth/tls.c: Use mu_off_t instead of off_t
- * examples/argcv.c: Likewise
- * examples/base64.c: Likewise
- * examples/mimetest.c: Likewise
- * examples/murun.c: Likewise
- * examples/nntpclient.c: Likewise
- * examples/pop3client.c: Likewise
- * include/mailutils/header.h: Likewise
- * include/mailutils/mailbox.h: Likewise
- * include/mailutils/stream.h: Likewise
- * include/mailutils/types.h: Likewise
- * libmu_scm/mu_port.c: Likewise
-
- * mail.local/main.c: Likewise
- * mailbox/amd.c: Likewise
- * mailbox/body.c: Likewise
- * mailbox/file_stream.c: Likewise
- * mailbox/filter.c: Likewise
- * mailbox/filter_iconv.c: Likewise
- * mailbox/filter_rfc822.c: Likewise
- * mailbox/filter_trans.c: Likewise
- * mailbox/header.c: Likewise
- * mailbox/mailbox.c: Likewise
- * mailbox/mapfile_stream.c
- * mailbox/memory_stream.c
- * mailbox/message.c: Likewise
- * mailbox/mime.c: Likewise
- * mailbox/stream.c: Likewise
- * mailbox/tcp.c: Likewise
- * mailbox/imap/folder.c: Likewise
- * mailbox/imap/mbox.c: Likewise
- * mailbox/include/amd.h: Likewise
- * mailbox/include/filter0.h: Likewise
- * mailbox/include/header0.h: Likewise
- * mailbox/include/imap0.h: Likewise
- * mailbox/include/mailbox0.h: Likewise
- * mailbox/include/stream0.h: Likewise
- * mailbox/mbox/mbox.c: Likewise
- * mailbox/mbox/mboxscan.c: Likewise
- * mailbox/nntp/mbox.c: Likewise
- * mailbox/nntp/nntp_stream.c: Likewise
- * mailbox/pop/mbox.c: Likewise
- * mailbox/pop/pop3_stream.c: Likewise
- * mh/mh_stream.c: Likewise
- * pop3d/pop3d.c: Likewise
-
- * m4/gnulib.m4: Update
- * m4/mu_libobj.m4: Update
-
- Update by gnulib-sync:
-
- * lib/allocsa.c: Updated
- * lib/allocsa.h: Updated
- * lib/allocsa.valgrind: Updated
- * lib/asprintf.c: Updated
- * lib/error.c: Updated
- * lib/error.h: Updated
- * lib/exit.h: Updated
- * lib/exitfail.c: Updated
- * lib/exitfail.h: Updated
- * lib/getpass.c: Updated
- * lib/getpass.h: Updated
- * lib/intprops.h: Updated
- * lib/mbswidth.c: Updated
- * lib/mbswidth.h: Updated
- * lib/obstack.c: Updated
- * lib/obstack.h: Updated
- * lib/realloc.c: Updated
- * lib/setenv.c: Updated
- * lib/setenv.h: Updated
- * lib/snprintf.c: Updated
- * lib/snprintf.h: Updated
- * lib/unsetenv.c: Updated
- * lib/vasprintf.c: Updated
- * lib/vasprintf.h: Updated
- * lib/xalloc-die.c: Updated
- * lib/xalloc.h: Updated
- * lib/xmalloc.c: Updated
- * lib/xsize.h: Updated
- * lib/xstrtol.c: Updated
- * lib/xstrtol.h: Updated
- * lib/xstrtoul.c: Updated
- * m4/alloca.m4: Updated
- * m4/allocsa.m4: Updated
- * m4/argp.m4: Updated
- * m4/d-type.m4: Added to the repository
- * m4/eealloc.m4: Updated
- * m4/eoverflow.m4: Updated
- * m4/error.m4: Updated
- * m4/exitfail.m4: Updated
- * m4/extensions.m4: Updated
- * m4/fnmatch.m4: Updated
- * m4/getdelim.m4: Updated
- * m4/getline.m4: Updated
- * m4/getlogin_r.m4: Added to the repository
- * m4/getopt.m4: Updated
- * m4/getpass.m4: Updated
- * m4/glob.m4: Added to the repository
- * m4/intmax_t.m4: Updated
- * m4/inttypes.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/mbchar.m4: Updated
- * m4/mbiter.m4: Added to the repository
- * m4/mbrtowc.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbswidth.m4: Updated
- * m4/md5.m4: Updated
- * m4/memchr.m4: Updated
- * m4/mempcpy.m4: Updated
- * m4/minmax.m4: Updated
- * m4/obstack.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/regex.m4: Updated
- * m4/restrict.m4: Updated
- * m4/setenv.m4: Updated
- * m4/signed.m4: Updated
- * m4/size_max.m4: Updated
- * m4/snprintf.m4: Updated
- * m4/stat-macros.m4: Added to the repository
- * m4/stdbool.m4: Updated
- * m4/stdint.m4: Added to the repository
- * m4/stdint_h_gl.m4: Updated
- * m4/strcase.m4: Updated
- * m4/strchrnul.m4: Updated
- * m4/strdup.m4: Added to the repository
- * m4/strerror_r.m4: Updated
- * m4/strndup.m4: Updated
- * m4/strnlen.m4: Updated
- * m4/strtok_r.m4: Updated
- * m4/sysexits.m4: Updated
- * m4/uintmax_t_gl.m4: Updated
- * m4/ulonglong_gl.m4: Updated
- * m4/vasnprintf.m4: Updated
- * m4/vasprintf.m4: Updated
- * m4/vsnprintf.m4: Updated
- * m4/wchar_t.m4: Updated
- * m4/wint_t.m4: Updated
- * m4/xalloc.m4: Updated
- * m4/xsize.m4: Updated
- * m4/xstrtol.m4: Updated
- * mailbox/alloca.c: Updated
- * mailbox/alloca_.h: Updated
- * mailbox/argp-ba.c: Updated
- * mailbox/argp-eexst.c: Updated
- * mailbox/argp-fmtstream.c: Updated
- * mailbox/argp-fmtstream.h: Updated
- * mailbox/argp-fs-xinl.c: Updated
- * mailbox/argp-help.c: Updated
- * mailbox/argp-namefrob.h: Updated
- * mailbox/argp-parse.c: Updated
- * mailbox/argp-pv.c: Updated
- * mailbox/argp-pvh.c: Updated
- * mailbox/argp-xinl.c: Updated
- * mailbox/argp.h: Updated
- * mailbox/asnprintf.c: Updated
- * mailbox/fnmatch.c: Added to the repository
- * mailbox/fnmatch_.h: Added to the repository
- * mailbox/fnmatch_loop.c: Added to the repository
- * mailbox/getdelim.c: Updated
- * mailbox/getdelim.h: Updated
- * mailbox/getline.c: Updated
- * mailbox/getline.h: Updated
- * mailbox/getlogin_r.c: Added to the repository
- * mailbox/getlogin_r.h: Added to the repository
- * mailbox/getopt.c: Updated
- * mailbox/getopt1.c: Updated
- * mailbox/getopt_.h: Updated
- * mailbox/getopt_int.h: Updated
- * mailbox/gettext.h: Updated
- * mailbox/glob-libc.h: Added to the repository
- * mailbox/glob.c: Added to the repository
- * mailbox/glob_.h: Added to the repository
- * mailbox/malloc.c: Added to the repository
- * mailbox/mbchar.c: Updated
- * mailbox/mbchar.h: Updated
- * mailbox/mbuiter.h: Added to the repository
- * mailbox/md5.c: Updated
- * mailbox/md5.h: Updated
- * mailbox/memchr.c: Updated
- * mailbox/mempcpy.c: Updated
- * mailbox/mempcpy.h: Updated
- * mailbox/minmax.h: Updated
- * mailbox/printf-args.c: Updated
- * mailbox/printf-args.h: Updated
- * mailbox/printf-parse.c: Updated
- * mailbox/printf-parse.h: Updated
- * mailbox/regcomp.c: Updated
- * mailbox/regex.c: Updated
- * mailbox/regex.h: Updated
- * mailbox/regex_internal.c: Updated
- * mailbox/regex_internal.h: Updated
- * mailbox/regexec.c: Updated
- * mailbox/size_max.h: Updated
- * mailbox/stat-macros.h: Added to the repository
- * mailbox/stdbool_.h: Updated
- * mailbox/stdint_.h: Added to the repository
- * mailbox/strcase.h: Updated
- * mailbox/strcasecmp.c: Updated
- * mailbox/strchrnul.c: Updated
- * mailbox/strchrnul.h: Updated
- * mailbox/strdup.c: Added to the repository
- * mailbox/strdup.h: Added to the repository
- * mailbox/strncasecmp.c: Updated
- * mailbox/strndup.c: Updated
- * mailbox/strndup.h: Updated
- * mailbox/strnlen.c: Updated
- * mailbox/strnlen.h: Updated
- * mailbox/strnlen1.c: Updated
- * mailbox/strnlen1.h: Updated
- * mailbox/strtok_r.c: Updated
- * mailbox/strtok_r.h: Updated
- * mailbox/sysexit_.h: Updated
- * mailbox/vasnprintf.c: Updated
- * mailbox/vasnprintf.h: Updated
- * mailbox/vsnprintf.c: Updated
- * mailbox/vsnprintf.h: Updated
- * mailbox/xsize.h: Updated
-
- * examples/argcv.c: Add missing includes
- * examples/mailcap.c: Likewise
- * examples/url-parse.c: Likewise
- * mail/send.c: Likewise
- * mailbox/list.c: Likewise
- * mh/mh_alias.l: Likewise
- * mimeview/mimetypes.l: Likewise
- * examples/nntpclient.c: Add missing forward declarations
-
- * libsieve/sieve.h (mu_sieve_yylex,mu_sieve_yyerror): Add
- declarations.
- * libsieve/sieve.y (yylex,yyerror): Remove declarations
- * include/mailutils/mutil.h (mu_is_proto): New function.
- * mailbox/mutil.c: Likewise
- * mailbox/mbx_default.c (is_proto): Replace by mu_is_proto. All
- callers updated
- * mailbox/mailbox.c (mailbox_folder_create): Do not try to select
- previous level if given a protocol spec, other than `file:'
-
- * mh/mh.h (mh_file_to_message): Change signature
- * mh/mh_init.c: Likewise
- * mimeview/Makefile.am (AM_CPPFLAGS): Add -D_GNU_SOURCE=1, needed
- for compiling lex sources
- * mh/Makefile.am: Likewise
-
-2005-11-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/argcv.c: Include <mailutils/error.h>
- * examples/base64.c: Include <config.h>
- * readmsg/readmsg.h: Likewise
- * mail/z.c (z_parse_args): change tyoe of return_count
- (mail_z): Change type of count to off_t
- * include/mailutils/stream.h: Fix indentation
-
- * scripts/gnulib-sync: Replace AC_LIBSOURCE with MU_LIBSOURCE
-
-2005-11-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/argcv.c: Include <mailutils/error.h>
- * examples/base64.c: Include <config.h>
- * readmsg/readmsg.h: Likewise
- * mail/z.c (z_parse_args): change type of return_count
- (mail_z): Change type of count to off_t
- * include/mailutils/stream.h: Fix indentation
- * mailbox/file_stream.c (struct _fise_stream.offset): Change type
- to off_t
-
-2005-11-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (AUTHLIBS,AUTHLIBS_DEPENDENCY,AUTHINCS): Prefixed
- with MU_
- * mail/msgset.y (check_set): Was displaying `inappropriate message'
- diagnostics if the first message from the set was deleted. Fixed.
- * mail/util.c, mailbox/registrar.c: Add typecasts
- * mh/mh.h: Add includes needed for W.*() macros
- * comsat/Makefile.am, config/Makefile.am, examples/Makefile.am,
- frm/Makefile.am, guimb/Makefile.am, imap4d/Makefile.am,
- libmu_scm/Makefile.am, libsieve/Makefile.am, mail/Makefile.am,
- mail.local/Makefile.am, mail.remote/Makefile.am,
- mailbox/Makefile.am, messages/Makefile.am, mh/Makefile.am,
- movemail/Makefile.am, pop3d/Makefile.am, readmsg/Makefile.am,
- sieve/Makefile.am: Load MU_AUTHLIBS before libmailutils. Fixes
- cygwin build.
-
-2005-11-09 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Somewhat reluctantly append $(EXEEXT) to popauth
- binary name to fix cygwin builds.
- * mail.remote/Makefile.am (PROGRAMS_SMTP): Likewise
- * mh/Makefile.am (PROGRAMS_MH): Likewise
-
-2005-11-07 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac (GUIMB): Fix assignment to work on cygwin too
- * THANKS: Add D. J. Henman
-
-2005-11-03 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * comsat/Makefile.am, dotlock/Makefile.am, examples/Makefile.am,
- frm/Makefile.am, guimb/Makefile.am, imap4d/Makefile.am,
- mail.local/Makefile.am, mail.remote/Makefile.am, mapi/Makefile.am,
- messages/Makefile.am, mh/Makefile.am, movemail/Makefile.am,
- pop3d/Makefile.am, readmsg/Makefile.am, sieve/Makefile.am: Load
- libmuauth before libmailutils.
-
-2005-11-02 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Fix typo
- * comsat/comsat.c: Fix typo in the comment
-
-2005-11-01 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libsieve/sieve.l (pop_source): Clear sieve_filename if
- context_stack is empty.
-
-2005-10-31 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * Makefile.am (release): Rename to alpha
- (alphacheck): New rule
- * configure.ac: Always define program_name to
- program_invocation_name
-
- * libsieve/actions.c (build_mime): Split into three smaller
- functions, each for its own task.
- Add Content-Type,Content-Transfer-Encoding headers to the
- DSN. Proposed by Kostas Zorbadelos.
- * sieve/testsuite/Reject: Updated to match the above changes
- * sieve/testsuite/sieve/reject.exp: Updated
- * examples/http.c: Include <sys/time.h>
- * mailbox/imap/folder.c (imap_writeline): Fix handling of input
- lines longer than 254 chars. Proposed by Daniel Kahn Gillmor.
- * THANKS: Add Kostas Zorbadelos and Daniel Kahn Gillmor.
-
-2005-10-30 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Updated
- * include/mailutils/compat.h: New file. Compatibility defines for
- programs using mailutils interface version 0:0:0.
- * include/mailutils/Makefile.am (pkginclude_HEADERS): Add compat.h
- * include/mailutils/folder.h (mu_0_6_folder_list)
- (mu_0_6_folder_lsub,mu_0_6_folder_list_destroy): Compatibility
- functions.
- * include/mailutils/mailutils.h: Include compat.h, if required
- * include/mailutils/message.h (message_unref): Rename to
- mu_message_unref. All callers updated
- * include/mailutils/mime.h (MIME_INCREAMENTAL_PARSER): Remove
- (MIME_MULTIPART_MIXED,MIME_MULTIPART_ALT): Prefix with MU_. All
- uses changed.
- * include/mailutils/monitor.h (struct mu__monitor): Rename to
- mu_monitor. All uses changed.
- * include/mailutils/registrar.h (struct _mu_record): Fix member
- names. All uses changed
- * include/mailutils/sql.h (rdl_init_t,rdl_done_t): Prefix with mu_
- * mail/util.c (util_do_command): Minor fix
-
- * libsieve/actions.c,libsieve/extensions/vacation.c,
- mailbox/filter.c, mailbox/folder.c, mailbox/mime.c,
- mailbox/registrar.c, mailbox/rfc2047.c, mh/mhl.c, mh/mhn.c: Synch
- with the above changes.
-
- * mail/if.c (mail_if): Fix 'r' condition
- (mail_else): Fix handling of nested ifs
- * mail/mail.c: New option --exec (-E)
- (mail_cmdline): Invalidate the page when a new mail arrives
- (main): Fix handling of modes.
- * mail/quit.c (mail_mbox_close): mbox can be NULL (e.g.
- --exec=quit was given)
- * mail/util.c (util_do_command): Accept traditional contracted
- forms (`d*', `p9')
- Fix bug in handling conditional branches (bug introduced on
- 2005-08-11).
- * mail/testsuite/if.mail: New test script.
- * mail/testsuite/Makefile.am (EXTRA_DIST): Add if.mail
- * mail/testsuite/mail/if.exp: New test case.
- * mail/testsuite/mail/DISTFILES: Add if.exp
-
-2005-10-28 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/argcv.c: Include config.h
-
-2005-10-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: New option --without-fribidi allows to disable
- fribidi support.
- Check for FRIBIDI_CHARSET_CAP_RTL vs. FRIBIDI_CHAR_SET_CAP_RTL.
- * README: Updated
-
-2005-09-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/decode2047.c: Allow to specify charset from the command
- line.
- * examples/encode2047.c: Allow to specify charset and encoding
- from the command line.
- * include/mailutils/filter.h (mu_rfc_2047_B_filter): New filter.
- * include/mailutils/libsieve.h (MU_SIEVE_CHARSET): New define
- * libsieve/extensions/vacation.c: Implemented :mime. Correctly
- handle subject line, no matter what the charset is.
- Fixed bug in creating `References:' header.
-
- * mailbox/filter.c (mu_filter_get_list): Add mu_rfc_2047_B_filter
- * mailbox/filter_trans.c (mu_rfc_2047_B_filter): New filter. Alias
- to base64.
-
- * include/mailutils/iterator.h: Minor stylistic changes
- * mailbox/iterator.c: Likewise
- * mailbox/wicket.c: Likewise
- * mh/mhn.c: Likewise
-
-2005-09-22 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Minor wording change.
- * config/mailutils-config.c: New command line argument "sieve".
-
-2005-09-19 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/imap/mbox.c (delete_to_string): Make sure the message
- set does not end with a comma. Bug reported by Gerd Flaig
- (<gefla@pond.sub.org>), I suppose.
-
-2005-09-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/send.c (expand_aliases): Use mh_expand_aliases
-
- * mh/forw.c,mh/repl.c: Implemented --annotate
-
- * mh/mh_init.c (mh_quote,mh_expand_aliases): New functions
- * mh/mh.h (mh_quote,mh_expand_aliases): New functions
- (struct mh_whatnow_env): New fields to support annotation.
- * mh/mh_whatnow.c: Support message annotation. Improved error
- reporting after launching external programs.
-
- * mh/anno.c (main): Make the first annotated message current.
- (opt_handler): Quote --text argument, if necessary.
-
- * mh/TODO: Updated
-
-2005-09-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/page.c (cond_page_invalidate,page_move): Bugfix.
-
-2005-09-09 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * imap4d/search.c (imap4d_search): Fix potential vulnerability:
- pass format string as a third argument to util_finish
- * imap4d/copy.c, imap4d/fetch.c, imap4d/store.c: Always pass
- format string as a third argument to util_finish. Although this is not
- necessary, since 'buffer' is guaranteed to contain a normal error
- string, without format specifiers, yet this will simplify maintainence.
-
-2005-08-31 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * examples/lsf.c: New test program. List folders
- * examples/Makefile.am: Add lsf
- * mailbox/imap/folder.c (guess_level,list_copy): Fixed
- (imap_parse): Handle NO case explicitely.
- * mailbox/mbox/folder.c: Minor fix.
-
-2005-08-30 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Remove obsolete usage of mu_folder_list (ex. folder_list). It
- seems to have been introduced when mu_list_t (ex. list_t) has
- not yet been there. All callers updated. Mbox format
- implementation has been tested. Imap format one is being tested.
-
- * include/mailutils/folder.h (struct mu_list_response.level): New
- member
- (struct mu_folder_list): Removed. Use mu_list_t instead
- (mu_folder_list): Use mu_list_t. Take an extra argument: a maximum
- recusion level.
- (mu_folder_lsub): Change typo of the last argument (mu_list_t
- now).
- (mu_folder_list_destroy): Removed
- (mu_list_response_free): New function
- * lib/mu_asprintf.h: Remove vestiges of __P(). Define _GNU_SOURCE,
- if not alrerady defined.
-
- * mailbox/imap/folder.c: Rewritten for new
- mu_folder_list,mu_folder_lsub semantics.
- * mailbox/imap/mbox.c: Likewise
- * mailbox/include/folder0.h: Likewise.
- * mailbox/include/imap0.h: Likewise.
- * mailbox/mbox/folder.c: Likewise.
- * mailbox/nntp/folder.c: Likewise.
- * mail/mailline.c: Use new mu_folder_list
- * mailbox/folder.c: Likewise.
-
- * auth/radius.c: Updated for recent libgnuradius
-
- * mh/folder.c: Implement --pack, --verbose, --dry-run (just in case).
- * mh/TODO: Updated
- * mh/inc.c: Minor bugfixes.
- * mh/mark.c: Likewise
- * mh/mh.h (mh_context_iterator): Changed signature
- * mh/mh_ctx.c (mh_context_iterate): Bugfix
- * mh/mh_getopt.h (ARG_PACK): New define
-
-2005-08-29 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Raise version number to 0.6.92
- Raise library current interface version to 1
- * NEWS: Updated
-
- * include/mailutils/filter.h,
- include/mailutils/registrar.h, include/mailutils/types.h,
- mailbox/filter.c, mailbox/filter_rfc822.c, mailbox/filter_trans.c,
- mailbox/folder.c, mailbox/getopt.h, mailbox/locker.c,
- mailbox/parse822.c, mailbox/registrar.c, mailbox/sendmail.c,
- mailbox/smtp.c, mailbox/url.c, mailbox/imap/folder.c,
- mailbox/include/address0.h, mailbox/include/attribute0.h,
- mailbox/include/auth0.h, mailbox/include/body0.h,
- mailbox/include/debug0.h, mailbox/include/envelope0.h,
- mailbox/include/filter0.h, mailbox/include/folder0.h,
- mailbox/include/header0.h, mailbox/include/iterator0.h,
- mailbox/include/list0.h, mailbox/include/mailbox0.h,
- mailbox/include/mailer0.h, mailbox/include/message0.h,
- mailbox/include/mime0.h, mailbox/include/observer0.h,
- mailbox/include/property0.h, mailbox/include/stream0.h,
- mailbox/include/url0.h, mailbox/maildir/folder.c,
- mailbox/mbox/folder.c, mailbox/mh/folder.c, mailbox/nntp/folder.c,
- mailbox/pop/folder.c: Fix-up structure names from types.h
-
- Final seasoning: Replace munre_ with mu_unre_
-
- * include/mailutils/mutil.h
- * libsieve/extensions/vacation.c
- * mail/followup.c
- * mail/reply.c
- * mail/util.c
- * mailbox/munre.c
- * mh/mh_format.c
- * mh/mh_init.c
-
-2005-08-27 Wojciech Polak <polak@gnu.org>
-
- Normalize global namespace. Part 2: Symbols defined in header files
- mailer.h, message.h, mime.h, monitor.h, observer.h, parse822.h,
- property.h, registrar.h, stream.h, tls.h, types.h, url.h.
-
- Files affected:
-
- * auth/gsasl.c, auth/tls.c, comsat/action.c, comsat/comsat.c,
- comsat/comsat.h, dotlock/dotlock.c, examples/addr.c,
- examples/base64.c, examples/decode2047.c, examples/encode2047.c,
- examples/http.c, examples/iconv.c, examples/listop.c,
- examples/mailcap.c, examples/mimetest.c, examples/msg-send.c,
- examples/mta.c, examples/murun.c, examples/nntpclient.c,
- examples/numaddr.c, examples/pop3client.c, examples/sfrom.c,
- examples/url-parse.c, frm/common.c, frm/frm.c, frm/frm.h,
- frm/from.c, guimb/collect.c, guimb/guimb.h, guimb/util.c,
- imap4d/append.c, imap4d/auth_gsasl.c, imap4d/authenticate.c,
- imap4d/capability.c, imap4d/copy.c, imap4d/fetch.c, imap4d/imap4d.c,
- imap4d/imap4d.h, imap4d/rename.c, imap4d/search.c, imap4d/status.c,
- imap4d/store.c, imap4d/sync.c, imap4d/util.c,
- include/mailutils/address.h, include/mailutils/attribute.h,
- include/mailutils/auth.h, include/mailutils/body.h,
- include/mailutils/envelope.h, include/mailutils/filter.h,
- include/mailutils/folder.h, include/mailutils/gsasl.h,
- include/mailutils/guile.h, include/mailutils/header.h,
- include/mailutils/iterator.h, include/mailutils/libsieve.h,
- include/mailutils/list.h, include/mailutils/locker.h,
- include/mailutils/mailbox.h, include/mailutils/mailcap.h,
- include/mailutils/mailer.h, include/mailutils/message.h,
- include/mailutils/mime.h, include/mailutils/monitor.h,
- include/mailutils/mu_auth.h, include/mailutils/mutil.h,
- include/mailutils/nntp.h, include/mailutils/observer.h,
- include/mailutils/parse822.h, include/mailutils/pop3.h,
- include/mailutils/property.h, include/mailutils/refcount.h,
- include/mailutils/registrar.h, include/mailutils/stream.h,
- include/mailutils/tls.h, include/mailutils/types.h,
- include/mailutils/url.h, include/mailutils/sys/nntp.h,
- include/mailutils/sys/pop3.h, lib/mailcap.c, libmu_scm/mu_address.c,
- libmu_scm/mu_body.c, libmu_scm/mu_mailbox.c, libmu_scm/mu_message.c,
- libmu_scm/mu_mime.c, libmu_scm/mu_port.c, libmu_scm/mu_scm.c,
- libsieve/actions.c, libsieve/argp.c, libsieve/comparator.c,
- libsieve/load.c, libsieve/prog.c, libsieve/register.c,
- libsieve/relational.c, libsieve/require.c, libsieve/runtime.c,
- libsieve/sieve.h, libsieve/sieve.l, libsieve/sieve.y, libsieve/tests.c,
- libsieve/util.c, libsieve/extensions/list.c, libsieve/extensions/spamd.c,
- libsieve/extensions/timestamp.c, libsieve/extensions/vacation.c,
- mail/alias.c, mail/alt.c, mail/copy.c, mail/decode.c, mail/delete.c,
- mail/edit.c, mail/escape.c, mail/file.c, mail/followup.c, mail/from.c,
- mail/hold.c, mail/mail.c, mail/mail.h, mail/mailline.c, mail/mbox.c,
- mail/msgset.y, mail/next.c, mail/page.c, mail/pipe.c, mail/previous.c,
- mail/print.c, mail/quit.c, mail/reply.c, mail/retain.c, mail/send.c,
- mail/size.c, mail/summary.c, mail/tag.c, mail/top.c, mail/touch.c,
- mail/undelete.c, mail/util.c, mail/visual.c, mail/write.c,
- mail.local/mail.local.h, mail.local/main.c, mail.local/script.c,
- mail.remote/mail.remote.c, mailbox/address.c, mailbox/amd.c,
- mailbox/attachment.c, mailbox/attribute.c, mailbox/auth.c,
- mailbox/body.c, mailbox/envelope.c, mailbox/file_stream.c,
- mailbox/filter.c, mailbox/filter_iconv.c, mailbox/filter_rfc822.c,
- mailbox/filter_trans.c, mailbox/folder.c, mailbox/header.c,
- mailbox/iterator.c, mailbox/list.c, mailbox/locker.c, mailbox/mailbox.c,
- mailbox/mailcap.c, mailbox/mailer.c, mailbox/mapfile_stream.c,
- mailbox/mbx_default.c, mailbox/memory_stream.c, mailbox/message.c,
- mailbox/mime.c, mailbox/monitor.c, mailbox/mu_argp.c, mailbox/mu_auth.c,
- mailbox/mutil.c, mailbox/observer.c, mailbox/parse822.c,
- mailbox/property.c, mailbox/registrar.c, mailbox/rfc2047.c,
- mailbox/sendmail.c, mailbox/smtp.c, mailbox/stream.c, mailbox/tcp.c,
- mailbox/ticket.c, mailbox/url.c, mailbox/url_sendmail.c,
- mailbox/url_smtp.c, mailbox/wicket.c, mailbox/imap/folder.c,
- mailbox/imap/mbox.c, mailbox/imap/url.c, mailbox/include/amd.h,
- mailbox/include/attribute0.h, mailbox/include/auth0.h,
- mailbox/include/body0.h, mailbox/include/envelope0.h,
- mailbox/include/filter0.h, mailbox/include/folder0.h,
- mailbox/include/header0.h, mailbox/include/imap0.h,
- mailbox/include/iterator0.h, mailbox/include/list0.h,
- mailbox/include/mailbox0.h, mailbox/include/mailer0.h,
- mailbox/include/message0.h, mailbox/include/mime0.h,
- mailbox/include/observer0.h, mailbox/include/property0.h,
- mailbox/include/registrar0.h, mailbox/include/stream0.h,
- mailbox/include/url0.h, mailbox/maildir/folder.c, mailbox/maildir/mbox.c,
- mailbox/mbox/folder.c, mailbox/mbox/mbox.c, mailbox/mbox/mbox0.h,
- mailbox/mbox/mboxscan.c, mailbox/mbox/url.c, mailbox/mh/folder.c,
- mailbox/mh/mbox.c, mailbox/nntp/folder.c, mailbox/nntp/mbox.c,
- mailbox/nntp/nntp0.h, mailbox/nntp/nntp_article.c,
- mailbox/nntp/nntp_body.c, mailbox/nntp/nntp_carrier.c,
- mailbox/nntp/nntp_connect.c, mailbox/nntp/nntp_destroy.c,
- mailbox/nntp/nntp_disconnect.c, mailbox/nntp/nntp_head.c,
- mailbox/nntp/nntp_help.c, mailbox/nntp/nntp_ihave.c,
- mailbox/nntp/nntp_iterator.c, mailbox/nntp/nntp_list_active.c,
- mailbox/nntp/nntp_list_distribpats.c,
- mailbox/nntp/nntp_list_distributions.c,
- mailbox/nntp/nntp_list_extensions.c, mailbox/nntp/nntp_list_newsgroups.c,
- mailbox/nntp/nntp_list_times.c, mailbox/nntp/nntp_newgroups.c,
- mailbox/nntp/nntp_newnews.c, mailbox/nntp/nntp_post.c,
- mailbox/nntp/nntp_readline.c, mailbox/nntp/nntp_sendline.c,
- mailbox/nntp/nntp_stream.c, mailbox/nntp/url.c, mailbox/pop/folder.c,
- mailbox/pop/mbox.c, mailbox/pop/pop3_capa.c, mailbox/pop/pop3_carrier.c,
- mailbox/pop/pop3_connect.c, mailbox/pop/pop3_destroy.c,
- mailbox/pop/pop3_disconnect.c, mailbox/pop/pop3_iterator.c,
- mailbox/pop/pop3_lista.c, mailbox/pop/pop3_readline.c,
- mailbox/pop/pop3_retr.c, mailbox/pop/pop3_sendline.c,
- mailbox/pop/pop3_stls.c, mailbox/pop/pop3_stream.c,
- mailbox/pop/pop3_top.c, mailbox/pop/pop3_uidla.c, mailbox/pop/url.c,
- messages/messages.c, mh/ali.c, mh/anno.c, mh/comp.c, mh/compcommon.c,
- mh/folder.c, mh/forw.c, mh/inc.c, mh/mark.c, mh/mh.h, mh/mh_alias.y,
- mh/mh_ctx.c, mh/mh_format.c, mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c,
- mh/mh_stream.c, mh/mh_whatnow.c, mh/mh_whom.c, mh/mhl.c, mh/mhn.c,
- mh/mhpath.c, mh/pick.c, mh/pick.h, mh/pick.y, mh/refile.c, mh/repl.c,
- mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c, mh/sortm.c,
- mimeview/mimetypes.y, mimeview/mimeview.c, movemail/movemail.c,
- pop3d/apop.c, pop3d/dele.c, pop3d/expire.c, pop3d/extra.c, pop3d/list.c,
- pop3d/lock.c, pop3d/pop3d.c, pop3d/pop3d.h, pop3d/quit.c, pop3d/retr.c,
- pop3d/rset.c, pop3d/stat.c, pop3d/top.c, pop3d/uidl.c, pop3d/user.c,
- readmsg/msglist.c, readmsg/readmsg.c, readmsg/readmsg.h, sieve/sieve.c,
- sql/odbc.c.
-
-2005-08-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Normalize global namespace. All exportable symbols begin with mu_.
- Part 1: Symbols defined in header files address.h, argcv.h,
- attribute.h, auth.h, body.h, daemon.h, debug.h, envelope.h,
- errno.h, error.h, filter.h, folder.h, gsasl.h, guile.h, header.h,
- iterator.h, libsieve.h, list.h, locker.h, mailbox.h.
-
- Files affected:
-
- * configure.ac, auth/gsasl.c, auth/radius.c, comsat/action.c,
- comsat/cfg.c, comsat/comsat.c, dotlock/dotlock.c, examples/addr.c,
- examples/argcv.c, examples/base64.c, examples/iconv.c,
- examples/listop.c, examples/mimetest.c, examples/msg-send.c,
- examples/mta.c, examples/murun.c, examples/nntpclient.c,
- examples/numaddr.c, examples/pop3client.c, examples/sfrom.c,
- frm/common.c, frm/frm.c, frm/from.c, guimb/collect.c,
- guimb/main.c, guimb/util.c, imap4d/append.c, imap4d/auth_gsasl.c,
- imap4d/authenticate.c, imap4d/bye.c, imap4d/capability.c,
- imap4d/close.c, imap4d/copy.c, imap4d/expunge.c, imap4d/fetch.c,
- imap4d/imap4d.c, imap4d/imap4d.h, imap4d/rename.c,
- imap4d/search.c, imap4d/select.c, imap4d/status.c, imap4d/store.c,
- imap4d/sync.c, imap4d/util.c, include/mailutils/address.h,
- include/mailutils/argcv.h, include/mailutils/attribute.h,
- include/mailutils/auth.h, include/mailutils/body.h,
- include/mailutils/daemon.h, include/mailutils/envelope.h,
- include/mailutils/error.h, include/mailutils/filter.h,
- include/mailutils/folder.h, include/mailutils/gsasl.h,
- include/mailutils/guile.h, include/mailutils/header.h,
- include/mailutils/iterator.h, include/mailutils/libsieve.h,
- include/mailutils/list.h, include/mailutils/locker.h,
- include/mailutils/mailbox.h, include/mailutils/nntp.h,
- include/mailutils/pop3.h, include/mailutils/types.h,
- lib/mailcap.c, libmu_scm/mu_address.c, libmu_scm/mu_body.c,
- libmu_scm/mu_guimb.c, libmu_scm/mu_logger.c,
- libmu_scm/mu_mailbox.c, libmu_scm/mu_message.c,
- libmu_scm/mu_mime.c, libmu_scm/mu_scm.c, libmu_scm/mu_util.c,
- libsieve/Makefile.am, libsieve/actions.c, libsieve/argp.c,
- libsieve/comparator.c, libsieve/load.c, libsieve/prog.c,
- libsieve/register.c, libsieve/relational.c, libsieve/require.c,
- libsieve/runtime.c, libsieve/sieve.h, libsieve/sieve.l,
- libsieve/sieve.y, libsieve/tests.c, libsieve/util.c,
- libsieve/extensions/list.c, libsieve/extensions/spamd.c,
- libsieve/extensions/timestamp.c, libsieve/extensions/vacation.c,
- m4/longdouble.m4, m4/signed.m4, m4/size_max.m4, m4/wchar_t.m4,
- m4/wint_t.m4, m4/xsize.m4, mail/alias.c, mail/copy.c,
- mail/decode.c, mail/delete.c, mail/escape.c, mail/exit.c,
- mail/file.c, mail/followup.c, mail/from.c, mail/hold.c,
- mail/inc.c, mail/mail.c, mail/mailline.c, mail/mbox.c,
- mail/msgset.y, mail/next.c, mail/page.c, mail/print.c,
- mail/quit.c, mail/reply.c, mail/retain.c, mail/send.c,
- mail/shell.c, mail/summary.c, mail/tag.c, mail/touch.c,
- mail/undelete.c, mail/util.c, mail/write.c, mail.local/main.c,
- mail.local/script.c, mail.remote/mail.remote.c,
- mailbox/Makefile.am, mailbox/address.c, mailbox/amd.c,
- mailbox/argcv.c, mailbox/attachment.c, mailbox/attribute.c,
- mailbox/auth.c, mailbox/body.c, mailbox/daemon.c,
- mailbox/envelope.c, mailbox/file_stream.c, mailbox/filter.c,
- mailbox/filter_iconv.c, mailbox/filter_rfc822.c,
- mailbox/filter_trans.c, mailbox/folder.c, mailbox/header.c,
- mailbox/iterator.c, mailbox/list.c, mailbox/locker.c,
- mailbox/mailbox.c, mailbox/mailer.c, mailbox/mbx_default.c,
- mailbox/message.c, mailbox/mime.c, mailbox/mu_argp.c,
- mailbox/mu_auth.c, mailbox/muerror.c, mailbox/mutil.c,
- mailbox/observer.c, mailbox/parse822.c, mailbox/registrar.c,
- mailbox/rfc2047.c, mailbox/sendmail.c, mailbox/smtp.c,
- mailbox/ticket.c, mailbox/wicket.c, mailbox/imap/Makefile.am,
- mailbox/imap/folder.c, mailbox/imap/mbox.c, mailbox/include/amd.h,
- mailbox/include/folder0.h, mailbox/include/imap0.h,
- mailbox/include/list0.h, mailbox/include/mime0.h,
- mailbox/maildir/Makefile.am, mailbox/maildir/mbox.c,
- mailbox/mbox/Makefile.am, mailbox/mbox/folder.c,
- mailbox/mbox/mbox.c, mailbox/mbox/mboxscan.c,
- mailbox/mh/Makefile.am, mailbox/mh/folder.c, mailbox/mh/mbox.c,
- mailbox/nntp/Makefile.am, mailbox/nntp/folder.c,
- mailbox/nntp/mbox.c, mailbox/nntp/nntp_iterator.c,
- mailbox/nntp/nntp_list_active.c,
- mailbox/nntp/nntp_list_distribpats.c,
- mailbox/nntp/nntp_list_distributions.c,
- mailbox/nntp/nntp_list_extensions.c,
- mailbox/nntp/nntp_list_newsgroups.c,
- mailbox/nntp/nntp_list_times.c, mailbox/pop/Makefile.am,
- mailbox/pop/folder.c, mailbox/pop/mbox.c, mailbox/pop/pop3_capa.c,
- mailbox/pop/pop3_iterator.c, messages/messages.c, mh/ali.c,
- mh/anno.c, mh/comp.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/mark.c,
- mh/mh_alias.y, mh/mh_argp.c, mh/mh_ctx.c, mh/mh_format.c,
- mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c, mh/mh_sequence.c,
- mh/mh_stream.c, mh/mh_whatnow.c, mh/mh_whom.c, mh/mhn.c,
- mh/mhpath.c, mh/pick.c, mh/pick.y, mh/refile.c, mh/repl.c,
- mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c, mh/sortm.c,
- mimeview/mimetypes.y, mimeview/mimeview.c, movemail/movemail.c,
- pop3d/apop.c, pop3d/dele.c, pop3d/expire.c, pop3d/extra.c,
- pop3d/list.c, pop3d/lock.c, pop3d/pop3d.c, pop3d/popauth.c,
- pop3d/quit.c, pop3d/retr.c, pop3d/rset.c, pop3d/stat.c,
- pop3d/top.c, pop3d/uidl.c, pop3d/user.c, readmsg/msglist.c,
- readmsg/readmsg.c, sieve/sieve.c, sql/odbc.c.
-
-2005-08-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * scripts/ylwrap: Updated from Radius repository
-
-2005-08-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/testsuite/Makefile.am (EXTRA_DIST): Add Argcv
-
-2005-08-16 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * auth/sql.h: Avoid redefinition of _XOPEN_SOURCE
- * mailbox/imap/folder.c: Likewise
- * mailbox/maildir/mbox.c: Likewise
- * mailbox/mbox/mbox0.h: Likewise
- * mailbox/mh/mbox.c: Likewise
-
- * lib/Makefile.am: Updated
- * mailbox/Makefile.am: Updated
-
- Update by gnulib-sync:
-
- * lib/allocsa.c: Updated
- * lib/allocsa.h: Updated
- * lib/allocsa.valgrind: Updated
- * lib/asprintf.c: Updated
- * lib/error.c: Updated
- * lib/error.h: Updated
- * lib/exit.h: Updated
- * lib/exitfail.c: Updated
- * lib/exitfail.h: Updated
- * lib/fnmatch.c: Updated
- * lib/fnmatch_.h: Updated
- * lib/fnmatch_loop.c: Updated
- * lib/getpass.c: Updated
- * lib/getpass.h: Updated
- * lib/intprops.h: Added to the repository
- * lib/malloc.c: Updated
- * lib/mbswidth.c: Updated
- * lib/mbswidth.h: Updated
- * lib/obstack.c: Updated
- * lib/obstack.h: Updated
- * lib/realloc.c: Updated
- * lib/setenv.c: Updated
- * lib/setenv.h: Updated
- * lib/snprintf.c: Updated
- * lib/snprintf.h: Updated
- * lib/unsetenv.c: Updated
- * lib/vasprintf.c: Updated
- * lib/vasprintf.h: Updated
- * lib/xalloc-die.c: Added to the repository
- * lib/xalloc.h: Updated
- * lib/xmalloc.c: Updated
- * lib/xsize.h: Updated
- * lib/xstrtol.c: Updated
- * lib/xstrtol.h: Updated
- * lib/xstrtoul.c: Updated
- * m4/alloca.m4: Updated
- * m4/allocsa.m4: Updated
- * m4/argp.m4: Updated
- * m4/eealloc.m4: Updated
- * m4/eoverflow.m4: Updated
- * m4/error.m4: Updated
- * m4/exitfail.m4: Updated
- * m4/extensions.m4: Updated
- * m4/fnmatch.m4: Updated
- * m4/getdelim.m4: Added to the repository
- * m4/getline.m4: Updated
- * m4/getopt.m4: Updated
- * m4/getpass.m4: Updated
- * m4/intmax_t.m4: Updated
- * m4/intmax_t.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/inttypes_h_gl.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longdouble.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/longlong_gl.m4: Updated
- * m4/mbchar.m4: Added to the repository
- * m4/mbrtowc.m4: Updated
- * m4/mbrtowc.m4: Updated
- * m4/mbstate_t.m4: Updated
- * m4/mbswidth.m4: Updated
- * m4/md5.m4: Updated
- * m4/memchr.m4: Added to the repository
- * m4/mempcpy.m4: Updated
- * m4/minmax.m4: Added to the repository
- * m4/obstack.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/onceonly.m4: Updated
- * m4/regex.m4: Updated
- * m4/restrict.m4: Updated
- * m4/setenv.m4: Updated
- * m4/signed.m4: Updated
- * m4/size_max.m4: Updated
- * m4/snprintf.m4: Updated
- * m4/stdbool.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/stdint_h_gl.m4: Updated
- * m4/strcase.m4: Updated
- * m4/strchrnul.m4: Updated
- * m4/strerror_r.m4: Updated
- * m4/strndup.m4: Updated
- * m4/strnlen.m4: Updated
- * m4/strtok_r.m4: Updated
- * m4/sysexits.m4: Updated
- * m4/uint32_t.m4: Updated
- * m4/uintmax_t_gl.m4: Updated
- * m4/ulonglong_gl.m4: Updated
- * m4/unlocked-io.m4: Updated
- * m4/vasnprintf.m4: Updated
- * m4/vasprintf.m4: Updated
- * m4/vsnprintf.m4: Updated
- * m4/wchar_t.m4: Updated
- * m4/wint_t.m4: Updated
- * m4/xalloc.m4: Updated
- * m4/xsize.m4: Updated
- * m4/xsize.m4: Updated
- * m4/xstrtol.m4: Updated
- * mailbox/alloca.c: Updated
- * mailbox/alloca_.h: Updated
- * mailbox/argp-ba.c: Updated
- * mailbox/argp-eexst.c: Updated
- * mailbox/argp-fmtstream.c: Updated
- * mailbox/argp-fmtstream.h: Updated
- * mailbox/argp-fs-xinl.c: Updated
- * mailbox/argp-help.c: Updated
- * mailbox/argp-namefrob.h: Updated
- * mailbox/argp-parse.c: Updated
- * mailbox/argp-pv.c: Updated
- * mailbox/argp-pvh.c: Updated
- * mailbox/argp-xinl.c: Updated
- * mailbox/argp.h: Updated
- * mailbox/asnprintf.c: Updated
- * mailbox/getdelim.c: Added to the repository
- * mailbox/getdelim.h: Added to the repository
- * mailbox/getline.c: Updated
- * mailbox/getline.h: Updated
- * mailbox/getopt.c: Updated
- * mailbox/getopt1.c: Updated
- * mailbox/getopt_.h: Updated
- * mailbox/getopt_int.h: Updated
- * mailbox/gettext.h: Updated
- * mailbox/mbchar.c: Added to the repository
- * mailbox/mbchar.h: Added to the repository
- * mailbox/md5.c: Updated
- * mailbox/md5.h: Updated
- * mailbox/memchr.c: Added to the repository
- * mailbox/mempcpy.c: Updated
- * mailbox/mempcpy.h: Updated
- * mailbox/minmax.h: Updated
- * mailbox/printf-args.c: Updated
- * mailbox/printf-args.h: Updated
- * mailbox/printf-parse.c: Updated
- * mailbox/printf-parse.h: Updated
- * mailbox/regcomp.c: Added to the repository
- * mailbox/regex.c: Updated
- * mailbox/regex.h: Updated
- * mailbox/regex_internal.c: Added to the repository
- * mailbox/regex_internal.h: Added to the repository
- * mailbox/regexec.c: Added to the repository
- * mailbox/size_max.h: Added to the repository
- * mailbox/stdbool_.h: Added to the repository
- * mailbox/strcase.h: Updated
- * mailbox/strcasecmp.c: Updated
- * mailbox/strchrnul.c: Updated
- * mailbox/strchrnul.h: Updated
- * mailbox/strncasecmp.c: Updated
- * mailbox/strndup.c: Updated
- * mailbox/strndup.h: Updated
- * mailbox/strnlen.c: Updated
- * mailbox/strnlen.h: Added to the repository
- * mailbox/strnlen1.c: Added to the repository
- * mailbox/strnlen1.h: Added to the repository
- * mailbox/strtok_r.c: Updated
- * mailbox/strtok_r.h: Updated
- * mailbox/sysexit_.h: Updated
- * mailbox/unlocked-io.h: Updated
- * mailbox/vasnprintf.c: Updated
- * mailbox/vasnprintf.h: Updated
- * mailbox/vsnprintf.c: Updated
- * mailbox/vsnprintf.h: Updated
- * mailbox/xsize.h: Updated
-
- End of gnulib update
-
- * README-alpha,gnulib.modules,comsat/Makefile.am,
- config/Makefile.am,config/mailutils-config.c,dotlock/Makefile.am,
- examples/Makefile.am,frm/Makefile.am,guimb/Makefile.am,
- imap4d/Makefile.am,lib/.cvsignore,lib/Makefile.am,
- libsieve/extensions/Makefile.am,mail/Makefile.am,
- mail.local/Makefile.am,mail.remote/Makefile.am,
- mailbox/Makefile.am,mailbox/imap/folder.c,mapi/Makefile.am,
- messages/Makefile.am,mh/Makefile.am,mimeview/Makefile.am,
- movemail/Makefile.am,readmsg/Makefile.am,scripts/gnulib-sync,
- sieve/Makefile.am: Rename libmailbox to libmailutils. Rename
- the convenience library (lib/libmailutils) to libmuaux.
-
- * auth/lbuf.h,comsat/comsat.c,examples/mta.c,guimb/guimb.h,
- imap4d/auth_gsasl.c,imap4d/fetch.c,imap4d/imap4d.c,
- imap4d/imap4d.h,imap4d/list.c,imap4d/namespace.c,imap4d/search.c,
- imap4d/status.c,imap4d/util.c,include/mailutils/address.h,
- include/mailutils/argcv.h,include/mailutils/argp.h,
- include/mailutils/attribute.h,include/mailutils/auth.h,
- include/mailutils/body.h,include/mailutils/daemon.h,
- include/mailutils/debug.h,include/mailutils/envelope.h,
- include/mailutils/error.h,include/mailutils/filter.h,
- include/mailutils/folder.h,include/mailutils/gsasl.h,
- include/mailutils/guile.h,include/mailutils/header.h,
- include/mailutils/iterator.h,include/mailutils/libsieve.h,
- include/mailutils/list.h,include/mailutils/locker.h,
- include/mailutils/mailbox.h,include/mailutils/mailcap.h,
- include/mailutils/mailer.h,include/mailutils/message.h,
- include/mailutils/mime.h,include/mailutils/monitor.h,
- include/mailutils/mu_auth.h,include/mailutils/mutil.h,
- include/mailutils/nls.h,include/mailutils/observer.h,
- include/mailutils/parse822.h,include/mailutils/property.h,
- include/mailutils/refcount.h,include/mailutils/registrar.h,
- include/mailutils/stream.h,include/mailutils/tls.h,
- include/mailutils/types.h,include/mailutils/url.h,lib/md5.h,
- lib/mu_asprintf.h,lib/mu_dbm.h,lib/strsignal.c,
- libmu_scm/mu_address.c,libsieve/argp.c,libsieve/sieve.h,
- libsieve/sieve.l,libsieve/sieve.y,mail/alias.c,mail/decode.c,
- mail/folders.c,mail/mail.c,mail/mail.h,mail/mailline.c,
- mail/msgset.y,mail/send.c,mail/util.c,mail.local/mail.local.h,
- mail.local/main.c,mailbox/amd.c,mailbox/attribute.c,
- mailbox/auth.c,mailbox/body.c,mailbox/debug.c,mailbox/envelope.c,
- mailbox/filter.c,mailbox/filter_rfc822.c,mailbox/filter_trans.c,
- mailbox/folder.c,mailbox/header.c,mailbox/locker.c,
- mailbox/mailbox.c,mailbox/mailer.c,mailbox/message.c,
- mailbox/mu_argp.c,mailbox/mu_auth.c,mailbox/observer.c,
- mailbox/property.c,mailbox/registrar.c,mailbox/stream.c,
- mailbox/ticket.c,mailbox/wicket.c,mailbox/imap/folder.c,
- mailbox/imap/mbox.c,mailbox/include/amd.h,
- mailbox/include/attribute0.h,mailbox/include/auth0.h,
- mailbox/include/debug0.h,mailbox/include/envelope0.h,
- mailbox/include/filter0.h,mailbox/include/folder0.h,
- mailbox/include/header0.h,mailbox/include/imap0.h,
- mailbox/include/list0.h,mailbox/include/mailbox0.h,
- mailbox/include/mailer0.h,mailbox/include/message0.h,
- mailbox/include/observer0.h,mailbox/include/registrar0.h,
- mailbox/include/stream0.h,mailbox/include/url0.h,
- mailbox/maildir/maildir.h,mailbox/mbox/folder.c,
- mailbox/mbox/mbox.c,mailbox/mbox/mbox0.h,mailbox/nntp/folder.c,
- mailbox/nntp/mbox.c,mailbox/nntp/nntp0.h,mh/fmtcheck.c,mh/mh.h,
- mh/mh_alias.l,mh/mh_alias.y,mh/mh_format.c,mh/mh_getopt.h,
- mh/mh_list.c,mh/mh_msgset.c,mh/mhn.c,mh/pick.h,mh/refile.c,
- mh/scan.c,mh/sortm.c,readmsg/readmsg.c,readmsg/readmsg.h,
- sieve/sieve.c,include/mailutils/errno.hin: Remove __P() and
- __PMT() wrappers.
-
-2005-08-15 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mh/mhn.c (has_nonascii,finish_text_msg): New functions
- (mhn_edit): Use quoted-printable encoding if the text contains
- non-ascii characters.
-
-2005-08-12 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Add -lgnuradius to AUTHLIBS
- * auth/radius.c (mu_radius_argp_parser): Only run init() if radius
- auth is really required.
- (mu_radius_authenticate,mu_auth_radius_user_by_name)
- (mu_auth_radius_user_by_uid): Fail if the module was not
- initialized
- * mail/escape.c: Use strerror uniformly
-
- * mailbox/argcv.c: Make handling of quotes consistent with shell
- rules. In particular, single quotes need not be quoted, and are
- not removed when appearing within a doubly-quoted string.
- * mailbox/testsuite/Argcv: Adapt to the modified argcv.c
-
- * auth/radius.c: New file. Radius authentication/authorization.
- * auth/Makefile.am (libmuauth_la_SOURCES): Add radius.c. Sorted
- sources alphabetically
-
- * examples/config/mailutils.dict: New file.
- * examples/config/Makefile.am (EXTRA_DIST): Add mailutils.dict.
- Sorted files alphabetically
-
- * NEWS: Updated
- * configure.ac: Raised version number to 0.6.91.
- Check for libgnuradius (new option --disable/--enable-radius)
- At the end of configuration display the summary of enabled
- features.
-
- * include/mailutils/mu_auth.h (mu_auth_radius_module): New module
- (MU_AUTH_REGISTER_ALL_MODULES): Register radius
- * m4/enable.m4 (MU_ENABLE_SUPPORT): Fixed quoting error. Allow
- action-if-true to disable the feature.
- * mailbox/mu_argp.c (mu_conf_option): Reflect radius capability.
-
- * po/POTFILES.in: Updated
-
-2005-08-11 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mail/var.c: Renamed to ...
- * mail/escape.c: ... to fix a long-standing historical
- inconsistency.
- (var_shell,var_command,var_help,var_sign,var_bcc)
- (var_cc,var_deadletter,var_editor,var_print,var_headers)
- (var_insert,var_quote,var_type_input,var_read,var_subj)
- (var_to,var_visual,var_write,var_exit,var_pipe): Renamed:
- s/var_/escape_/. All callers updated
- * mail/Makefile.am,mail/mail.h,mail/table.c: Likewise
-
- * include/mailutils/argcv.h (argcv_get_n): New function
- * mailbox/argcv.c: Likewise
-
- * mail/alias.c (alias_iterate_first,alias_iterate_next)
- (alias_iterate_end): New functions for readline completion
- support.
- * mail/cd.c (mail_cd): Check chdir return value
- * mail/file.c (mail_expand_name): Do not proceed to opening the
- mailbox if failed to get its name
- * mail/help.c (mail_help): Use mail_command_help()
- * mail/list.c (mail_list): Use mail_command_list()
- * mail/mail.h (mail_command_entry): Rewritten
- (mail_escape_entry,struct mail_command): New data type
- (mail_command_table,mail_escape_table): Variables removed
- (util_find_entry): Change prototype
- (util_help,util_command_list)
- (mail_find_command,mail_find_escape,mail_command_help)
- (mail_escape_help,mail_command_list): New functions
- (util_help): Removed
- (alias_iterate_first,alias_iterate_next,alias_iterate_end)
- (var_iterate_first,var_iterate_next,var_iterate_end): New functions
- (file_compl,no_compl,msglist_compl,msglist_file_compl,dir_compl
- (command_compl,alias_compl,var_compl): New functions for readline
- completion support
- * mail/mailline.c (file_compl,no_compl,msglist_compl)
- (msglist_file_compl,dir_compl)
- (command_compl,alias_compl,var_compl): New functions for readline
- completion support
- * mail/send.c: Use mail_find_escape()
- * mail/table.c (mail_command_table,mail_escape_table): Changed
- data type
- (mail_find_command,mail_command_help,mail_command_list)
- (mail_command_name,mail_find_escape,mail_escape_help): New
- functions
- * mail/util.c: Rewritten mail variables support using list_t.
- (util_find_entry,util_help): Rewritten to work with opaque data
- tables
- (util_command_list): New function
- (var_iterate_first,var_iterate_next,var_iterate_end): New
- functions
- (util_folder_path): Convert folder to full name
- * mail/var.c: Use mail_find_command() and mail_escape_help().
- * mailbox/mbox/folder.c (get_pathname): Make sure no extra slash
- is inserted.
- * mailbox/list.c (list_to_array): Bugfix. The counter was not
- incremented.
-
- * po/POTFILES.in: Add mail/cd.c
-
-2005-08-10 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/rfc/rfc3501.txt: New file
- * doc/rfc/Makefile.am: Add rfc3501.txt
-
- * imap4d/copy.c (imap4d_copy0): Minor improvement
- * imap4d/fetch.c (imap4d_fetch0): Ignore non-existing uids instead
- of diagnosing an error. This complies to RFC 3501.
- * imap4d/util.c (util_msgset): For message sets in form X:Y where
- Y is a not-existing UID greater than maximum UID value in the
- mailbox, replace Y with the latter.
-
- * imap4d/testsuite/imap4d/IDEF0955.exp: Synchronize with the
- recent changes.
-
-2005-07-26 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Updated
-
- * examples/mimetest.c: Produce more detailed diagnostics
- * mail/copy.c: Likewise
- * mail/quit.c: Likewise
- * mail/send.c: Likewise
- * mail/page.c (cond_page_invalidate): Bugfix
-
- * mailbox/errors (MU_READ_ERROR): New error code
-
- * include/mailutils/folder.h: Moved MU_FOLDER_ATTRIBUTE_.* to
- types.h
- * include/mailutils/types.h (MU_FOLDER_ATTRIBUTE_FILE)
- (MU_FOLDER_ATTRIBUTE_DIRECTORY): New defines
- * include/mailutils/registrar.h (_is_scheme, registrar_lookup):
- Take three arguments. All callers updated
- Raised path_record priority to 1000.
- * mailbox/registrar.c: Likewise
- * mailbox/folder.c: Updated calls to registrar_lookup and
- declarations of _is_scheme methods
- * mailbox/mailer.c: Likewise
- * mailbox/maildir/folder.c: Likewise
- * mailbox/mbox/folder.c: Likewise
- * mailbox/mh/folder.c: Likewise
-
- * mailbox/list.c (_insert_item): Bugfix
- * mailbox/testsuite/mailbox/list.exp: New tests
- * mailbox/mailbox.c (mailbox_folder_create): New function
- (mailbox_create): Use mailbox_folder_create.
-
- * mailbox/rfc2047.c (rfc2047_encode): Bugfix.
-
- * mail/page.c (page_move): Fix start msg calculation
-
- * include/mailutils/list.h (list_insert): Accept additional
- argument indicating whether to insert item before or after the
- reference one.
- * mailbox/list.c: Likewise
- * examples/listop.c (ins): New option 'before' allows to insert an
- item before another one.
- * mailbox/testsuite/mailbox/list.exp: Test new list operations.
- * mh/mh_alias.y: Updated list_insert invocations
- * mh/mh_format.c (builtin_putnum): Minor fix
-
- * comsat/comsat.c: Use registrar_record instead of directly
- accessing registrar list.
- * examples/mimetest.c: Likewise
- * examples/msg-send.c: Likewise
- * examples/mta.c: Likewise
- * libmu_scm/mu_scm.c: Likewise
- * mail.local/main.c: Likewise
- * mail.remote/mail.remote.c: Likewise
-
- * mailbox/registrar.c (registrar_get_list): Split into two
- calls. The registrar_get_list proper is deprecated.
- (registrar_get_iterator,registrar_lookup): New functions
- (registrar_record,unregistrar_record): Use _registrar_get_list
-
- * mailbox/folder.c (folder_create): Rewritten using
- registrar_lookup()
- * mailbox/mailbox.c (mailbox_create): Likewise
- * mailbox/mailer.c (mailer_create): Likewise
-
- * mailbox/sendmail.c: Updated declarations of struct _record
- objects.
- * mailbox/smtp.c: Likewise
- * mailbox/imap/folder.c: Likewise
- * mailbox/maildir/folder.c: Likewise
- * mailbox/mbox/folder.c: Likewise
- * mailbox/mh/folder.c: Likewise
- * mailbox/nntp/folder.c: Likewise
- * mailbox/pop/folder.c: Likewise
-
- * include/mailutils/registrar.h (struct _record.priority): New
- member.
- (registrar_get_list): Mark as deprecated
- (registrar_get_iterator,registrar_lookup): New function
- (MU_IMAP_PRIO etc): New defines
- (mu_register_all_mbox_formats,mu_register_local_mbox_formats)
- (mu_register_remote_mbox_formats,mu_register_all_mailer_formats)
- (mu_register_extra_formats): Use registrar_record
-
- * include/mailutils/types.h: Minor stylistic fix
-
-2005-07-25 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * mailbox/locker.c (locker_lock): Allow for non-absolute file
- names.
-
-2005-07-10 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * libsieve/extensions/vacation.c: Unconditionally include mu_dbm.h
- * mailbox/mutil.c (mu_get_homedir): Use EUID to determine user
- identity.
-
-2005-07-08 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/mime.c (_mime_get_param): Initialize was_quoted to
- 0. Problem reported by Shashank Kavishwar <s_kavishwar@hotmail.com>.
-
-2005-07-07 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * libsieve/actions.c: Fall back to "Sender:" and "From:" headers
- (in that order), if the envelope sender is not available.
-
-2005-06-29 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/argcv.c (argcv_scan): Improved scanning.
- * mailbox/testsuite/Argcv: New tests
-
- * mailbox/argcv.c (argcv_scan,argcv_quoted_length)
- (argcv_quote_copy): Fixed handling of unmatched quotes.
-
-2005-06-27 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * include/mailutils/argcv.h (argcv_unescape_char): Renamed to
- argcv_unquote_char
- (argcv_escape_char): Renamed to argcv_quote_char.
- (argcv_quoted_length,argcv_quote_copy): New functions
- * mailbox/argcv.c (argcv_scan,xtonum): Improved parser
- (argcv_unescape_char): Renamed to
- argcv_unquote_char
- (argcv_escape_char): Renamed to argcv_quote_char.
- (argcv_quoted_length,argcv_quote_copy): New functions
- (argcv_unquote_copy): (ex. unescape_copy): Fixed handling of
- escaped sequences.
- (argcv_get,argcv_free,argcv_string): Standardized return value.
-
- * comsat/action.c: argcv_unescape_char renamed to argcv_unquote_char
- * libsieve/sieve.l: Likewise
-
- * examples/argcv.c: New file
- * examples/Makefile.am: Add argcv.c
-
- * mailbox/testsuite/Argcv: New file
- * mailbox/testsuite/mailbox/argcv.exp: New test
- * mailbox/testsuite/mailbox/DISTFILES: Add argcv.exp
-
-2005-06-23 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * NEWS: Updated
- * README-alpha: Updated
- * include/mailutils/mailbox.h
- (mu_path_maildir,mu_path_folder_dir): Removed
- (mu_set_mail_directory,mu_set_folder_directory)
- (mu_mail_directory,mu_folder_directory)
- (mu_construct_user_mailbox_url,mailbox_get_flags): New functions.
- * mailbox/mbx_default.c: Likewise.
- * include/mailutils/mutil.h (mu_normalize_maildir): Renamed to
- (mu_normalize_mailbox_url)
- * libmu_scm/mu_mailbox.c (scm_mu_mail_directory)
- (scm_mu_folder_directory): New function
- * libmu_scm/mu_scm.c (_mu_scm_path_maildir)
- (_mu_scm_path_folder_dir): Removed
-
- * auth/sql.c: Use mu_mail_directory, mu_folder_directory and
- related calls.
- * guimb/collect.c: Likewise.
- * mailbox/mu_argp.c: Likewise.
- * mailbox/mutil.c: Likewise.
- * mailbox/system.c: Likewise.
- * mh/comp.c: Likewise.
- * mh/folder.c: Likewise.
- * mh/forw.c: Likewise.
- * mh/mh_init.c: Likewise.
- * mh/mhn.c: Likewise.
- * mh/mhpath.c: Likewise.
- * mh/refile.c: Likewise.
- * mh/repl.c: Likewise.
- * mh/send.c: Likewise.
- * mh/whom.c: Likewise.
-
- * mh/mh.h (mh_global_profile_get): Changed prototype.
- * mh/mh_global.c: Likewise.
-
- * mailbox/imap/mbox.c (imap_messages_count): Use SELECT or EXAMINE
- depending on the mailbox status.
- (imap_expunge): Return EACCES if the mailbox is read-only
-
- * examples/http.c: Accept up to two arguments: hostname to connect
- to and URL of the page to get.
-
- * imap4d/close.c: Do not attempt to flush a mailbox opened in
- read-only mode.
-
- * mail/file.c (mail_file): Invalidate current page map.
- * mail/mail.h: Updated
- * mail/page.c (set_cursor): Use page_move(0) to correctly update
- the map.
-
- * mailbox/errors (MU_ERR_BAD_FILENAME): New error code.
- * mailbox/mailbox.c (mailbox_get_flags): New function
-
- * imap4d/util.c: Minor correction
- * mail/decode.c: Likewise
- * mail.local/main.c: Likewise
- * frm/from.c: Removed unused variable
-
-2005-06-15 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * examples/mta.c (mta_smtp): Fixed race condition between printing
- the port number, which will be used by the testsuite, and actually
- starting to listen on that port.
- * mail/page.c: New file. Implements an abstract output page.
- * mail/Makefile.am (mail_SOURCES): Add page.c. Alphabetized
- sources.
-
- * mail/delete.c, mail/edit.c, mail/eq.c, mail/file.c,
- mail/followup.c, mail/from.c, mail/headers.c, mail/hold.c,
- mail/mail.c, mail/mailline.c, mail/mbox.c, mail/msgset.y,
- mail/next.c, mail/previous.c, mail/print.c, mail/reply.c,
- mail/size.c, mail/summary.c, mail/top.c, mail/touch.c,
- mail/undelete.c, mail/util.c, mail/visual.c, mail/write.c,
- mail/z.c: Use new pager functions.
-
- * mail/mail.h: New declarations
-
- * mail/testsuite/mail/z.exp: Fixed tests to match our improved
- output.
-
-2005-06-13 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/amd.c (amd_expunge): Unlink the message file if
- msg_file_name returns NULL.
- * mailbox/maildir/mbox.c (maildir_message_name): Return NULL for
- deleted messages.
-
- * mailbox/include/stream0.h (struct rbuffer.count): Changed type
- to size_t. Reported by Joseph Caputo <caputo@qedinfo.com>
- * mailbox/stream.c (refill): Removed useless typecast
-
- * mail/util.c (util_save_outgoing): Rewritten using mailbox
- functions. `set record' can now point to any valid mailbox type.
-
-2005-06-12 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * frm/common.c (get_charset): Make sure output_charset is not NULL.
-
-2005-06-06 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/amd.c (amd_envelope_date): Always convert date to ctime
- format.
-
-2005-05-31 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/maildir/mbox.c (maildir_uniq): Fix memory overwrite.
-
-2005-05-27 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/amd.c (amd_envelope_date): Reformat Delivery-Date value
- to standart ctime format. Fix memory leak.
- (amd_envelope_sender): Propagate return from header_aget_value()
- back to the caller.
- * mailbox/mbox/mbox.c (restore_sender,restore_date): New
- functions.
- (mbox_append_message0): Use above functions to create sender/date
- values if these are not supplied.
- * movemail/movemail.c (move_message): Fix error diagnostics format.
-
-2005-05-24 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * examples/Makefile.am (noinst_PROGRAMS): Add encode2047. Sorted
- alphabetically.
- * examples/encode2047.c: New file.
- * examples/base64.c (main): Add option -E (encoding). The program
- can now be used to test any encoder/decoder filters, so its name
- is kind of misnomer.
- * mailbox/errors (MU_ERR_BAD_2047_ENCODING): New error code.
- * mailbox/filter_trans.c (qp_encode): Do not keep track of the
- whitespace. Proposed by Amit Jhawar <ajhawar@frontbridge.com>.
- (Q_printable_char_p): TAB is not a printable char.
- (Q_encode): Bugfix: 0x20 is represented by underscore, not vice
- versa.
- * mailbox/rfc2047.c (rfc2047_encode): Bugfix. Use proper encoding
- types. Convert "base64" to "B" and "quoted-printable" to
- "Q". Check return values from stream creation functions. Do not
- destroy input_stream if output_stream was destroyed (prevents
- coredump).
- * scripts/config.rpath: Removed automatically generated file.
- * THANKS: Added Kidong Lee and Amit Jhawar.
- * examples/.cvsignore: Add encode2047. Sort entries.
-
-2005-05-23 Kidong Lee <briankdlee@yahoo.com>
-
- * mailbox/rfc2047.c (rfc2047_encode): Rewritten using filters
- and streams.
-
-2005-05-23 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * mailbox/mutil.c: include <sys/select.h>
- * lib/mailcap.c: Provide a replacement for FNM_CASEFOLD
- Reported by Jerry Heyman <heymanj@acm.org>.
-
- * configure.ac: Compute the value of ULONG_MAX for use in the
- testsute.
- * imap4d/testsuite/Makefile.am (site.exp): Set MU_ULONG_MAX
- * imap4d/testsuite/imap4d/IDEF0955.exp: Compute upper limit for
- the message set spec based on the value of MU_ULONG_MAX.
- * imap4d/testsuite/imap4d/IDEF0956.exp: Likewise
-
-2005-05-20 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * imap4d/fetch.c (fetch_getcommand): Changed proto to make gcc 4.0
- happy.
-
-2005-05-19 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * auth/sql.c (sql_escape_string): Escape backslashes.
-
- The sources before this point are tagged alpha_0_6_90.
-
-2005-05-17 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * configure.ac: Updated FSF address. Raised version number to
- 0.6.90
-
- Updated FSF address:
-
- * COPYING, COPYING.LESSER, Makefile.am, NEWS,
- auth/Makefile.am, auth/gsasl.c, auth/lbuf.c, auth/lbuf.h,
- auth/pam.c, auth/sql.c, auth/sql.h, auth/tls.c,
- auth/virtual.c, comsat/Makefile.am, comsat/action.c,
- comsat/cfg.c, comsat/comsat.c, comsat/comsat.h,
- config/Makefile.am, config/mailutils-config.c,
- doc/Makefile.am, doc/man/Makefile.am, doc/rfc/Makefile.am,
- doc/texinfo/COPYING.DOC, doc/texinfo/Makefile.am,
- doc/texinfo/fdl.texi, doc/texinfo/mailutils.texi,
- doc/texinfo/muint.texi, dotlock/Makefile.am,
- dotlock/dotlock.c, examples/Makefile.am, examples/addr.c,
- examples/base64.c, examples/decode2047.c, examples/http.c,
- examples/iconv.c, examples/listop.c, examples/mailcap.c,
- examples/mimetest.c, examples/msg-send.c,
- examples/mta.c, examples/muemail.c, examples/murun.c,
- examples/nntpclient.c, examples/numaddr.c,
- examples/pop3client.c, examples/sfrom.c,
- examples/url-parse.c, examples/config/Makefile.am,
- examples/cpp/Makefile.am, examples/scheme/Makefile.am,
- examples/scheme/reply.scm, frm/Makefile.am,
- frm/common.c, frm/frm.c, frm/frm.h, frm/from.c,
- frm/testsuite/Makefile.am, frm/testsuite/frm/test.exp,
- guimb/Makefile.am, guimb/collect.c, guimb/guimb.h,
- guimb/main.c, guimb/util.c, guimb/scm/Makefile.am,
- guimb/scm/mimeheader.scm, guimb/scm/numaddr.scm,
- guimb/scm/redirect.scm, guimb/scm/reject.scm,
- guimb/scm/sieve-core.scm, guimb/scm/sieve.scm.in,
- guimb/scm/vacation.scm, imap4d/Makefile.am,
- imap4d/append.c, imap4d/auth_gsasl.c, imap4d/auth_gss.c,
- imap4d/authenticate.c, imap4d/bye.c, imap4d/capability.c,
- imap4d/check.c, imap4d/close.c, imap4d/commands.c,
- imap4d/copy.c, imap4d/create.c, imap4d/delete.c,
- imap4d/examine.c, imap4d/expunge.c, imap4d/fetch.c,
- imap4d/idle.c, imap4d/imap4d.c, imap4d/imap4d.h,
- imap4d/list.c, imap4d/login.c, imap4d/logout.c,
- imap4d/lsub.c, imap4d/namespace.c, imap4d/noop.c,
- imap4d/rename.c, imap4d/search.c, imap4d/select.c,
- imap4d/signal.c, imap4d/starttls.c, imap4d/status.c,
- imap4d/store.c, imap4d/subscribe.c, imap4d/sync.c,
- imap4d/uid.c, imap4d/unsubscribe.c, imap4d/util.c,
- imap4d/version.c, imap4d/testsuite/Makefile.am,
- imap4d/testsuite/imap4d/IDEF0955.exp,
- imap4d/testsuite/imap4d/IDEF0956.exp,
- imap4d/testsuite/imap4d/anystate.exp,
- imap4d/testsuite/imap4d/append.exp,
- imap4d/testsuite/imap4d/create.exp,
- imap4d/testsuite/imap4d/examine.exp,
- imap4d/testsuite/imap4d/expunge.exp,
- imap4d/testsuite/imap4d/fetch.exp,
- imap4d/testsuite/imap4d/list.exp,
- imap4d/testsuite/imap4d/search.exp,
- imap4d/testsuite/imap4d/x.exp,
- imap4d/testsuite/lib/imap4d.exp,
- include/Makefile.am, include/mailutils/Makefile.am,
- include/mailutils/address.h, include/mailutils/argcv.h,
- include/mailutils/argp.h, include/mailutils/attribute.h,
- include/mailutils/auth.h, include/mailutils/body.h,
- include/mailutils/daemon.h, include/mailutils/debug.h,
- include/mailutils/envelope.h, include/mailutils/errno.hin,
- include/mailutils/error.h, include/mailutils/filter.h,
- include/mailutils/folder.h, include/mailutils/gsasl.h,
- include/mailutils/guile.h, include/mailutils/header.h,
- include/mailutils/iterator.h, include/mailutils/libsieve.h,
- include/mailutils/list.h, include/mailutils/locker.h,
- include/mailutils/mailbox.h, include/mailutils/mailcap.h,
- include/mailutils/mailer.h, include/mailutils/mailutils.h,
- include/mailutils/message.h, include/mailutils/mime.h,
- include/mailutils/monitor.h, include/mailutils/mu_auth.h,
- include/mailutils/mutil.h, include/mailutils/nls.h,
- include/mailutils/nntp.h, include/mailutils/observer.h,
- include/mailutils/parse822.h, include/mailutils/pop3.h,
- include/mailutils/property.h, include/mailutils/refcount.h,
- include/mailutils/registrar.h, include/mailutils/sql.h,
- include/mailutils/stream.h, include/mailutils/tls.h,
- include/mailutils/types.h, include/mailutils/url.h,
- include/mailutils/gnu/Makefile.am,
- include/mailutils/sys/Makefile.am,
- include/mailutils/sys/nntp.h, include/mailutils/sys/pop3.h,
- lib/Makefile.am, lib/allocsa.c, lib/allocsa.h,
- lib/asprintf.c, lib/daemon.c, lib/error.c, lib/error.h,
- lib/exit.h, lib/exitfail.c, lib/exitfail.h,
- lib/fnmatch_.h, lib/fnmatch_loop.c, lib/getpass.c,
- lib/getpass.h, lib/mailcap.c, lib/malloc.c,
- lib/mbswidth.c, lib/mbswidth.h, lib/mu_asprintf.h,
- lib/mu_dbm.c, lib/mu_dbm.h, lib/obstack.c, lib/obstack.h,
- lib/realloc.c, lib/setenv.c, lib/setenv.h, lib/snprintf.c,
- lib/snprintf.h, lib/stdbool_.h, lib/unsetenv.c, lib/utmp.c,
- lib/vasprintf.c, lib/vasprintf.h, lib/xalloc.h,
- lib/xalloc_die.c, lib/xmalloc.c, lib/xsize.h,
- lib/xstrtol.c, lib/xstrtol.h, libmu_scm/Makefile.am,
- libmu_scm/mailutils.scm.in, libmu_scm/mu_address.c,
- libmu_scm/mu_body.c, libmu_scm/mu_guimb.c,
- libmu_scm/mu_logger.c, libmu_scm/mu_mailbox.c,
- libmu_scm/mu_message.c, libmu_scm/mu_mime.c,
- libmu_scm/mu_port.c, libmu_scm/mu_scm.c,
- libmu_scm/mu_scm.h, libmu_scm/mu_util.c,
- libsieve/Makefile.am, libsieve/actions.c, libsieve/argp.c,
- libsieve/comparator.c, libsieve/load.c, libsieve/prog.c,
- libsieve/register.c, libsieve/relational.c,
- libsieve/require.c, libsieve/runtime.c, libsieve/sieve.h,
- libsieve/sieve.l, libsieve/sieve.y, libsieve/tests.c,
- libsieve/util.c, libsieve/extensions/Makefile.am,
- libsieve/extensions/list.c, libsieve/extensions/spamd.c,
- libsieve/extensions/timestamp.c,
- libsieve/extensions/vacation.c, m4/db2.m4, m4/enable.m4,
- m4/gnulib.m4, m4/gsasl.m4, m4/guile.m4, m4/mu_libobj.m4,
- m4/tls.m4, mail/Makefile.am, mail/alias.c,
- mail/alt.c, mail/cd.c, mail/copy.c, mail/decode.c,
- mail/delete.c, mail/dp.c, mail/echo.c, mail/edit.c,
- mail/eq.c, mail/exit.c, mail/file.c, mail/folders.c,
- mail/followup.c, mail/from.c, mail/headers.c, mail/help.c,
- mail/hold.c, mail/if.c, mail/inc.c, mail/list.c,
- mail/mail.c, mail/mail.h, mail/mailline.c, mail/mbox.c,
- mail/msgset.y, mail/next.c, mail/pipe.c, mail/previous.c,
- mail/print.c, mail/quit.c, mail/reply.c, mail/retain.c,
- mail/save.c, mail/send.c, mail/set.c, mail/setenv.c,
- mail/shell.c, mail/size.c, mail/source.c, mail/summary.c,
- mail/table.c, mail/tag.c, mail/top.c, mail/touch.c,
- mail/unalias.c, mail/undelete.c, mail/unset.c,
- mail/util.c, mail/var.c, mail/version.c, mail/visual.c,
- mail/write.c, mail/z.c, mail/testsuite/Makefile.am,
- mail/testsuite/lib/mail.exp, mail/testsuite/mail/alias.exp,
- mail/testsuite/mail/folder.exp,
- mail/testsuite/mail/read.exp, mail/testsuite/mail/send.exp,
- mail/testsuite/mail/tag.exp, mail/testsuite/mail/write.exp,
- mail/testsuite/mail/z.exp, mail.local/Makefile.am,
- mail.local/mail.local.h, mail.local/mailquota.c,
- mail.local/main.c, mail.local/script.c,
- mail.local/testsuite/Data,
- mail.local/testsuite/Makefile.am,
- mail.local/testsuite/lib/mail.local.exp,
- mail.local/testsuite/mail.local/deliver.exp,
- mail.remote/Makefile.am, mail.remote/mail.remote.c,
- mail.remote/testsuite/Data,
- mail.remote/testsuite/Makefile.am,
- mail.remote/testsuite/lib/mail.remote.exp,
- mail.remote/testsuite/mail.remote/send.exp,
- mailbox/Makefile.am, mailbox/address.c, mailbox/alloca_.h,
- mailbox/amd.c, mailbox/argcv.c, mailbox/argp-ba.c,
- mailbox/argp-eexst.c, mailbox/argp-fmtstream.c,
- mailbox/argp-fmtstream.h, mailbox/argp-fs-xinl.c,
- mailbox/argp-help.c, mailbox/argp-namefrob.h,
- mailbox/argp-parse.c, mailbox/argp-pv.c,
- mailbox/argp-pvh.c, mailbox/argp-xinl.c, mailbox/argp.h,
- mailbox/asnprintf.c, mailbox/attachment.c,
- mailbox/attribute.c, mailbox/auth.c, mailbox/body.c,
- mailbox/daemon.c, mailbox/date.c, mailbox/debug.c,
- mailbox/envelope.c, mailbox/errors, mailbox/fgetpwent.c,
- mailbox/file_stream.c, mailbox/filter.c,
- mailbox/filter_iconv.c, mailbox/filter_rfc822.c,
- mailbox/filter_trans.c, mailbox/folder.c,
- mailbox/getline.c, mailbox/getline.h, mailbox/getndelim2.c,
- mailbox/getndelim2.h, mailbox/getopt.c,
- mailbox/getopt1.c, mailbox/getopt_.h, mailbox/getopt_int.h,
- mailbox/gettext.h, mailbox/header.c, mailbox/iterator.c,
- mailbox/list.c, mailbox/locale.c, mailbox/locker.c,
- mailbox/mailbox.c, mailbox/mailcap.c, mailbox/mailer.c,
- mailbox/mapfile_stream.c, mailbox/mbx_default.c,
- mailbox/md5.c, mailbox/md5.h, mailbox/memory_stream.c,
- mailbox/mempcpy.c, mailbox/mempcpy.h, mailbox/message.c,
- mailbox/mime.c, mailbox/minmax.h, mailbox/monitor.c,
- mailbox/mu_argp.c, mailbox/mu_auth.c, mailbox/muerrno.cin,
- mailbox/muerror.c, mailbox/munre.c, mailbox/mutil.c,
- mailbox/nls.c, mailbox/observer.c, mailbox/parse822.c,
- mailbox/parsedate.y, mailbox/printf-args.c,
- mailbox/printf-args.h, mailbox/printf-parse.c,
- mailbox/printf-parse.h, mailbox/property.c,
- mailbox/regex.c, mailbox/regex.h, mailbox/registrar.c,
- mailbox/rfc2047.c, mailbox/sendmail.c, mailbox/smtp.c,
- mailbox/strcase.h, mailbox/strcasecmp.c,
- mailbox/strchrnul.c, mailbox/strchrnul.h,
- mailbox/stream.c, mailbox/strndup.c, mailbox/strndup.h,
- mailbox/strnlen.c, mailbox/strtok_r.c, mailbox/strtok_r.h,
- mailbox/sysexit_.h, mailbox/system.c, mailbox/tcp.c,
- mailbox/ticket.c, mailbox/unlocked-io.h, mailbox/url.c,
- mailbox/url_sendmail.c, mailbox/url_smtp.c,
- mailbox/vasnprintf.c, mailbox/vasnprintf.h,
- mailbox/vsnprintf.c, mailbox/vsnprintf.h, mailbox/wicket.c,
- mailbox/xsize.h, mailbox/imap/Makefile.am,
- mailbox/imap/folder.c, mailbox/imap/mbox.c,
- mailbox/imap/url.c, mailbox/include/Makefile.am,
- mailbox/include/address0.h, mailbox/include/amd.h,
- mailbox/include/attribute0.h, mailbox/include/auth0.h,
- mailbox/include/body0.h, mailbox/include/debug0.h,
- mailbox/include/envelope0.h, mailbox/include/filter0.h,
- mailbox/include/folder0.h, mailbox/include/header0.h,
- mailbox/include/imap0.h, mailbox/include/iterator0.h,
- mailbox/include/list0.h, mailbox/include/mailbox0.h,
- mailbox/include/mailer0.h, mailbox/include/message0.h,
- mailbox/include/mime0.h, mailbox/include/monitor0.h,
- mailbox/include/observer0.h, mailbox/include/property0.h,
- mailbox/include/registrar0.h, mailbox/include/stream0.h,
- mailbox/include/url0.h, mailbox/maildir/Makefile.am,
- mailbox/maildir/folder.c, mailbox/maildir/maildir.h,
- mailbox/maildir/mbox.c, mailbox/mbox/Makefile.am,
- mailbox/mbox/folder.c, mailbox/mbox/mbox.c,
- mailbox/mbox/mbox0.h, mailbox/mbox/mboxscan.c,
- mailbox/mbox/url.c, mailbox/mh/Makefile.am,
- mailbox/mh/folder.c, mailbox/mh/mbox.c,
- mailbox/nntp/Makefile.am, mailbox/nntp/folder.c,
- mailbox/nntp/mbox.c, mailbox/nntp/nntp0.h,
- mailbox/nntp/nntp_article.c, mailbox/nntp/nntp_body.c,
- mailbox/nntp/nntp_carrier.c, mailbox/nntp/nntp_connect.c,
- mailbox/nntp/nntp_create.c, mailbox/nntp/nntp_date.c,
- mailbox/nntp/nntp_debug.c, mailbox/nntp/nntp_destroy.c,
- mailbox/nntp/nntp_disconnect.c, mailbox/nntp/nntp_group.c,
- mailbox/nntp/nntp_head.c, mailbox/nntp/nntp_help.c,
- mailbox/nntp/nntp_ihave.c, mailbox/nntp/nntp_last.c,
- mailbox/nntp/nntp_list_active.c,
- mailbox/nntp/nntp_list_distribpats.c,
- mailbox/nntp/nntp_list_distributions.c,
- mailbox/nntp/nntp_list_extensions.c,
- mailbox/nntp/nntp_list_newsgroups.c,
- mailbox/nntp/nntp_list_times.c,
- mailbox/nntp/nntp_mode_reader.c,
- mailbox/nntp/nntp_newgroups.c, mailbox/nntp/nntp_newnews.c,
- mailbox/nntp/nntp_next.c, mailbox/nntp/nntp_post.c,
- mailbox/nntp/nntp_quit.c, mailbox/nntp/nntp_readline.c,
- mailbox/nntp/nntp_response.c, mailbox/nntp/nntp_sendline.c,
- mailbox/nntp/nntp_stat.c, mailbox/nntp/nntp_stream.c,
- mailbox/nntp/nntp_timeout.c, mailbox/nntp/url.c,
- mailbox/pop/Makefile.am, mailbox/pop/folder.c,
- mailbox/pop/mbox.c, mailbox/pop/pop3_apop.c,
- mailbox/pop/pop3_capa.c, mailbox/pop/pop3_carrier.c,
- mailbox/pop/pop3_connect.c, mailbox/pop/pop3_create.c,
- mailbox/pop/pop3_debug.c, mailbox/pop/pop3_dele.c,
- mailbox/pop/pop3_destroy.c, mailbox/pop/pop3_disconnect.c,
- mailbox/pop/pop3_list.c, mailbox/pop/pop3_lista.c,
- mailbox/pop/pop3_noop.c, mailbox/pop/pop3_pass.c,
- mailbox/pop/pop3_quit.c, mailbox/pop/pop3_readline.c,
- mailbox/pop/pop3_response.c, mailbox/pop/pop3_retr.c,
- mailbox/pop/pop3_rset.c, mailbox/pop/pop3_sendline.c,
- mailbox/pop/pop3_stat.c, mailbox/pop/pop3_stls.c,
- mailbox/pop/pop3_stream.c, mailbox/pop/pop3_timeout.c,
- mailbox/pop/pop3_top.c, mailbox/pop/pop3_uidl.c,
- mailbox/pop/pop3_uidla.c, mailbox/pop/pop3_user.c,
- mailbox/pop/url.c, mailbox/testsuite/Addrs,
- mailbox/testsuite/Mailcap, mailbox/testsuite/Makefile.am,
- mailbox/testsuite/Mime, mailbox/testsuite/RFC2047,
- mailbox/testsuite/Urls, mailbox/testsuite/lib/mailbox.exp,
- mailbox/testsuite/mailbox/address.exp,
- mailbox/testsuite/mailbox/base64.exp,
- mailbox/testsuite/mailbox/list.exp,
- mailbox/testsuite/mailbox/mailcap.exp,
- mailbox/testsuite/mailbox/mime.exp,
- mailbox/testsuite/mailbox/rfc2047.exp,
- mailbox/testsuite/mailbox/url.exp, messages/Makefile.am,
- messages/messages.c, messages/testsuite/Makefile.am,
- messages/testsuite/messages/test.exp, mh/Makefile.am,
- mh/ali.c, mh/anno.c, mh/comp.c, mh/compcommon.c,
- mh/fmtcheck.c, mh/folder.c, mh/forw.c, mh/inc.c,
- mh/install-mh.c, mh/mailutils-mh.eli, mh/mark.c, mh/mh.h,
- mh/mh_alias.l, mh/mh_alias.y, mh/mh_argp.c, mh/mh_ctx.c,
- mh/mh_error.c, mh/mh_fmtgram.y, mh/mh_format.c,
- mh/mh_getopt.c, mh/mh_getopt.h, mh/mh_global.c,
- mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c,
- mh/mh_sequence.c, mh/mh_stream.c, mh/mh_whatnow.c,
- mh/mh_whom.c, mh/mhl.c, mh/mhn.c, mh/mhparam.c,
- mh/mhpath.c, mh/pick.c, mh/pick.h, mh/pick.y, 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/Makefile.am,
- mimeview/mimetypes.l, mimeview/mimetypes.y,
- mimeview/mimeview.c, mimeview/mimeview.h,
- movemail/Makefile.am, movemail/movemail.c,
- po/.cvsignore, po/ca.po, po/es.po, po/fr.po, po/pl.po,
- po/ro.po, po/ru.po, po/uk.po, pop3d/Makefile.am,
- pop3d/apop.c, pop3d/auth.c, pop3d/capa.c, pop3d/dele.c,
- pop3d/expire.c, pop3d/extra.c, pop3d/list.c, pop3d/lock.c,
- pop3d/logindelay.c, pop3d/noop.c, pop3d/pop3d.c,
- pop3d/pop3d.h, pop3d/popauth.c, pop3d/quit.c,
- pop3d/retr.c, pop3d/rset.c, pop3d/signal.c, pop3d/stat.c,
- pop3d/stls.c, pop3d/top.c, pop3d/uidl.c, pop3d/user.c,
- pop3d/testsuite/Makefile.am, pop3d/testsuite/lib/pop3d.exp,
- pop3d/testsuite/pop3d/read.exp, readmsg/Makefile.am,
- readmsg/msglist.c, readmsg/readmsg.c,
- readmsg/readmsg.h, readmsg/testsuite/Makefile.am,
- readmsg/testsuite/readmsg/test.exp,
- scripts/Makefile.am, scripts/config.rpath,
- scripts/generr.awk, scripts/texify.sed,
- scripts/ylwrap, scripts/guile-1.4/Makefile.am,
- scripts/guile-1.4/guile-doc-snarf,
- scripts/guile-1.4/guile-func-name-check,
- scripts/guile-1.4/guile-snarf.awk,
- scripts/guile-1.6/Makefile.am,
- scripts/guile-1.6/guile-doc-snarf,
- scripts/guile-1.6/guile-doc-snarf.awk, sieve/Makefile.am,
- sieve/sieve.c, sieve/testsuite/Makefile.am,
- sieve/testsuite/Redirect, sieve/testsuite/Reject,
- sieve/testsuite/lib/sieve.exp,
- sieve/testsuite/sieve/action.exp,
- sieve/testsuite/sieve/address.exp,
- sieve/testsuite/sieve/allof.exp,
- sieve/testsuite/sieve/anyof.exp,
- sieve/testsuite/sieve/envelope.exp,
- sieve/testsuite/sieve/exists.exp,
- sieve/testsuite/sieve/ext.exp,
- sieve/testsuite/sieve/false.exp,
- sieve/testsuite/sieve/header.exp,
- sieve/testsuite/sieve/i-casemap.exp,
- sieve/testsuite/sieve/i-numeric.exp,
- sieve/testsuite/sieve/i-octet.exp,
- sieve/testsuite/sieve/mul-addr.exp,
- sieve/testsuite/sieve/not.exp,
- sieve/testsuite/sieve/redirect.exp,
- sieve/testsuite/sieve/reject.exp,
- sieve/testsuite/sieve/relational.exp,
- sieve/testsuite/sieve/size.exp,
- sieve/testsuite/sieve/true.exp, sql/Makefile.am,
- sql/mysql.c, sql/odbc.c, sql/postgres.c, sql/sql.c,
- testsuite/Makefile.am, testsuite/makespool,
- testsuite/lib/mailutils.exp
-
-2005-05-13 Sergey Poznyakoff <gray@Mirddin.farlep.net>
-
- * imap4d/fetch.c (imap4d_fetch0): Reduce memory consumption within
- the mailbox scanning loop. Break the loop when an invalid msgno is
- encountered or the message cannot be retrieved.
- (fetch_io): Check for integer overflow (IDEF0956).
- (fetch_full,fetch_rfc822_header,fetch_rfc822_text)
- (fetch_operation): Propagate return value back to the caller.
-
- * imap4d/util.c (util_finish): Fix potential vulnerability
- (IDEF0954).
- (util_msgset): Do not allow values greater than the maximum id
- number (either message number or UID) in the mailbox. Fixes (IDEF0955).
-
- * mailbox/header.c (header_get_field_name): Fix buffer overflow
- (IDEF0957).
-
- * doc/texinfo/sieve.texi: Fix typo
-
- * imap4d/testsuite/imap4d/IDEF0955.exp: New test
- * imap4d/testsuite/imap4d/IDEF0956.exp: New test
- * imap4d/testsuite/imap4d/DISTFILES: Add new files
-
-2005-05-11 Sergey Poznyakoff
-
- * mailbox/parsedate.y (DATE_INIT): Bugfix. Several fields in
- struct pd_date are used regardless of .mask, so it is better to
- zero out the entire structure.
-
-2005-03-25 Sergey Poznyakoff
-
- * NEWS: Updated
- * mail/decode.c (display_message0): Do not interpret MIME
- parts if metamail is unset.
- * mail/mail.c (default_setup): Set metamail
- * testsuite/etc/mail.rc: Unset metamail
- * doc/texinfo/programs.texi: Updated metamail documentation
-
-2005-03-18 Sergey Poznyakoff
-
- * TODO: Updated
- * README-alpha: Updated
- * mail/shell.c (mail_execute): Restore argv[0] before exiting,
- else argcv_free coredumps.
-
-2005-03-15 Sergey Poznyakoff
-
- * mailbox/mailbox.c (mailbox_flush): Do not re-save all messages
- if the mailbox was opened in append mode.
-
-2005-03-14 Sergey Poznyakoff
-
- * mimeview/mimetypes.l (<HEX>): Bugfix
- * mimeview/mimetypes.y (b_string): Bugfix
-
-2005-03-13 Sergey Poznyakoff
-
- Sources are tagged alpha_0_6_1
-
- * Makefile.am (SUBDIRS): Reordered. Due to the specifics
- of gnulib imports, libmailutils depends on libmailbox.
- Added config/.
- * configure.ac (AC_CONFIG_FILES): Added config/Makefile
- * lib/mailcap.c (mime_context_fill): Return integer code
- (display_stream_mailcap): Bail out if mime_context_fill
- returns 1
-
- * mailbox/Makefile.am: Removed mailutils-config.c. It should
- live in a separate directory to satisfy interlibrary dependencies.
- * mailbox/mailutils-config.c: Moved to config
- * config: New directory
- * config/mailutils-config.c: New file
- * config/Makefile.am: New file
-
- * po/POTFILES.in: Updated
-
-2005-03-13 Sergey Poznyakoff
-
- * lib/mailcap.c Include ctype.h
- (mime_context_fill): Remove leading whitespace
- when preparing lists.
- (mime_context_get_content_type_value): Return integer code.
- (expand_string): Fixed expansion of %{name}
- * mh/send.c: Use gettext markers in verbose diagnostics.
-
-2005-03-12 Sergey Poznyakoff
-
- * README: Updated. Switch to outline mode.
- * README-alpha: Updated. Switch to outline mode.
- * mailbox/mutil.c: Minor indentation fix
- * mailbox/pop/pop3_sendline.c: Do not redefine _GNU_SOURCE
- * mailbox/nntp/nntp_sendline.c: Likewise
-
-2005-03-12 Sergey Poznyakoff
-
- * lib/mailcap.c: New file. Routines for displaying MIME
- messages.
- * lib/Makefile.am: Added mailcap.c
- * mimeview/mimeview.c: Rewritten using display_stream_mailcap.
- * mail/decode.c: Implemented built-in mailcap mechanism
- * mail/Makefile.am: (mail_LDADD): Changed order of loading
- libmailutils/libmailbox
- * mimeview/Makefile.am (mimeview_LDADD): Likewise
- * doc/texinfo/programs.texi (mail): Documented variable
- mimenoask
- * po/POTFILES.in: Updated
- * examples/mta.c (header): Removed unused global
- * NEWS: Updated
-
-2005-03-10 Sergey Poznyakoff
-
- * TODO: Updated
- * imap4d/imap4d.h (define _GNU_SOURCE): Removed. Defined
- in config.h
- * mailbox/mailcap.c (mu_mailcap_entry_get_value): Bugfix: return
- ENOENT if no matching entry is found.
- * mailbox/mutil.c (mu_true_answer_p): Ignore leading whitespace.
- * mh/mh_init.c (mh_vgetyn): Synchronize with the changes to
- mu_true_answer_p().
- * mimeview/mimeview.c: Handle --no-ask and --no-interactive (-h)
- options. Continue search for a matching entry when necessary.
- Implement 'test' and 'print' commands.
- * doc/texinfo/programs.texi (mimeview): Documented new options
-
-2005-03-09 Sergey Poznyakoff
-
- * mimeview/mimetypes.l: Bugfix: accept ',' as OR
- * mimeview/mimetypes.y: Fixed precedences of ',' and '+'.
-
-2005-03-08 Sergey Poznyakoff
-
- * TODO: Updated
- * configure.ac (DEFAULT_CUPS_CONFDIR): New variable
- * doc/texinfo/programs.texi (mimeview): Documented the program
- * mimeview/Makefile.am (AM_CFLAGS): Use DEFAULT_CUPS_CONFDIR
- * mimeview/mimeview.c (create_filter,print_exit_status)
- (get_pager): New function
- (run_mailcap): Pipe file contents to the command if its invocation
- does not contain %s.
- Use pager if `copiousoutput' is specified in mailcap
-
- * po/POTFILES.in: Updated
-
-2005-03-08 Sergey Poznyakoff
-
- TODO:121 said: "file viewer, based on the mimetypes api. I want to do
- a "v foo.blah", have it look up .blah in mime.types, and do the
- action spec'ed in mailcap."
- So, here it goes:
-
- * mimeview: New directory
- * mimeview/mimetypes.y: New file
- * mimeview/mimetypes.l: New file
- * mimeview/mimeview.c: New file
- * mimeview/mimeview.h: New file
- * mimeview/Makefile.am: New file
- * mimeview/.cvsignore: New file
-
- * configure.ac: Added mimeview
- * Makefile.am: Likewise
- * doc/texinfo/programs.texi (mimeview): New section.
- (mail): Document recently added variables.
- * mailbox/mailcap.c (mu_mailcap_entry_copiousoutput): Bugfix
-
-2005-03-07 Sergey Poznyakoff
-
- * TODO: Updated
- * NEWS: Updated
- * mail/decode.c (mail_decode): Implemented new variable
- `metamail' that turns on use of metamail program for
- displaying MIME messages.
- (run_metamail): New function
- * mailbox/mutil.c (mu_spawnvp): Minor fixes
-
-2005-03-06 Sergey Poznyakoff
-
- * NEWS: Updated
-
- * auth/sql.c: Use a uniform way of filename quoting in diagnostic
- messages.
- * frm/common.c: Likewise
- * frm/from.c: Likewise
- * imap4d/authenticate.c: Likewise
- * imap4d/login.c: Likewise
- * libsieve/actions.c: Likewise
- * libsieve/extensions/vacation.c: Likewise
- * mail/var.c: Likewise
- * mail.local/mailquota.c: Likewise
- * mail.local/main.c: Likewise
- * mail.remote/mail.remote.c: Likewise
- * mailbox/mu_argp.c: Likewise
- * messages/messages.c: Likewise
- * mh/forw.c: Likewise
- * mh/mh_ctx.c: Likewise
- * mh/mh_init.c: Likewise
- * mh/send.c: Likewise
- * movemail/movemail.c: Likewise
- * pop3d/apop.c: Likewise
- * pop3d/lock.c: Likewise
- * pop3d/user.c: Likewise
- * readmsg/readmsg.c: Likewise
- * sieve/sieve.c: Likewise
-
- * mailbox/errors (MU_ERR_NO_QUERY): Fixed wording
-
-2005-03-05 Wojciech Polak
-
- * frm/Makefile.am: Removed install-exec-hook after the changes
- from 2005-03-02.
-
-2005-03-05 Sergey Poznyakoff
-
- POSIX compatibility issues in mail
-
- * mail/alt.c (mail_is_my_name): Do not check `metoo'. The
- caller is responsible for that.
- * mail/reply.c (reply0): Check for `metoo' before calling
- mail_is_my_name().
- (mail_reply): Honor `flipr' variable
- * mail/decode.c: Mark message as read and shown
- * mail/mbox.c: Likewise
- * mail/pipe.c: Likewise
- * mail/print.c: Likewise
- * mail/top.c: Likewise
- * mail/undelete.c: Likewise
- * mail/visual.c: Likewise
- * mail/from.c (mail_from0): If `showto' is set and the
- mail comes from the user that invoked the program, show
- `To:' address instead of `From:'.
- * mail/mail.c (default_setup): Added variables, required by
- POSIX: flipr, showto, bang. Added placeholders for debug,
- onehop and sendwait.
- * mail/mail.h (util_mark_read): New function
- * mail/shell.c: If `bang' is set, expand every occurrence
- of ! in argument array.
- * mail/touch.c: Rewritten in accordance with POSIX specs:
- do not mbox deleted and saved messages.
- * mail/util.c (util_mark_read): New function
-
-2005-03-04 Sergey Poznyakoff
-
- * mail/mail.h (MAIL_ATTRIBUTE_SHOWN): New attribute. Shows
- that the message has been displayed during the current session.
- * mail/next.c (mail_next): Rewritten in accordance with posix:
- if the current message has not been shown yet, then show
- it. Otherwise advance to the nearest next non-deleted message.
- * mail/print.c (mail_print_msg): Set MAIL_ATTRIBUTE_SHOWN after
- displaying the message
- * mail/top.c (top0): set read attribute and MAIL_ATTRIBUTE_SHOWN
- after displaying the message
-
-2005-03-02 Sergey Poznyakoff
-
- * frm/Makefile.am: Build `from'
- * frm/frm.c: Moved part of code to be shared between `frm' and
- `from' to common.c
- * frm/common.c: New file
- * frm/from.c: New file
- * frm/frm.h: New file
- * mail/quit.c: Save messages that were marked for saving to mbox
- and then deleted
- * mailbox/mbox/mbox.c (mbox_scan): Store the number of messages
- into *pcount if we don't need to rescan the mailbox.
-
- * po/POTFILES.in: Updated
-
- * from/from.c: Removed
- * from/Makefile.am: Removed
- * from/.cvsignore: Removed
- * from/testsuite: Removed
- * from/testsuite/from/test.exp: Removed
- * from/testsuite/from/DISTFILES: Removed
-
- * configure.ac: Removed from
- * Makefile.am: Likewise
- * doc/texinfo/programs.texi: Document `from'
-
-2005-02-28 Sergey Poznyakoff
-
- * configure.ac: Check for FriBidi
- * frm/Makefile.am: Link with libfribidi
- * frm/frm.c: Rewritten output routines using FriBidi. Arabic
- subject lines look almost OK, except that all characters are
- displayed in isolated variant.
- * frm/testsuite/frm/test.exp: Fixed to match the new frm output.
-
-2005-02-27 Wojciech Polak
-
- * frm/Makefile.am: Added install-exec-hook for creating
- the symbolic link 'from' to 'frm'.
- * from/Makefile.am: Changed bin_PROGRAMS to noinst_PROGRAMS.
-
-2005-02-27 Sergey Poznyakoff
-
- * gnulib.modules: Add mbswidth
- * frm/frm.c: Implemented -t. Changed implementation of -Q.
- Rewritten action() to correctly handle multibyte characters
- and to provide for eventual using the BIDI algorithm.
- (print_line,format_field,format_field_simple)
- (format_field_align): New functions
- (util_getcols): Measure /dev/tty if unable to open stdout.
- (to work correctly with piped output).
- (rfc2047_decode_wrapper): Cache the determined locale.
- (get_personal): Do not limit the returned string length.
- Do not attempt to decode the raw header text, since
- parse822 will skip non-ascii characters, decode the already
- obtained personal part instead.
-
- * mailbox/address.c (address_aget_personal)
- (address_aget_comments): Bugfix
- * sql/mysql.c: Provide place handlers for handling MySQL 4.1.x
- scrambled passwords.
-
- Update by gnulib-sync:
-
- * m4/mbrtowc.m4: New file
- * m4/mbswidth.m4: New file
- * lib/mbswidth.c: New file
- * lib/mbswidth.h: New file
- * lib/Makefile.am: Updated
- * m4/gnulib.m4: Updated
-
-2005-02-26 Wojciech Polak
-
- * mh/send.c (expand_aliases): Bugfix. Do not use statically
- allocated buffer. Use header_aget_field_name() instead.
- The utility froze with header names longer than 16 bytes.
-
-2005-02-26 Wojciech Polak
-
- * mailbox/url_smtp.c (_url_smtp_init): Do not reject
- an URL with user name, password, or auth method specified.
- We will use it in further ESMTP authentication.
-
-2005-02-26 Sergey Poznyakoff
-
- * sql/mysql.c: Do not use any libmysql functions to
- scramble passwords: mysql people are evidently
- unable to keep this API stable.
-
-2005-02-25 Sergey Poznyakoff
-
- * NEWS: Updated
- * auth/sql.c (mu_sql_password_type): New variable
- (--sql-password-type): New command line option
- (mu_sql_getpass): New function.
- (mu_sql_authenticate): Recognize hashed, plaintext
- and mysql scrambled passwords.
- * auth/sql.h (sql_interface): new decl
- (mu_sql_expand_query): New proto.
- * imap4d/auth_gsasl.c (cb_retrieve): Fall back to SQL
- if plaintext password file is not available.
- * include/mailutils/sql.h (mu_sql_getpass)
- (mu_sql_password_type,mu_sql_expand_query):
- (mu_check_mysql_scrambled_password): New function
- * mail.local/mailquota.c: Include <auth/sql.h>. A temporary
- solution.
-
- * mailbox/muerror.c (mu_syslog_error_printer): Bugfix.
- * sql/mysql.c (mu_check_mysql_scrambled_password): New function.
-
- * mail/mail.c: Updated copyright date.
-
-2005-02-25 Sergey Poznyakoff
-
- * NEWS: Updated
- * include/mailutils/libsieve.h (sieve_get_identifier): New
- function.
- (sieve_arg_error): New function.
- * libsieve/actions.c: Removed spurions indications of action
- names in diagnostic messages. Sieve_error prepends them
- automatically now.
- * libsieve/tests.c: Likewise.
- * libsieve/extensions/list.c: Likewise.
- * libsieve/extensions/timestamp.c: Likewise.
- * libsieve/extensions/vacation.c: Likewise.
- * libsieve/runtime.c (instr_action,instr_test): Update
- mach->identifier.
- * libsieve/sieve.h (struct sieve_machine.identifier): New
- field.
-
- * libsieve/util.c (sieve_value_create): Bugfix.
- (sieve_error): Prepend action or test identifier to the diagnostic
- message.
- (sieve_arg_error): New function.
-
- * po/POTFILES.in: Updated
-
-2005-02-24 Sergey Poznyakoff
-
- Update by gnulib-sync.
-
- * lib/stdbool.h: New file
- * m4/unlocked-io.m4: New file
- * m4/argp.m4: Updated
- * m4/gnulib.m4: Updated
- * mailbox/Makefile.am: Updated
-
-2005-02-23 Sergey Poznyakoff
-
- Synchronized with the recent gnulib. Provide a way to
- facilitate further synchronizations.
-
- * gnulib.modules: New file
- * scripts/gnulib-sync: New file. Script for synchronizing
- mailutils tree with gnulib.
- * configure.ac: Updated to use new gnulib files.
- * m4/mu_libobj.m4 (MU_LIBSOURCES,MU_REPLACE_FUNCS): New defun.
- (MU_CHECK_FUNCS): Removed.
-
- * Makefile.am: Remove headers/
- * frm/frm.c (parse_opt): Bugfix. Was using optarg instead of arg
- * mail.local/main.c: Likewise
- * pop3d/popauth.c: Likewise
- * readmsg/readmsg.c: Likewise
- * include/mailutils/argp.h: Include errno.h
- * include/mailutils/gnu/Makefile.am: Remove posix/regex.h
- * libsieve/argp.c (sieve_argp_option): Use N_()
- * mailbox/message.c: Use new md5 calls
- * mailbox/pop/mbox.c: Likewise
- * mailbox/pop/pop3_apop.c: Likewise
- * mailbox/message.c: Likewise
- * mh/mh_error.c: Include mailutils/argp.h
- * mh/mh_getopt.c: Include string.h
- * pop3d/Makefile.am (INCLUDES): Add $(top_srcdir)/mailbox
- * pop3d/pop3d.h: Minor fix
-
- * lib/xalloc_die.c: New file
- * m4/gnulib.m4: New file
-
- * headers/.cvsignore
- * headers/Makefile.am
- * headers/getopt.h
- * headers/regex.h
- * headers/argp.h
- * headers/posix/.cvsignore
- * headers/posix/Makefile.am
- * headers/posix/regex.h
- * headers/posix
-
- Update by gnulib-sync.
-
- * lib/asprintf.c: New file
- * mailbox/alloca.h: New file
- * mailbox/argp.h: New file
- * mailbox/getopt.h: New file
- * lib/allocsa.c: Added to the repository
- * lib/allocsa.h: Added to the repository
- * lib/allocsa.valgrind: Added to the repository
- * lib/asprintf.c: Updated
- * lib/error.c: Added to the repository
- * lib/error.h: Updated
- * lib/exit.h: Added to the repository
- * lib/exitfail.c: Added to the repository
- * lib/exitfail.h: Added to the repository
- * lib/fnmatch.c: Updated
- * lib/fnmatch_.h: Added to the repository
- * lib/fnmatch_loop.c: Added to the repository
- * lib/getpass.c: Updated
- * lib/getpass.h: Added to the repository
- * lib/malloc.c: Updated
- * lib/obstack.c: Updated
- * lib/obstack.h: Updated
- * lib/realloc.c: Updated
- * lib/setenv.c: Updated
- * lib/setenv.h: Added to the repository
- * lib/snprintf.c: Updated
- * lib/snprintf.h: Updated
- * lib/stdbool_.h: Added to the repository
- * lib/unsetenv.c: Added to the repository
- * lib/vasprintf.c: Updated
- * lib/vasprintf.h: Added to the repository
- * lib/xalloc.h: Updated
- * lib/xmalloc.c: Updated
- * lib/xsize.h: Added to the repository
- * lib/xstrtol.c: Updated
- * lib/xstrtol.h: Updated
- * lib/xstrtoul.c: Added to the repository
- * m4/alloca.m4: Added to the repository
- * m4/allocsa.m4: Added to the repository
- * m4/argp.m4: Added to the repository
- * m4/eealloc.m4: Added to the repository
- * m4/eoverflow.m4: Added to the repository
- * m4/error.m4: Added to the repository
- * m4/exitfail.m4: Added to the repository
- * m4/extensions.m4: Added to the repository
- * m4/fnmatch.m4: Added to the repository
- * m4/getline.m4: Added to the repository
- * m4/getndelim2.m4: Added to the repository
- * m4/getopt.m4: Updated
- * m4/getpass.m4: Added to the repository
- * m4/gettext_gl.m4: Added to the repository
- * m4/glibc21_gl.m4: Added to the repository
- * m4/iconv.m4: Added to the repository
- * m4/intmax.m4: Added to the repository
- * m4/intmax_t.m4: Added to the repository
- * m4/intmax_t.m4: Added to the repository
- * m4/inttypes.m4: Added to the repository
- * m4/inttypes_h_gl.m4: Added to the repository
- * m4/inttypes_h_gl.m4: Added to the repository
- * m4/lib-ld_gl.m4: Added to the repository
- * m4/lib-prefix_gl.m4: Added to the repository
- * m4/longdouble.m4: Added to the repository
- * m4/longdouble.m4: Added to the repository
- * m4/longlong_gl.m4: Added to the repository
- * m4/longlong_gl.m4: Added to the repository
- * m4/mailbox-link.m4: Added to the repository
- * m4/mbstate_t.m4: Added to the repository
- * m4/md5.m4: Added to the repository
- * m4/mempcpy.m4: Added to the repository
- * m4/nls.m4: Added to the repository
- * m4/obstack.m4: Added to the repository
- * m4/onceonly.m4: Added to the repository
- * m4/onceonly.m4: Added to the repository
- * m4/po_gl.m4: Added to the repository
- * m4/printf-posix.m4: Added to the repository
- * m4/progtest.m4: Added to the repository
- * m4/regex.m4: Updated
- * m4/restrict.m4: Added to the repository
- * m4/setenv.m4: Added to the repository
- * m4/signed.m4: Added to the repository
- * m4/size_max.m4: Added to the repository
- * m4/size_max.m4: Added to the repository
- * m4/snprintf.m4: Added to the repository
- * m4/ssize_t.m4: Added to the repository
- * m4/stdbool.m4: Added to the repository
- * m4/stdint_h_gl.m4: Added to the repository
- * m4/stdint_h_gl.m4: Added to the repository
- * m4/strcase.m4: Added to the repository
- * m4/strchrnul.m4: Added to the repository
- * m4/strerror_r.m4: Added to the repository
- * m4/strndup.m4: Added to the repository
- * m4/strnlen.m4: Added to the repository
- * m4/strtok_r.m4: Added to the repository
- * m4/sysexits.m4: Added to the repository
- * m4/uint32_t.m4: Added to the repository
- * m4/uintmax_t_gl.m4: Added to the repository
- * m4/uintmax_t_gl.m4: Added to the repository
- * m4/ulonglong_gl.m4: Added to the repository
- * m4/ulonglong_gl.m4: Added to the repository
- * m4/vasnprintf.m4: Added to the repository
- * m4/vasprintf.m4: Added to the repository
- * m4/vsnprintf.m4: Added to the repository
- * m4/wchar_t.m4: Added to the repository
- * m4/wint_t.m4: Added to the repository
- * m4/xalloc.m4: Added to the repository
- * m4/xsize.m4: Added to the repository
- * m4/xsize.m4: Added to the repository
- * m4/xstrtol.m4: Added to the repository
- * mailbox/alloca.c: Added to the repository
- * mailbox/alloca_.h: Added to the repository
- * mailbox/argp-ba.c: Updated
- * mailbox/argp-eexst.c: Updated
- * mailbox/argp-fmtstream.c: Updated
- * mailbox/argp-fmtstream.h: Updated
- * mailbox/argp-fs-xinl.c: Updated
- * mailbox/argp-help.c: Updated
- * mailbox/argp-namefrob.h: Updated
- * mailbox/argp-parse.c: Updated
- * mailbox/argp-pv.c: Updated
- * mailbox/argp-pvh.c: Updated
- * mailbox/argp-xinl.c: Updated
- * mailbox/argp.h: Updated
- * mailbox/asnprintf.c: Added to the repository
- * mailbox/getline.c: Updated
- * mailbox/getline.h: Updated
- * mailbox/getndelim2.c: Added to the repository
- * mailbox/getndelim2.h: Added to the repository
- * mailbox/getopt.c: Updated
- * mailbox/getopt1.c: Updated
- * mailbox/getopt_.h: Added to the repository
- * mailbox/getopt_int.h: Added to the repository
- * mailbox/gettext.h: Added to the repository
- * mailbox/md5.c: Updated
- * mailbox/md5.h: Updated
- * mailbox/mempcpy.c: Added to the repository
- * mailbox/mempcpy.h: Added to the repository
- * mailbox/minmax.h: Added to the repository
- * mailbox/printf-args.c: Added to the repository
- * mailbox/printf-args.h: Added to the repository
- * mailbox/printf-parse.c: Added to the repository
- * mailbox/printf-parse.h: Added to the repository
- * mailbox/regex.c: Updated
- * mailbox/regex.h: Added to the repository
- * mailbox/strcase.h: Added to the repository
- * mailbox/strcasecmp.c: Added to the repository
- * mailbox/strchrnul.c: Updated
- * mailbox/strchrnul.h: Added to the repository
- * mailbox/strncasecmp.c: Added to the repository
- * mailbox/strndup.c: Updated
- * mailbox/strndup.h: Added to the repository
- * mailbox/strnlen.c: Updated
- * mailbox/strtok_r.c: Updated
- * mailbox/strtok_r.h: Added to the repository
- * mailbox/sysexit_.h: Added to the repository
- * mailbox/vasnprintf.c: Added to the repository
- * mailbox/vasnprintf.h: Added to the repository
- * mailbox/vsnprintf.c: Added to the repository
- * mailbox/vsnprintf.h: Added to the repository
- * mailbox/xsize.h: Added to the repository
- * scripts/config.rpath: Added to the repository
-
-2005-02-21 Sergey Poznyakoff
-
- * libsieve/actions.c: Further unification of diagnostic style.
- * libsieve/argp.c: Likewise.
- * mail/mail.c: Likewise.
- * mail.local/mailquota.c: Likewise.
- * mailbox/mu_argp.c: Likewise.
- * mh/forw.c: Likewise.
- * mh/refile.c: Likewise.
- * mh/repl.c: Likewise.
- * mh/send.c: Likewise.
- * sieve/sieve.c: Likewise.
- * mail.local/main.c: Add debug flag 'i' for symmetry with sieve
-
-2005-02-16 Sergey Poznyakoff
-
- Fix a long-standing issue in mailbox and imap4d:
- be able to handle a case when a third-party program deletes
- some messages in the mailbox being open by imap4d (imap4d
- cannot and should not lock it, hence the possibility).
-
- * mailbox/amd.c (amd_pool_flush): New function.
- (amd_close): Call amd_pool_flush()
- and initialize amd data so that subsequent amd_open() works
- properly.
- (amd_destroy): Call amd_pool_flush.
- * mailbox/mbox/mbox.c (mbox_close): Initialize all private data
- so that subsequent mailbox_open() works properly.
- (mbox_is_updated): Updated comment
-
- * imap4d/bye.c (imap4d_bye0): Handle ERR_MAILBOX_CORRUPTED
- * imap4d/imap4d.h (ERR_MAILBOX_CORRUPTED): New error code.
- (imap4d_set_observer): New function
- * imap4d/select.c (imap4d_select0): Call imap4d_set_observer()
- * imap4d/sync.c (imap4d_set_observer): New function.
- (imap4d_sync): Check if the mailbox was shrunk (in libmailbox
- terms 'corrupted'). If so, reopen it and issue untagged alert.
-
-2005-02-16 Sergey Poznyakoff
-
- * imap4d/auth_gsasl.c (cb_validate): Provide normal authentication
- for PLAIN and LOGIN mechanisms.
-
-2005-02-11 Sergey Poznyakoff
-
- * imap4d/unsubscribe.c: Rewritten. Thanks Andrew Barnes
- for reporting the bug.
-
-2005-02-03 Sergey Poznyakoff
-
- * guimb/main.c (parse_opt): Use arg instead of optarg.
- Thanks James Dolter for reporting.
-
-2005-01-17 Sergey Poznyakoff
-
- * mailbox/parsedate.y (mu_parse_date): Initialize struct tm
- * mailbox/nntp/folder.c (nntp_folder_open): Do not use alloca
- * mailbox/nntp/mbox.c: Do not use alloca
-
- * doc/texinfo/Makefile.am: Rewritten to use gendocs.sh
- * doc/texinfo/index.html.in: Removed
- * doc/texinfo/gendocs_template: New file
- * doc/texinfo/fdl.texi: Fixed sectioning
- * doc/texinfo/programs.texi: Likewise.
- * doc/texinfo/url.texi: Likewise.
- * doc/texinfo/mailutils.texi: Fixed sectioning. Print table
- of contents after summary page, as suggested by GNU standards.
-
-2005-01-05 Sergey Poznyakoff
-
- * configure.ac (AUTHLIBS_DEPENDENCY,SQLLIB_DEPENDENCY): New
- variables. I still hope to find a better solution, though
- (see comment to imap4d_DEPENDENCIES in imap4d/Makefile.am).
- New SQL driver: ODBC (--with-sql=odbc or --with-odbc)
- Raised version number to 0.6.1
- * NEWS: Updated
- * README: Updated
- * auth/Makefile.am: Use explicit PROG_DEPENDENCIES
- * imap4d/Makefile.am: Likewise.
- * pop3d/Makefile.am: Likewise.
-
- * include/mailutils/sql.h (mu_sql_dispatch.errstr): Changed
- return type to const char*
- * sql/mysql.c: Likewise
- * sql/postgres.c: Likewise
- * sql/sql.c: Likewise
-
- * sql/odbc.c: New file. ODBC SQL driver.
- * sql/Makefile.am: Add odbc.c
-
- * mail/testsuite/mail/read.exp: Updated to match recent changes
- in diagnostic messages.
-
-2005-01-04 Sergey Poznyakoff
-
- * libsieve/extensions/vacation.c: New action. Based on
- guimb/scm/vacation.scm and on ideas and code fragments from
- Felix Egli <fegli@goldnet.ch>.
- * libsieve/extensions/Makefile.am: Add vacation
- * include/mailutils/libsieve.h (sieve_get_message_sender)
- (stream_printf): New prototypes.
- * THANKS: Add Felix Egli
-
-2005-01-04 Sergey Poznyakoff
-
- * auth/sql.c: Revise error messages for accordance with GNU standards:
- begin messages with a capital letter, unless they are prefixed
- with `file:line:' or their exact look is important due to
- compatibility reasons. Do not end messages with a period.
- Avoid using contracted negations
- * auth/tls.c: Likewise
- * comsat/action.c: Likewise
- * comsat/cfg.c: Likewise
- * comsat/comsat.c: Likewise
- * dotlock/dotlock.c: Likewise
- * frm/frm.c: Likewise
- * from/from.c: Likewise
- * guimb/collect.c: Likewise
- * guimb/main.c: Likewise
- * guimb/util.c: Likewise
- * imap4d/auth_gss.c: Likewise
- * imap4d/imap4d.c: Likewise
- * imap4d/list.c: Likewise
- * imap4d/signal.c: Likewise
- * imap4d/util.c: Likewise
- * libsieve/actions.c: Likewise
- * libsieve/comparator.c: Likewise
- * libsieve/prog.c: Likewise
- * libsieve/runtime.c: Likewise
- * libsieve/sieve.l: Likewise
- * libsieve/tests.c: Likewise
- * libsieve/util.c: Likewise
- * mail/alt.c: Likewise
- * mail/copy.c: Likewise
- * mail/decode.c: Likewise
- * mail/file.c: Likewise
- * mail/if.c: Likewise
- * mail/mail.c: Likewise
- * mail/mailline.c: Likewise
- * mail/quit.c: Likewise
- * mail/send.c: Likewise
- * mail/source.c: Likewise
- * mail/unalias.c: Likewise
- * mail/util.c: Likewise
- * mail/var.c: Likewise
- * mail/z.c: Likewise
- * mail.local/mailquota.c: Likewise
- * mail.local/main.c: Likewise
- * mail.local/script.c: Likewise
- * mailbox/mailutils-config.c: Likewise
- * mailbox/mu_argp.c: Likewise
- * messages/messages.c: Likewise
- * mh/fmtcheck.c: Likewise
- * mh/folder.c: Likewise
- * mh/forw.c: Likewise
- * mh/inc.c: Likewise
- * mh/mark.c: Likewise
- * mh/mh_argp.c: Likewise
- * mh/mh_ctx.c: Likewise
- * mh/mh_fmtgram.y: Likewise
- * mh/mh_format.c: Likewise
- * mh/mh_init.c: Likewise
- * mh/mh_list.c: Likewise
- * mh/mh_msgset.c: Likewise
- * mh/mh_whom.c: Likewise
- * mh/mhl.c: Likewise
- * mh/mhn.c: Likewise
- * mh/pick.c: Likewise
- * mh/refile.c: Likewise
- * mh/repl.c: Likewise
- * mh/rmf.c: Likewise
- * mh/scan.c: Likewise
- * mh/send.c: Likewise
- * movemail/movemail.c: Likewise
- * pop3d/apop.c: Likewise
- * pop3d/extra.c: Likewise
- * pop3d/lock.c: Likewise
- * pop3d/pop3d.c: Likewise
- * pop3d/popauth.c: Likewise
- * pop3d/signal.c: Likewise
- * readmsg/readmsg.c: Likewise
- * sieve/sieve.c: Likewise
-
- * mail/testsuite/mail/read.exp: Updated to match new output format
- of the decode command
-
-2005-01-04 Sergey Poznyakoff
-
- * mailbox/errors: Add gettext markers
- * po/POTFILES.in: Depend on mailbox/errors directly
- * scripts/generr.awk: Assume textual messages are
- already quoted.
-
-2005-01-02 Jordi Mallach
-
- * doc/texinfo/programs.texi: Typo fix.
-
-2005-01-01 Sergey Poznyakoff
-
- Generate automatically errno.h and muerrno.c from a single
- plain text file. This facilitates maintaining of mailutils-
- specific error codes.
-
- * include/mailutils/errno.h: Removed
- * include/mailutils/errno.hin: New file
- * include/mailutils/Makefile.am: Generate errno.h
- * mailbox/muerrno.c: Removed
- * mailbox/muerrno.cin: New file
- * mailbox/errors: New file
- * mailbox/Makefile.am: Generate muerrno.c
- * scripts/generr.awk: New file
- * scripts/Makefile.am: Add generr.awk
-
- Fix a recently spotted problem in the testsuite:
-
- * imap4d/testsuite/imap4d/list.exp: Use new -sort flag to
- avoid dependency on any particular ordering. Also corrected
- expected outputs due to inclusion of two new mailboxes quite
- some time ago (went unnoticed so far due to fuzzy matching
- technique + ordering-dependent output).
- * imap4d/testsuite/lib/imap4d.exp (imap4d_test): New flag -sort
- toggles on sorting of untagged responces. Notice that -sort
- and -re are mutually exclusive.
- * testsuite/lib/mailutils.exp (mu_test): Upvar expect_out
-
-2004-12-28 Wojciech Polak
-
- Fixed displaying mail headers in different languages.
-
- * mail/util.c (util_rfc2047_decode): Fixed reading
- a language environment variable.
- * frm/frm.c (rfc2047_decode_wrapper): Likewise.
- (util_getcols): Imported function from mail/util.c.
- (action): Try to print only one line per message.
- * from/from.c (rfc2047_decode_wrapper): Fixed.
-
-2004-12-23 Sergey Poznyakoff
-
- * configure.ac: Version 0.6
- * NEWS: Likewise
- * README: Updated
- * auth/gsasl.c: Updated for GSASL >=0.2.3. Previous versions
- won't work.
- * auth/lbuf.c (_auth_lb_writelines): Bugfix
- * mail.local/mail.local.h (USE_MAILBOX_QUOTAS): New define
- * mail.local/mailquota.c: Use USE_MAILBOX_QUOTAS.
- (sql_retrieve_quota): Assume unlimited quotas for empty fields.
- * mail.local/main.c: Use USE_MAILBOX_QUOTAS.
-
-2004-12-17 Sergey Poznyakoff
-
- * configure.ac: Do not allow to specify modules more than once
- * auth/sql.c (sql_escape_string): Escape ocurrences of ' and "
- in string.
- (mu_sql_expand_query): prevent possible sql injection
- * mail.local/mailquota.c (sql_retrieve_quota): Allow for NULL
- columns
- * sql/postgres.c (destroy): Bugfix: do not free pgconn
-
-2004-12-05 Sergey Poznyakoff
-
- * Makefile.am: Added sql/
- * configure.ac: Rewritten sql-related part. Allow to specify
- several SQL libraries simultaneously.
-
- * sql: New directory
- * sql/Makefile.am: New file
- * sql/.cvsignore: New file
- * sql/sql.c: New file
- * sql/mysql.c: New file
- * sql/postgres.c: New file
-
- * auth/mysql.c: Removed
- * auth/pgsql.c: Removed
- * auth/sql.c: Rewritten using general SQL interface.
- * auth/Makefile.am: Removed mysql.c and pgsql.c
- * include/mailutils/sql.h: New file
- * include/mailutils/Makefile.am: Added sql.h
-
- * include/mailutils/errno.h: Added new error codes.
- * mailbox/muerrno.c: Likewise.
-
- * mail.local/mail.local.h (quota_query): New variable
- * mail.local/mailquota.c: Retrieve quotas from SQL database
- * mail.local/main.c: New option --quota-query
-
- * scripts/sqlmod.sh: New file
- * scripts/Makefile.am: Added sqlmod.sh
-
- * doc/texinfo/programs.texi: Documented mailbox quotas
-
- * NEWS: Updated
- * README: Updated
- * po/POTFILES.in: Updated
-
-2004-12-02 Sergey Poznyakoff
-
- * doc/texinfo/programs.texi: Documented movemail.
-
-2004-11-18 Sergey Poznyakoff
-
- * mailbox/imap/folder.c (authenticate_imap_select): Use
- ENOSYS as the default status value to allow MU_ERR_AUTH_FAILURE
- to be propagated back to the caller.
- (imap_parse): Display "NO/Bad Tagged" error diagnostics only if
- status != MU_ERR_AUTH_FAILURE. Should we display it at all?
- * movemail/movemail.c: Emacs-iteraction mode (--emacs)
-
-2004-11-17 Wojciech Polak
-
- Added initial version of `libmu_cpp',
- a C++ wrapper for Mailutils.
-
- * libmu_cpp: Added new directory.
- * libmu_cpp/address.cc: New file.
- * libmu_cpp/filter.cc: Likewise.
- * libmu_cpp/iterator.cc: Likewise.
- * libmu_cpp/mailbox.cc: Likewise.
- * libmu_cpp/mailer.cc: Likewise.
- * libmu_cpp/message.cc: Likewise.
- * libmu_cpp/stream.cc: Likewise.
- * libmu_cpp/header.cc: Likewise.
- * libmu_cpp/list.cc: Likewise.
- * libmu_cpp/mailcap.cc: Likewise.
- * libmu_cpp/pop3.cc: Likewise.
- * libmu_cpp/url.cc: Likewise.
- * libmu_cpp/Makefile.am: Likewise.
-
- * include/mailutils/cpp: Added new directory.
- * include/mailutils/cpp/address.h: New file.
- * include/mailutils/cpp/error.h: Likewise.
- * include/mailutils/cpp/header.h: Likewise.
- * include/mailutils/cpp/list.h: Likewise.
- * include/mailutils/cpp/mailcap.h: Likewise.
- * include/mailutils/cpp/mailutils.h: Likewise.
- * include/mailutils/cpp/message.h: Likewise.
- * include/mailutils/cpp/stream.h: Likewise.
- * include/mailutils/cpp/filter.h: Likewise.
- * include/mailutils/cpp/iterator.h: Likewise.
- * include/mailutils/cpp/mailbox.h: Likewise.
- * include/mailutils/cpp/mailer.h: Likewise.
- * include/mailutils/cpp/pop3.h: Likewise.
- * include/mailutils/cpp/url.h: Likewise.
- * include/mailutils/cpp/Makefile.am: Likewise.
-
- * examples/cpp/addr.cc: New file.
- * examples/cpp/http.cc: Likewise.
- * examples/cpp/listop.cc: Likewise.
- * examples/cpp/sfrom.cc: Likewise.
- * examples/cpp/iconv.cc: Likewise.
- * examples/cpp/mailcap.cc: Likewise.
- * examples/cpp/murun.cc: Likewise.
- * examples/cpp/url-parse.cc: Likewise.
- * examples/cpp/Makefile.am: Likewise.
-
-2004-11-15 Wojciech Polak
-
- * examples/config: New directory.
- * examples/cpp: Likewise.
- * examples/scheme: Likewise.
- * examples/config/Makefile.am: New file.
- * examples/cpp/Makefile.am: Likewise.
- * examples/scheme/Makefile.am: Likewise.
-
- * examples/comsat.conf: Moved to config/.
- * examples/dot.biffrc: Likewise.
- * examples/gnu-imap4d.pam: Likewise.
- * examples/gnu-pop3d.pam: Likewise.
- * examples/mailutils.rc: Likewise.
- * examples/reply.scm: Moved to scheme/.
- * examples/Makefile.am: Updated.
- * configure.ac: Updated.
-
-2004-11-15 Sergey Poznyakoff
-
- * imap4d/imap4d.c: New option --tls-required: do not allow
- authentication until TLS negotiation succeeds.
- * imap4d/authenticate.c (imap4d_authenticate): Do not proceed if
- tls_required is set.
- * imap4d/login.c (imap4d_login): Likewise.
- * imap4d/imap4d.h (IMAP_CAPA_STARTTLS,IMAP_CAPA_LOGINDISABLED)
- (IMAP_CAPA_XTLSREQUIRED): New defines
- * imap4d/starttls.c (imap4d_starttls): Clear tls_required upon
- successfull TLS handshake.
- (starttls_init): Use IMAP_CAPA_STARTTLS instead of hardcoded
- literal.
- * include/mailutils/header.h (MU_HEADER_X_EXPIRE_TIMESTAMP): New
- define.
-
- * pop3d/pop3d.c: New option --tls-required: do not allow
- authentication until TLS negotiation succeeds.
- New option --delete-expired: delete expired messages before
- closing the mailbox.
- * pop3d/capa.c (pop3d_capa): Announce XTLSREQUIRED if appropriate
- * pop3d/expire.c (expire_mark_message): New function
- * pop3d/pop3d.h: New declarations.
- * pop3d/quit.c (pop3d_fix_mark): Use expire_mark_message to
- process expired messages. Apart from the new functionality, it
- also fixes a bug: len was incorrectly used as a replace indicator
- in header_set_value, thus each retrieval of the message was
- resetting its expiration date.
-
- * pop3d/stls.c (pop3d_stls): Set state to AUTHORIZATION upon
- successful completion of TLS negotiation.
-
- * configure.ac: Raised version number to 0.5.1
- * NEWS: Entry for 0.5.1
-
-2004-11-03 Sergey Poznyakoff
-
- * dotlock/dotlock.c: Removed -T option (CAN-2004-0984)
-
-2004-10-26 Sergey Poznyakoff
-
- * imap4d/store.c (imap4d_store0): Send \r\n at the end of
- the unsolicited response.
-
-2004-09-18 Sergey Poznyakoff
-
- * configure.ac: Bugfix
- * mailbox/mime.c (_mime_munge_content_header): Bugfix
-
-2004-08-31 Wojciech Polak
-
- * mailbox/file_stream.c (prog_stream_create): Changed type
- of the second argument to const char*.
- (filter_prog_stream_create): Likewise.
- (_prog_stream_create): Changed type of the third argument
- to const char*.
- * include/mailutils/stream.h (prog_stream_create): Changed
- type of the second argument to const char*.
- (filter_prog_stream_create): Likewise.
- * doc/texinfo/stream.texi: Updated.
-
- * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.14.1.
-
-2004-08-24 Sergey Poznyakoff
-
- * mail/util.c (util_do_command): Fixed coredump on unparseable
- input strings.
- * THANKS: Added Dan Jacobson
-
-2004-08-20 Sergey Poznyakoff
-
- * include/mailutils/guile.h (MU_SCM_SYMBOL_VALUE): New define
- (_mu_scm_mailer,_mu_scm_debug): Removed externs.
- * include/mailutils/list.h (list_set_destroy_item): Use __PMT in
- nested declarations.
- * libmu_scm/mu_message.c: Properly access mu-mailer and mu-message
- values.
-
-2004-08-11 Sergey Poznyakoff
-
- * mail/send.c (mail_send0): Fixed coredump on reading a
- single escape char.
-
-2004-08-08 Sergey Poznyakoff
-
- * headers/argp.h: Protect typedef int error_t by an additional
- #ifndef. Thanks Alex S. Moore <asmoore@edge.net> for helping
- find out the problem.
-
-2004-08-07 Sergey Poznyakoff
-
- * Makefile.am: Raised automake requirements to version
- 1.8.5
- * examples/nntpclient.c: Minor fixes.
- * imap4d/Makefile.am (INCLUDES): Added -Imailbox
- * imap4d/imap4d.h: Added missing includes
- * include/mailutils/nls.h [!ENABLE_NLS]: Define gettext()
- * include/mailutils/nntp.h: Minor changes. The screen is 80x24!
- * mailbox/locker.c (_locker_lock_dotlock): Make sure the lock file
- is writable for the owner.
- * mailbox/imap/folder.c (authenticate_imap_sasl_anon): Use
- auth_state instead of state. Possibly this was a typo...
- * mailbox/include/imap0.h (struct _f_imap.capac): Changed
- type to int.
- * mailbox/maildir/mbox.c (maildir_gethostname): Fixed a gross
- memory allocation bug.
-
- * mailbox/message.c: Minor changes.
- * mailbox/mbox/url.c: Likewise.
- * mailbox/nntp/folder.c: Likewise.
- * mailbox/nntp/mbox.c: Likewise.
- * mailbox/nntp/nntp_article.c: Likewise.
- * mailbox/nntp/nntp_connect.c: Likewise.
- * mailbox/nntp/nntp_date.c: Likewise.
- * mailbox/nntp/nntp_head.c: Likewise.
- * mailbox/nntp/nntp_ihave.c: Likewise.
- * mailbox/nntp/nntp_post.c: Likewise.
-
- * scripts/guile-1.6/guile-doc-snarf: Bugfix. Always use $AWK.
-
-2004-08-06 Sergey Poznyakoff
-
- * include/mailutils/daemon.h: Include types.h
-
-2004-07-07 Sergey Poznyakoff
-
- * libsieve/extensions/spamd.c (decode_float): Return
- signed long value, as SpamAssassin scores can be negative.
- (spamd_test): Updated accordingly
-
-2004-07-05 Sergey Poznyakoff
-
- * include/mailutils/registrar.h (mu_register_extra_formats): New
- macro.
- (mu_register_all_formats): Call mu_register_extra_formats()
- * mailbox/mu_argp.c (mu_conf_option): Added ENABLE_NNTP
- * mailbox/nntp/Makefile.am: Add nntp0.h
- * mh/Makefile.am: Added libmu_nntp.la
- * readmsg/readmsg.c (main): Call mu_register_extra_formats()
-
-2004-07-05 Sergey Poznyakoff
-
- * include/mailutils/registrar.h (mu_register_all_mbox_formats):
- Removed nntp_record. It is not a *mailbox* format.
- * mailbox/mailutils-config.c: Added mu_nntp
-
- * mailbox/include/iterator0.h (_iterator.getitem): Changed
- declaration. There's no use passing a pointer to the const
- location, since the function *must* assign to it anyway.
- * include/mailutils/iterator.h (iterator_set_getitem): Changed
- declaration
- * mailbox/iterator.c (iterator_set_getitem): Changed
- declaration
- (iterator_current): Additional typecast on pitem
-
- * mailbox/list.c: Updated declaration of getitem method.
- * mailbox/nntp/nntp_iterator.c: Likewise
- * mailbox/pop/pop3_iterator.c: Likewise
-
- * mailbox/mailbox.c: Include <list.h>
- * mailbox/mailer.c: Likewise
-
-2004-07-05 Alain Magloire
-
- * configure.ac: enable NNTP support.
-
- * example/Makefile.am: Enable NNTP.
- * frm/Makefile.am: Enable NNTP.
- * from/Makefile.am: Enable NNTP.
- * messages/Makefile.am: Enable NNTP.
- * readmsg/Makefile.am: Enable NNTP.
- * guimb/Makefile.am: Enable NNTP.
- * mail/Makefile.am: Enable NNTP.
- * sieve/Makefile.am: Enable NNTP.
-
- * imap4d/Makefile.am: Put @AUTHLIBS@ before libmailbox.a (failed
- on cygwin if not).
- * pop3d/Makefile.am: Put @AUTHLIBS@ before libmailbox.a (failed on
- cygwin if not).
- * mail.local/Makefile.am: Put @AUTHLIBS@ before libmailbox.a
- (failed on cygwin if not).
-
- * mailbox/stream.c (stream_wait): Bugfix. If we buffer return
- true if the cache still have data.
-
- * include/mailutils/nntp.h: Define the default NNTP port number.
- * include/mailutils/pop3.h: Define the default POP3 port number.
- * include/mailutils/registrar.h: Enable NNTP.
-
- * mailbox/nntp/folder.c: New file.
- * mailbox/nntp/mbox.c: New file.
- * mailbox/nntp/url.c: New file.
- * mailbox/nntp/Makefile.am: Updated.
-
-2004-07-03 Sergey Poznyakoff
-
- * mailbox/list.c (list_data_dup): Bugfix: *ptr was not assigned.
- * doc/texinfo/muint.texi: Automake does not allow two independent
- texi sources to include the same file (version.texi, in this
- case). What a stupid lossage! However it handles all files whose
- name matches "vers*.texi" as version.texi, which allows to
- override the bug: include vers-muint.texi instead of version.texi.
-
-2004-07-01 Sergey Poznyakoff
-
- * include/mailutils/iterator.h (iterator_current)
- (iterator_set_getitem): Changed proto
- (iterator_get_list): Removed.
- * mailbox/include/iterator0.h (struct _iterator.getitem): Changed
- declaration.
- * mailbox/iterator.c (iterator_current)
- (iterator_set_getitem): Changed declaration
- * mailbox/list.c (getitem): Changed declaration
-
- * mailbox/rfc2047.c (rfc2047_decode): Fixed buffer
- handling
-
- * examples/mta.c: Minor fix
- * examples/nntpclient.c: Fixed printf formats
- (com_newgroups,com_newnews): Variable declarations are only allowed
- before the statements.
-
- * mailbox/nntp/nntp_article.c: Fixed printf formats
- * mailbox/nntp/nntp_body.c: Likewise
- * mailbox/nntp/nntp_head.c: Likewise
-
- * mailbox/nntp/nntp_iterator.c: Added missing include
- (nntp_itr_getitem): Changed declaration
-
- * mailbox/pop/pop3_iterator.c (pop3_itr_getitem): Changed
- declaration
-
-2004-06-30 Alain Magloire
-
- * configure.ac: Add nntp directory.
- * doc/rfc/pop3.texit: add new API.
-
- * mailbox/Makefile.am: Add nntp directory.
-
- * mailbox/nntp/Makefile.am: Add new files.
- * mailbox/nntp/nntp_iterator.c: New file.
- * mailbox/nntp/nntp_list_active.c: Use the an iterator_t instead of a lis_t..
- * mailbox/nntp/nntp_list_distribpats.c: instead of a lis_t. file.
- * mailbox/nntp/nntp_list_times.c: instead of a lis_t. file.
- * mailbox/nntp/nntp_list_newgroups.c: instead of a lis_t. file.
- * mailbox/nntp/nntp_list_newnews.c: instead of a lis_t. file.
-
- * mailbox/pop3/Makefile.am: Add new files.
- * mailbox/pop3/pop3_iterator.c: New file.
- * mailbox/pop3/pop3_capa.c: instead of a lis_t. file.
- * mailbox/pop3/pop3_lista.c: instead of a lis_t. file.
- * mailbox/pop3/pop3_uidla.c: instead of a lis_t. file.
-
- * include/mailutils/Makefile.am: Add nntp.h and pop3.h.
- * include/mailutils/nntp.h: Add new declarations.
- * include/mailutils/sys/Makefile.am: Add nntp and pop3.hh
- * include/mailutils/sys/nntp.h: Add new declarations.
- * include/mailutils/pop3.h: NAdd new declarations.
-
- * example/Makefile.am: Adusted to new API.
- * example/nntpclient.c: Adusted to new API.
- * example/pop3client.c: Adusted to new API.
- * example/.cvsignore: Add nntpclient.
-
-2004-06-30 Alain Magloire
-
- * mailbox/list.c (list_get_iterator): Bug fix, wrong size for calloc()
- (list_data_dup): Copy the elements.
-
-2004-06-30 Sergey Poznyakoff
-
- * libsieve/extensions/spamd.c (spamd_shutdown): Bugfix
-
-2004-06-29 Alain Magloire
-
- Continuing the framework for NNTP support
-
- * mailbox/nntp/.cvsignore: New file.
- * mailbox/nntp/nntp_help.c: New file.
- * mailbox/nntp/nntp_ihave.c: New file.
- * mailbox/nntp/nntp_list_active.c: New file.
- * mailbox/nntp/nntp_list_distribpats.c: New file.
- * mailbox/nntp/nntp_list_distributions.c: New file.
- * mailbox/nntp/nntp_list_newsgroups.c: New file.
- * mailbox/nntp/nntp_list_times.c: New file.
- * mailbox/nntp/nntp_newgroups.c: New file.
- * mailbox/nntp/nntp_newnews.c: New file.
- * mailbox/nntp/nntp_post.c: New file.
-
- * mailbox/nntp/nntp_article.c: implementation.
- * mailbox/nntp/nntp_body.c: implementation.
- * mailbox/nntp/nntp_connect.c: implementation.
- * mailbox/nntp/nntp_date.c: implementation.
- * mailbox/nntp/nntp_destroy.c: implementation.
- * mailbox/nntp/nntp_group.c: implementation.
- * mailbox/nntp/nntp_head.c: implementation.
- * mailbox/nntp/nntp_list_extensions.c: implementation.
- * mailbox/nntp/nntp_stat.c: implementation.
- * mailbox/nntp/nntp_stream.c: implementation.
-
- * include/mailutils/nntp.h: Declarations.
- * include/mailutils/sys/nntp.h: Declarations.
-
- * examples/nntpclient.c: Adujsted.
- * examples/pop3client.c: Minor bug fixes.
-
-2004-06-28 Sergey Poznyakoff
-
- * mailbox/filter_iconv.c (internal_icvt_read)
- (copy_pass): Fixed mistyped conditions.
-
- * mailbox/include/iterator0.h (struct _iterator): rewritten as
- a general-purpose iterator structure.
- * include/mailutils/iterator.h (iterator_create): Changed
- proto.
- (iterator_attach,iterator_detach,iterator_advance)
- (iterator_set_first,iterator_set_next)
- (iterator_set_getitem,iterator_set_finished_p)
- (iterator_set_dup,iterator_set_destroy): New functions.
- * mailbox/iterator.c: Likewise
- * include/mailutils/list.h (list_get_iterator): New function
- * mailbox/list.c: Likewise
-
- * examples/listop.c: Replace iterator_create with
- list_get_iterator.
- * examples/nntpclient.c: Likewise
- * examples/pop3client.c: Likewise
- * imap4d/util.c: Likewise
- * libsieve/comparator.c: Likewise
- * libsieve/prog.c: Likewise
- * libsieve/register.c: Likewise
- * libsieve/require.c: Likewise
- * libsieve/sieve.l: Likewise
- * mail/retain.c: Likewise
- * mail/util.c: Likewise
- * mailbox/filter.c: Likewise
- * mailbox/folder.c: Likewise
- * mailbox/mailbox.c: Likewise
- * mailbox/mailer.c: Likewise
- * mailbox/mu_auth.c: Likewise
- * mailbox/mutil.c: Likewise
- * mailbox/observer.c: Likewise
- * mh/ali.c: Likewise
- * mh/mh_alias.y: Likewise
- * mh/pick.y: Likewise
- * mh/refile.c: Likewise
-
-2004-06-27 Sergey Poznyakoff
-
- * direntry: New file
-
-2004-06-27 Sergey Poznyakoff
-
- See ChangeLog.0.5 for earlier entries
-
-
-Local Variables:
-mode: change-log
-version-control: never
-End:
diff --git a/Makefile.am b/Makefile.am
index b1c48e9..8cd59b1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,69 +1,3 @@
-## Process this file with GNU Automake to create Makefile.in
-
-## Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007
-## Free Software Foundation, Inc.
-##
-## GNU Mailutils is free software; you can redistribute it and/or
-## modify it under the terms of the GNU General Public License as
-## published by the Free Software Foundation; either version 3, or (at
-## your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
-## 02110-1301 USA
-
-AUTOMAKE_OPTIONS = gnits 1.8.5 dist-bzip2 std-options
-ACLOCAL_AMFLAGS = -I m4
-
-SUBDIRS = \
- include\
- po\
- testsuite\
- mailbox\
- sql\
- auth\
- libproto\
- lib\
- libsieve\
- libmu_cpp\
- libmu_scm\
- libargp\
- libcfg\
- doc\
- config\
- examples\
- frm\
- pop3d\
- imap4d\
- maidag\
- mail\
- sieve\
- scripts\
- guimb\
- messages\
- comsat\
- readmsg\
- mail.local\
- mail.remote\
- dotlock\
- mh\
- movemail\
- mimeview
-
-EXTRA_DIST = COPYING.LESSER
-
-alpha:
- $(MAKE) dist distdir=$(PACKAGE)-$(VERSION)-`date +"%Y%m%d"`
-
-alphacheck:
- $(MAKE) distcheck distdir=$(PACKAGE)-$(VERSION)-`date +"%Y%m%d"`
-
-rpm: dist
- rpm -ta --clean mailutils-$(VERSION).tar.gz
+AUTOMAKE_OPTIONS = gnu 1.4
+SUBDIRS = libmailbox mail
diff --git a/NEWS b/NEWS
index ff1502c..e69de29 100644
--- a/NEWS
+++ b/NEWS
@@ -1,1078 +0,0 @@
-GNU mailutils NEWS -- history of user-visible changes. 2008-03-02
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007,
-2008 Free Software Foundation, Inc.
-See the end of file for copying conditions.
-
-Please send mailutils bug reports to <bug-mailutils@gnu.org>.
-
-
-Version 1.9.90:
-
-* New configuration file format.
-
-* Programs
-
-** Debugging and online help
-
-Each Mailutils utility understands two additional command line
-options:
-
- --debug-level=LEVEL Set Mailutils debugging level.
- --debug-line-info Show source info with debugging messages.
-
-(see also `** Global debugging and verbosity settings.', below)
-
-The programs using configuration file facility also understand the
---config-help command line option. This option prints on the standard
-output the detailed description of configuration file statements that
-affect the given program.
-
-** URL parameters.
-
-Additional mailbox URL parameters `type', `user' and `param' can
-appear in any local URLs.
-
-** MAIL and FOLDER environment variables.
-
-These variables are consulted only if mail-spool directory is not
-explicitely set either in the configuration files or in the command
-line. This is different from the previous versions.
-
-** New utility `maidag'
-
-Maidag is a MAIl Delivery AGent. It is a general-purpose MDA able to
-run in both traditional and LMTP mode and to deliver mails to various
-mailbox formats. These formats, among others, include remote+smtp and
-remote+sendmail (see `New mailbox types.', below), which are
-equivalent to forwarding a message over SMTP. Thus, maidag supercedes
-both `mail.local' and `mail.remote' (which are still included for
-backward compatibility). Maidag is also able to process incoming
-messages using Sieve or Scheme scripts and, based on results of this
-processing, to take a decision on whether to actually deliver and
-where to deliver them.
-
-** Comsat
-
-The `comsat' utility is able to notify about messages delivered to
-a mailbox of any `local' type, i.e.: UNIX mailbox, MH and Maildir.
-This is implemented using quick access mode. See `Quick access to a
-message', below.
-
-The communication protocol has been modified to make this possible.
-The traditional comsat protocol is supported as well.
-
-** New Sieve action `pipe'
-
-Syntax: pipe [:envelope] <command line: string>
-
-This action executes the given <command line> and pipes the message to
-its standard input. If the :envelope tag is given, the envelope of the
-message is piped as well.
-
-** Client SMTP STARTTLS support
-
-** Support for new protocols: POPS (pops://) and IMAPS (imaps://),
-
-** LDAP support (authentication and authorization).
-
-** Support for TCP wrappers.
-
-The support for TCP wrappers is added to the daemon programs (imap4d,
-pop3d, maidag). The support is controlled at compile time by the
---with-tcpwrappers command line options to configure. By default, it
-is enabled if libwrap presence is detected. A set of configuration
-file statements are provided for fine tuning TCP wrappers at run-time.
-
-** pop3d and imap4d ports.
-
-Pop3d and imap4d can be configured to listen on several different
-IP addresses/ports (or even local sockets) simultaneously.
-
-** pop3d: Fixed APOP handling.
-
-** imap4d supports PREAUTH mode.
-
-Three mechanisms are provided for authentifying the connection in
-PREAUTH mode:
-
- 1. stdio - PREAUTH mode is enabled automatically if imap4d is started
- from command line in interactive mode (-i command line
- option). The current login name is used as the user name.
-
- 2. ident - The remote machine is asked about the requester identity
- using the identification protocol (RFC 1413). Both plaintext and
- DES encrypted replies are understood.
-
- 3. prog - Imap4d invokes an external program to authenticate the
- connection. The command line is obtained from the supplied string,
- by expandind the following variables:
-
- 1) ${client_address} - Remote IP address in dotted-quad notation;
- 2) ${client_port} - Remote port number;
- 3) ${server_address} - Local IP address;
- 4) ${server_port} - Local port number.
-
- If the connection is authenticated, the program should print the
- user name, followed by a newline character, on its standard
- output and exit with code 0.
-
- Otherwise, it shoud exit with a non-zero exit code.
-
-* Libraries
-
-** Diagnostic and debugging functions essentially rewritten.
-
-A set of debugging macros, MU_DEBUG0 through MU_DEBUG11, is provided.
-New functions mu_debug_printf and mu_debug_vprintf allow for flexible
-formatting of debugging messages. The mu_debug_t object features
-built-in line bufferring.
-
-The new function mu_debug_check_level(d,l) returns true if the logging
-level currently set for debugging object `d' matches that given by
-`l'.
-
-New diagnostics functions are available, among them:
-
- void mu_diag_vprintf (int level, const char *fmt, va_list ap);
- void mu_diag_printf (int level, const char *fmt, ...);
- void mu_diag_voutput (int level, const char *fmt, va_list ap);
- void mu_diag_output (int level, const char *fmt, ...);
-
-A new header file, mailutils/diag.h, declarations of these and other
-related functions.
-
-See documentation (FIXME: Chapter?) for more information.
-
-The functions mu_error and mu_verror are shortcuts for
-mu_diag_output (MU_DIAG_ERROR, ...) and mu_diag_voutput (MU_DIAG_ERROR, ...),
-correspondingly.
-
-The function mu_error_set_print is deprecated as well as the
-mu_error_pfn_t type. They are, however, still supported. The following
-approach is recommended to use instead of mu_error_set_print:
-
- mu_diag_get_debug (&debug);
- mu_debug_set_print (debug, new_printer, NULL);
-
-** Header iteration
-
-New function `mu_header_get_iterator' returns an iterator for this
-header object. Thus, the following code loops over all headers:
-
- mu_iterator_t itr;
- mu_header_get_iterator (header, &itr);
- for (mu_iterator_first (itr); !mu_iterator_is_done (itr);
- mu_iterator_next (itr))
- {
- const char *hdr, *val;
- mu_iterator_current_kv (itr,
- (const void**)&hdr,
- (void**)&val));
- /* Do something with hdr and val */
- }
- mu_iterator_destroy (&itr);
-
-** Global debugging and verbosity settings.
-
-These settings provide default values for mu_debug_t objects created
-by various library objects. The following functions are provided for
-dealing with global debugging level:
-
- unsigned mu_global_debug_level (const char *object_name);
- int mu_global_debug_set_level (const char *object_name, unsigned level);
- int mu_global_debug_clear_level (const char *object_name);
-
-** New function mu_mailbox_sync
-
-It supercedes mu_mailbox_save_attributes, which is now considered
-deprecated.
-
-** Observable event handling
-
-Each event type is associated with an event-specific data
-pointer. This pointer is passed to event handling functions along with
-an opaque function-specific data pointer. This affects the following
-functions:
-
- mu_observer_set_action
- mu_observer_set_action_data (New function)
- mu_observable_notify
-
-New type of event, MU_EVT_MESSAGE_APPEND, is signalled whenever a new
-message is appended to the mailbox.
-
-** Quick access to a message
-
-A set of functions are provided for so-called `quick access' to mail
-messages.
-
-Quick access is used when an application needs to quickly read one
-message from the mailbox. In particular, this mode is used by comsat.
-
-To use quick access functions, the mailbox must be opened with flags
-MU_STREAM_READ|MU_STREAM_QACCESS. The function
-mu_mailbox_quick_get_message can then be used to retrieve the message:
-
- int mu_mailbox_quick_get_message (mu_mailbox_t mbox,
- mu_message_qid_t qid,
- mu_message_t *pmsg);
-
-The message is identified by the second argument, qid.
-
-The function mu_message_get_qid can be used to retrieve
-mu_message_qid_t identifier for a message:
-
- int mu_message_get_qid (mu_message_t msg, mu_message_qid_t *pqid);
-
-** New `aget' and `sget' accessors for mu_url_t
-
-The following new accessors are provided:
-
-extern int mu_url_sget_scheme (const mu_url_t, const char **);
-extern int mu_url_aget_scheme (const mu_url_t, char **);
-
-extern int mu_url_sget_user (const mu_url_t, const char **);
-extern int mu_url_aget_user (const mu_url_t, char **);
-
-extern int mu_url_sget_passwd (const mu_url_t, const char **);
-extern int mu_url_aget_passwd (const mu_url_t, char **);
-
-extern int mu_url_sget_auth (const mu_url_t, const char **);
-extern int mu_url_aget_auth (const mu_url_t, char **);
-
-extern int mu_url_sget_host (const mu_url_t, const char **);
-extern int mu_url_aget_host (const mu_url_t, char **);
-
-extern int mu_url_sget_path (const mu_url_t, const char **);
-extern int mu_url_aget_path (const mu_url_t, char **);
-
-extern int mu_url_sget_query (const mu_url_t, const char **);
-extern int mu_url_aget_query (const mu_url_t, char **);
-
-int mu_url_sget_fvpairs (const mu_url_t, size_t *, char ***);
-int mu_url_aget_fvpairs (const mu_url_t, size_t *, char ***);
-
-** ACL
-
-A set of functions implements general-purpose access control lists.
-They are declared in the header file mailutils/acl.h. Currently,
-these functions support IPv4 and UNIX address families. Support for
-more address families, in particular IPv6, will be added in future.
-The following actions can be defined in ACLs:
-
- 1. mu_acl_accept - Accept connection.
- 2. mu_acl_deny - Deny connection.
- 3. mu_acl_log - Issue a log message, using mu_diag.*
- diagnostics functions.
- 4. mu_acl_exec - Execute an external program.
- 5. mu_acl_ifexec - Execute an external program and accept or
- deny connection depending on its exit code.
-
-** KWD
-
-A set of functions is provided for translating string values to
-integer tokens and vice-versa using simple translation tables.
-These functions are declared in the header file mailutils/kwd.h.
-
-** Vartab
-
-A set of functions is provided for performing variable expansion in
-strings. These functions are declared in the header file
-mailutils/vartab.h.
-
-** Incompatible change in mu_url_get_.* return value
-
-Any mu_url_get_.* accessors return MU_ERR_ENOENT if the corresponding
-field is not present in the object. Previous versions in that case
-returned 0 and stored empty string in the output buffer.
-
-** New mailbox types.
-
-Two new mailbox types, "remote+smtp" and "remote+sendmail", are
-supported. These are `append-only' mailboxes, i.e. the only operation
-that can be done over them is mu_mailbox_append_message. E.g.,
-appending to the URL `remote+smtp://127.0.0.1:24' is equivalent to
-sending a message using mailer `smtp://127.0.0.1:24'.
-
-** New argcv functions.
-
-- int mu_argcv_get_np (const char *command, int len,
- const char *delim, const char *cmnt,
- int flags,
- int *pargc, char ***pargv, char **endp);
-
-This function is an alternative entry point to
-mu_argcv_get/mu_argcv_get_n functions. The resulting argv will contain
-non-whitespace delimiters only if flags contains the bit
-MU_ARGCV_RETURN_DELIMS.
-
-- void mu_argcv_remove (int *pargc, char ***pargv,
- int (*sel) (const char *, void *), void *);
-
-Removes from pargc/pargv all elements for which the sel function
-returns true.
-
-** New registry functions.
-
-- int mu_registrar_lookup_url (mu_url_t url, int flags,
- mu_record_t *precord, int *pflags);
-
-** Fixed parsing of URLs similar to file:///a/b.
-
-It is parsed as an absolute file name `/a/b'.
-
-Previous versions incorrectly understood such an URL as `a/b'
-(relative file name).
-
-** Remove v0.6 compatibility layer.
-
-** Function mu_mail_directory is removed.
-
-** New function mu_mailbox_url.
-
-
-Version 1.2:
-
-* GPLv3
-
-The programs in this release are licensed under the GNU General Public License
-version 3. The libraries are covered by the GNU Lesser General Public License
-version 3.
-
-* `libmailbox' library
-
-** mu_stream_wait and mu_fd_wait allow to wait for exceptional conditions.
-
-** maildir and mh repositories are created if MU_STREAM_CREAT flag is supplied.
-
-** Fix coredump in argcv, which was triggered by input line consisting of
-a single double-quote character.
-
-** Fix inconsistency in decoding MIME messages: the CRLF preceding the
-encapsulation line is conceptually attached to the boundary, as
-requested by RFC 1521.
-
-** Three kinds of accessors.
-
-Each MU object has now three kind of accessors. The `sget' accessor
-returns a pointer to the immutable memory allocated inside the object
-and holding its string representation. The `aget' accessor allocates
-new memory chunk, copies there the string representation of the object
-and returns the pointer to the allocated memory. Finally, the `get'
-accessor copies the string representation to the character buffer
-supplied by the caller. For example:
-
- const char *s;
- mu_header_sget_value (hdr, "From", &s);
-
- char *s
- mu_header_aget_value (hdr, "From", &s);
- [...]
- free (s);
-
- char buf[SIZE];
- size_t size;
- mu_header_get_value (hdr, "From", buf, sizeof buf, &size);
-
-** RFC2822 Headers.
-
-The RFC 2822 headers support has been rewritten from scratch. The
-accessor functions are able to return a given header instance in case
-of multiple headers, something which was impossible in the earlier
-Mailutils releases. These new functions are given identifiers, ending
-with `_n', for example:
-
- int mu_header_sget_value_n (mu_header_t header,
- const char *name, int n, const char **retval);
-
-The `n' argument gives the ordinal number (1-based) of the header to return.
-For example, to get the topmost 'Recieved' header:
-
- mu_header_sget_value_n (header, "Received", 1, &str);
-
-To count headers from the bottom up, pass negative value of `n',
-e.g. to get the last 'Recieved' header:
-
- mu_header_sget_value_n (header, "Received", -1, &str);
-
-For backward compatibility, traditional header accessors are still
-provided, being implemented as macros that expand to the
-corresponding `_n' style accessors.
-
-Important note: `mu_header_aget_value' does not allocate any memory
-if the requested header was not found. This differs from its behavior
-in previous releases, where it used to return a pointer to an empty
-string ("") in that case.
-
-New functions are provided for adding and replacing headers:
-
-- int mu_header_prepend (mu_header_t header, const char *name, const char *val)
-
-Prepends header `name: val' to the existing headers;
-
-- int mu_header_append (mu_header_t header, const char *name, const char *val)
-
-Appends header `name: val' to the existing headers
-
-- int mu_header_insert (mu_header_t header, const char *name, const char *val,
- const char *ref, int num, int flags)
-
-Inserts header `name: val'. The insertion position is determined by
-the last three arguments:
-
- -- If flags is MU_HEADER_REPLACE and the header with the same name
- exists, it is replaced by the new header. Otherwise:
- -- If ref == NULL, the header is added before the existing ones;
- -- If ref is not NULL, the new header is inserted after `num'th
- occurrence of the header named `ref'. If flags is
- MU_HEADER_BEFORE, it is inserted before that occurrence.
-
-** New functions `mu_address_set_local_part', `mu_address_set_domain',
-`mu_address_set_route', `mu_address_set_email'
-
-* The `mail.local' utility
-
-The program can be run by a non-privileged user. Thus, it can be used with
-`fetchmail' and similar utilities.
-
-Any changes to message headers done by Sieve filters are reflected in
-the delivered message.
-
-* The `mail' utility:
-
-Fix bugs in `pipe' command: the cmd variable setting
-and single-argument invocation were handled incorrectly
-
-Fix coredump in `send' command.
-
-** Empty messages
-
-The handling of empty messages by the `mail' utility is controlled by the
-bollean variable `nullbody'. If it is set (the default), the message
-is sent and the warning ``Null message body; hope that's ok'' is
-issued. This is compatible with other mail implementations. The exact
-message displayed in this case is set by `nullbodymsg' variable.
-
-If `nullbody' is unset, the message is silently ignored. This is
-useful, in particular, in crontab files.
-
-* The `readmsg' utility.
-
-Improve compatibility with elm's implementation. In particular -w
-'From_' will now output `From ' markers. If the underlying mailbox
-format does not contain those, `readmsg' will try to construct them
-from the available data.
-
-* The `pop3d' utility.
-
-New options `--bulletin-db' and `--bulletin-source' implement bulletin
-facility.
-
-* MH changes
-
-** sortm uses stable sort algorithm.
-** send supports `--split'. The new option `--chunksize' allows to
-set size of chunks to split the message into. The default size is
-48032 (632 lines, each of 76 bytes).
-
-
-* Support for old DBM has been withdrawn.
-
-
-Version 1.1:
-
-* mail: Implement ^ and $ commands
-
-* Add support for Berkeley DB 3 and 4
-
-* comsat
-
-The syntax of echo command changed. Now it is more shell-like:
-
-echo
-echo New mail for \a$u@$h:
-echo ---
-echo From: $H{From}
-echo Subject: $H{Subject}
-echo $B(,5)---
-
-** Bug fixes
-* Fix build without Guile
-* mail core dumped on tab expansion of `cd x'
-* Print "-- \n" before ~a expansion in mail
-* Fix memory problems in mail's `decode' command
-* Fix endless loop in libsieve that was triggered by using a tag without the
-arguments it requires.
-* Fix unfolding
-
-
-Version 1.0:
-
-Official release. This is the first stable release since 0.6. For a
-complete list of changes, please see the entries below.
-
-
-Version 0.6.95:
-
-* New functions:
-** Two new functions (mu_tcp_stream_create_with_source_ip and
-mu_tcp_stream_create_with_source_host) allow to create TCP connections
-from the given source address.
-
-* Bugfixes:
-** Fix handling of Fcc headers in mailers
-** Fix several inconsistencies in `mh/folder' to make it compatible with
-RAND and nmh implementations. In particular, `folder -all +name'
-(`folders +name') is now working as expected.
-** MH programs create directory hierarchies if requested to.
-** `mail' correctly handles empty mailboxes (it used to display garbage in
-place of the message count).
-** Fix RFC 2047 filters: do not stop translating until the buffer is drained.
-** Fix option handling in guimb: remove leftover optind usage.
-
-
-Version 0.6.94:
-
-* Add support for Berkeley DB 3.x and 4.x
-See the description of --with-berkeley-db option in the README file.
-
-* Add support for Guile 1.8.x
-
-* The module mailutils.scm is now defined as (mailutils mailutils). Please
-change your (use-modules) statements accordingly.
-
-* Scheme modules can now be installed in the site-wide Guile directory.
-See the description of --with-guiledir option in the README file.
-
-* Bugfixes:
-** Fix handling of file names containing whitespace characters in imap4 server
-and library.
-** frm: Fix coredump on empty From headers.
-** folder: If a +folder is given along with the -all switch, folder will, in
-addition to setting the current folder, list the top-level subfolders
-for the current folder (with -norecurse) or list all sub-folders under
-the current folder recursively (with -recurse). This behavior is
-compatible with nmh and rand implementations.
-** rmf: Fix coredump when invoked without arguments.
-** send: rename draft file after sending it.
-** All mh utilities: create nested directories, if required.
-** Correctly handle comma-delimited folder lists in Fcc headers.
-** A decoder stream correctly handles unfinished input strings.
-
-
-Version 0.6.93:
-
-* The library namespace is optimized. Now all global identifiers begin
-with mu_.
-NOTE: This is incompatible change.
-
-Programs using old API can still be compiled, using one of the
-following approaches. If the program includes <mailutils/mailutils.h>,
-define the symbol MU_COMPAT before including it (or invoke cc with
--DMU_COMPAT option). Otherwise, include file <mailutils/compat.h>.
-
-* Main library is renamed to libmailutils
-NOTE: This is incompatible change, unless you use mailutils-config to
-obtain loader options (which is recommended, anyway).
-
-* Use of '~' character (denoting the user home directory)
-
-This character is expanded also if it appears after the protocol
-specification in a mailbox URL. e.g.: maildir:~/Mail/inbox.
-
-It is possible to use '~' in mailutils configuration file.
-
-* New option --mailbox-type
-
-Use this option to specify the default mailbox type. It is supported
-by all utilities that use "mailbox" command line capability (see the
-documentation for the list). For example:
-
- mail --mailbox-type=mh: --file=~/Mail/inbox
-
-will open ~/Mail/inbox directory as an MH folder. This option is
-especially useful in the mailutils configuration file. For example,
-adding this line to your mailutils.rc:
-
-:mailbox --mailbox-type=mh:
-
-will force all mail utilities to use MH by default.
-
-* mail: New option --exec (-E) allows to execute arbitrary mail commands
-before opening the mailbox. Any number of --exec options can be given.
-
-** New variables `recursivealiases' and `inplacealiases' control the way
-mail aliases are expanded. When `recursivealiases' is set, aliases
-will be expanded recursively. When `inplacealiases' is set, alias
-expansion takes place before entering compose mode (by default, it is
-carried out when exiting compose mode, right before sending the
-message). The default is `set recursivealiases noinplacealiases'.
-
-* imap4d: New option --create-home-dir: If a user logs in and his home
-directory does not exist, create it.
-
-* Changes in MH
-
-** Context file handling
-
-Comments and empty lines are allowed in any MH context file
-(.mh_profile, .mtstailor etc.)
-
-Comment is any line whose first non-whitespace character is
-'#'. Notice that '#' looses its special meaning when used as a part of
-the keyword or a value.
-
-** send
-
-Add support for localname and localdomain mtstailor variables.
-
-New mtstailor variable x-mailer controls whether to add the 'X-Mailer'
-header to the message being sent, if it does not contain one. The
-value 'yes' means to add the default X-Mailer string, the value
-'no' means to ignore it. Any other value is taken as the X-Mailer
-identifier to be added to the message.
-
-** mhn
-
-In compose mode mhn analyzes Subject: line and, if it contains any
-non-printable characters, encodes it in accordance with RFC
-2047. Encoding type and charset are taken from the first message
-part. They also can be specified in the subject itself using the
-following syntax:
-
- #<encoding=ENC; charset=CSET>CONTENT
-
-* Bugfixes:
-** mail: Fix handling of conditional expressions
-** mail: When several recipients were specified, no alias expansion took
-place.
-** movemail: did not preserve input mailbox if an I/O error happened on the
-output one. Debian Bug#344420.
-** Fix handling of Alternate-Mailboxes in MH
-
-
-Version 0.6.91:
-
-* libsieve: New action 'vacation'
-
-* imap4d: Implemented SASL authentication using LOGIN and PLAIN mechanisms.
-
-* Plaintext passwords for SASL authentication types can be kept in SQL
-database. When used with LOGIN or PLAIN, the passwords may be
-encrypted using MySQL password() function. New option
---sql-password-type specifies what kind of password is returned by
---sql-getpass query. Its possible values are: `plain' for plaintext
-passwords, `scrambled' for passwords hashed using MySQL algorithm and
-`hash' for MD5 or DES hashed passwords (default).
-
-* mail
-
-** Improved output of the commands `headers' and `z'
-
-** Improved POSIX compatibility.
-In particular, `next' command now works as described by
-POSIX. Following commands change the status of the message to `read':
-mbox, pipe, print, top, undelete, visual and decode (a GNU extension).
-Implemented following variables: flipr, showto, bang.
-The command `touch' does not alter messages that were deleted or saved
-to a file.
-
-** The `decode' command uses `mailcap' extension to display
-parts of MIME multy-part messages. By default the built-in mailcap
-engine is used. Normally `mail' asks for confirmation before running
-an interpreter to display a message part, unless the type of the part
-is listed in `mimenoask' mail variable.
-
-If `metamail' variable is set, it specifies the external program
-to be used instead of the built-in engine. Thus, settting
-
- set metamail="metamail -m mail -p"
-
-in your ~/.mailrc enables use of the standard `metamail' program
-by `decode'.
-
-Before calling `metamail', the environment variable METAMAIL_PAGER
-is set to the value of the variable PAGER. If `mimenoask' mail
-variable is set, its value is passed to `metamail' via MM_NOASK
-environment variable.
-
-Unsetting `metamail' variable turns off special interpretation
-of MIME parts.
-
-* from
-The `from' utility was rewritten. It is now fully compatible with the
-BSD version.
-
-* frm
-Implemented -t (--align) command line option.
-Whenever available, `frm' uses BIDI algorithm for display. This
-allows for correct display of subject lines written in languages
-with right to left script orientation (Arabic, Hebrew).
-
-* Maildir support
-Implemented removal of messages.
-
-* New SQL driver: odbc
-
-* New authentication method: radius
-
-* Ukrainian localization
-
-* Bugfixes
-
-** Fixed possible mailbox corruption in imap4d
-** imap4d subscribe/unsubscribe was not working
-** Fixed displaying mail headers in different languages (mail,frm,from)
-** SQL authentication: prevent sql injection attacks
-** Fixed bug in the default syslog diagnostic printer
-** Fixed potential vulnerabilities: IDEF0954, IDEF0955, IDEF0956, IDEF0957
-** `Imap:' mailboxes (remote mailboxes opened via imap interface) honor
-read-only mode.
-** Fixed date support in maildir (header fields Date, Envelope-Date and
-Delivery-Date).
-** Fixed RFC 2047 encoding.
-** Fixed folder_list() function.
-
-
-Version 0.6:
-
-* New features:
-
-** Both imap4d and pop3d accept new command line option `--tls-required'.
-
-The option disables any authentication commands until the client party
-establishes TLS connection with the server.
-
-** Pop3d server accepts new option `--delete-expired'.
-
-This option is to be used together with `--expire'. It enables
-automatic deletion of expired messages before closing the
-mailbox. Previous versions of pop3d relied on a cron job that
-was supposed to purge users' mailboxes, but such usage is extremely
-ineffective for mail servers with considerable number of users.
-
-** The package can be compiled with support for both MySQL and PostgreSQL
-simultaneously. Which of the interfaces to use is defined at run time
-by --sql-interface option.
-
-** Mail.local is able to retrieve mailbox quotas from SQL database.
-
-* movemail: Special mode for interfacing with Emacs (--emacs option)
-
-* Bug fixes
-
-
-Version 0.5:
-
-* New features:
-
-** Autodetection of local folder formats.
-
-"Local" is a format of mail folder that uses local disk (possibly via
-NFS) as its storage medium. Currently mailutils is able to handle
-three local formats: UNIX mailbox, MH and Maildir. Usually these are
-specified using a corresponding URL prefix. However, if an absolute
-path name is given instead of a fully qualified URL, mailutils tries to
-autodetect the format of the folder in question and handle it
-appropriately (previous versions of mailutils assumed the folder
-to be in UNIX mailbox format).
-
-** movemail: new program
-
-Moves mail from the user maildrop (remote or local) to the local file.
-It supports all mailbox formats, supported by mailutils.
-
-** Support for "maildir" format.
-
-** sieve:
-
-*** Considerably improved debugging diagnostics.
-*** New sieve extension tests:
-
- spamd - An interface to SpamAssassin daemon
- list - Test headers, structured as lists of values.
- timestamp - Compares headers containing dates.
-
-** mail
-*** Support for -a option (append header)
-*** New command 'sendheaders' allows to pre-set the headers to be added to
-the message.
-*** New commands 'sender' and 'nosender' allow to set up a list
-of header fields used to determine the sender of the message.
-*** New variable 'xmailer' controls whether an X-Mailer header should
-be added to outgoing messages.
-*** New variables 'datefield' and 'emptystart' for compatibility with
-nail
-*** New variable 'decode-fallback' controls how to represent the characters
-that cannot be rendered using current character set.
-
-** mail.remote
-*** Support for -t option (read recipients from the message). This fixes
-the bug reported lately where mail.remote sends mail to all addresses
-in the message, not just the addresses explicitly listed on the
-command line.
-
-** pop3d
-*** New option --login-delay. Support for login-delay
-*** New option --undelete. Forces pop3d to clear deletion
-marks from all messages after opening the mailbox.
-
-* Bug fixes:
-
-** libmailbox
-*** Fixed incorrect handling of underscores in Quoted-Printable encoding.
-*** rfc2047_decode() takes into account input and output
-character sets.
-
-** mh
-*** (formataddr): Fixed checking for duplicate addresses.
-
-** pop3d:
-*** Do not save delete marks when exiting on timeout.
-
-** imap4d
-*** Fixed bug that prevented SASL from working over a TLS encrypted
-channel.
-*** IDLE works on TLS connections.
-
-
-Version 0.4:
-
-* Bug fixes:
-
-** Fixed improper use of size_t instead of off_t which caused
-coredumps on systems where the two types have different sizes.
-
-** iterator_t is rewritten to make list traversal more effective.
-Traversing the list of n elements takes O(n), instead of O(n*(n+1)/2)
-time units.
-
-** Fixed memory allocation bug in mailbox/mu_auth.c
-
-** Various fixes and improvements in MH in order to interoperate better
-with MH-E.
-
-** Correctly handle MIME parts with an empty body.
-
-* Major Changes
-
-** The library has been split into the core library (libmailbox), and
-the protocol implementation libraries, which are named as
-libmu_$PROTO. For example, the library for MBOX mailbox formats is
-libmu_mbox.so.
-
-** The support for TLS protocol has been added to libmu_imap.so and
-libmu_pop.so. This means that you can now use TLS with every
-Mailutils client program.
-
-* New features.
-
-** libmailbox
-
-** See "Major Changes"
-
-*** implemented header unfolding
-
-*** argcv_get unescapes all unprintable characters, argcv_string
-escapes them.
-
-** libsieve: Implemented boolean shortcuts for evaluating ALLOF and
-ANYOF
-
-** pop3d
-
-*** more extensive diagnostics for APOP authentications
-
-*** Save headers even if the session was aborted. This ensures
-the persistence of message unique-ids as required by RFC 1939.
-
-*** popauth: new option --create.
-
-The option allows to convert a plaintext file into DBM database.
-
-** mail
-
-*** New configuration file variable `mailx' enables the mailx
-compatibility mode. This is mainly visible when composing a message.
-In mailx compatibility mode, mail asks for Cc and Bcc addresses after
-composing the body.
-The default behavior is to ask for these values before composing
-the body.
-
-*** New variable `charset' controls the decoding of MIME-encoded headers
-(rfc2047).
-
-*** New commands `unfold' and `nounfold' allow to specify the headers
-whose values should be unfolded before display.
-
-* mh
-
-Lots of bugfixes regarding compatibility issues and interoperation
-with MH-E. This version of MH has been tested with MH-E 7.4.2+cvs.
-
-** New program: ali
-
-** New profile variables:
-*** Charset
-Controls the character set in which the components decoded via
-the `decode' format function should be output.
-
-*** Reply-Regex
-Sets the regular expression used to recognize reply messages.
-
-** New format functions
-*** reply_regex
-Sets the regular expression used to recognize reply messages.
-
-*** isreply
-Returns true if its argument is the reply message subject string,
-i.e. if it matches the "reply subject" regular expression.
-
-
-Version 0.3.1:
-
-This version is a maintenance release over the previous one.
-
-* Bug fixes:
-
-** A replacement for vsyslog is provided for systems lacking it.
-** Fixed incorrect handling of dates.
-** Added support for handling Fcc: headers to the mailer code.
-** Several minor fixes to allow the package to compile on MacOS.
-
-* New features:
-
-** Support for authentication against PostgreSQL databases.
-
-* libmailbox:
-
-** First implementation of rfc1524: added a set of functions for handling
-mail capabilities
-
-* mh: All utilities needed by Emacs mh-e.el module are implemented.
-
-
-Version 0.3:
-
-* General:
-
-** Added NLS support. Currently Catalan and Spanish translations
-are available.
-
-** Fixed compilation with the newer versions of Berkeley DB.
-
-* libmailbox:
-
-** Functions for generating References: and In-Reply-To: headers as
-per RFC 2822.
-
-** A set of functions for sequential access to streams.
-
-** The function mu_errstring is renamed to mu_strerror for consistency
-with the usual practice.
-
-** Added initial implementation of message header encoding and decoding
-functions (RFC 2047).
-
-* libsieve:
-
-** The syntax of multiline strings is extended. It is possible
-to use arbitrary ending delimiter instead of the default dot,
-and to strip off the leading tabs, which allows for natural
-indentation of the multiline strings.
-
-** Added support for relational tests according to RFC 3431.
-
-** Fixed incorrect handling of multiple addresses in `address'
-tests.
-
-* imap4d:
-
-** The untagged output was fixed to conform to the RFC 2060. Specifically,
-the output of STORE command is corrected in accordance with the
-rfc2060-errata document; the EXIST and RECENT untagged are always
-returned by EXAMINE, SELECT, and NOOP.
-
-** Added support for TLS and GSASL.
-
-** Implemented LOGINDISABLED capability.
-
-** Implemented IDLE command (RFC 2177).
-
-* pop3d: Added TLS support.
-
-* mail: Fixed error diagnostics and removed startup banner.
-
-* mh: Initial implementation. The basic MH utilities are implemented
-that allow to use the package with the GNU Emacs mh-e module. Please
-refer to the files README and TODO in the mh subdirectory.
-
-
-Version 0.2:
-
-* libmailbox: Several bugfixes. The configuration suite allows
- to disable support for any protocol or mailbox format to reduce
- the size of the library.
-
-* Added new utility mailutils-config. This utility prints gcc command
- line options needed for compiling and linknig an application against
- mailutils.
-
-* libsieve: New library. Supports Sieve language as described in
- RFC 3028 and provides a mechanism for dynamic loading of
- user-defined actions, tests and comparators.
-
-* sieve: Completely rewritten using libsieve.
-
-* sieve.scm: Added vacation extension action.
-
-* mail.local: Allows to apply user-defined sieve filters before delivering
- messages.
-
-* mail utility: Added `editheaders' boolean variable. When set, the
- user is allowed to edit headers of the message.
- Message set specification allows negation of search primitives, e.g.
- `from ! subject:/daily/' outputs all messages whose subject
- does not contain the word 'daily'.
- Reply command correctly adds `In-Reply-To' and `References' headers
- to outgoing messages.
- When used with a numeric argument '=' command sets the current
- message to this number.
- New command `setenv' allows to set and examine environment
- variables.
- The semantics of `crt' variable is made compatible with that of
- other implementations.
- Fixed several bugs.
-
-* libmu_scm: Added support for Guile 1.7.0
-
-
-Version 0.1:
-
-The first release.
-
-
-----------------------------------------------------------------------
-Copyright information:
-
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007,
-2008 Free Software Foundation, Inc.
-
- Permission is granted to anyone to make or distribute verbatim copies
- of this document as received, in any medium, provided that the
- copyright notice and this permission notice are preserved,
- thus giving the recipient permission to redistribute in turn.
-
- Permission is granted to distribute modified versions
- of this document, or of portions of it,
- under the above conditions, provided also that they
- carry prominent notices stating who last changed them.
-
-Local variables:
-mode: outline
-paragraph-separate: "[ ]*$"
-eval: (add-hook 'write-file-hooks 'time-stamp)
-time-stamp-start: "changes. "
-time-stamp-format: "%:y-%02m-%02d"
-time-stamp-end: "\n"
-end:
diff --git a/README b/README
index b02af99..e69de29 100644
--- a/README
+++ b/README
@@ -1,328 +0,0 @@
-This is the GNU Mailutils package
-=================================
-
-* Introduction
-==============
-
-This package contains a series of useful mail clients, servers, and
-libraries. These are the primary mail utilities of the GNU system.
-
-Specifically, this package contains a POP3 server, an IMAP4 server,
-and a Sieve mail filter. It also provides a POSIX `mailx' client,
-and a collection of other tools.
-
-The central library is capable of reading mail from an `mbox' mailbox,
-as well as off of local or remote POP3 and IMAP4 servers.
-
-You're welcome to use this library in your own programs, please see
-the examples subdirectory or these other applications. All libraries
-are licensed using the GNU LGPL. The documentation is licensed under
-the GNU FDL, and everything else is licensed using the GNU GPL. The
-complete texts of the corresponding licences are included in the files
-COPYING.LESSER, COPYING and doc/texinfo/COPYING.DOC.
-
-This software is part of the GNU Project and belongs to the Free
-Software Foundation.
-
-* Why use this package?
-=======================
-
-This package started off to try and handle large mailbox files more
-gracefully then current POP3 servers did. While it handles this task,
-it also allows you to support a variety of different mailbox formats
-without any real effort on your part. Also, if a new format is added
-at a later date, your program will support that new format
-automatically as soon as it is compiled against the new library.
-
-This package is also released as part of Debian, so you should expect
-it to compile cleanly on all the platforms supported there.
-
-* How to install
-================
-
-Please see the INSTALL file in this directory for the generic instructions
-on how to use configure. The following short summary describes the
-mailutils-specific configuration options:
-
- --enable-debug
-
- Compile Mailutils with debugging support. This disables
- compiler optimizations and adds debugging information to the
- binaries.
-
- --disable-pam
-
- Do not build PAM support. By default configure will build PAM
- support if the host system supports it. Use this option to
- suppress this behaviour.
-
- --disable-pthread
-
- Do not build thread-safe libraries.
-
- --without-fribidi
-
- Do not include fribidi support, even if libfribidi is present.
-
- --with-sql=MODLIST
-
- Enable support for authentication using given SQL modules.
- MODLIST is a colon-separated list of SQL modules to use.
- Available modules are 'mysql', 'postgres' and 'odbc'. E.g.,
- to enable all modules:
-
- --with-sql=mysql:postgres:odbc
-
-
- Note that depending on how your SQL systems are installed,
- this may require adding appropriate directories to the library
- and include paths, e.g.
-
-
- ./configure LDFLAGS='-L/usr/local/mysql/lib -L/usr/local/pgsql/lib' \
- CPPFLAGS='-I/usr/local/mysql/include \
- -I/usr/local/pgsql/include'
- --with-sql=mysql:postgres
-
-
- --with-mysql
-
- Equivalent to --with-sql=mysql
-
- Note that depending on how your MySQL system is installed, this
- may require adding appropriate directories to the library and
- include paths, e.g.:
-
- ./configure LDFLAGS='-L/usr/local/mysql/lib' \
- CPPFLAGS='-I/usr/local/mysql/include' --with-mysql
-
- --with-postgres
-
- Equivalent to --with-sql=postgres
-
- You may have to explicitly specify LIBS and CPPFLAGS (see
- above).
-
- --with-odbc[={odbc|iodbc}]
-
- Without arguments or with 'odbc' as its argument it is
- equivalent to --with-sql=odbc.
-
- --with-odbc=iodbc enables ODBC support via libiodbc.
-
- You may have to explicitly specify LIBS and CPPFLAGS (see
- above).
-
- --enable-mh-utils
-
- Build a suite of MH utilities. The GNU implementation of MH
- primarily aims to provide an interface between Mailutils'
- functionality and Emacs, using the mh-e module.
- For more information, refer to the TODO file in the mh
- subdirectory, and to the section `MH' in the accompanying
- documentation. To access it, run
- `info -f ./doc/texinfo/mailutils.info mh' from the Mailutils
- root directory. After installation, it will become available
- by running `info mailutils mh'.
-
- --with-mh-bindir=DIR
-
- By default the MH binaries are installed in
- ${exec_prefix}/bin/mu-mh. To change this, use --with-mh-bindir
- option. If DIR starts with '/' it is taken as an absolute
- path specification, otherwise ${prefix} is prepended to it.
-
- --with-virtual-pwddir=DIR
-
- Use DIR instead of $sysconfdir/domain as the location of
- virtual mail domain database. This option is ignored if
- --disable-virtual-domains is specified.
-
- --without-readline
-
- Build 'mail' without readline support.
-
- --with-gnutls
-
- Enable the TLS/SSL server-side encryption via GnuTLS
- (a Transport Layer Security Library) in IMAP4/POP3 daemons.
-
- --with-gsasl
-
- Enable GNU SASL support (Simple Authentication and Security
- Layer framework). IMAP4d supports this mechanism. This
- requires GSASL version 0.2.3 or newer.
-
- --with-gssapi
-
- Enable GSSAPI authentication. For this to work, you will have
- to have Kerberos V installed on your system.
-
- --without-guile
-
- Do not build Guile interface library.
-
- --with-guiledir[=DIR]
-
- Specify the directory to install guile modules to. By default
- they are installed in
-
- $(prefix)/share/mailutils/$(VERSION)/guile.
-
- The option --with-guiledir used without argument instructs
- configure script to install modules to the site-wide Guile
- directory, where it is easier to find them. This directory is
- defined as $(guile_pkgdatadir)/site where guile_pkgdatadir is
- the Guile package data directory as returned by `guile-config
- info pkgdatadir'.
-
- Otherwise, if an argument to the option is given, it specifies
- the absolute file name of the installation directory for Guile
- modules.
-
- --with-mail-rc=FILE
-
- Set the location of the system-wide configuration file for mail
- utility. FILE must be an absolute filename specification.
- Default is $sysconfdir/mail.rc
-
- --with-mail-spool=PATH
-
- Override the location of the mailspool. The default value
- depends on the system. Usually it is either /var/spool/mail
- or /var/mail. PATH is either an absolute directory name, or a
- valid `mbox' URL in the form:
-
- mbox:path;type=TYPE;param=N;user=
-
- This method allows you to use indexed mailspools. For servers
- with a really big number of users this may provide a
- significant speedup in opening the mailbox.
-
- TYPE is one of:
- hash -- The user's mailbox is kept in a subdirectory
- whose name is determined by hashing first
- N characters of the user name. There are
- 256 subdirectories named from 00 through FF.
- index -- The user's mailbox is located PARAM directories
- down the `path'. The directories are named
- after the first N letters of a login name.
- For example, when N=2 the mailbox for
- user `smith' is `/var/spool/mail/s/m/smith'.
- rev-index -- Same as above, except that the last letters
- are used, thus the mailbox for `smith' will
- be /var/spool/mail/h/t/smith. This may provide
- a better average distribution than the `index'
- method.
-
- --with-log-facility=facility
-
- Enable logging to the given syslog facility. Default is `mail'.
-
- --without-included-regex
-
- Don't compile regex; this is the default on systems with version
- 2 of the GNU C library (use with caution on other systems)
-
- --disable-nls
-
- Do not use Native Language Support
-
- --with-included-gettext
-
- Use the GNU gettext library included in the Mailutils distribution.
-
- --with-included-argp
-
- Use the argp library supplied with the package, instead of the
- one from your libc. You will need this option if the libc library
- on your system was compiled without NLS support.
-
-The following options enable DBM support in Mailutils. DBM support is
-necessary if you wish to use APOP authentication in POP3 daemon or to
-use DBM-based mail box quotas with mail.local.
-
- --with-gdbm
-
- Use GNU DBM
-
- --with-berkeley-db[=ARG]
-
- Use Berkeley DB. If ARG is not specified, configure will
- attempt to autodetect the database version to use. Unless ARG
- begins with a digit, it is taken as a library name, without
- the `lib' prefix and library type suffix, so that specifying
-
- --with-berkeley-db=db-3.1
-
- instructs configure to use library libdb-3.1.so (or
- libdb-3.1.a).
- Otherwise, if ARG begins with a digit, it is understood as a
- library version number to link to. In this case configure
- assumes a Slackware-like installation layout. Thus, using
-
- --with-berkeley-db=3.1
-
- tells configure to use library libdb-3.1.so (or libdb-3.1.a)
- and header file /usr/include/db31/db.h
-
- --with-ndbm
-
- Use NDBM
-
- Only one dbm option may be specified. Which one depends on
- the flavor of DBM you are using. GDBM is most common for GNU
- system.
-
-Use following options to disable support for particular protocols or
-features:
-
- --disable-imap Disables IMAP protocol support.
- --disable-pop Disables POP protocol support.
- --disable-smtp Disables support for SMTP mailer. With this
- option `mail.remote' is not built.
- --disable-sendmail Disables support for `Sendmail' mailer.
- --disable-mh Disables support for MH mailbox format.
- --disable-virtual-domains
- Disables support for authentication using
- virtual mail domains.
-
-Several environment variables affect the configuration. Currently,
-the only mailutils-specific variable is DEFAULT_CUPS_CONFDIR. It
-sets the location of CUPS (Common UNIX Printing System) configuration
-directory, which is needed for `mimeview' utility. By default, this
-location is $sysconfdir/cups. On most sites, however, it may be
-reasonable to set it to /etc/cups, e.g.:
-
- ./configure DEFAULT_CUPS_CONFDIR=/etc/cups ...
-
-
-* Where to report BUGS
-======================
-
-Please report any bugs to <bug-mailutils@gnu.org>. We encourage
-sysadmins who will be using this package to subscribe to this list by
-sending an email to <bug-mailutils-request@gnu.org> with the word
-`subscribe' in the body of the message. Another way to subscribe is
-by visiting http://mail.gnu.org/mailman/listinfo/bug-mailutils.
-
-* Copyright information:
-
-Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-
- Permission is granted to anyone to make or distribute verbatim
- copies of this document as received, in any medium, provided that
- the copyright notice and this permission notice are preserved,
- thus giving the recipient permission to redistribute in turn.
-
- Permission is granted to distribute modified versions
- of this document, or of portions of it,
- under the above conditions, provided also that they
- carry prominent notices stating who last changed them.
-
-
-Local Variables:
-mode: outline
-paragraph-separate: "[ ]*$"
-version-control: never
-End:
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..4e377b5
--- a/dev/null
+++ b/configure.in
@@ -0,0 +1,21 @@
+dnl Process this file with autoconf to procude a configure script. -*-m4-*-
+AC_INIT(libmailbox/mailbox.c)
+AM_INIT_AUTOMAKE(libmailbox, 0.0.19990909)
+AM_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE
+
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_LIBTOOL
+
+AC_ARG_ENABLE(-mailbox-install,
+[ --enable-mailbox-install install libmailbox])
+
+AM_CONDITIONAL(INSTALL_MAILBOX, test x"${enable_mailbox_install-no}" != xno)
+
+AC_HEADER_STDC
+AC_CHECK_HEADERS(malloc.h stdlib.h stdio.h errno.h unistd.h)
+AC_CHECK_HEADERS(string.h strings.h, break)
+
+AC_OUTPUT(Makefile libmailbox/Makefile mail/Makefile)
diff --git a/libmailbox/Makefile.am b/libmailbox/Makefile.am
new file mode 100644
index 0000000..1ad179b
--- a/dev/null
+++ b/libmailbox/Makefile.am
@@ -0,0 +1,13 @@
+# Use automake to process this file -*-Makefile-*-
+
+if INSTALL_MAILBOX
+include_HEADERS = mailbox.h
+lib_LTLIBRARIES = libmailbox.la
+else
+noinst_HEADERS = mailbox.h
+noinst_LTLIBRARIES = libmailbox.la
+endif
+
+libmailbox_la_SOURCES = mailbox.c unixmbox.c unixmbox.h
+libmailbox_la_LDFLAGS = -version-info 0:0:0
+
diff --git a/libmailbox/mailbox.c b/libmailbox/mailbox.c
new file mode 100644
index 0000000..51d894e
--- a/dev/null
+++ b/libmailbox/mailbox.c
@@ -0,0 +1,99 @@
+/* copyright and license info go here */
+
+#include "mailbox.h"
+#include "unixmbox.h"
+
+#ifdef _HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+int _mbox_dummy1 (mailbox * mbox);
+int _mbox_dummy2 (mailbox * mbox, int num);
+int _mbox_dummy3 (mailbox * mbox, char *c);
+char *_mbox_dummy4 (mailbox * mbox, int num);
+
+mailbox *
+mbox_open (char *name)
+{
+ mailbox *mbox = malloc (sizeof (mailbox));
+ if (mbox == NULL)
+ {
+ errno = ENOMEM;
+ return NULL;
+ }
+
+ /* Set up with default data and dummy functions */
+ mbox->name = strdup (name);
+ if (mbox->name == NULL)
+ {
+ errno = ENOMEM;
+ free (mbox);
+ return NULL;
+ }
+ mbox->messages = 0;
+ mbox->num_deleted = 0;
+ mbox->sizes = NULL;
+ mbox->_data = NULL;
+ mbox->_close = _mbox_dummy1;
+ mbox->_delete = _mbox_dummy2;
+ mbox->_undelete = _mbox_dummy2;
+ mbox->_expunge = _mbox_dummy1;
+ mbox->_add_message = _mbox_dummy3;
+ mbox->_is_deleted = _mbox_dummy2;
+ mbox->_get_body = _mbox_dummy4;
+ mbox->_get_header = _mbox_dummy4;
+
+ if (unixmbox_open (mbox) == 0)
+ return mbox;
+ else
+ {
+ /*
+ * Check errno to find out why it failed, if it's simply not a
+ * unix mbox format message, then try other mailbox types,
+ * otherwise, leave errno set and return NULL
+ */
+ }
+
+ /* for example...
+ if (maildir_open (mbox, name) == 1)
+ return mbox;
+ else if (errno != 0)
+ return NULL;
+ else
+ errno = 0;
+ */
+
+ errno = ENOSYS;
+ return NULL;
+}
+
+/*
+ * Bogus functions for unimplemented functions that return int
+ */
+int
+_mbox_dummy1 (mailbox * mbox)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+int
+_mbox_dummy2 (mailbox * mbox, int num)
+{
+ return _mbox_dummy1 (mbox);
+}
+int
+_mbox_dummy3 (mailbox * mbox, char *c)
+{
+ return _mbox_dummy1 (mbox);
+}
+
+/*
+ * Bogus function for unimplemented functions that return char *
+ */
+char *
+_mbox_dummy4 (mailbox * mbox, int num)
+{
+ errno = ENOSYS;
+ return NULL;
+}
diff --git a/libmailbox/mailbox.h b/libmailbox/mailbox.h
new file mode 100644
index 0000000..05b7e32
--- a/dev/null
+++ b/libmailbox/mailbox.h
@@ -0,0 +1,47 @@
+/* copyright and license info go here */
+
+#ifndef _MAILBOX_H
+#define _MAILBOX_H 1
+
+#ifndef __P
+#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
+#define __P(args) args
+#else
+#define __P(args) ()
+#endif
+#endif /*!__P */
+
+/* These need to be documented */
+#define mbox_close(m) m->_close(m)
+#define mbox_delete(m,n) m->_delete(m,n)
+#define mbox_undelete(m,n) m->_undelete(m,n)
+#define mbox_expunge(m) m->_expunge(m)
+#define mbox_is_deleted(m,n) m->_is_deleted(m,n)
+#define mbox_add_message(m,s) m->_add_message(m,s)
+#define mbox_get_body(m,n) m->_get_body(m,n)
+#define mbox_get_header(m,n) m->_get_header(m,n)
+
+typedef struct _mailbox
+ {
+ /* Data */
+ char *name;
+ int messages;
+ int num_deleted;
+ int *sizes;
+ void *_data;
+
+ /* Functions */
+ int (*_close) __P ((struct _mailbox *));
+ int (*_delete) __P ((struct _mailbox *, int));
+ int (*_undelete) __P ((struct _mailbox *, int));
+ int (*_expunge) __P ((struct _mailbox *));
+ int (*_add_message) __P ((struct _mailbox *, char *));
+ int (*_is_deleted) __P ((struct _mailbox *, int));
+ char *(*_get_body) __P ((struct _mailbox *, int));
+ char *(*_get_header) __P ((struct _mailbox *, int));
+ }
+mailbox;
+
+mailbox *mbox_open __P ((char *name));
+
+#endif
diff --git a/libmailbox/unixmbox.c b/libmailbox/unixmbox.c
new file mode 100644
index 0000000..0e5e855
--- a/dev/null
+++ b/libmailbox/unixmbox.c
@@ -0,0 +1,268 @@
+/* copyright and license info go here */
+
+#include "unixmbox.h"
+
+/*
+ * Opens and locks a mailbox
+ */
+int
+unixmbox_open (mailbox * mbox)
+{
+ char buf[80];
+ unsigned int max_count = 10;
+ int mess = 0;
+ unixmbox_data *data = malloc (sizeof (unixmbox_data));
+
+ if (data == NULL)
+ {
+ errno = ENOMEM;
+ free (data);
+ return -1;
+ }
+
+ mbox->_data = data;
+ data->file = fopen (mbox->name, "r+");
+ /* FIXME: do a good, NFS safe, file lock here, with error handling */
+ if (data->file == NULL)
+ {
+ /* errno is set by fopen() */
+ free (data);
+ return -1;
+ }
+
+ data->messages = malloc (sizeof (unixmbox_message) * max_count);
+ mbox->sizes = malloc (sizeof (int) * max_count);
+ if (data->messages == NULL || mbox->sizes == NULL)
+ {
+ unixmbox_close (mbox);
+ errno = ENOMEM;
+ return -1;
+ }
+
+ while (fgets (buf, 80, data->file))
+ {
+ if (!strncmp (buf, "From ", 5))
+ {
+ /* Beginning of a header */
+ while (strchr (buf, '\n') == NULL)
+ fgets (buf, 80, data->file);
+
+ mbox->messages++;
+
+ if (mbox->messages > max_count)
+ {
+ max_count = mbox->messages * 2;
+ data->messages = realloc (data->messages,
+ max_count * sizeof (unixmbox_message));
+ mbox->sizes = realloc (mbox->sizes, max_count * sizeof (int));
+ if (data->messages == NULL || mbox->sizes == NULL)
+ {
+ unixmbox_close (mbox);
+ errno = ENOMEM;
+ return -1;
+ }
+ }
+
+ fgetpos (data->file, &(data->messages[mbox->messages - 1].header));
+ mbox->sizes[mbox->messages - 1] = 0;
+ data->messages[mbox->messages - 1].deleted = 0;
+ mess = 0;
+ }
+ else if (((!strncmp (buf, "\r\n", 2) || strlen (buf) <= 1)) && mess == 0)
+ {
+ /* Beginning of a body */
+ fgetpos (data->file, &(data->messages[mbox->messages - 1].body));
+ mbox->sizes[mbox->messages - 1] += strlen (buf) + 1;
+ mess = 1;
+ }
+ else
+ {
+ mbox->sizes[mbox->messages - 1] += strlen (buf) + 1;
+ fgetpos (data->file, &(data->messages[mbox->messages - 1].end));
+ }
+ }
+
+ mbox->_close = unixmbox_close;
+ mbox->_delete = unixmbox_delete;
+ mbox->_undelete = unixmbox_undelete;
+ mbox->_expunge = unixmbox_expunge;
+ mbox->_add_message = unixmbox_add_message;
+ mbox->_is_deleted = unixmbox_is_deleted;
+ mbox->_get_body = unixmbox_get_body;
+ mbox->_get_header = unixmbox_get_header;
+
+ return 0;
+}
+
+/*
+ * Closes and unlocks a mailbox, does not expunge
+ */
+int
+unixmbox_close (mailbox * mbox)
+{
+ unixmbox_data *data = mbox->_data;
+ /* FIXME: good file unlocking, to go along with the locking above */
+ fclose (data->file);
+ free (data->messages);
+ free (mbox->sizes);
+ free (data);
+ free (mbox);
+ return 0;
+}
+
+/*
+ * Marks a message for deletion
+ */
+int
+unixmbox_delete (mailbox * mbox, int num)
+{
+ unixmbox_data *data = mbox->_data;
+ if (num > mbox->messages || mbox_is_deleted (mbox, num))
+ {
+ errno = ERANGE;
+ return -1;
+ }
+ else
+ {
+ data->messages[num].deleted = 1;
+ mbox->num_deleted++;
+ }
+ return 0;
+}
+
+/*
+ * Unmark a message for deletion
+ */
+int
+unixmbox_undelete (mailbox * mbox, int num)
+{
+ unixmbox_data *data = mbox->_data;
+ if (num > mbox->messages || !mbox_is_deleted (mbox, num))
+ {
+ errno = ERANGE;
+ return -1;
+ }
+ else
+ {
+ data->messages[num].deleted = 0;
+ mbox->num_deleted--;
+ }
+ return 0;
+}
+
+/*
+ * Updates a mailbox to remove message marked for deletion
+ * FIXME: BROKEN! DOES NOT WORK! BLOWS UP REAL GOOD!
+ */
+int
+unixmbox_expunge (mailbox * mbox)
+{
+ unixmbox_data *data = mbox->_data;
+ int i = 0, size = 0;
+ char *buf;
+ fpos_t lastpos;
+
+ data->file = freopen (mbox->name, "r+", data->file);
+ if (data->file == NULL)
+ {
+ /* error handling */
+ }
+ fgetpos (data->file, &lastpos);
+
+ for (i = 0; i < mbox->messages; i++)
+ {
+ if (data->messages[i].deleted == 0)
+ {
+ fgetpos (data->file, &lastpos);
+ fsetpos (data->file, &(data->messages[i].header));
+ read (fileno (data->file), buf,
+ data->messages[i + 1].header - data->messages[i].header);
+ fprintf (data->file, "%s", buf);
+ size += strlen (buf);
+ free (buf);
+ }
+ }
+ ftruncate (fileno (data->file), size);
+ return 0;
+}
+
+/*
+ * Determines whether or a not a message is marked for deletion
+ */
+int
+unixmbox_is_deleted (mailbox * mbox, int num)
+{
+ unixmbox_data *data = mbox->_data;
+ return (data->messages[num].deleted == 1);
+}
+
+/*
+ * Adds a message to the mailbox
+ */
+int
+unixmbox_add_message (mailbox * mbox, char *message)
+{
+ /*
+ * FIXME: please write me
+ * move to end of file and write text, don't forget to update
+ * mbox->messages and mbox->_data->messages
+ */
+ errno = ENOSYS;
+ return -1;
+}
+
+/*
+ * Returns a message body
+ */
+char *
+unixmbox_get_body (mailbox * mbox, int num)
+{
+ unixmbox_data *data = mbox->_data;
+ int size = data->messages[num].end - data->messages[num].body;
+ char *buf = malloc ((1 + size) * sizeof (char));
+ if (buf == NULL)
+ {
+ errno = ENOMEM;
+ free (buf);
+ return NULL;
+ }
+ else if (num > mbox->messages || num < 0)
+ {
+ errno = ERANGE;
+ free (buf);
+ return NULL;
+ }
+
+ memset (buf, 0, size + 1);
+ fsetpos (data->file, &(data->messages[num].body));
+ fread (buf, size, sizeof (char), data->file);
+ return buf;
+}
+
+/*
+ * Returns just the header of a message
+ */
+char *
+unixmbox_get_header (mailbox * mbox, int num)
+{
+ unixmbox_data *data = mbox->_data;
+ int size = (data->messages[num].body - 1) - data->messages[num].header ;
+ char *buf = malloc ((1 + size) * sizeof (char));
+ if (buf == NULL)
+ {
+ errno = ENOMEM;
+ free (buf);
+ return NULL;
+ }
+ else if (num > mbox->messages || num < 0)
+ {
+ errno = ERANGE;
+ free (buf);
+ return NULL;
+ }
+
+ memset (buf, 0, size + 1);
+ fsetpos (data->file, &(data->messages[num].header));
+ fread (buf, size, sizeof (char), data->file);
+ return buf;
+}
diff --git a/libmailbox/unixmbox.h b/libmailbox/unixmbox.h
new file mode 100644
index 0000000..65d0784
--- a/dev/null
+++ b/libmailbox/unixmbox.h
@@ -0,0 +1,56 @@
+/* copyright and license info go here */
+
+#ifndef _UNIXMBOX_H
+#define _UNIXMBOX_H 1
+#include <mailbox.h>
+#include "config.h"
+
+#ifdef HAVE_STDIO_H
+#include <stdio.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#elif HAVE_STRINGS_H
+#include <strings.h>
+#endif
+
+typedef struct _unixmbox_message
+ {
+ off_t header;
+ off_t body;
+ off_t end;
+ short deleted;
+ }
+unixmbox_message;
+
+typedef struct _unixmbox_data
+ {
+ unixmbox_message *messages;
+ FILE *file;
+ }
+unixmbox_data;
+
+int unixmbox_open (mailbox *mbox);
+int unixmbox_close (mailbox *mbox);
+int unixmbox_delete (mailbox *mbox, int num);
+int unixmbox_undelete (mailbox *mbox, int num);
+int unixmbox_expunge (mailbox *mbox);
+int unixmbox_is_deleted (mailbox *mbox, int num);
+int unixmbox_add_message (mailbox *mbox, char *message);
+char *unixmbox_get_body (mailbox *mbox, int num);
+char *unixmbox_get_header (mailbox *mbox, int num);
+
+#endif
diff --git a/mail/Makefile.am b/mail/Makefile.am
index e9d859c..ffc0db5 100644
--- a/mail/Makefile.am
+++ b/mail/Makefile.am
@@ -1,107 +1,5 @@
-## Process this file with GNU Automake to create Makefile.in
-
-## Copyright (C) 1999,2000,2001,2002,2005,2007 Free Software Foundation, Inc.
-##
-## GNU Mailutils is free software; you can redistribute it and/or
-## modify it under the terms of the GNU General Public License as
-## published by the Free Software Foundation; either version 2, or (at
-## your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
-## 02110-1301 USA
-
-AM_YFLAGS=-vt
-INCLUDES = @MU_COMMON_INCLUDES@ @MU_AUTHINCS@
-AM_CFLAGS = -DSITE_MAIL_RC=\"@SITE_MAIL_RC@\"
+CPPFLAGS = -I$(top_srcdir)/libmailbox
bin_PROGRAMS = mail
-mail_LDADD = \
- ${MU_APP_LIBRARIES}\
- ${MU_LIB_MBOX}\
- ${MU_LIB_IMAP}\
- ${MU_LIB_POP}\
- ${MU_LIB_NNTP}\
- ${MU_LIB_MH}\
- ${MU_LIB_MAILDIR}\
- ${MU_LIB_MAILER}\
- ${MU_LIB_AUTH}\
- @MU_AUTHLIBS@\
- ${MU_LIB_MAILUTILS}\
- @READLINE_LIBS@ @MU_COMMON_LIBRARIES@
-
-EXTRA_DIST = msgset.c
-
-mail_SOURCES = \
- alias.c\
- alt.c\
- cd.c\
- copy.c\
- decode.c\
- delete.c\
- dp.c\
- echo.c\
- edit.c\
- eq.c\
- escape.c\
- exit.c\
- file.c\
- folders.c\
- followup.c\
- from.c\
- headers.c\
- help.c\
- hold.c\
- if.c\
- inc.c\
- list.c\
- mail.c\
- mail.h\
- mailline.c\
- mbox.c\
- msgset.y\
- next.c\
- page.c\
- pipe.c\
- previous.c\
- print.c\
- quit.c\
- reply.c\
- retain.c\
- save.c\
- send.c\
- set.c\
- setenv.c\
- shell.c\
- size.c\
- source.c\
- summary.c\
- table.c\
- tag.c\
- top.c\
- touch.c\
- unalias.c\
- undelete.c\
- unset.c\
- util.c\
- version.c\
- visual.c\
- write.c\
- z.c
-
-SUBDIRS = testsuite
-
-CFLOW_FLAGS=-i^s --brief -v
-mail_CFLOW_INPUT=$(mail_OBJECTS:.$(OBJEXT)=.c)
-mail.cflow: $(mail_CFLOW_INPUT) Makefile
- cflow -o$@ $(CFLOW_FLAGS) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) \
- $(mail_CFLOW_INPUT)
+mail_LDADD = ../libmailbox/libmailbox.la
diff --git a/mail/mail.c b/mail/mail.c
index 553448f..daa0e5c 100644
--- a/mail/mail.c
+++ b/mail/mail.c
@@ -1,571 +1,94 @@
-/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007 Free Software Foundation, Inc.
+/* copyright and license info go here */
- GNU Mailutils is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
+#include <mailbox.h>
+#include <stdio.h>
+#include <stdlib.h>
- GNU Mailutils is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GNU Mailutils; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301 USA */
-
-#include "mail.h"
-#include "mailutils/libargp.h"
-
-/* Global variables and constants*/
-mu_mailbox_t mbox; /* Mailbox being operated upon */
-size_t total; /* Total number of messages in the mailbox */
-FILE *ofile; /* Output file */
-int interactive; /* Is the session interactive */
-
-static mu_list_t command_list; /* List of commands to be executed after parsing
- command line */
-
-const char *program_version = "mail (" PACKAGE_STRING ")";
-static char doc[] = N_("GNU mail -- the standard /bin/mail interface");
-static char args_doc[] = N_("[address...]");
-
-static struct argp_option options[] = {
- {"exist", 'e', 0, 0, N_("Return true if mail exists"), 0},
- {"file", 'f', N_("URL"), OPTION_ARG_OPTIONAL,
- N_("Operate on given mailbox URL (default ~/mbox)"), 0},
- {"byname", 'F', 0, 0, N_("Save messages according to sender"), 0},
- {"headers", 'H', 0, 0, N_("Write a header summary and exit"), 0},
- {"ignore", 'i', 0, 0, N_("Ignore interrupts"), 0},
- {"norc", 'n', 0, 0, N_("Do not read the system mailrc file"), 0},
- {"nosum", 'N', 0, 0, N_("Do not display initial header summary"), 0},
- {"print", 'p', 0, 0, N_("Print all mail to standard output"), 0},
- {"quit", 'q', 0, 0, N_("Cause interrupts to terminate program"), 0},
- {"read", 'r', 0, 0, N_("Same as -p"), 0},
- {"subject", 's', N_("SUBJ"), 0, N_("Send a message with a Subject of SUBJ"), 0},
- {"to", 't', 0, 0, N_("Precede message by a list of addresses"), 0},
- {"user", 'u', N_("USER"), 0, N_("Operate on USER's mailbox"), 0},
- {"append", 'a', N_("HEADER: VALUE"), 0,
- N_("Append given header to the message being sent"), 0},
- {"exec", 'E', N_("COMMAND"), 0,
- N_("Execute COMMAND"), 0 },
- { NULL, 0, NULL, 0, NULL, 0 }
-};
-
-
-struct arguments
-{
- char **args;
- char *file;
- char *user;
- int send_mode;
-};
-
-static error_t
-parse_opt (int key, char *arg, struct argp_state *state)
-{
- struct arguments *args = state->input;
-
- switch (key)
- {
- case 'a':
- args->send_mode = 1;
- send_append_header (arg);
- break;
-
- case 'e':
- util_cache_command (&command_list, "set mode=exist");
- break;
-
- case 'f':
- if (arg != NULL)
- args->file = arg;
- /* People often tend to separate -f option from its argument
- with a whitespace. This heuristics tries to catch the
- error: */
- else if (state->next < state->argc
- && state->argv[state->next][0] != '-')
- args->file = state->argv[state->next++];
- else
- {
- int len;
- char *home = getenv("HOME");
- len = strlen (home) + strlen ("/mbox") + 1;
- args->file = xmalloc(len * sizeof (char));
- strcpy (args->file, home);
- strcat (args->file, "/mbox");
- }
- break;
-
- case 'p':
- case 'r':
- util_cache_command (&command_list, "set mode=print");
- break;
-
- case 'q':
- util_cache_command (&command_list, "set quit");
- break;
-
- case 't':
- util_cache_command (&command_list, "set mode=send");
- break;
-
- case 'H':
- util_cache_command (&command_list, "set mode=headers");
- break;
-
- case 'i':
- util_cache_command (&command_list, "set ignore");
- break;
-
- case 'n':
- util_do_command ("set norc");
- break;
-
- case 'N':
- util_cache_command (&command_list, "set noheader");
- break;
-
- case 's':
- send_append_header2 (MU_HEADER_SUBJECT, arg, COMPOSE_REPLACE);
- util_cache_command (&command_list, "set noasksub");
- args->send_mode = 1;
- break;
-
- case 'u':
- args->user = arg;
- break;
-
- case 'E':
- util_cache_command (&command_list, arg);
- break;
-
- case 'F':
- util_cache_command (&command_list, "set byname");
- break;
-
- case ARGP_KEY_ARG:
- args->args = realloc (args->args,
- sizeof (char *) * (state->arg_num + 2));
- args->args[state->arg_num] = arg;
- args->args[state->arg_num + 1] = NULL;
- args->send_mode = 1;
- break;
-
- case ARGP_KEY_FINI:
- if (args->send_mode)
- util_cache_command (&command_list, "set mode=send");
- break;
-
- default:
- return ARGP_ERR_UNKNOWN;
- }
- return 0;
-}
-
-static struct argp argp = {
- options,
- parse_opt,
- args_doc,
- doc,
- NULL,
- NULL, NULL
-};
-
-static const char *mail_capa[] = {
- "common",
- "debug",
- "license",
- "mailbox",
- "locking",
- NULL
-};
-
-static char *
-mail_cmdline (void *closure, int cont MU_ARG_UNUSED)
-{
- char *prompt = (char*) closure;
- char *rc;
-
- while (1)
- {
- if (util_getenv (NULL, "autoinc", Mail_env_boolean, 0) == 0
- && !mu_mailbox_is_updated (mbox))
- {
- mu_mailbox_messages_count (mbox, &total);
- page_invalidate (0);
- fprintf (ofile, _("New mail has arrived.\n"));
- }
-
- rc = ml_readline (prompt);
-
- if (ml_got_interrupt ())
- {
- util_error (_("Interrupt"));
- continue;
- }
-
- if (!rc && util_getenv (NULL, "ignoreeof", Mail_env_boolean, 0) == 0)
- {
- util_error (_("Use \"quit\" to quit."));
- continue;
- }
-
- break;
- }
- return rc;
-}
-
-static char *default_setup[] = {
- "set noallnet",
- "set noappend",
- "set asksub",
- "set crt",
- "set noaskbcc",
- "set askcc",
- "set noautoprint",
- "set nobang",
- "set nocmd",
- "set nodebug",
- "set nodot",
- "set escape=~",
- "set noflipr",
- "set nofolder",
- "set header",
- "set nohold",
- "set noignore",
- "set noignoreeof",
- "set indentprefix=\"\t\"",
- "set nokeep",
- "set nokeepsave",
- "set nometoo",
- "set noonehop",
- "set nooutfolder",
- "set nopage",
- "set prompt=\"? \"",
- "set norecord",
- "set save",
- "set nosendmail",
- "set nosendwait",
- "set noshowto",
- "set nosign",
- "set noSign",
- "set toplines=5",
- "set autoinc",
- "set regex",
- "set replyprefix=\"Re: \"",
- "set charset=auto",
- "set xmailer",
- "unfold subject",
- "sender mail-followup-to reply-to from",
- "set nocmd",
- "set metamail",
- "set recursivealiases",
- "set noinplacealiases",
-
- /* Start in mail reading mode */
- "set mode=read",
- "set noquit",
- "set rc",
-
- "set noflipr",
- "set noshowto",
- "set nobang",
+#ifdef HAVE_PATHS_H
+#include <paths.h>
+#endif
- "set nullbody", /* Null message body is traditionally allowed */
- "set nullbodymsg=\"" N_("Null message body; hope that's ok") "\"",
-
- /* These settings are not yet used */
- "set nodebug",
- "set noonehop",
- "set nosendwait",
-};
+#ifndef _PATH_MAILDIR
+#define _PATH_MAILDIR "/var/spool/mail"
+#endif
int
main (int argc, char **argv)
{
- char *mode = NULL, *prompt = NULL;
- struct arguments args;
- int i, rc;
-
- ofile = stdout;
- set_cursor (1);
-
- /* Native Language Support */
- MU_APP_INIT_NLS ();
-
- /* Register the desired formats. */
- mu_register_all_formats ();
-
- interactive = isatty (fileno(stdin));
-#ifdef HAVE_SIGACTION
- {
- struct sigaction act;
- act.sa_handler = SIG_IGN;
- sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGPIPE, &act, NULL);
- }
-#else
- signal (SIGPIPE, SIG_IGN);
-#endif
+ char *foo, bar[80];
+ int i = 0;
+ char c = 0;
+ char *mboxname;
+ mailbox *mbox;
- /* set up the default environment */
- if (!getenv ("HOME"))
+ if (argc != 1)
{
- char *p = util_get_homedir ();
- setenv ("HOME", p, 0);
+ fprintf (stderr, "Usage: %s\n", argv[0]);
+ return 1;
}
- /* Set up the default environment */
- setenv ("DEAD", util_fullpath("~/dead.letter"), 0);
- setenv ("EDITOR", "ed", 0);
- setenv ("LISTER", "ls", 0);
- setenv ("MAILRC", util_fullpath("~/.mailrc"), 0);
- setenv ("MBOX", util_fullpath("~/mbox"), 0);
- setenv ("PAGER", "more", 0);
- setenv ("SHELL", "sh", 0);
- setenv ("VISUAL", "vi", 0);
- setenv ("COLUMNS", "80", 0);
- setenv ("LINES", "24", 0);
-
- /* set defaults for execution */
- for (i = 0; i < sizeof(default_setup)/sizeof(default_setup[0]); i++)
- util_do_command (default_setup[i]);
- util_do_command ("set screen=%d", util_getlines ());
- util_do_command ("set columns=%d", util_getcols ());
-
- /* Set the default mailer to sendmail. */
- {
- char *mailer_name = alloca (strlen ("sendmail:")
- + strlen (_PATH_SENDMAIL) + 1);
- sprintf (mailer_name, "sendmail:%s", _PATH_SENDMAIL);
- util_setenv ("sendmail", mailer_name, Mail_env_string, 1);
- }
-
-
- args.args = NULL;
- args.file = NULL;
- args.user = NULL;
- args.send_mode = 0;
-
- /* argument parsing */
-#ifdef WITH_TLS
- mu_gocs_register ("tls", mu_tls_module_init);
-#endif
- mu_argp_init (program_version, NULL);
- if (mu_app_init (&argp, mail_capa, NULL, argc, argv, 0, NULL, &args))
- exit (1);
-
- /* read system-wide mail.rc and user's .mailrc */
- if (util_getenv (NULL, "rc", Mail_env_boolean, 0) == 0)
- util_do_command ("source %s", SITE_MAIL_RC);
- util_do_command ("source %s", getenv ("MAILRC"));
-
- util_run_cached_commands (&command_list);
-
- if (!interactive)
+ mboxname = getenv ("MAIL");
+ if (mboxname == NULL)
{
- util_do_command ("set nocrt");
- util_do_command ("set noasksub");
- util_do_command ("set noaskcc");
- util_do_command ("set noaskbcc");
+ foo = getenv ("LOGNAME");
+ mboxname = malloc ((strlen(foo) + strlen(_PATH_MAILDIR) + 2) * sizeof(char));
+ strcpy (mboxname, _PATH_MAILDIR "/");
+ strcat (mboxname, foo);
+ free (foo);
}
- /* how should we be running? */
- if (util_getenv (&mode, "mode", Mail_env_string, 1))
- exit (EXIT_FAILURE);
-
- /* Interactive mode */
-
- ml_readline_init ();
- mail_set_my_name(args.user);
-
- /* Mode is just sending */
- if (strcmp (mode, "send") == 0)
- {
- /* FIXME: set cmd to "mail [add1...]" */
- char *buf = NULL;
- int num = 0;
- int rc;
- if (args.args != NULL)
- while (args.args[num] != NULL)
- num++;
- mu_argcv_string (num, args.args, &buf);
- rc = util_do_command ("mail %s", buf);
- return util_getenv (NULL, "mailx", Mail_env_boolean, 0) ? rc : 0;
- }
- /* Or acting as a normal reader */
- else
+ mbox = mbox_open (mboxname);
+ printf ("Number of messages: %d\n", mbox->messages);
+ while (1)
{
- /* open the mailbox */
- if (args.file == NULL)
- {
- if (args.user)
- {
- char *p = xmalloc (strlen (args.user) + 2);
- p[0] = '%';
- strcpy (p + 1, args.user);
- rc = mu_mailbox_create_default (&mbox, p);
- free (p);
- }
- else
- rc = mu_mailbox_create_default (&mbox, NULL);
- if (rc != 0)
- {
- util_error (_("Cannot create mailbox for %s: %s"), args.user,
- mu_strerror (rc));
- exit (EXIT_FAILURE);
- }
- }
- else if ((rc = mu_mailbox_create_default (&mbox, args.file)) != 0)
+ printf ("& ");
+ fflush (stdout);
+ fgets (bar, 80, stdin);
+ c = bar[0];
+ if (c == 'd' || c == 'D' || c == 'b' || c == 'B' || c == 'h' ||
+ c == 'H' || c == 'r' || c == 'R')
{
- util_error (_("Cannot create mailbox %s: %s"), args.file,
- mu_strerror (rc));
- exit (EXIT_FAILURE);
+ printf ("# ");
+ fgets (bar, 80, stdin);
}
-
- /* Could we enable this at runtime, via the a set environment? */
- if (0)
+ switch (c)
{
- mu_debug_t debug = NULL;
- mu_mailbox_get_debug (mbox, &debug);
- mu_debug_set_level (debug, MU_DEBUG_LEVEL_UPTO (MU_DEBUG_PROT));
- }
-
- if ((rc = mu_mailbox_open (mbox, MU_STREAM_RDWR|MU_STREAM_CREAT)) != 0)
- {
- mu_url_t url = NULL;
- mu_mailbox_get_url (mbox, &url);
- util_error (_("Cannot open mailbox %s: %s"),
- mu_url_to_string (url), mu_strerror (rc));
- mu_mailbox_destroy (&mbox);
- }
-
- if (rc)
- total = 0;
- else
- {
- if ((rc = mu_mailbox_scan (mbox, 1, &total)) != 0)
- {
- mu_url_t url = NULL;
- mu_mailbox_get_url (mbox, &url);
- util_error (_("Cannot read mailbox %s: %s"),
- mu_url_to_string (url), mu_strerror (rc));
- exit (EXIT_FAILURE);
- }
-
- if (strcmp (mode, "exist") == 0)
- return (total < 1) ? 1 : 0;
- else if (strcmp (mode, "print") == 0)
- return util_do_command ("print *");
- else if (strcmp (mode, "headers") == 0)
- return util_do_command ("from *");
- else if (strcmp (mode, "read"))
- {
- util_error(_("Unknown mode `%s'"), mode);
- util_do_command ("quit");
- return 1;
- }
+ case 'q':
+ case 'Q':
+ mbox_close (mbox);
+ return 0;
+ break;
+ case 'r':
+ case 'R':
+ foo = mbox_get_header (mbox, atoi (bar) - 1);
+ printf ("%s\n", foo);
+ free (foo);
+ foo = mbox_get_body (mbox, atoi (bar) - 1);
+ printf ("%s", foo);
+ free (foo);
+ break;
+ case 'h':
+ case 'H':
+ foo = mbox_get_header (mbox, atoi (bar) - 1);
+ printf ("%s", foo);
+ free (foo);
+ break;
+ case 'b':
+ case 'B':
+ foo = mbox_get_body (mbox, atoi (bar) - 1);
+ printf ("%s", foo);
+ free (foo);
+ break;
+ case 'd':
+ case 'D':
+ mbox_delete (mbox, atoi (bar) - 1);
+ break;
+ case 'x':
+ case 'X':
+ mbox_expunge (mbox);
+ break;
+ default:
+ break;
}
-
- if (total == 0
- && (strcmp (mode, "read")
- || util_getenv (NULL, "emptystart", Mail_env_boolean, 0)))
- {
- if (args.file)
- fprintf (ofile, _("%s: 0 messages\n"), args.file);
- else
- fprintf (ofile, _("No mail for %s\n"),
- args.user ? args.user : mail_whoami ());
- return 1;
- }
-
- /* initial commands */
- if (util_getenv (NULL, "header", Mail_env_boolean, 0) == 0)
- {
- util_do_command ("summary");
- util_do_command ("z.");
- }
-
- util_getenv (&prompt, "prompt", Mail_env_string, 0);
- mail_mainloop (mail_cmdline, (void*) prompt, 1);
- fprintf (ofile, "\n");
- util_do_command ("quit");
- return 0;
}
- /* We should never reach this point */
- return 1;
}
-
-
-void
-mail_mainloop (char *(*input) (void *, int),
- void *closure, int do_history)
-{
- char *command, *cmd;
-
- while ((command = (*input)(closure, 0)) != NULL)
- {
- int len = strlen (command);
- while (command[len-1] == '\\')
- {
- char *buf;
- char *command2 = (*input) (closure, 1);
-
- if (!command2)
- {
- command[len-1] = 0;
- break;
- }
- command[len-1] = '\0';
- buf = xmalloc ((len + strlen (command2)) * sizeof (char));
- strcpy (buf, command);
- strcat (buf, command2);
- free (command);
- command = buf;
- len = strlen (command);
- }
- cmd = util_stripwhite (command);
- util_do_command ("%s", cmd);
-#ifdef WITH_READLINE
- if (do_history && !(isspace(cmd[0]) || cmd[0] == '#'))
- add_history (cmd);
-#endif
- if (command)
- free (command);
- }
-}
-
-int
-mail_warranty (int argc MU_ARG_UNUSED, char **argv MU_ARG_UNUSED)
-{
- fputs (_("GNU Mailutils -- a suite of utilities for electronic mail\n"
- "Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,\n"
- "2007 Free Software Foundation, Inc.\n\n"),
- ofile);
- fputs (
- _(" GNU Mailutils is free software; you can redistribute it and/or modify\n"
- " it under the terms of the GNU General Public License as published by\n"
- " the Free Software Foundation; either version 3 of the License, or\n"
- " (at your option) any later version.\n"
- "\n"
- " GNU Mailutils is distributed in the hope that it will be useful,\n"
- " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
- " GNU General Public License for more details.\n"
- "\n"
- " You should have received a copy of the GNU General Public License along\n"
- " with GNU Mailutils; if not, write to the Free Software Foundation,\n"
- " Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n"
- "\n"
- "\n"
-),
- ofile);
-
- return 0;
-}
-

Return to:

Send suggestions and report system problems to the System administrator.