2008-12-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 2.0
	* NEWS, configure.ac: Version 2.0
	* README: Update
	* doc/texinfo/mailutils.texi: Update.
	* doc/texinfo/programs.texi: Update.
	* doc/Makefile.am: Add usage.texi.
	* imap4d/imap4d.c (imap4d_cfg_param): Fix typo.
	* auth/tls.c (mu_tls_module_init): Add missing break.

2008-12-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update docs

2008-12-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix

	Fix TLS support, improve GOCS subsystem.
	* include/mailutils/gocs.h (gocs_init_fp): Rename to
	mu_gocs_init_fp. Change
	signature.
	(mu_gocs_mailbox_init, mu_gocs_locking_init,
	mu_gocs_source_email_init)
	(mu_gocs_mailer_init, mu_gocs_logging_init)
	(mu_gocs_debug_init): Fix prototypes.
	* include/mailutils/gsasl.h (mu_gsasl_module_init): Update
	prototype.
	* include/mailutils/libsieve.h (mu_sieve_module_init): Update
	prototype.
	* include/mailutils/mu_auth.h (struct mu_auth_module.init):
	Update type
	to mu_gocs_init_fp.
	* include/mailutils/radius.h (mu_radius_module_init): Update
	prototype.

	* include/mailutils/tls.h (struct
	mu_tls_module_config.client_enable):
	Replace with .enable. It affects entire TLS subsystem, not
	only client
	part.
	(mu_tls_module_init): Update prototype.
	* include/mailutils/types.hin (mu_gocs_op): New enum.

	* mailbox/gocs.c (mu_gocs_dummy, mu_gocs_mailbox_init)
	(mu_gocs_locking_init, mu_gocs_source_email_init)
	(mu_gocs_mailer_init, mu_gocs_logging_init)
	(mu_gocs_debug_init): Take two arguments.
	(mu_gocs_flush): After running set stage, call all init callbacks
	with
	mu_gocs_op_flush.

	* auth/tls.c (mu_tls_module_config): Initialize .enable to 1.
	(mu_tls_module_init): Rewrite using new prototype.
	Use mu_gocs_op_flush to initialize the library.
	(mu_init_tls_libs): Initialize the library only if
	mu_tls_module_config.enable
	is set.
	* auth/gsasl.c (mu_gsasl_module_init): Update.
	* auth/ldap.c (mu_ldap_module_init): Update.
	* auth/pam.c (mu_pam_module_init): Update.
	* auth/radius.c (mu_radius_module_init): Update.
	* auth/sql.c (mu_sql_module_init): Update.
	* auth/virtual.c (mu_virtual_module_init): Update.
	* libcfg/tls.c (mu_tls_param): Update.
	* libsieve/conf.c (mu_sieve_module_init): Update.
	* doc/texinfo/programs.texi: Update.

	Fixes.
	* doc/texinfo/Makefile.am (final): Add fix-sentence-spacing.
	* doc/texinfo/mailutils.texi: Update.
	* doc/texinfo/programs.texi: Update.
	* pop3d/pop3d.c, sieve/sieve.c: Use mu_cfg_bool, where
	appropriate.

2008-12-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update the docs

2008-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix.
	* mailbox/parsedate.y (DATE_SET): Change >= comparison to
	strict >.
	(__SET_SECOND,__SET_MINUTE,__SET_HOUR): Fix upper limit.

2008-12-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update .gitignores

	Makefile.am: Remove gen_start_date

	Switched to Git repository.
	* m4: Rename to am.
	* README-alpha, README-hacking: Reflect the switch.
	* */.cvsignore: Rename to .gitignore, update.
	* gnulib.modules: Add gitlog-to-changelog.
	* ChangeLog: Remove.

2008-12-05  Wojciech Polak  <polak@gnu.org>

	Fix typo.

	* include/mailutils/cpp/url.h, libmu_cpp/url.cc,
	examples/cpp/addr.cc, examples/cpp/url-parse.cc:
	Reflect recent API changes.

2008-12-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix Sieve testsuite.
	* testsuite/etc/mailutils.rc.in: New file.
	* testsuite/etc/DISTFILES: Add mailutils.rc.in
	* testsuite/lib/mailutils.exp (mu_copy_file): Define $arg
	variable to simplify using $ in template files.

	* sieve/testsuite/lib/sieve.exp (SIEVE_ETC_DIR): New global
	(sieve_test): Explicitly pass -f.
	Use SIEVE_ETC_DIR/mailutils.rc as configuration file.

	* imap4d/testsuite/imap4d/list.exp: Update the '*' test to match
	new contents of $MU_DATA_DIR/etc
	* sieve/sieve.c (sieve_mailbox): Print actual mailbox URL in case
	of failure.

	* libproto/pop/url.c (_url_pop_init): Remove obsolete call to
	mu_url_init.

2008-11-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	* include/mailutils/opool.h (mu_opool_set_bucket_size)
	(mu_opool_get_bucket_size): New protos.
	* mailbox/opool.c (struct _mu_opool.bucket_size): New member.
	(alloc_pool, copy_chars): Use opool->bucket_size to set bucket
	size.
	(mu_opool_create): Initialize bucket_size with the default
	value.
	(mu_opool_set_bucket_size,mu_opool_get_bucket_size): New
	functions.

2008-11-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add iterator support to opool.
	* include/mailutils/opool.h (mu_opool_get_iterator): New function.
	* mailbox/opool.c (mu_opool_get_iterator): New function.
	* mailbox/hdritr.c (hdr_data_dup): Bugfix: notify owner about the
	new iterator.

2008-11-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	* auth/sql.c (get_field): NULL value in an optional field is
	equivalent to MU_ERR_NOENT.

2008-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	* mailbox/amd.c (_amd_attach_message): Call mu_body_clear_modified
	and mu_message_clear_modified after constructing the message to
	make sure it is not marked as modified.

2008-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	* mailbox/argcv.c (quote_transtab): Add vertical tabulation
	character.

2008-11-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	* mailbox/cfg_driver.c (mu_cfg_tree_reduce): Format parse tree
	before scanning the tree.
	* mailbox/cfg_parser.y (block rule): Accept empty blocks.
	(parse_param): bail out if callback is not declared when it
	should.
	* mailbox/daemon.c (mu_daemon_create_pidfile)
	(mu_daemon_remove_pidfile): If running with UID=0 and EUID != 0,
	temporarily switch to EUID=0 for accessing pidfile (when
	creating or deleting).

2008-11-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix.
	* mailbox/cfg_parser.y (mu_cfg_format_error): Raise
	mu_cfg_error_count only if level is less or equal to error.
	(_scan_tree_helper): "unknown section" is a warning.

	(mu_cfg_tree_reduce): Return 0 if no configuration is supplied.

	* configure.ac, NEWS: Version 1.9.93.
	* include/mailutils/libargp.h (mu_app_cfg_verifier): New extern.
	* libargp/muinit.c (mu_app_cfg_verifier): New variable.
	(mu_app_init): Call mu_app_cfg_verifier if in lint mode.

2008-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix

	Bugfix.
	* libargp/muinit.c (mu_app_init): Do not parse configs if
	--config-help was given.

2008-11-09  Wojciech Polak  <polak@gnu.org>

	Fix typos.
	* doc/texinfo/mailcap.texi, doc/texinfo/mailutils.texi
	doc/texinfo/mom.texi, doc/texinfo/mu-mh.texi,
	doc/texinfo/mu_message.texi, doc/texinfo/programs.texi,
	doc/texinfo/sieve.texi: Fix typos.

2008-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Rewrite default mailbox format support to make sure it does not
	break format autodetection. Improve the docs.
	* configure.ac (MU_DEFAULT_SCHEME): New configuration variable.
	* mailbox/version.c (mu_conf_opt): Include default scheme.

	* examples/mimetest.c, examples/mta.c, libmu_scm/mu_scm.c: Remove
	mu_path_record. Use mu_registrar_set_default_record.

	* libproto/mbox/folder.c (_path_is_scheme): Rename to
	_mbox_is_scheme. Minor changes as well.
	(_path_record, mu_path_record): Removed.
	(_mbox_record): Use _mbox_is_scheme.

	* libsieve/actions.c: Remove unused variable.

	* include/mailutils/Makefile.am (types.h rule): Replace
	_MU_DEFAULT_RECORD_. Change MU_OFF_TYPE replacement pattern to
	_MU_OFF_TYPE_.

	* include/mailutils/mailbox.h (mu_mailbox_set_default_proto)
	(mu_mailbox_get_default_proto): Remove. See below.
	* include/mailutils/registrar.h (mu_registrar_set_default_scheme)
	(mu_registrar_get_default_scheme)
	(mu_registrar_get_default_record)
	(mu_registrar_set_default_record)
	(mu_registrar_lookup_scheme): New prototypes.
	(mu_path_record): Remove.
	(mu_register_all_mbox_formats): Remove mu_path_record.
	Set default scheme using mu_registrar_set_default_record.
	(mu_register_local_mbox_formats): Likewise.
	* include/mailutils/types.hin (MU_OFF_TYPE): Rename to
	_MU_OFF_TYPE_.
	(MU_DEFAULT_RECORD): New define.

	* mailbox/mailbox.c (mu_mailbox_set_default_proto)
	(mu_mailbox_get_default_proto): Remove.
	(mu_mailbox_create): Remove default_proto kludge. mu_registrar
	stuff is responsible for finding the correct record.
	* mailbox/registrar.c (mu_registrar_set_default_record)
	(mu_registrar_get_default_record)
	(mu_registrar_set_default_scheme)
	(mu_registrar_get_default_scheme)
	(mu_registrar_lookup_scheme): New functions.
	(mu_registrar_lookup_url): Fall back to default record if no
	matching record is found and the URL was not set explicitly
	(i.e. does not begin with a scheme).

	* mailbox/gocs.c: Use mu_registrar_set_default_scheme instead of
	mu_mailbox_set_default_proto.
	* libsieve/extensions/pipe.c, libsieve/extensions/spamd.c,
	libsieve/extensions/vacation.c: Fix comments.

	* doc/texinfo/getdate.texi: New file (from gnulib).
	* doc/texinfo/Makefile.am (mailutils_TEXINFOS): Add getdate.texi
	(fix-sentence-spacing): New rule. Forces single-space
	inter-sentence spacing.
	(check-tabs, check-sentence-spacing): New rules.
	(check-format): Depend on the above two.
	(check-refs, check-fixmes, check-unrevised): Fix copy-paste
	errors. Print diagnostics to stderr.

	* doc/texinfo/auth.texi, doc/texinfo/fdl.texi,
	doc/texinfo/framework.texi, doc/texinfo/imap4.texi,
	doc/texinfo/libmuauth.texi, doc/texinfo/mailbox.texi,
	doc/texinfo/mailcap.texi, doc/texinfo/mailutils.texi,
	doc/texinfo/mbox.texi, doc/texinfo/message.texi,
	doc/texinfo/mom.texi, doc/texinfo/mu_message.texi,
	doc/texinfo/mu_mime.texi, doc/texinfo/mu_scm.texi,
	doc/texinfo/muint.texi, doc/texinfo/pop3.texi,
	doc/texinfo/rendition.texi, doc/texinfo/sieve.texi,
	doc/texinfo/url.texi, doc/texinfo/usage.texi: Use GNU instead of
	@sc{gnu}, because latter looks awful when typeset (especially when
	followed by a capitalized word). Fix format by running `make
	final'.

	* doc/texinfo/programs.texi: Document more config statements.
	* doc/texinfo/libsieve.texi: Document loadable actions and tests.

2008-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix
	* mailbox/amd.c (_amd_message_save): Make sure message files have
	right permissions.
	(amd_message_stream_open): Remove useless flags addition.
	Permissions are taken care of in _amd_message_save.

	Allow to set mailbox permissions using fileinto Sieve action.
	* mailbox/permstr.c: New file.
	* mailbox/Makefile.am (libmailutils_la_SOURCES): Add permstr.c.
	* imap4d/imap4d.c (parse_mode_spec): Remove function.
	(cb_mailbox_mode): Use mu_parse_stream_perm_string instead of
	parse_mode_spec.
	* imap4d/imap4d.h (namespace_getfullpath)
	(namespace_checkfullpath): First arg is const.
	* imap4d/namespace.c (namespace_getfullpath)
	(namespace_checkfullpath): First arg is const.
	* include/mailutils/message.h (mu_message_save_to_mailbox): Add
	5th argument (permissions).
	* mailbox/message.c: Likewise.
	* include/mailutils/mutil.h (mu_parse_stream_perm_string): New
	proto.
	(mu_stream_flags_to_mode): Add isdir argument.
	* libsieve/actions.c (sieve_action_fileinto): New tag :permissions
	allows to set permissions to the mailbox being created.
	* mailbox/mutil.c (mu_stream_flags_to_mode): Add 2nd argument
	(isdir). Any bits in [go] sets imply raising 'x' bit for
	directories (i.e. if isdir != 0).

	* libproto/maildir/mbox.c, mailbox/amd.c: Update calls to
	mu_stream_flags_to_mode.

	* NEWS, doc/texinfo/sieve.texi: Update.

	Allow to set file permissions of the local mailboxes during
	creation.

	Allow to set file permissions of the local mailboxes during
	creation.
	* include/mailutils/stream.h (MU_STREAM_IRGRP, MU_STREAM_IWGRP)
	(MU_STREAM_IROTH, MU_STREAM_IWOTH, MU_STREAM_IMASK): New defines.
	* include/mailutils/mutil.h (mu_stream_flags_to_mode): New
	prototype.
	* libproto/maildir/mbox.c (maildir_create, maildir_flush)
	(maildir_scan0): Consider mailbox flags to determine its file
	mode.
	* mailbox/amd.c (amd_open, amd_message_stream_open): Likewise.
	* mailbox/file_stream.c (_file_open): Likewise.
	* mailbox/mutil.c (mu_stream_flags_to_mode): New file.

	* imap4d/namespace.c (namespace_getfullpath)
	(namespace_checkfullpath): Return the namespace number in the last
	argument (if not null).
	* imap4d/append.c, imap4d/copy.c, imap4d/delete.c, imap4d/list.c,
	imap4d/rename.c, imap4d/select.c, imap4d/status.c: Update calls to
	namespace_getfullpath.
	* imap4d/create.c (imap4d_create): Set mailbox flags depending on
	the namespace it is created in.
	* imap4d/imap4d.c (mailbox_mode): New variable.
	(parse_mode_spec): New function.
	(imap4d_cfg_param): New statements other-mailbox-mode and
	shared-mailbox-mode.
	* imap4d/imap4d.h (mailbox_mode): New proto.
	(namespace_getfullpath, namespace_checkfullpath): Add a parameter.

	* mailbox/progmailer.c (mu_progmailer_set_debug): Add missing
	return statement.

2008-11-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Implement forwarding functionality in Maidag.
	* maidag/forward.c: New file.
	* maidag/Makefile.am (maidag_SOURCES): Add forward.c.
	* maidag/deliver.c (deliver_url): Call maidag_forward for local
	users.
	* maidag/maidag.c (forward_file, forward_file_checks): New
	variables.
	(maidag_cfg_param): New keywords forward-file and
	forward-file-checks.
	* maidag/maidag.h (FWD_IWGRP, FWD_IWOTH, FWD_LINK, FWD_DIR_IWGRP)
	(FWD_DIR_IWOTH, FWD_ALL): New defines.
	(forward_file, forward_file_checks): New variables.
	(enum maidag_forward_result): New data type.
	(maidag_forward): New prototype.

	Simplify calls to final delivery functions.
	* maidag/deliver.c (mda): Pass msg as a 1st argument to deliver.
	(deliver_to_user): Remove 1st argument.
	(deliver): Change type of the 1st argument to mu_message_t.
	* maidag/lmtp.c (dot_deliver): Pass msg as a 1st argument to
	deliver.
	* maidag/maidag.c (sieve_test): Change type of the 2nd argument to
	mu_message_t.
	* maidag/maidag.h (sieve_test, deliver): Pass mu_message_t,
	instead of mu_message_t.

	* mailbox/mailer.c (mu_mailer_create_from_url): Set default debug
	level.
	* sql/mysql.c (mu_mysql_connect): Avoid coredumps if conn->server
	is NULL.

2008-10-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Make maidag hanlde mailer URLs.
	This makes it possible to `deliver' mails to mailers without
	explicitly specifying `remote+mailer' mailbox URLs.  In
	particular, it is handy for implementing mailing lists using
	`prog' mailers (as with Mailman).

	* maidag/deliver.c (notify_action): Do nothing if biff_user_name
	is empty.
	(deliver_to_user): Remove `name' argument.  Allow for auth==NULL.
	(is_remote_url): Use case-sensitive comparison.
	(is_mailer_url): New function.
	(deliver_url): Handle mailer URLs as if they were corresponding
	`remote+' mailbox URLs.  This allows to handle mailing lists.
	* maidag/lmtp.c (lmtp_groups): New global.
	(lmtp_set_privs): New function. Sets primary and
	supplementary group privileges.
	(maidag_lmtp_server): Call lmtp_set_privs.
	* maidag/maidag.c (lmtp_group): Remove.  It is superceded by
	lmtp_groups.
	(maidag_cfg_param): Allow to specify supplementary groups.
	* maidag/maidag.h (lmtp_group): Replace with lmtp_groups.

	Change mailer creation mechanism.
	* include/mailutils/mailer.h (mu_mailer_create_from_url): New
	proto.
	* mailbox/mailer.c (mu_mailer_create_from_url): New
	function.
	(mu_mailer_create): Rewrite using mu_mailer_create_from_url.
	* libproto/mailer/prog.c (_url_prog_init): Do not call
	mu_url_init.
	(url_to_argv): Reflect changes to mu_url functions.
	* libproto/mailer/url_sendmail.c (_url_sendmail_init): Do not call
	mu_url_init.
	* libproto/mailer/url_smtp.c (_url_smtp_init): Likewise.

	Minor fixes.
	* mailbox/mailbox.c (_create_mailbox0): Take care not to destroy
	url, if creation of the mailbox failed.
	(_create_mailbox): Destroy url if unable to create mailbox.

	* mailbox/mutil.c (mu_is_proto): Take starting | as a protocol
	specification. A kludge.

	* include/mailutils/argcv.h: Fix indentation.

	Change handling of URL query part.
	Queries are now parsed into arguments and returned as arrays
	of arguments.

	* libproto/include/url0.h (struct _mu_url): Replace query with
	array of query arguments.
	* include/mailutils/url.h (mu_url_dup): New proto.
	(mu_url_get_query): Remove.
	(mu_url_sget_query, mu_url_aget_query): Return query split into
	arguments.
	(mu_url_set_scheme): New function.
	(mu_url_decode_len): New function.
	* mailbox/url.c (mu_url_dup): New function.
	(mu_url_get_query): Remove.
	(mu_url_sget_query, mu_url_aget_query): Return query split into
	arguments.
	(mu_url_set_scheme): New function.
	(mu_url_decode_len): New function.
	* libproto/remote/mbox.c (remote_mbox_init): Use parsed out URL,
	instead of the full URL string.

	* examples/url-parse.c: Change query output.
	* mailbox/testsuite/Urls: Reflect changes to url-parse.  Add new
	testcases.

	* libproto/imap/url.c, libproto/pop/url.c: Reflect changes to URL
	functions.

2008-10-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Initial implementation of a `prog' mailer.
	* configure.ac: Enable/disable prog mailer support.
	* include/mailutils/progmailer.h: New file.
	* include/mailutils/Makefile.am (pkginclude_HEADERS): Add
	progmailer.h
	* include/mailutils/mailutils.h: Include progmailer.h
	* include/mailutils/registrar.h (MU_PROG_PRIO): New define.
	(mu_prog_record): New extern.
	(mu_register_all_mailer_formats): Register mu_prog_record.
	* include/mailutils/types.hin (mu_progmailer_t): New typedef.
	* libproto/include/registrar0.h (MU_PROG_SCHEME)
	(MU_PROG_SCHEME_LEN): New defines.
	* libproto/mailer/prog.c: New file.
	* libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Add
	prog.c
	* libproto/mailer/sendmail.c: Rewrite using mu_progmailer_t
	* libproto/remote/folder.c (_remote_is_scheme): Remove unused
	variable.
	* mailbox/progmailer.c: New file
	* mailbox/Makefile.am (libmailutils_la_SOURCES): Add progmailer.c

	* mailbox/acl.c (_expand_aclno): Add a fixme.
	* mail/send.c (msg_to_pipe): Bugfix: use pclose, instead of
	fclose.
	* examples/config/mailutils.schema: Update.

2008-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Use registered GNU OID
	* examples/config/mailutils.dict: Use GNU OID number.
	* examples/config/mailutils.schema: Use sub-OID assigned to GNU
	Mailutils.

	Bugfix
	* libsieve/prog.c (mu_sv_code_command): Ensure tag arguments have
	the proper type.

	Fix handling of stdin stream (in particular, in sieve).
	* libsieve/extensions/spamd.c (spamd_test): Fix typo.
	*  mailbox/file_stream.c (struct _file_stream): New members
	size and size_computed.
	(_stdin_file_read, _stdin_file_readline): Fix types of fs_offset.
	(_stdin_file_size): New function.
	(_stdout_file_write): Register _stdin_file_size as stream_size
	method if seekable flag is set.
	* mailbox/message_stream.c (struct _mu_rfc822_message): Remove
	unused member.
	* sieve/sieve.c (sieve_message): Create a seekable stream.

2008-10-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New tag :user.

	Sieve: "stdin" working mode.
	* sieve/sieve.c: New working mode: if `-f -' is given, treat
	stdin as an RFC2822 message, apply the script to it and exit with
	1 if the message gets deleted, 0 if it is not and EX_SOFTWARE on
	software errors.
	In traditional mode, exit with standard sysexit codes.
	* testsuite/sieve/i-numeric.exp: Reflect changes in sieve.
	* NEWS: Update.

2008-10-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Default to symbolic tuple parsing in sql.
	* auth/sql.c (decode_tuple): Use new tuple parsing mode, unless
	`positional' is set to true.
	* include/mailutils/sql.h (struct mu_sql_module_config)
	(struct mu_internal_sql_config): New member `positional'.
	* libcfg/sql.c (mu_sql_param): New statement `positional'.

	* auth/virtual.c (getpwnam_virtual): Close file.
	* doc/texinfo/programs.texi: Document virtmode.
	* testsuite/Makefile.am (EXTRA_DIST): Remove
	* testsuite/makespool: Remove.

	New maidag mode: --url
	* NEWS: Update.
	* doc/texinfo/libmuauth.texi: Update.
	* doc/texinfo/mailutils.texi: Update.
	* doc/texinfo/programs.texi: Update.

	* include/mailutils/mailbox.h (mu_mailbox_create_from_url): New
	function.
	* include/mailutils/mutil.h (mu_aget_user_email_domain): New
	function.
	* libproto/include/address0.h: Remove obsolete comment.
	* libproto/remote/mbox.c (remote_mbox_append_message): If
	recipient address is not given, try to construct it from the URL.
	* mailbox/mailbox.c (mu_mailbox_create_from_url): New function.
	* mailbox/mutil.c (mu_aget_user_email_domain): New function.

	* maidag/deliver.c (deliver_to_user): Mailbox and auth must be
	freed by the caller.
	(deliver_url): New function.
	(deliver): Rewrite to allow for delivering to mailboxes explicitly
	specified by URLs (--url command line option).
	* maidag/maidag.c (options): New option --url.
	(main): Handle --url.
	* maidag/maidag.h (url_option): New global.
	* maidag/mailquota.c (check_quota): Return if auth == NULL.

2008-10-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix
	* include/mailutils/libsieve.h (mu_sieve_match_part_checker): New
	prototype.
	* libsieve/comparator.c (mu_sv_match_part_checker): Rename back to
	mu_sieve_match_part_checker.  The function was mistakingly renamed
	on 2008-07-19.	All references updated.
	* libsieve/tests.c: Likewise.
	* libsieve/sieve.h (mu_sv_match_part_checker): Remove prototype.

	Update

2008-10-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Implement ESMTP SIZE.
	* libproto/mailer/smtp.c: Implement SIZE extension (RFC 1870).
	* doc/rfc/rfc1870.txt: New file.

2008-10-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Change cfg_lexer.c to cfg_lexer.l

2008-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	(url_parse0): Allow for <user>:<password>;AUTH=<auth> syntax.

2008-10-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix remote+ records.
	* libproto/remote/folder.c (remote_url_init): Remove.
	(_remote_is_scheme): New function.
	(_remote_mbox_record): Add _is_scheme method.
	* libproto/remote/mbox.c (remote_mbox_init): Remove useless
	check.
	* mailbox/assoc.c (mu_assoc_clear): Return immediately if assoc
	tab is NULL.
	* mailbox/mailbox.c (_create_mailbox0): Do not enforce exact
	record
	scheme match if the scheme ends with a plus sign.

	Bugfixes.
	* doc/texinfo/programs.texi: Document Locking, ACL, and
	Tcp-wrappers.
	* mailbox/cfg_driver.c (mu_cfg_assert_value_type): Convert
	MU_CFG_STRING to MU_CFG_ARRAY.
	* mailbox/cfg_parser.y: Replace `tag: value' with `tag: vallist'.
	This allows for constructs like `acl a b c {', which were
	understood by the previous version.
	* mailbox/version.c (mu_conf_opt): Add WITH_LIBWRAP.

2008-10-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Document mailbox statement

2008-09-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Bugfixes.
	* config/mailutils-config.c (main): Do not print flag descriptions
	on --info, this breaks existing scripts.
	New option --verbose makes --info print verbose descriptions.
	* include/mailutils/version.h (mu_fprint_options)
	(mu_fprint_conf_option): Take additional argument.
	* mailbox/argcv.c (quote_transtab): Handle \".
	* mailbox/cfg_driver.c (mu_cfg_string_value_cb): Bugfix
	* mailbox/cfg_lexer.l: Allow * and = in non-quoted words.
	Improve 'stray character' diagnostics'.
	(unescape_to_line): Handle \\ and \".
	* mailbox/version.c (mu_fprint_options)
	(mu_fprint_conf_option): New argument `verbose' instructs whether
	to print textual descriptions.
	(mu_fprint_conf_option): Print single space after the flag to
	facilitate writing parser scripts.
	* testsuite/lib/mailutils.exp: Reflect this change.

2008-09-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add new file

2008-09-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	* configure.ac: Define LOG_FACILITY_STRING, a string
	representation of syslog facility.
	* mailbox/cfg_lexer.l: Re-introduce pragmatic comment
	#debug=, for setting debugging level in config module.
	* mailbox/cfg_parser.y: Likewise.
	* mailbox/gdebug.c (mu_debug_level_from_string): Ignore trailing
	newline.
	* mailbox/version.c (mu_conf_option): Add SYSCONFDIR, MAILSPOOLDIR
	and LOG_FACILITY.

	* mh/mh_init.c (mh_list_format): Reformat to make it more
	readable. Use decode primitive on header fields that may be
	encoded.

	* doc/texinfo/mailutils.texi: Further update.
	* doc/texinfo/programs.texi: Likewise.

2008-09-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix typos

	Begin rewriting the docs.
	* configure.ac: Configure doc hints.
	* config/mailutils-config.c (main): Use mu_fprint_conf_option.
	* mailbox/version.c (mu_conf_option): Change type.
	(mu_fprint_conf_option): New function.
	(mu_fprint_options): Use mu_fprint_conf_option.
	(mu_print_options): Fix signature
	(mu_check_option): Change return type.
	* testsuite/lib/mailutils.exp (mu_version): Reflect changes in the
	output produced by --show-config-options.

	* include/mailutils/version.h (struct mu_conf_option): New data
	type.
	(mu_check_option): Change return type.
	(mu_fprint_conf_option): New prototype.
	* libargp/common.c (mu_common_argp): Rename --rcfile-* options
	to --config-*. Retain old names for a while.

	* doc/texinfo/Makefile.am (RENDITION_TEXI): New variable.
	(check-format, check-refs, check-fixmes, check-unrevised)
	(all-check-docs, check-docs): New rules.
	* doc/texinfo/rendition.texi: New file.
	* doc/texinfo/macros.texi: New file.
	* doc/texinfo/mailutils.texi: Start rewriting
	* doc/texinfo/programs.texi: Likewise.

	* doc/texinfo/c-api.texi: Reformat.
	* doc/texinfo/fdl.texi: Likewise.
	* doc/texinfo/libmuauth.texi: Likewise.
	* doc/texinfo/libsieve.texi: Likewise.
	* doc/texinfo/mu-mh.texi: Likewise.
	* doc/texinfo/sieve.texi: Likewise.

	* doc/texinfo/gendocs_template: Rewrite.

2008-08-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix testsuite to avoid spawning /bin/cp.
	* imap4d/testsuite/imap4d.rcin: New file.
	* imap4d/testsuite/Makefile.am (EXTRA_DIST): Add imap4d.rcin
	* imap4d/testsuite/.cvsignore: Add imap4d.rc
	* imap4d/testsuite/lib/imap4d.exp: Use mu_makespool to prepare
	mailspools and mu_create_config to create test configuration
	file.  Specify the maximum amount of configuration data in the
	latter, instead of using command line options.
	* mail.local/testsuite/lib/mail.local.exp: Likewise.
	* pop3d/testsuite/lib/pop3d.exp: Likewise.

	* pop3d/testsuite/pop3d.rcin: New file.
	* pop3d/testsuite/Makefile.am (EXTRA_DIST): Add pop3d.rcin
	* pop3d/testsuite/.cvsignore: Add pop3d.rc.

	* testsuite/etc/passwd.in: Use Tcl variable for expansion.
	* testsuite/lib/mailutils.exp (mu_copy_file): New function.
	(mu_makespool, mu_create_config): New function.
	(mu_init): Remove unused variable MU_MAKESPOOL.
	(mu_prepare_spools): Use mu_makespool.
	(mu_cleanup_spools): Remove.

	* libcfg/init.c (mu_parse_config_files): Minor change.
	* mailbox/cfg_lexer.l (mu_get_config): Fix return value.

2008-08-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	* include/mailutils/mutil.h, mailbox/mutil.c (mu_normalize_path):
	Remove useless second argument.  All callers changed.

	Rewrite IMAP namespace support.
	* imap4d/imap4d.c (imap4d_cfg_param): other-namespace and
	shared-namespace take proper lists as arguments.
	(imap4d_session_setup0): Call namespace_init_session.
	(main): Call namespace_init.
	* imap4d/imap4d.h (set_namespace): Remove.
	(namespace_init): Change proto.
	(namespace_init_session): New prototype.
	(namespace): New declaration.
	* imap4d/namespace.c: Rewrite using lists.
	* mailbox/cfg_parser.y (parse_param): Cast string to lists if
	the parameter has list type.

2008-08-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Implement ID extension.
	* imap4d/id.c: New file.
	* imap4d/Makefile.am (imap4d_SOURCES): Add id.c, remove version.c.
	* imap4d/commands.c: Add ID command.
	Remove X-VERSION command.
	(SELECT,EXAMINE): Switch to authenticated mode on failure.
	* imap4d/imap4d.c (imap4d_argc, imap4d_argv): New variables.
	(imap4d_cfg_param): New keyword `id-fields'.
	(main): Save command line arguments.
	* imap4d/imap4d.h (imap4d_argc, imap4d_argv): New declarations.
	* imap4d/select.c (imap4d_select0): Do not reset state to auth on
	failure, this is done by util_finish.
	* imap4d/version.c: Remove.
	* imap4d/capability.c: Announce ID capability, remove X-VERSION.
	* imap4d/testsuite/imap4d/x.exp: Use ID instead of X-VERSION.

	* TODO, NEWS: Update.

	* mailbox/cfg_parser.y (_set_fun,parse_param): Bugfix.

2008-08-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Bugfixes.
	* libcfg/acl.c (parsearg): Initialize size.
	* mailbox/cfg_driver.c (mu_cfg_assert_value_type): Bugfix.
	* mailbox/cfg_lexer.l (mu_get_config): Close file.
	* mailbox/cfg_parser.y: Fix array creation.

	Change configuration file parser based on the lexer/parser from
	GNU Dico.
	* auth/gsasl.c: Remove deprecated data types.
	* imap4d/auth_gsasl.c (retrieve_password): Minor fix.

	* imap4d/imap4d.c, imap4d/imap4d.h, imap4d/namespace.c,
	lib/tcpwrap.c, libcfg/acl.c, libcfg/auth.c, libcfg/common.c,
	libcfg/ldap.c, libcfg/sieve.c, libcfg/sql.c, maidag/maidag.c,
	mail.local/main.c, mailbox/gdebug.c, mailbox/msrv.c,
	mimeview/mimeview.c, pop3d/bulletin.c, pop3d/pop3d.c,
	pop3d/pop3d.h, sieve/sieve.c: Reflect changes to the configuration
	system.

	* mailbox/Makefile.am (AM_LFLAGS): New variable.
	(EXTRA_DIST) Add cfg_lexer.l.
	(libmailutils_la_SOURCES): Add alloc.c and opool.c
	(BUILT_SOURCES): Add cfg_lexer.c.
	(cfg_lexer.c): New goal.
	* mailbox/alloc.c, mailbox/opool.c: New files.
	* mailbox/cfg_lexer.c: Remove.
	* mailbox/cfg_lexer.l: New file.
	* mailbox/.cvsignore: Add cfg_lexer.c.

	* include/mailutils/Makefile.am: Add alloc.h and opool.h
	* include/mailutils/alloc.h: New file.
	* include/mailutils/opool.h: New file.

	* include/mailutils/cfg.h (mu_cfg_lexer_t,mu_cfg_alloc_t)
	(mu_cfg_free_t): Remove types.
	(MU_CFG_STRING, MU_CFG_LIST, MU_CFG_ARRAY): New defines.
	(mu_config_value_t): New data type.
	(struct mu_cfg_node): Change type of `label'.
	(struct mu_cfg_tree): Remove `alloc', `free'.
	New member `pool'.
	(mu_cfg_parse): Simplify the signature by removing superfluous
	arguments.
	(mu_cfg_tie_in): Remove.
	(mu_cfg_lexer_pool): New function.
	(mu_cfg_find_node, mu_cfg_find_node_label): Remove.
	(mu_cfg_callback_t): Change signature.
	(MU_CFG_LIST_MASK): New define.
	(MU_CFG_LIST_OF, MU_CFG_TYPE, MU_CFG_IS_LIST): New defines.
	(mu_cfg_get_debug): New function.
	(mu_cfg_assert_value_type, mu_cfg_string_value_cb): New functions.
	(mu_cfg_tree_set_alloc, mu_cfg_tree_alloc): Remove.
	* mailbox/cfg_driver.c: Adapt for new node structure.
	(mu_cfg_assert_value_type, mu_cfg_string_value_cb): New function.
	* mailbox/cfg_format.c: Adapt for new node structure.
	* mailbox/cfg_parser.y: Adapt for changes in cfg data types and
	lexer.

	* include/mailutils/mailutils.h: Include alloc.h and opool.h
	* include/mailutils/mu_auth.h (mu_authorization_add_module)
	(mu_authentication_add_module): New prototypes.

	* include/mailutils/syslog.h (mu_string_to_syslog_facility)
	(mu_string_to_syslog_priority): First argument is const char *.
	* mailbox/syslog.c: Likewise.

	* include/mailutils/types.hin (mu_opool_t): New type.
	* mailbox/list.c (mu_list_get_comparator): Add missing return
	statement.

2008-08-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Autobuild setup.
	* configure.ac: Add AB_INIT.
	* gnulib.modules: Add autobuild.

	Fix typo

	Bugfixes.
	* TODO: Update.
	* imap4d/fetch.c: Prevent coredumps on inexpected end of statement
	(e.g. `FETCH 1:* (uid')
	* imap4d/imap4d.h (imap4d_select0): Update protottype.
	* imap4d/select.c (imap4d_select0): Do not advertise actual
	mailbox name with a NO response.
	Return to authenticated state on failure.

	Add rfc4314.txt

	* doc/rfc/Makefile.am (EXTRA_DIST): Add new rfcs.
	* doc/rfc/rfc1413.txt, doc/rfc/rfc2087.txt, doc/rfc/rfc2180.txt,
	doc/rfc/rfc2683.txt, doc/rfc/rfc3348.txt: New files.

2008-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix.
	* lib/tcpwrap.c (mu_tcp_wrapper_cb_hosts_deny_syslog):
	(mu_tcp_wrapper_cb_hosts_allow_syslog): Use syslog priorities,
	not facilities.
	(tcpwrapper_param): Rename allow-syslog-level and
	deny-syslog-level to allow-syslog-priority and
	deny-syslog-priority, correspondingly.

	Version 1.9.92.
	* imap4d/list.c (imap4d_list): Fix addslash condition.

	Improve folder listing.
	* include/mailutils/registrar.h (_mu_record): New method
	`_list_p'.
	(mu_record_list_p): New function.
	* libproto/include/amd.h (MU_AMD_SIZE_FILE_NAME): New define.
	* libproto/maildir/folder.c (_maildir_is_scheme): Return
	MU_FOLDER_ATTRIBUTE_FILE|MU_FOLDER_ATTRIBUTE_DIRECTORY, on
	success.
	Implement _list_p method.
	* libproto/mbox/folder.c (list_helper): Change semantics of the
	2nd argument.  The record is used to determine whether or not
	to list a particular file.
	* libproto/mh/folder.c: Implement _list_p method.
	* mailbox/amd.c (SIZE_FILE_NAME): Replace with
	MU_AMD_SIZE_FILE_NAME from amd.h.
	* mailbox/registrar.c (mu_record_list_p): New function.

	* libproto/maildir/mbox.c (info_to_flags): Fix return value.

	Implement UNSELECT extension.
	* doc/rfc/Makefile.am: Add rfc3691.txt
	* doc/rfc/rfc3691.txt: New file.
	* imap4d/capability.c: Announce UNSELECT capability.
	* imap4d/close.c: Implement UNSELECT command.
	* imap4d/commands.c: Add UNSELECT command.
	* imap4d/imap4d.h (imap4d_unselect): New proto.
	* imap4d/testsuite/imap4d/anystate.exp: Reflect UNSELECT
	capability.
	* imap4d/testsuite/imap4d/examine.exp: Reflect yesterday's changes
	to STATUS output.

2008-08-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfixes.
	* imap4d/status.c (imap4d_status): Remove extra whitespace
	before closing parenthesis in untagged reply.

	Bugfixes.
	* imap4d/fetch.c (parse_fetch_body): Bugfix, allow another tokens
	after BODY.
	* imap4d/util.c (util_msgset): Make sure returned number of
	elements in set is always correct.
	* mailbox/folder.c (is_known_folder): Compare paths as well.  It
	was commented out on 2001-04-10 (7 years ago!!!) for unknown
	reasons.
	* mailbox/url.c (DECL_CMP): Bugfix. The macro effectively created
	a scheme comparator, no matter what its second argument was.

2008-08-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	New functions.
	* include/mailutils/list.h (mu_list_get_comparator)
	(mu_list_intersect_dup, mu_list_intersect): New prototypes.
	* mailbox/list.c (mu_list_get_comparator)
	(mu_list_intersect_dup, mu_list_intersect): New functions.

	Fix GSASL in imap4d.
	* auth/gsasl.c (_gsasl_readline): Prevent stucking in
	blocking streams.
	* imap4d/auth_gsasl.c: Remove deprecated functions and data types.
	* imap4d/auth_gss.c (auth_gssapi): Fix signature.
	* imap4d/copy.c (imap4d_copy0): Fix return value.
	* imap4d/imap4d.c (imap4d_cfg_param): Fix type of login-disabled.
	* include/mailutils/gsasl.h (struct mu_gsasl_module_data): New
	members: service, realm, hostname, anon_user.
	* libcfg/gsasl.c (mu_gsasl_param): New keywords: service,
	realm, hostname, anonymous-user.

2008-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor changes
	* imap4d/util.c (imap4d_readline): Fix loop break condition.
	* imap4d/testsuite/lib/imap4d.exp: Send newline after a literal.

	Bugfixes.
	* imap4d/copy.c, imap4d/fetch.c, imap4d/store.c: Do not report
	error on non-existing message sets (RFC 3501, section 6.4.8).
	* imap4d/testsuite/imap4d/IDEF0955.exp: Reflect this behavior.
	* imap4d/testsuite/imap4d/fetch.exp: Header names in replies
	to BODY[HEADER.FIELDS...] are no longer quoted.

2008-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	More bugfixes in imap4d.
	* imap4d/authenticate.c (_auth_try): Fix call to p->handler.
	* imap4d/fetch.c (fetch_send_section_part): New argument
	close_bracket.
	Never print .PEEK, it confuses some clients (notably Thunderbird).
	I need to verify RFC, though.
	All callers updated.
	* imap4d/idle.c: Use imap4d_getline to get the reply, to avod
	modifying
	tok and command.
	* imap4d/imap4d.h (util_send_bytes, util_trim_nl): New prototypes.
	* imap4d/util.c (util_trim_nl): New function.
	(imap4d_getline): Use util_trim_nl.

	Bugfixes.
	* imap4d/fetch.c (fetch_send_section_part): Make sure the item tag
	always reflects peek status.  All callers updated.
	(fetch_io): Try to allocate as large a buffer as possible.
	Use util_send_bytes where fit.
	* imap4d/imap4d.h (imap4d_auth_handler_fp): Remove unused
	argument.
	* imap4d/store.c (imap4d_store0): Take into account eventual UID
	prefix.
	* imap4d/util.c (util_send_bytes): New function.
	(util_send): Comment out transcript.
	(util_do_command): Fix coredump on invalid commands.
	(imap4d_readline): Transcript only first line of the input.
	Ensure entire literal is read.

	Fix input operations and RFC-compliance in imap4d.
	* imap4d/util.c (util_getword, util_getitem, util_token)
	(util_unquote): Remove.
	(imap4d_readline): Rewrite to reduce memory reallocation.  Add
	support for non-synchronizing literals (RFC 2088).
	(imap4d_readline_ex): Remove.
	(util_do_command): Rewrite using new imap4d_readline.
	(util_parse_internal_date0): Remove.
	(imap4d_tokbuf_init, imap4d_tokbuf_destroy, imap4d_tokbuf_argc)
	(imap4d_tokbuf_getarg, util_isdelim)
	(imap4d_tokbuf_from_string): New functions.
	* imap4d/append.c, imap4d/auth_gss.c, imap4d/authenticate.c,
	imap4d/check.c, imap4d/close.c, imap4d/commands.c, imap4d/copy.c,
	imap4d/create.c, imap4d/delete.c, imap4d/examine.c,
	imap4d/imap4d.h, imap4d/list.c, imap4d/login.c, imap4d/logout.c,
	imap4d/lsub.c, imap4d/expunge.c, imap4d/idle.c, imap4d/noop.c,
	imap4d/rename.c, imap4d/search.c, imap4d/select.c,
	imap4d/starttls.c, imap4d/status.c, imap4d/store.c,
	imap4d/subscribe.c, imap4d/uid.c, imap4d/unsubscribe.c,
	imap4d/version.c: Rewrite using new imap4d_readline.
	* imap4d/namespace.c: Use new imap4d_readline.	Ensure that
	each reported prefix ends with a hierarchy delimiter.
	* imap4d/imap4d.c (imap4d_mainloop): Use new imap4d_readline.
	* imap4d/fetch.c: Rewrite parser from scratch.
	* imap4d/capability.c (imap4d_capability_init): Report LITERAL+
	capability.

	* imap4d/testsuite/imap4d/anystate.exp: Account for the LITERAL+
	capability.
	* imap4d/testsuite/imap4d/append.exp: Fix APPEND arguments (imap4d
	requires exactly three arguments, as per RFC3501.
	Fix octet count in literals returned by fetch (previous versions
	failed to include the trailing CRLF).
	* imap4d/testsuite/imap4d/create.exp: Likewise.
	* imap4d/testsuite/imap4d/fetch.exp: Fix FETCH arguments (previous
	versions incorrectly accepted header-list without parentheses.
	Fix result of FETCH 4 BODY[2.2.1]: it returns entire part, in the
	contrast to previous versions, which treated it as
	BODY[2.2.1.TEXT].

	* maidag/mailtmp.c (mail_tmp_finish): Ensure /dev/null is treated
	as mailbox.

2008-08-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix imap appends for AMD mailboxes.
	* imap4d/append.c (imap4d_append0): Provide size method for
	the message
	stream.
	* imap4d/select.c (imap4d_select0): Call
	mu_mailbox_create_default.
	* mailbox/amd.c (amd_append_message): Improve error checking.

2008-08-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update copyright years

	Bugfix.
	* imap4d/create.c: Rewrite to create mailboxes honoring
	mailbox-type.
	* mailbox/mailbox.c (mu_mailbox_create): Bugfix.

2008-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	(util_localname): Minor fix

	Bugfix.
	* pop3d/retr.c (pop3d_retr): Use constant-size buffer.	This
	avoids running out of memory on messages that do not contain
	trailing newline.
	* pop3d/top.c (pop3d_top): Likewise.

2008-07-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix.
	* libproto/include/amd.h: Fix indentation.
	* libproto/maildir/mbox.c (maildir_scan_dir): Do not assign uids
	before inserting message, it breaks their ordering.
	(maildir_scan0): Assign uids here.  A temporary solution.

2008-07-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix.
	* mh/mhn.c (normalize_path): First arg is const char *.
	(store_handler): Avoid unnecessary allocations (and coredumps,
	if mhn-storage profile is not set.

	Finish namespace cleanup in libsieve.
	* libsieve/actions.c, libsieve/comparator.c, libsieve/conf.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: Prefix all external
	identifiers, that are not intended for use by application
	programs, with mu_sv_.

	Minor fixes.
	* NEWS, configure.ac: Raise version to 1.9.91
	* mail/mailline.c (ml_getc): Fix indentation.
	* mailbox/mime.c (mu_mime_get_part): Return MU_ERR_NOENT if part
	is out of range.

	Keep namespace clean
	* libsieve/comparator.c, libsieve/prog.c, libsieve/require.c,
	libsieve/runtime.c, libsieve/sieve.h, libsieve/sieve.l,
	libsieve/sieve.y, libsieve/util.c: Prefix instr_ functions with
	mu_.
	(sieve_filename, sieve_line_num): Removed.  Use new global
	mu_sieve_locus instead.

2008-07-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix converting RFC822 streams to messages.
	* mailbox/message_stream.c (_mu_rfc822_stream): New members
	envelope, and envelope_length.
	(_mu_rfc822_read, _mu_rfc822_readline, _mu_rfc822_size): Skip
	eventual envelope string.
	(_mu_rfc822_open): Save envelope.
	(_mu_rfc822_destroy): Free envelope.
	(restore_envelope): Use message envelope, if it is present.

2008-06-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(header_readline): Revert yesterday's change.

2008-06-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_hdrent_find_stream_pos): Check for
	hrd->tail != NULL.
	(header_readline): Return immediately if header size is 0.

	(chk_sha): Remove useless return.

2008-06-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	* auth/radius.c (mu_grad_logger): New function.
	(mu_radius_module_init): Install a custom logger function.

2008-05-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	* libproto/include/amd.h (struct _amd_message.has_new_msg): New
	field.
	* mailbox/amd.c (amd_append_message): Cache information about
	mailbox size in file .mu-size.
	(make_size_file_name, read_size_file, write_size_file): New
	functions.
	(amd_expunge, amd_sync): Update size cache file.
	(amd_get_size): Use size cache file if no mailbox_size method is
	provided.
	* mailbox/mbx_default.c (mu_normalize_mailbox_url): Accept `='
	suffix for all mailbox types.
	* movemail/movemail.c (main): Call mu_mailbox_sync before closing
	destination mailbox.

2008-05-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New option --copy-permissions (-P).

	(SOFTBRK): Remove unused macro.

	(amd_append_message): Pass original message as the 3rd argument
	to msg_finish_delivery.

	(maildir_msg_finish_delivery): Take
	original message as the 3rd argument.
	Use message attributes to select the subdirectory to place it
	into.

	(_amd_data.msg_finish_delivery): Pass original message as the
	3rd argument.

	New file.

	(libmuaux_la_SOURCES): Add userprivs.c

2008-04-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Implement compilation of Sieve sources from the memory.
	* include/mailutils/libsieve.h (mu_sieve_compile_buffer): New
	function.
	* libsieve/sieve.h (sieve_lex_begin_string): New function.
	* libsieve/sieve.l: Remove support for AT&T lex.
	(sieve_lex_begin_string): New function.
	* libsieve/sieve.y (mu_sieve_compile_buffer): New
	function.

	* mailbox/header.c: Fix indentation.

2008-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	(_tls_argp_parser): Take care not to pass NULL as the argument
	to the "tls" statement.

2008-03-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix translatable strings.

	Update

	Fix diagnostic messages.

	Require gettext 0.17

2008-03-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	* 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>

	Update

	* bootstrap.conf (XGETTEXT_OPTIONS): Update flags.
	* configure.ac, NEWS: Version 1.9.90
	* m4/.cvsignore: Add environ.m4

	Update

	PO files are gotten from the TP

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>

	Update

	(mh_whom): Improve diagnostics.

	(mh_context_read): Allow for header continuation lines.

2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(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>

	Update

	Update

	(mu_parse_config): Fix memory leak.

	Fix error reporting.

2008-02-25  Darel Henman  <dhenman@gmail.com>

	2008-02-25  Darel Henman <dhenman@gmail.com> \n\n\t*
	examples/Makefile.am:  Added a missing getopt, optarg, optind
	dependency for the following files: base64.c, decode2047.c,
	echosrv.c, encode2047.c, header.c, and listop.c.  This change
	adds the <filename>_LDADD for them.

2008-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add forward declaration of _add_load_dir

	(DATE_SET): Fix bug introduced 2008-01-02: val can sometimes
	be negative.

	(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>

	Update

	(act_getline): Bugfix. Do not return eof on an empty
	line. Reported by Damon Harper.

2008-02-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Implement variable expansions in prompt.

	Update

	New file

	Update

	New file

	(read_bulletin_db): Return success if db does not exist.

	* 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.

2008-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	* 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.

	Forgotten to commit yesterday

	* 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>

	Update

	(mu_stream_vprintf): Bugfix.

	(mu_cfg_section_add_params): Initialize section.target with
	param->data;

2008-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix

	Update

	(mu_iterator_detach): Bugfix.

	(find): Fix copy-n-paste error.
	(iter): Return error code.
	(main): Create iterators on demand.
	New command `close'.

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.

	Update

	Include limits.h

2008-01-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 1.2.91.

	Update

	(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.

	Update

	* 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.

	Add debug.h

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.

	* 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.

	* 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.

	* 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-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Remove unneeded macros

	* 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>

	Fix typo

	* 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>

	(spawn_prog): Bugfix

	* 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>

	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.

	* 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.

	Add preauth.c

	* gnulib.modules: Add des. Sort lines.
	* imap4d/Makefile.am (imap4d_SOURCES): Add preauth.c
	* imap4d/authenticate.c (imap4d_authenticate): Use
	imap4d_session_setup.
	* imap4d/imap4d.c (imap4d_session_setup)
	(imap4d_session_setup.0): 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_setup.0): 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>

	Update

	(mu_cfg_format_tree): New prototype.

	(mu_cfg_print_tree): Remove

	(libmailutils_la_SOURCES): Add cfg_format.c

	*** empty log message ***

2007-12-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(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>

	* 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.

	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.

	Fix typo

	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.hin. 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>

	fix typo

	* 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.

	Minor clean-up

	Bugfix

	* 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>

	Update

	(mu_sieve_module_init): Initialize mu_sieve_library_path with
	SIEVE_MODDIR.

2007-11-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Limit verbosity of messages printed to stderr.

	Add Makevars

	Update

	(_s_open): Default to RDWR mode.

	Use socket stream.

	Fix indentation.

	Update

	(mu_logging_param): Use callback to parse thefacility.

	* 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>

	Update

	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>

	Update

	(cp_mark_as_generated): Create target directory if needed.

	Update

	Update

	*** empty log message ***

	*** empty log message ***

	Make libmailutils independent from gnulib. Remove generated files
	from the repository. Bootstrap directly from the gnulib CVS.

	* 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.

	Hacking and bootstrapping instructions

	All modules go to lib/

	Bootstrap files

	Remove

	Remove

	Remove

2007-11-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix typo

	Update

	* 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.

	Update

	*** empty log message ***

	Include mailutils/gsasl.h

	*** empty log message ***

	*** empty log message ***

	*** empty log message ***

	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.
	* 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>

	Update

	Use English reply texts

	Update

	(amd_quick_get_message): Implement quick_get method.

	(mh_qfetch): Implement quick_get method.

	(maildir_qfetch): Implement quick_get method.

	(struct _amd_data. qfetch): New member.

	Use mu_error for diagnostics where possible.

	(decode_tuple_v1_0): Allow mailbox to be NULL.

2007-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	* 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) Singal 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>

	Update

	Add new Sieve action : pipe

	* 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>

	Update

	(mu_refcount_inc, mu_refcount_dec): Bugfix

	Do not use obstack.

	Update

	(isword): Allow dots in words.

	Add configuration keywords.

	Additional dependency cfg_parser.h:cfg_parser.y

	Update

	(cb_bulletin_db): Fix typo
	(pop3d_cfg_param): Protect some variables by ifdefs.

	(_mu_config_register_section): Zero out the root container
	after creation.
	(_mu_parse_config): Use "program" not "prog" for per-program
	sections.

	version 1.2.90

	version 1.2.90

	* 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.

	Remove autogenerated file

2007-11-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(message_stream_size): Bugfix.

2007-11-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Remove generated file, add source instead

	Update

	(MU_AUTH_REGISTER_ALL_MODULES): Call mu_auth_init first.

	Keep the namespace clean.

	Implement normal UNIX-style configuration files:
	* mailbox/cfg_lexer.c: New file.
	* mailbox/cfg_parser.c: 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.

	* 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.

2007-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	(escape_deadletter): Add missing check.

2007-10-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	(url_parse0): proto:///file means absolute file name.

	proto:///file means absolute file name.

2007-09-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Rebuild master menu

	New files

	(master-menu, untabify, final): New goals.

	Reword yesterdays changing by pointing to the documentation,
	instead of the raw texi file.

2007-09-03  Darel Henman  <dhenman@gmail.com>

	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-24  Darel Henman  <dhenman@gmail.com>

		* mailbox/mailer.c: Include <sys/time.h> to fix builds
		on CygWin.

	*** empty log message ***

2007-08-29  Darel Henman  <dhenman@gmail.com>

	By: Darel Henman
	Modification:  Added one line to include sys/time.h to for
	cygwin environment.

2007-08-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(Loader Flags): Update

	(lib_descr): Add mailer.

2007-08-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Accomodate for the change from 2007-08-09

2007-08-18  Wojciech Polak  <polak@gnu.org>

	Updated

	(URL) Document POPS and IMAPS protocols.

	(References): Added RFC 2487 and 2595.

2007-08-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(smtp_send_message): Do not output space character after MAIL
	FROM: and RCPT TO:

2007-07-19  Wojciech Polak  <polak@gnu.org>

	libmu_mailer

2007-07-18  Wojciech Polak  <polak@gnu.org>

	Updated

	libmu_mailer.la

	Updated

	(_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.

	(_pops_record, mu_pops_record): Added.

	(MU_IMAPS_PORT, MU_IMAPS_SCHEME, MU_IMAPS_SCHEME_LEN): Added
	new constants.
	(MU_POPS_PORT, MU_POPS_SCHEME, MU_POPS_SCHEME_LEN): Likewise.

	(_f_imap): Added new variable imaps.

	(_mailbox_imap_and_imaps_init): New function.
	(_mailbox_imaps_init): Likewise.
	(_mailbox_imap_init): Call _mailbox_imap_and_imaps_init.

	(_imaps_record, mu_imaps_record): Added.
	(folder_imap_open): Handle IMAPS connection.

	Register new protocols: mu_pops_record and mu_imaps_record.

	Updated

	(_url_imap_init, _url_imaps_init): Call mu_url_init.

	(_url_pop_init, _url_pops_init): Call mu_url_init.

	(mu_url_init): New prototype.

	(mu_url_init): New function.

	(libmailutils_la_SOURCES): Removed url_sendmail.c and url_smtp.c.

	Moved to ../libproto/mailer/

	(libmu_mailer_la_SOURCES): Added url_sendmail.c and url_smtp.c.

	Moved from ../../mailbox

2007-07-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_stream_printf): Remove conflicting prototype.

2007-07-17  Wojciech Polak  <polak@gnu.org>

	Updated

	Updated

	Moved to ../libproto/mailer/

	Added ${MU_LIB_MAILER}.

	Added MU_LIB_MAILER.

	(mu_tls_begin): Removed placeholder.

	(libmailutils_la_SOURCES): Removed sendmail.c and smtp.c.

	(SUBDIR): Added mailer.

	New file

	Moved from ../../mailbox

	New file

2007-07-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New mtstailor variable "username"

	(mh_context_read): Avoid writing past blurb end.

2007-07-15  Wojciech Polak  <polak@gnu.org>

	Updated

2007-07-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Rewrite using parse tree instead of instruction array. Implement
	boolean shortcut evaluation.

	(util_parse_822_date): First arg is const

2007-07-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add missign email

2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_stream_printf): Remove
	(mime_create_ds): Bugfix: datestr was never initialized! Nobody
	noticed this far?

	Minor fixes

	Fix format strings

2007-07-10  Wojciech Polak  <polak@gnu.org>

	Updated

	Added STARTTLS support.
	(smtp_parse_ehlo_ack): New function.
	(smtp_starttls): New function.
	(stmp_reader, smtp_writer, smtp_stream_ctl): New static functions.

	(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.

	(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.

	(mu_tls_begin): New function.
	(_tls_stream_push): Added mu_error call.
	(_tls_open_client): Return MU_ERR_FAILURE instead of -1.

	(mu_tls_begin): Placeholder.

	(mu_tls_readline_fn)
	(mu_tls_writeline_fn, mu_tls_stream_ctl_fn): New data types.
	(mu_tls_begin): New prototype.

	(mu_stream_vprintf)
	(mu_stream_printf, mu_stream_sequential_vprintf)
	(mu_stream_sequential_printf): New prototypes.

	(mu_stream_vprintf)
	(mu_stream_printf, mu_stream_sequential_vprintf)
	(mu_stream_sequential_printf): New functions.

2007-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	(write_array): New function
	(mbox_append_message0): Rewrite using new envelope accessors +
	write_array

	Rewrite using new envelope accessors

	Rewrite using new envelope accessors

	(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

	(date,sender): New members
	(_sender,_date): Rename to _get_sender, _get_date
	[__cplusplus]: Add missing }

	(util_escape_percent): Delete

	(mail_mainloop): Use "%s" to properly pass command to
	util_do_command. Remove call to util_escape_percent

	Minor fixes

	Fix format string

	Update

	Version 1.2.1

2007-07-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	Update

	(INCLUDES): Remove INTLINCS
	(mailutils_config_CFLAGS): Use MU_LINK_POSTFLAGS

	(INTLINCS): Remove leftover variable
		(MU_LINK_POSTFLAGS): New subst

	(INCLUDES): Remove INTLINCS

2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	use mu_url_sget or mu_url_aget accessors

	(mu_mailbox_get_debug): Propagate the debug state to the
	underlying folder.

	(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.

	Rewrite using sget accessors

	Change library version info

	Update

2007-07-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mail_local_LDADD): Add missing libraries. Reported by Robby
	Villegas.

2007-07-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(assoc_rehash): Fix an incorrect element size calculation.

2007-06-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Final update for GPLv3

2007-06-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(XGETTEXT_OPTIONS): Add Mailutils-specific printf-like calls.

	Use MU_ARG_UNUSED to mark unused formal parameters.

	Mark printf-like calls with MU_PRINTFLIKE.

	Use __attribute__ instead of ARG_UNUSED

	(MU_ARG_UNUSED, MU_PRINTFLIKE): New macros.

	(sieve_code_command: Bug fixes

	(sieve_argp_parser): Bugfix

	(mu_hdrent_create): Minor change

	Remove the definition of ARG_UNUSED

	Update

	Update

	Implement --send

	(mh_create_message_id): Rewrite using mu_rfc2822_msg_id

	(ARG_CHUNKSIZE): New value

	Update

	(_mime_set_content_type): Avoid risky usage of static buffers.

	(mu_rfc2822_msg_id): New function

	(  (mu_mailer_send_fragments): New function

	(mu_header_append,mu_header_prepend): New function

	Update

	Remove conflict markers

	Remove conflict markers

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

	Update

	Implement a terse runtime help.

2007-06-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_hdrent_find): Allow negative instance indices, meaning
	scanning from the bottom up.

	Update

	Use mu_header_sget to retrieve context and configuration
	settings. Update all callers.

	Pass --clearpath option to sieve

	Minor change

	New option --clearpath

	Fix typo

	(header_readline): Always nul-terminate the buffer.

	Update

	Prefer mu_header_sget where possible. Remove obsolete header
	calls.

	shut up a gcc warning

	Fix indentation

	(main): Register all mailbox formats

	Remove extra white space

	Prefer mu_header_sgetwhere possible. Remove obsolete header calls.

	(_get_envelope_sender): Bugfix: the return value was wrong.

	Remove unused functions

	Remove unused vars

	(noinst_PROGRAMS): Add header

	New program

	Rewrite from scratch

	(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

2007-06-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	(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

	Use mu_address_sget functions, where possible.

2007-06-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	Update

	Stable sort

	(smtp_open,smtp_send_message): On invalid arguments, return
	EINVAL instead of spitting out assertion.
	(smtp_send_message): Null from address is an error.

	(mu_mailer_send_message): Set envelope from address according
	to the underlying mailer type.

	Merge DEFS and AM_CPPFLAGS

	(mu_property_sget_value,mu_property_aget_value): New functions

	Use AM_PROG_CC_C_O and AC_PROG_CXX

2007-05-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	F(_tls_stream_push): Flush data. before returning

	Fix typos, use LDFLAGS instead of LIBS

2007-05-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Rename ylwrap to gylwrap

	Update

	Fix msg#5

	Update to match bugfixes in mime.c

	Fix to match new mimetest output and bugfixes in mime.c

	(_mime_parse_mpart_message): One more fix

	Print more information about the message structure.

	(alpha): Change distdir format

2007-05-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_daemon_remove_pidfile): Reset pidfile.

2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(libmu_cpp_la_LDFLAGS): Add -rpath

	Build c++ examples

	(MU_BUILT_CXX_EXAMPLES): Define if c++ libs requested

2007-04-30  Wojciech Polak  <polak@gnu.org>

	Updated

	Fixed APOP handling.

2007-04-23  Wojciech Polak  <polak@gnu.org>

	Updated

2007-04-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_mailbox_create_default): Fix memory leaks

	(mu_header_get_value): Bugfix

2007-03-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(read_bulletin_db): Do not close DB too early.

2007-03-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Rewrite

	Rewrite header caching

	(mu_assoc_create): Take 3 arguments
	(mu_assoc_clear, mu_assoc_destroy): New functions

	Update calls to mu_assoc_create

	Remove rudimentary header caching

	(struct _mu_header): Remove
	`fhdr_count' and `fhdr', add `cache'.
	Remove `_get_fvalue'

	(imap_header_get_fvalue): Remove

	(mu_header_set_get_fvalue): Remove function.

	(mu_assoc_create): Add third argument.
	(mu_assoc_destroy,mu_assoc_clear): New functions

	Fix pattern

2007-03-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(_mime_parse_mpart_message): The CRLF preceding the encapsulation
	line is conceptually attached to the boundary.

2007-02-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(action_list): Do not check db permissions.

	(deliver_pending_bulletins): Return immediately, if unable to
	count messages in the bulletin box

	Remove unused variables

	(mu_auth_data_alloc): Fill auth object with zeroes.
	(mu_auth_data_set_quota): New function

	(check_quota): Change signature

	Get quota value from mu_auth_data, if available.

	Withdraw old DBM support. Fix style issues.

	(struct mu_auth_data): New field `flags'.
	(mu_auth_data_set_quota): New function

	Actually set quota if it is available

	Add `--enable-experimental' option
	Rewrite DBM handling
	Withdraw old DBM support

	Update

	(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>

	Update

	Indentation fixes

	Document new pop3d options

	(pop3d_parse_opt) --expire=0 implies --delete-expired.

	(check_login_delay): Fix error message

	A message is marked for expiration after RETR or TOP.

	Fix copyright year

2007-02-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	*** empty log message ***

	Implement retrieval by field name.

	Adapt for the new readmsg behavior

	(main): -h shows `From ' headers as well.

	(action_list): Call mu_dbm_datum_free

	(pop3d_begin_session): New function. Implement bulletin facility

	(auth_data): New global

	(--bulletin-source, --bulletin-db): New options

	(pop3d_apop): Call pop3d_begin_session instead of duplicating
	code from user.c

	Implement bulletin facility

	Add bulletin.c

	(mutil_parse_field_map): New function

	(mu_auth_data_destroy): New function

	(mu_dbm_datum_free): New function

	(struct mu_auth_data.quota): New field
	(mu_auth_data_destroy): New function

	Implement field mapping and retrieval by field names

2007-02-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Reverted changes

	Update

	Improve diagnostics of errors in rc files.

	Include mailutils/assoc.h

	 Reimplement using mu_assoc_t

	(getitem): Change signature

	(mu_assoc_t): New data type

	(mu_iterator_current_kv): New function
	(mu_iterator_set_getitem): Change signature. All references
	updated.

	(mu_radius_authenticate): Remove unused variable

	(MU_ERR_EXISTS): New error code

	Implement associative arrays

2007-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add Neil R. Ormos

	Add some includes

	Improve compatibility with elm implementation.

	Indentation fix

	Test '"' case.

	(argcv_get_n): Prevent coredump if command='"'

	(amd_envelope_date, amd_envelope_sender): If buf is NULL, return
	the required length of the buffer.

	(compose_destroy): Do not free outfiles[i], the caller is
	responsible for that.

	(mail_pipe): Fix handling of cmd variable and command argument.

2006-12-31  Wojciech Polak  <polak@gnu.org>

	Updated

	Updated to the current API 1.0

2006-12-30  Wojciech Polak  <polak@gnu.org>

	Typo

	Updated to the new libmu_cpp.

2006-12-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(Mail Variables): Document nullbody and nullbodymsg

	(doc): Remove leftover \v

	(amd_open): Create directory if MU_STREAM_CREAT is given.

	Sent empty messages only if nullbody is set

	(default_setup): Set nullbody and nullbodymsg

	Version 1.1.90

2006-12-26  Wojciech Polak  <polak@gnu.org>

	Updated to the current API 1.0

	New file

2006-12-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(sendmail_send_message): Failing waitpid is
	not an error if errno==ECHILD (the calling program might have
	ignored SIGCHLD).

	(mu_fd_wait): Handle MU_STREAM_READY_EX

	Allow to be run from console by a non-privileged user (useful
	with fetchmail)

	(MU_STREAM_READY_EX): New define

	Require at least version 2.60 of autoconf

2006-10-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Raise message number to 1.1

	Update

	(imap_parse): Preserve the remainder of the OK line after
	'[whatever]' for diagnostic purposes.

	Fix docstrings

	Update

	Update

	Allow use of ^ and $ as positioning commands

	Remove the declaration of cursor

	(escape_sign): Print "-- \n" before the signature

	Allow test string to begin with two back slashes.

	Feed input in octal notation and use encode2047 \o command to
	override tcl brokenness.

	Comment out 8-bit test case. Sorry, tcl looses badly in handling
	eight-bit binary data.

	new options -o/-t enable/disable special interpretation of the
	octal escapes in the input.

	Document changes to mail

2006-10-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Use fseeko instead of fseek

	Do not try to install anything if Guile is not available

	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

2006-10-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

2006-10-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add

	Removed

2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(copy_files): Adjust for gettext 0.15

	Formatting fix

	Require gettext 0.15
	 (check_bdb): Bugfix

2006-10-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add to the repo

2006-10-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Remove conflict markers

	Update

	Test auth schemes

	(mu_get_auth): New function.
	(mu_auth_runlist): Change return code convention: underlying calls
	should return meaningful error codes, not just 0/1.

	Support for Berkeley DB 3, 4

	(enum mu_auth_key_type): New data type.
	(mu_get_auth): New function.

	(muath): New target

	(mailutils_config_CFLAGS): Define I18NLIBS inconditionally.

	(octet2hex): Rename to mu_octet_to_hex to avoid name clashes
	with mysql

	Return meaningful error codes.

	Add support for Berkeley DB 3 and 4

2006-10-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(vacation_subject): Improve yesterday's fix, following Kostas'
	suggestion.

2006-10-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(vacation_subject): Make sure subject is not null.

	(sieve_code_command): Avoid dead loop if a tag
	is not given the argument it requires. Improve the diagnostics.
	Bug reported by Kostas Zorbadelos.

2006-09-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Minor fix

2006-09-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	(mu_string_unfold): Convert \n followed by any amount of
	whitespace to single space.

	mail_env_entry->set means that the entry was ever
	set.  mail_env_entry->v.bool is the actual value of boolean
	variables.

	(mail_set): Init dummy to 1

	(struct mail_env_entry): New member v.bool

	(FAST_HEADER): Fix unfolding: Advance p only if : was found.
	Minor macro style fixes

	Minor fixes

2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Include argp-namefrob.h is no longer needed

	Reformat argp docstring in accordance with the new argp
	guidelines.  Remove unneeded translators comment.

	Added to the repository by gnulib-sync

	Updated by gnulib-sync

2006-08-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mail_escape_table): Add ~x

	Add Damon Harper

	(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.

2006-08-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Include alloca.h

2006-07-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(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.

2006-07-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(expand_string, run_test, run_mailcap): Fix memory
	allocation bugs. Place all temporary strings on the obstack.

	Update

	Update translations

	Add Daniel Kahn Gillmor

	Minor formatting changes

	(file_generator): Remove leading pathlen characters from the
	returned names.

	(mu_scheme_autodetect_p): Return true if scheme is the name of
	an existing file or directory.

	(mu_folder_create_from_record): New function.
	(mu_folder_create): Interface to mu_folder_create_from_record

	(mu_folder_create_from_record): New function.

2006-07-20  Jordi Mallach  <jordi@gnu.org>

	2006-07-20  Jordi Mallach  <jordi@gnu.org>
		* ca.po: Updated Catalan translation.

2006-07-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(AC_CHECK_FUNCS): Add setlocale

2006-07-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New file

	(EXTRA_DIST): Add rfc2231.txt

	Update

	Update

	Adopt for the new output format of snarf_doc

	(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.

	Removed hack introduced on 2006-06-15. It triggered unnecessary
	doc updates.

	Raise version number to 1.0

2006-07-03  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan and Spanish from the TP.

2006-06-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Implement verification against mysql v4 passwords

	Updated by gnulib-sync

	Added to the repository by gnulib-sync

	Update

	(mu_check_mysql_scrambled_password): Use get_salt_from_scrambled.

	(fix_fcc): Minor fix
	(fix_dcc): New function. Rewrites MH Dcc as standard Bcc header.
	(_action_send): Call fix_dcc

	(amd_close): Unlock the monitor before returning

	(moderator_action): set deleted flag manually, do not use
	undeclared sieve_mark_deleted.

	(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.

	 All functions, except display_stream_mailcap, are static.

	Include stdlib.h

	(mu_unre_set_regex): First argument is const.

	(MU_HEADER_DCC): New macro. Dcc is a
	 header traditionally used by MH

	Minor fixes to get rid of the spurious gcc warnings

2006-06-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New testcase: an example of unfinished input.

	(trans_read): Break the loop if both
	transcoder and read return 0 bytes. This is necessary to correctly
	handle unfinished input strings

	Update

	Raise version number to 0.6.95

2006-06-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New file

	Fix docfile generation

	Update docstrings

	Use documentation module. Update documentation-files to make
	sure MU docs are found.

	(GUILE_BUILT_SOURCES_X,DISTCLEANFILES): Add guile-procedures.texi
	(guile-procedures.texi): New rule

	Include snarfed files.

	(INCFILES): Add mu_*.texi files

2006-06-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_tcp_stream_create_with_source_ip,mu_tcp_stream_create_with_source_host):
	New functions

	Update

	Stop iterating when the matching record was found.

	(mailbox_folder_create): Bugfix, strncmp(fname...

2006-06-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_registrar_record): Tolerate NULL argument.

2006-05-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Remove leftover optind usage. Thanks Jay Sulzberger
	<jays@panix.com> for reporting.

2006-05-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	New file

	Rename rfc2047.exp to encode2047.exp

	Rename RFC2047 to Decode2047

	(EXTRA_DIST): Add Encode2047

	(trans_read): Bugfix. Do not break the
	loop if there are characters left in the buffer.

	(MU_REPLACE_FUNCS): Remove erroneous AC_DEFINE

	Allow to change encoding and charset at runtime

2006-05-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	 (mu_header_set_value): Fix length calculation

	(mail_mbox_close): Initialize held_count to 0

	(mbox_is_updated): Return 1 (not updated) if unable to measure
	stream size.

2006-05-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Minor fix

	Update

	(smtp_send_message): Avoid generating spurious newline when
	skipping an Fcc header.

2006-05-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Include argcv.h

	Update

	(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.

	(main): Fix coredump if invoked with no options.

	(opt_handler, make_draft): Handle --fcc

	(mh_whatnow): consult VISUAL and EDITOR environment variables
	for the default editor

	(mh_file_to_message): Fix a memory leak

	Move declarations of strobj functions to mh_format.h

	New file

	Add mh_getopt.h

	(save_fcc): Handle comma-delimited folder lists in Fcc lines.

2006-05-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(_action_send): Use %z instead of %Z to form Date header.

	Update

	Remove mh_error function, use mu_error instead.

	Minor fix

	Update

	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>

	Update

	Remove

	(libmh_a_SOURCES): Remove mh_error.c

	(mh_error): Moved from mh_error.c

	(opt_handler): Allow -noheader and -nototal to be used with -all.

2006-05-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mh_makedir): New function
	(mh_check_folder): Use mh_makedir to create directories (or
	directory hierarchies).

	(mh_makedir): New function

	(_scan): Bugfix

2006-05-15  Jordi Mallach  <jordi@gnu.org>

	2006-05-15  Jordi Mallach  <jordi@gnu.org>
		* ca.po: Updated Catalan translation.
		* es.po: Updated Spanish translation by
		Cristian Othón Martínez Vera.

2006-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(_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>

	Update

	TP site does not respond, so this update is not synchronized
	with it.

	Update

	Documentation moved to its proper place in mailutils.info.

	(mailutils_TEXINFOS): Add mu-mh.texi
	(info_TEXINFOS): Remove muint.texi

	New file

	Update

	(mh_alias_expand): Initialize incl

	(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

	Include <argp-namefrob.h>

	Add extra debug info

	(mu_address_set_personal)
	(mu_address_set_comments): New functions

	(AM_CPPFLAGS): Removed

	Require external gettext
	Always define GNULIB_ARGP_EXTERN_BASENAME

	(SUBDIRS): Remove intl

2006-04-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	Update

	New option --with-guiledir. AC_SUBST all GUILE_.* variables. Use
	$GUILE_CONFIG instead of guile-config.

	Include mailutils/errno.h

	(mu-strerror): New function

	Throw exceptions on errors.

	Change module definition

	(pkgdata_DATA): Rename to site_DATA

	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.

	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.

	Use handle-exception where necessary

	(sieve.scm): Use auxiliary sed script to
	create.
	(pkgdata_DATA): Rename to sievemod_DATA

	Minor change

2006-04-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_spawnvp): Change type of the 2nd argument.

	(lock_external): Minor fix

	[WITH_PTHREAD][HAVE_PTHREAD_H]: Fix typo

	(imap_envelope_date): bugfix

	Rewritten using Guile 1.8 API.
	Throw 'mailutils-error instead of returning #f on error.

	(mu-libs): Use "libmailutils" instead of "libmailbox"

	Add support for Guile 1.8
	(mu_scm_error): New function

	Always load mailutils module
	(sieve-main): Use (mu-mail-directory) instead of mu-path-maildir.

2006-04-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Remove gl_XSTRTOL

	(parse_answer0,parse_answer1): Use strtoul instead of
	strtoumax. This is a temporary change.

	(muaux): Remove xstrtol

	Update

	Reflect namespace changes

	Include stdlib.h

	Add support for Berkeley DB >= 3

	(--with-berkeley-db): New option
	(--with-db2): Deprecated. Remove from the help list.

	Document --with-berkeley-db option

2006-04-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Fix indentation.

	(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.

	(is_atom): New function.

	(print_file,print_dir): Rewrite using an
	auxiliary function. Make sure the string is properly quoted if it
	is not a valid atom.

	(is_atom): New function

	Add Willem Jaap Zwart

2006-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Report error if no output lines were produced.

	(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.

	(mu_strftime): New function

	(mu_set_locale,mu_restore_locale): New functions

	(MU_ENVELOPE_DATE_FORMAT,MU_ENVELOPE_DATE_LENGTH): New defines

	Use mu_strftime

2006-03-11  Jordi Mallach  <jordi@gnu.org>

	Update Swedish from the TP.

2006-03-07  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan translation.

2006-03-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update

	Moved to ../libproto

	(finish_msg): Make sure part header is preserved.

	Minor indentation fix

	(base64_encode): Split into two functions
	(B_encode): New function for RFC 2047 encoding

	Fix INCLUDES and SUBDIRS

	(cursor): Fix declaration

	(regex_comparator): Fix error diagnostics

	Protect definition of _XOPEN_SOURCE by an extra ifdef

	Use MU_LIB_.* variables instead of referring to the libraries
	by their relative paths.

	Moved from mailbox

	Moved from mailbox/

	Add to the repository

	Define MU_LIB_.* variables
	(MU_AUTHLIBS): Initialize to empty value.
	(AC_CONFIG_FILES): Add libproto Makefiles

	(SUBDIRS): Add libproto

2006-02-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add Thien-Thi Nguyen.

	Update

	Use improved sed expression, proposed by Thien-Thi Nguyen.

	Compile libmailutils first, then recurse into the subdirs.

	Set version info

2006-02-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add 2006

	(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

	(mu_rfc2047_encode): Return EINVAL if any of
	the arguments is NULL.

	(get_personal): Fix coredump on empty From: headers.

2006-02-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(restore_envelope): Restore line accidentally deleted with the
	recent changes.

2006-02-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(push_source,pop_source): Do not code
	SOURCE instruction directly, use sieve_change_source() to let the
	code generator know it should do it.

	(sieve_change_source): New function

	(sieve_change_source)
	(sieve_check_source_changed): New functions
	(sieve_code_action,sieve_code_test): Call
	sieve_check_source_changed.

	Update

	Include argp-namefrob.h

	(AM_CPPFLAGS): Add GNULIB_ARGP_EXTERN_BASENAME=1

	(AM_CFLAGS): Use AM_CPPFLAGS instead.

2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mu_stream_getline, mu_stream_sequential_getline): New function

	Update

	Restored changes accidentally lost in
	gnulib.

	Fix the leading comment.

	(mu_sieve_machine_inherit_report): Replace by
	mu_sieve_machine_inherit.

	(mu_sieve_machine_inherit_report): Replace by
	mu_sieve_machine_inherit

2006-02-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix sample in the comment

	Update

	(main): Register all mailbox/mailer formats.

	Rewritten using mu_stream_to_message. Actually,
	the source can be removed now and the function moved elsewhere,
	e.g. to mh_init...

	(mu_mh_delim): New function

	Add message_stream.c

	New file. Derived from mh/mh_stream.c

	Automatic moderator for Mailman-driven mailing lists.

	Add moderator module

	(mu_sieve_machine_inherit_report, mu_sieve_machine_dup):
	New functions

	Minor stylistic changes

	(mu_stream_to_message): New function.

	(mu_sieve_machine_dup,mu_sieve_machine_inherit_report): New
	functions

	Raise version number to 0.6.93

2006-01-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(quit): Don't call rename if both file and draftfile are the same.

	(mh_draft_message): New function

	(parse_opt): Pass ARGP_KEY_INIT to the application handler.

	(mh_draft_message): New prototype.
	(xmalloc,xrealloc): Remove prototypes

	Bugfix

	Fix semantics of -build/-draftmessage/-[no]draftfolder options
	for compatibility with other implementations of MH

	Update

	(imap4d_select0): Fix status display.

	Add 2006 to the copyright statement

2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(imap4d_select0): Create INBOX if it does not exist.

	Update

	(__argp_base_name): New function

	Bugfix (stray #)

	(AM_CFLAGS): Define GNULIB_ARGP_EXTERN_BASENAME

	Update

	(parse_opt): Try to catch arguments separated from
	the option by whitespace. Solution proposed by Helmut Leitner.
	Avoid queueing multiple "set mode=send" options.

	Add Helmut Leitner.

	Update

	(connect): Initialize socket_name to NULL

	Update

	Updated

	Update invocations of mu_registrar_lookup

	(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.

	(mu_tilde_expansion): Expand tilde after the protocol
	specification.

	(mu_mailbox_argp_option,mu_common_argp_parser): New option
	--mailbox-type

	(tilde_expand): Remove
	(mu_mailbox_create_default): Use  mu_tilde_expansion instead
	of tilde_expand

	(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

	(mu_registrar_lookup): Changed declaration.
	(mu_0_6_registrar_lookup): New prototype.

	(mu_mailbox_set_default_proto,mu_mailbox_get_default_proto):
	New prototypes.

	(registrar_lookup): Define to mu_0_6_registrar_lookup

2006-01-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(mh_is_my_name): Bugfix: do not use strtok_r, which modifies
	its argument.

	(mh_context_read): Allow for empty lines and
	 conventional comment characters (#) in the context file.

	Update

	(read_mts_profile): Support localname and localdomain
	variables.
	(read_mts_profile): Support x-mailer variable.

	Remove X-Mailer. Send will add it if needed.

	(mail_send0): Use MU_HEADER_X_MAILER

	(MU_HEADER_X_MAILER): New define

2006-01-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Use exec_compl to complete first argument to !

	(ml_command_completion): Fix coredump
	(exec_compl,exec_generator): New functions

	(exec_compl): New prototype

	Update

	(mu_parse822_time): Assume UTC for invalid or unknown timezones.

2006-01-22  Jordi Mallach  <jordi@gnu.org>

	2006-01-22  Jordi Mallach  <jordi@gnu.org>
		* LINGUAS: Added sv.
		* sv.po: New Swedish translation by Daniel Nylander.

2006-01-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix typo

	Update

	Raise version number to 0.6.93

	Fixed

	New file

	Update by gnulib-sync

	(expand_modules): Implement 'avoid' feature.
	Avoid expanding dirname into mailbox/, since it grags xalloc with
	it.

	Updated. Sorted alphabetically

	(AM_CFLAGS): Define GNULIB_ARGP_DISABLE_DIRNAME
	(EXTRA_DIST): Remove pin.c

	Define USE_MAILBOX_QUOTAS after including mu_dbm.h

	(util_printenv): Change return type to void. All callers updated.

	Include mailutils/nls.h

	Add gettext markers

	Fix parsing of pop3 server replies.
	Use mu_umaxtostr to format size_t and off_t values

	Recognize EET and EEST time zones

	Include mu_umaxtostr.h

	Use mu_umaxtostr to format size_t and off_t values

	Include stdlib.h

	(libmu_pop_la_LIBADD): New variable

	(libmu_imap_la_LIBADD): New variable

	(AM_LDFLAGS): Load libmuaux before libmailutils.

	(mailutils): Add inttostr

	Remove HAVE_DECL_PROGRAM_INVOCATION_NAME hack, newer argp does
	that itself

	Added to the repository by gnulib-sync

	Updated by gnulib-sync

	Update year in the copyright statement

	Update

	Add Ronan KERYELL

	(main): Exit on first detected IO error. Make sure the
	source mailbox is not modified if not all messages were moved
	successfully.

	(mbox_append_message0): Preserve return status from
	mu_stream_write, if it is not 0.

	(_file_write): Return ENOSPC if fwrite returns 0.

	Update

	Document --create-home-dir option.

	(util_chdir): New function.

	(imap4d_check_home_dir,util_chdir): New prototype.

	(create_home_dir,home_dir_mode): New variables
	(options): New option --create-home-dir
	(imap4d_check_home_dir): New function

	(imap4d_login): 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_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.

2006-01-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Update cvs co information

2006-01-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add Walter Neumann

	Set inplacealiases.

	(is_address_field): Remove static qualifier.
	(util_header_expand): Expand aliases unless inplacealiases is set.

	(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.

	(is_address_field): New prototype.

	(default_setup): Provide defaults for inplacealiases and
	recursealiases.

	(alias_expand): Recursively expand aliases if recursealiases
	is set.

2005-12-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Allow specifying full file name (including the suffix)

2005-12-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Make sure -nodraftfolder cancels Draft-Folder variable, not only
	-draftfolder option.

2005-12-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(util_do_command): Fix memory overrun

2005-12-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(imap4d_status): Flush attributes before opening the mailbox.
	(status_unseen): Remove superfluous condition
	Fixes [bug #15143].

	Do not create anything and return OK if the argument is suffixed
	with a hierarchy separator. Fixes [bug #15142].

	(list_file,print_dir,print_file): Use mkfullname. Fixes [bug
	#15144].

2005-12-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(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

	Update

	(mu_temp_file_stream_create): New function.

	Update

	New option --length allows to set
	a minimal encapsulation boundary length.
	(burst_digest): Take into account minimal EB length.

	Update

	(burst_digest): Initial implementation of RFC 934

	Updated

	(burst): Keep message sequence number in msgno.
	(burst_rename): Fix loop limits
	(main): Fix calculation of last_uid.
	Keep message sequence numbers in ms.

2005-11-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add burst, sort entries

	Minor indentation fix

	(mh_expand_name): Accept names starting with mh:/ protocol
	indicator.

	(enum mh_arg): New declaration, instead of multiple defines.

	(msg_copy): Implement FSA described in RFC 934

	Add burst.c

	(mu_mime_get_part): Set stream_size function.

	(amd_msg_lookup): Bugfix. Use msg_count == 0 to determine if
	the msg_array is empty.

	Add rfc934.txt

2005-11-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(read_mts_profile): Allow .mtstailor to override system-wide
	configuration values.

	(mh_expand_name): Make sure the returned value can safely
	be freed.

	(mh_context_destroy,mh_context_merge): New functions.

	(mh_context_destroy,mh_context_merge): New proto

	Fix indentation

2005-11-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(msgset_negate): Fix loop break condition.

	Updated

	Add --dry-run, an alias for -n.

2005-11-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fix diagnostic messages

2005-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	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.

	Declare HAVE_DECL_PROGRAM_INVOCATION_NAME, otherwise argp-help.c
	can bail out at line 1693

	Update

	(MU_ERR_CANCELED): New error code.

	Include errno.h
	Provide ECANCELED if it is missing (mainly for cygwin).

	(sql_interface): Fix data type

	Bugfix

	Updated

	(EXTRA_DIST): Add MU_EXTRA_DIST

	(MU_LIBSOURCE,MU_LIBSOURCES): Construct the list
	of EXTRA_DIST sources.
	(MU_FINISH): New defun

	Call MU_FINISH

	(EXTRA_DIST): Remove MU_EXTRA_DIST

2005-11-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Use mu_off_t instead of off_t

	(UNCLUDES): Rewritten using MU_COMMON_INCLUDES

	(mailutils): Add glob

	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

	Build types.h from types.hin to provide mu_off_t for the end user

	Updated by gnulib-sync

	Added to the repository by gnulib-sync

	Updated

	(AM_CPPFLAGS): Add -D_GNU_SOURCE=1, needed for compiling lex
	sources

	(mh_file_to_message): Change signature

	(mailbox_folder_create): Do not try to select previous level if
	given a protocol spec, other than `file:'

	(is_proto): Replace by mu_is_proto. All callers updated

	(mu_is_proto): New function.

	(yylex,yyerror): Remove declarations

	(mu_sieve_yylex,mu_sieve_yyerror): Add declarations.

	Add missing forward declarations

	Add missing includes

2005-11-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(struct _fise_stream.offset): Change type to off_t

	Fix indentation

	(z_parse_args): change type of return_count
	(mail_z): Change type of count to off_t

	Include <config.h>

	Include <mailutils/error.h>

2005-11-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Load MU_AUTHLIBS before libmailutils. Fixes cygwin build

	Add includes needed for W.*() macros

	Add typecasts

	Was displaying `inappropriate message' diagnostics if the first
	message from the set was deleted. Fixed.

	(AUTHLIBS,AUTHLIBS_DEPENDENCY,AUTHINCS): Prefixed with MU_

2005-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Somewhat reluctantly append $(EXEEXT) to binary target names to
	fix cygwin builds.

2005-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Add D. J. Henman

	(GUIMB): Fix assignment to work on cygwin too

2005-11-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Load libmuauth before libmailutils

2005-11-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fix typo in the comment

	Fix typo

2005-11-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(pop_source): Clear sieve_filename if context_stack is empty.

2005-10-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Always define program_name to program_invocation_name

	(release): Rename to alpha
	(alphacheck): New rule

	Updated

	Add Kostas Zorbadelos and Daniel Kahn Gillmor

	(imap_writeline): Fix handling of input
	lines longer than 254 chars. Proposed by Daniel Kahn Gillmor.

	Include <sys/time.h>

	Updated to match the changes to reject action

	(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.

2005-10-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(struct mu__monitor): Rename to mu_monitor.
	(message_unref): Rename to mu_message_unref.
	(MIME_MULTIPART_MIXED,MIME_MULTIPART_ALT): Prefix with MU_.

	(util_do_command): Minor fix

	(rdl_init_t,rdl_done_t): Prefix with mu_

	(struct _mu_record): Fix member names. All uses changed

	(struct mu__monitor): Rename to mu_monitor. All uses changed.

	(MIME_INCREAMENTAL_PARSER): Remove
	(MIME_MULTIPART_MIXED,MIME_MULTIPART_ALT): Prefix with MU_. All
	uses changed.

	(message_unref): Rename to mu_message_unref. All callers updated.

	Include compat.h, if required

	(mu_0_6_folder_list,mu_0_6_folder_lsub,mu_0_6_folder_list_destroy):
	Compatibility functions.

	(pkginclude_HEADERS): Add compat.h

	Compatibility defines for programs using mailutils interface
	version 0:0:0.

	Updated

	Add if.exp

	(EXTRA_DIST): Add if.mail

	New test case

	New test script.

	(util_do_command): Accept traditional contracted
	forms (`d*', `p9')
	Fix bug in handling conditional branches (bug introduced on
	2005-08-11).

	(mail_mbox_close): mbox can be NULL (e.g. --exec=quit was given)

	New option --exec (-E)
	(mail_cmdline): Invalidate the page when a new mail arrives
	(main): Fix handling of modes.

	(mail_if): Fix 'r' condition
	(mail_else): Fix handling of nested ifs

2005-10-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Include config.h

2005-10-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New option --without-fribidi allows to disable
	fribidi support.
	Check for FRIBIDI_CHARSET_CAP_RTL vs. FRIBIDI_CHAR_SET_CAP_RTL.

2005-09-29  Sergey Poznyakoff  <gray@gnu.org.ua>

		(vacation_reply): Call mu_mime_destroy

	Updated

	Minor stylistic changes

	(mu_rfc_2047_B_filter): New filter. Alias to base64.

	(mu_filter_get_list): Add mu_rfc_2047_B_filter

	Implemented :mime. Correctly
	handle subject line, no matter what the charset is.
	Fixed bug in creating `References:' header.

	(MU_SIEVE_CHARSET): New define

	(mu_rfc_2047_B_filter): New filter.

	Allow to specify charset and encoding from the command line.

	Allow to specify charset from the command line

2005-09-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New command line argument "sieve"

	Minor wording change.

2005-09-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	(delete_to_string): Make sure the message
	set does not end with a comma. Bug reported by Gerd Flaig,
	I suppose.

2005-09-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Make the first annotated message current.
	(opt_handler): Quote --text argument, if necessary.

	Support message annotation. Improved error reporting after
	launching external programs.

	(mh_quote,mh_expand_aliases): New functions
	(struct mh_whatnow_env): New fields to support annotation.

	(mh_quote,mh_expand_aliases): New functions

	Implemented --annotate

	(expand_aliases): Use mh_expand_aliases

2005-09-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(cond_page_invalidate,page_move): Bugfix.

2005-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	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.

	(imap4d_search): Fix potential vulnerability: pass format string
	as a third argument to util_finish

2005-08-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Minor fix

	(guess_level,list_copy): Fixed
	(imap_parse): Handle NO case explicitely.

	Add lsf

	New test program. List folders

2005-08-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(ARG_PACK): New define

	(mh_context_iterate): Bugfix

	(mh_context_iterator): Changed signature

	Minor bugfixes.

	Implement --pack, --verbose, --dry-run (just in case).

	Updated for recent libgnuradius

	Rewritten for new mu_folder_list,mu_folder_lsub semantics.

	Remove vestiges of __P(). Define _GNU_SOURCE, if not alrerady
	defined.

	(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

2005-08-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix

	Updated

	Fix-up structure names from types.h

	Raise version number to 0.6.92. Raise library current interface
	version to 1.

	Updated

	Replace munre_ with mu_unre_

2005-08-27  Wojciech Polak  <polak@gnu.org>

	Updated

	Normalize global namespace. Part 2

2005-08-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Normalize global namespace. Part 1

2005-08-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated from Radius repository

2005-08-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(EXTRA_DIST): Add Argc

2005-08-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add elisp-comp

	Updated

	Avoid redefinition of _XOPEN_SOURCE

	Bugfix

	Updated by gnulib-sync

	Added to the repository by gnulib-sync

	Bugfix

	(create_m4_wrapper): Bugfix

	Updated

	Rename libmailbox to libmailutils. Rename the convenience library
	(lib/libmailutils) to libmuaux.

	Updated

	Remove __P() and __PMT() wrappers

	Remove __P() and __PMT() wrappers.

2005-08-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(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>

	Updated

	Adapt to the modified 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.

	Use strerror uniformly

	(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

	Add -lgnuradius to AUTHLIBS

	Updated modification date

	Updated

	Updated copyright date

	 (mu_conf_option): Reflect radius capability.

	(MU_ENABLE_SUPPORT): Fixed quoting error. Allow action-if-true
	to disable the feature.

	(mu_auth_radius_module): New module
	(MU_AUTH_REGISTER_ALL_MODULES): Register radius

	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.

	(EXTRA_DIST): Add mailutils.dict. Sorted files alphabetically

	Mailutils dictionary for Radius

	(libmuauth_la_SOURCES): Add radius.c. Sorted sources
	alphabetically

	Radius authentication/authorization.

2005-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Renamed mail/var.c 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

	Updated

	(list_to_array): Bugfix. The counter was not incremented.

	Add mail/cd.c

	(get_pathname): Make sure no extra slash is inserted.

	Use mail_find_command() and mail_escape_help().

	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_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

	Use mail_find_escape()

	(file_compl,no_compl,msglist_compl)
	(msglist_file_compl,dir_compl)
	(command_compl,alias_compl,var_compl): New functions for readline
	completion support

	(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_list): Use mail_command_list()

	(mail_help): Use mail_command_help()

	(mail_expand_name): Do not proceed to opening the mailbox if
	failed to get its name

	(mail_cd): Check chdir return value

	(alias_iterate_first,alias_iterate_next,alias_iterate_end):
	New functions for readline completion support.

	(argcv_get_n): New function

2005-08-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixed comment

	Synchronize with the recent changes.

	(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_copy0): Minor improvement

	Add rfc3501.txt

2005-07-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mailbox_folder_create): New function
	(mailbox_create): Use mailbox_folder_create.

	New tests

	(_insert_item): Bugfix

	Updated calls to registrar_lookup and declarations of _is_scheme
	methods

	(_is_scheme, registrar_lookup): Take three arguments. All
	callers updated.
	Raised path_record priority to 1000.

	(MU_FOLDER_ATTRIBUTE_FILE,MU_FOLDER_ATTRIBUTE_DIRECTORY):
	New defines

	Moved MU_FOLDER_ATTRIBUTE_.* to types.h

	(MU_READ_ERROR): New error code

	(cond_page_invalidate): Bugfix

	Produce more detailed diagnostics

	Updated

	Minor stylistic fix

	(struct _record.priority): New member.

	Updated declarations of struct _record objects.

	(mailer_create): Rewritten using registrar_lookup()

	(mailbox_create): Rewritten using registrar_lookup()

	(folder_create): Rewritten using registrar_lookup()

	(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

	Use registrar_record instead of directly accessing registrar list.

	(builtin_putnum): Minor fix

	Updated list_insert invocations

	Test new list operations.

	(ins): New option 'before' allows to insert an	item before
	another one.

	(list_insert): Accept additional
	argument indicating whether to insert item before or after the
	reference one.

	(page_move): Fix start msg calculation

	Updated

	(rfc2047_encode): Bugfix.

2005-07-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(locker_lock): Allow for non-absolute file names.

2005-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_get_homedir): Use EUID to determine user identity.

	Unconditionally include mu_dbm.h

2005-07-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(_mime_get_param): Initialize was_quoted to 0. Problem reported
	by Shashank Kavishwar <s_kavishwar@hotmail.com>.

2005-07-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fall back to "Sender:" and "From:" headers (in that order),
	if the envelope sender is not available.

2005-06-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New tests

	(argcv_scan): Improved scanning.

	Updated

	(argcv_scan,argcv_quoted_length,argcv_quote_copy): Fixed handling
	of unmatched quotes.

2005-06-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New file

	 Add argcv.exp

	New test

	Add argcv.c

	argcv_unescape_char renamed to argcv_unquote_char

	(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.

	(argcv_unescape_char): Renamed to
	argcv_unquote_char
	(argcv_escape_char): Renamed to argcv_quote_char.
	(argcv_quoted_length,argcv_quote_copy): New functions

2005-06-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	Removed unused variable

	Minor correction

	(mailbox_get_flags): New function

	(MU_ERR_BAD_FILENAME): New error code.

	(set_cursor): Use page_move(0) to correctly update the map.

	(mail_file): Invalidate current page map.

	Do not attempt to flush a mailbox opened in read-only mode.

	Accept up to two arguments: hostname to connect to and URL of
	the page to get.

	(imap_messages_count): Use SELECT or EXAMINE
	depending on the mailbox status.
	(imap_expunge): Return EACCES if the mailbox is read-only

	(mh_global_profile_get): Changed prototype.

	Use mu_mail_directory, mu_folder_directory and related calls.

	(_mu_scm_path_maildir,_mu_scm_path_folder_dir): Removed

	(scm_mu_mail_directory,scm_mu_folder_directory): New function

	(mu_normalize_maildir): Renamed to (mu_normalize_mailbox_url)

	(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.

2005-06-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use new pager functions.

	Fixed tests to match our improved output.

	New declarations

	(mail_SOURCES): Add page.c. Alphabetized sources.

	Implements an abstract output page.

	(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.

2005-06-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(maildir_message_name): Return NULL for deleted messages.

	amd_expunge): Unlink the message file if msg_file_name returns
	NULL.

	Updated

	(refill): Removed useless typecase

	(struct rbuffer.count): Changed type to size_t. Reported by
	Joseph Caputo <caputo@qedinfo.com>

	Updated

	(util_save_outgoing): Rewritten using mailbox
	functions. `set record' can now point to any valid mailbox type.

2005-06-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(get_charset): Make sure output_charset is not NULL.

2005-06-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(amd_envelope_date): Always convert date to ctime format.

2005-05-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(maildir_uniq): Fix memory overwrite.

2005-05-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(move_message): Fix error diagnostics format.

	(restore_sender,restore_date): New functions.
	(mbox_append_message0): Use above functions to create sender/date
	values if these are not supplied.

	(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.

2005-05-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Add encode2047. Sort entries

	Updated

	Added Kidong Lee and Amit Jhawar

	automatically generated file

	(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).

	(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.

	(MU_ERR_BAD_2047_ENCODING): New error code.

	(main): Add option -E (encoding). The program
	can now be used to test any encoder/decoder filters, so its name
	is kind of misnomer.

	Added to the repository

	(noinst_PROGRAMS): Add encode2047. Sorted alphabetically.

2005-05-24  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan and Spanish from the TP.

2005-05-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Rewritten by Kidong Lee using filters and streams.

	Updated

	Compute upper limit for the message set spec based on the value
	of MU_ULONG_MAX.

	(site.exp): Set MU_ULONG_MAX

	Compute the value of ULONG_MAX for use in the testsute.

	Provide a replacement for FNM_CASEFOLD. Reported by Jerry Heyman
	<heymanj@acm.org>

	include <sys/select.h>. Reported by Jerry Heyman

2005-05-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(fetch_getcommand): Changed proto to make gcc 4.0 happy.

2005-05-19  Jordi Mallach  <jordi@gnu.org>

	Added rw; updated pl, ru and uk from the TP.

2005-05-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(sql_escape_string): Escape backslashes.

2005-05-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated FSF address

2005-05-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Add new tests

	Updated

	Fix typo

	(header_get_field_name): Fix buffer overflow (IDEF0957).

	(util_finish): Fix potential vulnerability (IDEF0954).

	(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.

2005-05-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(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-04-06  Jordi Mallach  <jordi@gnu.org>

	Update French translation from the TP.

2005-03-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated metamail documentation

	Unset metamail

	(default_setup): Set metamail

	(display_message0): Do not interpret MIME parts if metamail
	is unset.

2005-03-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	(mail_execute): Restore argv[0] before exiting, else argcv_free
	coredumps.

2005-03-15  Jordi Mallach  <jordi@gnu.org>

	Updated Spanish, Polish, Russian & Ukrainian from the TP.

2005-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mailbox_flush): Do not re-save all messages if the mailbox was
	opened in append mode.

2005-03-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(b_string): Bugfix

	(<HEX>): Bugfix

2005-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Auto-generated file

	Updated

	Prevent CVS from spitting out superfluous info

	New file

	Moved from /mailbox

	Moved to config

	Removed mailutils-config.c. It should live in a separate directory
	to satisfy interlibrary dependencies.

	(mime_context_fill): Return integer code
	(display_stream_mailcap): Bail out if mime_context_fill
	returns 1

	(AC_CONFIG_FILES): Added config/Makefile

	(SUBDIRS): Reordered. Due to the specifics
	of gnulib imports, libmailutils depends on libmailbox.
	Added config/.

	Updated

	Use gettext markers in verbose diagnostics

	Include ctype.h

	Updated

	(mime_context_fill): Remove leading whitespace
	when preparing lists.
	(mime_context_get_content_type_value): Return integer code.
	(expand_string): Fixed expansion of %{name}

2005-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Do not redefine _GNU_SOURCE

	Minor indentation fix

	Update the copyleft statement

	Updated

	(header): Removed unused global

	(mail): Documented variable mimenoask

	(mimeview_LDADD): Changed order of loading libmailutils/libmailbox

	(mail_LDADD): Changed order of loading libmailutils/libmailbox

	Implemented built-in mailcap mechanism

	Rewritten using display_stream_mailcap.

	Added mailcap.c

	Routines for displaying MIME messages.

2005-03-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	(run_mailcap): Bugfix

2005-03-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mimeview): Documented new options

	Handle --no-ask and --no-interactive (-h)
	options. Continue search for a matching entry when necessary.
	Implement 'test' and 'print' commands.

	(mh_vgetyn): Synchronize with the changes to mu_true_answer_p().

	(mu_true_answer_p): Ignore leading whitespace.

	(mu_mailcap_entry_get_value): Bugfix: return ENOENT if no matching
	entry is found.

	(define _GNU_SOURCE): Removed. Defined in config.h

2005-03-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed precedences of ',' and '+'

	Bugfix: accept ',' as OR

2005-03-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(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

	(AM_CFLAGS): Use DEFAULT_CUPS_CONFDIR

	(mimeview): Documented the program

	(DEFAULT_CUPS_CONFDIR): New variable

	Updated

	*** empty log message ***

	Minor  fix

	(mu_mailcap_entry_coupiousoutput): Renamed to
	mu_mailcap_entry_copiousoutput

	(mu_mailcap_entry_coupiousoutput): Bugfix

	(mimeview): New section.
	(mail): Document recently added variables.

	Added to the repository

2005-03-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_spawnvp): Minor fixes

	(mail_decode): Implemented new variable
	`metamail' that turns on use of metamail program for
	displaying MIME messages.
	(run_metamail): New function

2005-03-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(MU_ERR_NO_QUERY): Fixed wording

	Use a uniform way of filename quoting in diagnostic messages.

2005-03-05  Wojciech Polak  <polak@gnu.org>

	Updated

	Removed install-exec-hook

2005-03-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(util_mark_read): New function

	Rewritten in accordance with POSIX specs: do not mbox deleted
	and saved messages.

	If `bang' is set, expand every occurrence of ! in argument array.

	(default_setup): Added variables, required by
	POSIX: flipr, showto, bang. Added placeholders for debug,
	onehop and sendwait.

	(mail_from0): If `showto' is set and the
	mail comes from the user that invoked the program, show
	`To:' address instead of `From:'.

	Mark message as read and shown

	(reply0): Check for `metoo' before calling mail_is_my_name().
	(mail_reply): Honor `flipr' variable

	Do not check `metoo'. The caller is responsible for that.

2005-03-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(top0): set read attribute and MAIL_ATTRIBUTE_SHOWN after
	displaying the message

	(mail_print_msg): Set MAIL_ATTRIBUTE_SHOWN after displaying
	the message

	(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_ATTRIBUTE_SHOWN): New attribute. Shows that the message
	has been displayed during the current session.

2005-03-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Ignore from

	Updated

	New file

	Added to the repository

	Updated

	Document `from'

	Removed from

	*** empty log message ***

	(mbox_scan): Store the number of messages into *pcount if we
	don't need to rescan the mailbox.

	Save messages that were marked for saving to mbox and then deleted

	Moved to common.c the part of code to be shared between `frm'
	and `from'

	Build `from'

2005-03-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

2005-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed to match the new frm output.

	Rewritten output routines using FriBidi. Arabic
	subject lines look almost OK, except that all characters are
	displayed in isolated variant.

	Check for FriBidi

2005-02-28  Wojciech Polak  <polak@gnu.org>

	Use -f with $(LN_S).

	Updated

	Added install-exec-hook for creating the symbolic link 'from'
	to 'frm'.

	Changed bin_PROGRAMS to noinst_PROGRAMS.

2005-02-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added to the repository

	Provide place handlers for handling MySQL 4.1.x scrambled
	passwords.

	(address_aget_personal,address_aget_comments): Bugfix

	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.

	Add mbswidth

2005-02-27  Wojciech Polak  <polak@gnu.org>

	Oops, updated

2005-02-26  Wojciech Polak  <polak@gnu.org>

	Updated

	(expand_aliases): Bugfix. Do not use statically allocated
	buffer. Use header_aget_field_name() instead.
	The utility freezed with header names longer than 16 bytes.

	Updated

	(_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  <gray@gnu.org.ua>

	Updated

	Do not use any libmysql functions to
	scramble passwords: mysql people are evidently
	unable to keep this API stable.

2005-02-26  Jordi Mallach  <jordi@gnu.org>

	Updated Ukrainian from the TP.

2005-02-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated copyright date

	(mu_check_mysql_scrambled_password): New function.

	(mu_syslog_error_printer): Bugfix.

	Include <auth/sql.h>. A temporary solution.

	(mu_sql_getpass)
	(mu_sql_password_type,mu_sql_expand_query):
	(mu_check_mysql_scrambled_password): New function

	(cb_retrieve): Fall back to SQL if plaintext password file is
	not available.

	(sql_interface): new decl
	(mu_sql_expand_query): New proto.

	(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.

	Updated

	(sieve_value_create): Bugfix.
	(sieve_error): Prepend action or test identifier to the diagnostic
	message.
	(sieve_arg_error): New function.

	(struct sieve_machine.identifier): New field.

	(instr_action,instr_test): Update mach->identifier.

	Removed spurions indications of action
	names in diagnostic messages. Sieve_error prepends them
	automatically now.

	(sieve_get_identifier,sieve_arg_error): New function.

	Added to the repository

2005-02-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added to the repository

2005-02-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed

	Added to the repository

	Minor fix

	(INCLUDES): Add $(top_srcdir)/mailbox

	Include string.h

	Include mailutils/argp.h

	Use new md5 calls

	(sieve_argp_option): Use N_()

	Remove posix/regex.h

	Include errno.h

	(parse_opt): Bugfix. Was using optarg instead of arg

	Remove headers/

	(MU_LIBSOURCES,MU_REPLACE_FUNCS): New defun.
	(MU_CHECK_FUNCS): Removed.

	Updated to use new gnulib files.

	Added to the repository by gnulib-sync

	Updated by gnulib-sync

	List of gnulib modules used by mailutils

	Script for synchronizing with gnulib

	Added to the repository by gnulib-sync

	Updated by gnulib-sync

2005-02-22  Jordi Mallach  <jordi@gnu.org>

	New Ukrainian translation by Sergey.

2005-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Add debug flag 'i' for symmetry with sieve. Minor fixes in
	diagnostic messages

	Further unification of diagnostic style

2005-02-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated copyright statement

	Updated

	(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.

	(imap4d_select0): Call imap4d_set_observer()

	(ERR_MAILBOX_CORRUPTED): New error code.
	(imap4d_set_observer): New function

	(imap4d_bye0): Handle ERR_MAILBOX_CORRUPTED

	(mbox_close): Initialize all private data
	so that subsequent mailbox_open() works properly.
	(mbox_is_updated): Updated comment

	(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.

	Updated

	(cb_validate): Provide normal authentication for PLAIN and
	LOGIN mechanisms.

2005-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Rewritten

2005-02-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(parse_opt): Use arg instead of optarg. Thanks James Dolter
	for reporting.

2005-01-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed sectioning. Print table of contents after summary page,
	as suggested by GNU standards.

	Fixed sectioning

	Index page template for gendocs.sh

	Replaced by gendocs_template

	Rewritten to use gendocs.sh

	Do not use alloca

	(nntp_folder_open): Do not use alloca

	(mu_parse_date): Initialize struct tm

2005-01-09  Jordi Mallach  <jordi@gnu.org>

	Catalan, French and Spanish updates from the TP.

2005-01-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated to match recent changes in diagnostic messages

	Add odbc.c

	ODBC SQL driver

	(mu_sql_dispatch.errstr): Changed return type to const char*

	Use explicit PROG_DEPENDENCIES (see comment to imap4d_DEPENDENCIES
	in imap4d/Makefile.am)

	(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

2005-01-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Add Felix Egli

	(sieve_get_message_sender,stream_printf): New prototypes.

	Add vacation

	New action. Based on guimb/scm/vacation.scm and on ideas and
	code fragments from Felix Egli <fegli at goldnet dot ch>.

	Updated

	Updated to match new output format of the decode command

	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.

	Updated

	Assume textual messages are already quoted.

	Depend on mailbox/errors directly

	Add gettext markers

2005-01-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Create error reporting sources for GNU Mailutils

	Textual messages and symbolic definitions of possible Mailutils
	errors

2005-01-02  Jordi Mallach  <jordi@gnu.org>

	Typo fix.

2005-01-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_test): Upvar expect_out

	(imap4d_test): New flag -sort toggles on sorting of untagged
	responces.
	Notice that -sort and -re are mutually exclusive.

	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 (this went unnoticed so far due to fuzzy
	matching
	technique + ordering-dependent output).

	Generate muerrno.c and errno.h

	Generate muerrno.c

	Generate errno.h

	A template file for muerrno.c

	A template for errno.h

	*** empty log message ***

2004-12-28  Wojciech Polak  <polak@gnu.org>

	Updated

	(rfc2047_decode_wrapper): Fixed reading a language environment
	variable.

	(rfc2047_decode_wrapper): Fixed reading a language environment
	variable.
	(util_getcols): Imported function from mail/util.c.
	(action): Try to print only one line per message.

	Fixed

2004-12-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated for 0.6

	Version 0.6

	Updated

	Use USE_MAILBOX_QUOTAS.

	Use USE_MAILBOX_QUOTAS.
	(sql_retrieve_quota): Assume unlimited quotas for empty fields.

	(USE_MAILBOX_QUOTAS): New define

	(_auth_lb_writelines): Bugfix

	Updated for GSASL >=0.2.3. Previous versions won't work.

	Version 0.6configure.ac

2004-12-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(destroy): Bugfix: do not free pgconn

	(sql_retrieve_quota): Allow for NULL columns

	(sql_escape_string): Escape ocurrences of ' and " in string.
	(mu_sql_expand_query): prevent possible sql injection

	Do not allow to specify modules more than once

2004-12-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Documented mailbox quotas

	Added sqlmod.sh

	Added to the repository

	New option --quota-query

	Retrieve quotas from SQL database

	(quota_query): New variable

	Added new error codes

	Added sql.h

	Removed mysql.c and pgsql.c

	Rewritten using general SQL interface.

	Removed in favor of the general SQL interface

	Rewritten sql-related part. Allow to specify several SQL libraries
	simultaneously.

	Added sql/

	General SQL support (based on GNU Radius sql driver ideas)

2004-12-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Documented movemail.

2004-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Emacs-iteraction mode (--emacs)

	(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?

2004-11-17  Wojciech Polak  <polak@gnu.org>

	Updated

	libmu_cpp's new example.

	Initial version of libmu_cpp.

2004-11-15  Wojciech Polak  <polak@gnu.org>

	Updated

	Updated

	Moved to scheme/

	Moved to config/

	New file.

	Moved from ../

2004-11-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	(children): Removed volatile qualifier

	Updated

	Entry for 0.5.1

	Raised version number to 0.5.1

	(pop3d_stls): Set state to AUTHORIZATION upon successful
	completion of TLS negotiation.

	(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.

	New declarations.

	(expire_mark_message): New function

	(pop3d_capa): Announce XTLSREQUIRED if appropriate

	New option --tls-required: do not allow
	authentication until TLS negotiation succeeds.
	New option --delete-expired: delete expired messages before
	closing the mailbox.

	(MU_HEADER_X_EXPIRE_TIMESTAMP): New define

	(imap4d_starttls): Clear tls_required upon
	successfull TLS handshake.
	(starttls_init): Use IMAP_CAPA_STARTTLS instead of the
	hardcoded literal.

	(IMAP_CAPA_STARTTLS,IMAP_CAPA_LOGINDISABLED,IMAP_CAPA_XTLSREQUIRED):
	New defines

	(imap4d_login): Do not proceed if tls_required is set.

	(imap4d_authenticate): Do not proceed if tls_required is set.

	New option --tls-required: do not allow authentication until
	TLS negotiation succeeds.

2004-11-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed -T option (CAN-2004-0984)

2004-10-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(imap4d_store0): Send \r\n at the end of the unsolicited response.

2004-09-20  Wojciech Polak  <polak@gnu.org>

	Reorder alphabetically.

	Reverted part of yesterday's changes (libmu_cpp).

2004-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	(_mime_munge_content_header): Bugfix

	Bugfix

2004-08-31  Wojciech Polak  <polak@gnu.org>

	Updated

	(AM_GNU_GETTEXT_VERSION): Bump to 0.14.1.

	(prog_stream_create): Changed type of the second argument to
	const char*.
	(filter_prog_stream_create): Likewise.

	(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*.

2004-08-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added Dan Jacobson

	(util_do_command): Fixed coredump on unparseable input strings.

2004-08-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Properly access mu-mailer and mu-message values.

	(list_set_destroy_item): Use __PMT in nested declarations.

	(MU_SCM_SYMBOL_VALUE): New define
	(_mu_scm_mailer,_mu_scm_debug): Removed externs.

2004-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed coredump on reading a single escape char.

2004-08-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Protect typedef int error_t by an additional
	#ifndef. Thanks Alex S. Moore <asmoore@edge.net> for helping
	find the problem.

2004-08-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Bugfix. Always use $AWK.

	Minor changes.

	(maildir_gethostname): Fixed a gross memory allocation bug.

	(struct _f_imap.capac): Changed type to int.

	(authenticate_imap_sasl_anon): Use auth_state instead of
	state. Possibly this was a typo...

	(_locker_lock_dotlock): Make sure the lock file is writable for
	the owner.

	Minor changes. The screen is 80x24!

	[!ENABLE_NLS]: Define gettext()

	Added missing includes

	(INCLUDES): Added -Imailbox

	Minor fixes.

	Raised automake requirements to version 1.8.5

2004-08-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Include types.h

2004-07-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(decode_float): Return signed long value, as SpamAssassin scores
	can be negative.
	(spamd_test): Updated accordingly

2004-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Call mu_register_extra_formats()

	Added libmu_nntp.la

	Add nntp0.h

	(mu_conf_option): Added ENABLE_NNTP

	(mu_register_extra_formats): New macro.
	(mu_register_all_formats): Call mu_register_extra_formats()

	Updated

	Added mu_nntp

	(mu_register_all_mbox_formats): Removed nntp_record. It is not
	a *mailbox* format.

	Updated

	Include <list.h>

	Updated declaration of getitem method.

	(iterator_set_getitem): Changed declaration
	(iterator_current): Additional typecast on pitem

	(iterator_set_getitem): Changed declaration

	(_iterator.getitem): Changed
	declaration. There's no use passing a pointer to the const
	location, since the function *must* assign to it anyway.

2004-07-05  Alain Magloire  <alainm@gnu.org>

	Enable NNTP.

	Bugfix in stream.c (stream_wait) should return true if we have
	something in the cache.

	Implement the mailbox framework for NNTP.

2004-07-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	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.

	(list_data_dup): Bugfix: *ptr was not assigned.

2004-07-01  Alain Magloire  <alainm@gnu.org>

	Typo, we had two sizeof() operator.

2004-07-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(pop3_itr_getitem): Changed declaration

	Added missing include
	(nntp_itr_getitem): Changed declaration

	Fixed printf formats

	Fixed printf formats
	(com_newgroups,com_newnews): Variable declarations are only
	allowed
	before the statements.

	Minor fix

	(rfc2047_decode): Fixed buffer handling

	(getitem): Changed declaration

	(iterator_current,iterator_set_getitem): Changed declaration

	(struct _iterator.getitem): Changed declaration

	(iterator_current)
	(iterator_set_getitem): Changed proto
	(iterator_get_list): Removed.

2004-07-01  Alain Magloire  <alainm@gnu.org>

	Fix the makefiles to copy sys/pop3.h and sys/nntp.h

	Updated.

	new API.

	add mailbox/nntp directory.

	Now part of the distribution.

	add nntpclient.

	Adjust example to new API.

	add nntp directory

	new file.

	use iterator_t instead of a list_t

	Use the iterator_t instead of a list.

		ChangeLog
	Updated.

		list.c
	wrong size for the calloc() in list_data_dup and
	list_get_iterator()

2004-06-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(spamd_shutdown): Bugfix

2004-06-29  Alain Magloire  <alainm@gnu.org>

	updated.

		mailutils/nntp.h mailutils/sys/nntp.h
	new declarations.

		pop3client.c:
		minor buf fixing.
	nntpclient.c :
		adusted to the new API

	New file.

	new file.

	Adding more framework for NNTP support.

2004-06-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Replace iterator_create with list_get_iterator.

	(list_get_iterator): New function

	(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.

	(struct _iterator): rewritten as a general-purpose iterator
	structure.

	(internal_icvt_read,copy_pass): Fixed mistyped conditions.

2004-06-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added to the repository

	ChangeLog turned over

	Updated

	(internal_icvt_read,copy_octal): Fixed memory allocation errors.

	(_memory_write): Minor fix

	Updated

	Raised version number to 0.5

	Include version.texi

2004-06-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use SCM_UNSPECIFIED where appropriate.

	Added an end-of-file comment

	(mailutils.scm): Fixed producing rule.

	Forward declaration of struct timeval needed for the prototype
	of mu_fd_wait().

	Provide a definition of scm_c_eval_string for Guile 1.4x

	(guimb_catch_body): Use scm_c_eval_string

2004-06-21  Alain Magloire  <alainm@gnu.org>

	updated.

	new Macros and declarations.

	example of nntp client

		* mailbox/pop/pop3_lista.c: Destroy the list on error.
		* mailbox/pop/pop3_uidla.c: Destroy the list on error.

		* examples/nntpclient.c: An example of using nntp.
		* mailbox/nntp/nntp_date.c: New file.
		* mailbox/nntp/nntp_group.c: New file.
		* mailbox/nntp/nntp_last.c: New file.
		* mailbox/nntp/nntp_list_extensions.c: New file.
		* mailbox/nntp/nntp_mode_reader.c: New file.
		* mailbox/nntp/nntp_next.c: New file.
		* mailbox/nntp/nntp_quit.c: New file.
		* mailbox/nntp/nntp_stat.c: New file.
		* mailbox/nntp/Makefile.am
		* mailbox/nntp/nntp_article.c: Use new macros.
		* mailbox/nntp/nntp_body.c: Use new macros.
		* mailbox/nntp/nntp_connect.c: Use new macros.
		* mailbox/nntp/nntp_head.c: Use new macros.
		* mailbox/nntp/nntp_response.c: Use new macros.

2004-06-20  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan translation.

	Spanish update from the TP.

2004-06-17  Jordi Mallach  <jordi@gnu.org>

	Russian update from the TP, and Catalan fix.

	Catalan, French and Polish updates from the Translation Project.

2004-06-16  Alain Magloire  <alainm@gnu.org>

		ChangeLog mailbox/tcp.c
	Check the return value of close(2)

2004-06-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	(mailutils.scm): Fixed producing rule.

2004-06-15  Alain Magloire  <alainm@gnu.org>

	updated.

		mailutils/nntp.h mailutils/sys/nntp.h
	adjustement to the headers.

		Makefile.am nntp_head.c nntp_article.c nntp_body.c
	added ARTICLE HEAD and BODY

2004-06-13  Wojciech Polak  <polak@gnu.org>

	Updated

2004-06-13  Alain Magloire  <alainm@gnu.org>

	Updated.

		nntp.h sys/nntp.h
	Framework for NNTP.

		nntp_carrier.c nntp_connect.c nntp_create.c nntp_debug.c
		nntp_destroy.c nntp_disconnect.c nntp_readline.c
		nntp_response.c nntp_sendline.c nntp_stream.c
		nntp_timeout.c

	framework for NNTP support

2004-06-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Provide forward declarations for yyerror and yylex.

	Added missing includes

	Minor fix

	Commented out unused static functions

	Revised use of const modifiers

2004-06-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Forward declaration of struct timeval is needed for stream_wait().

	(options): Fixed typo in doc string

	(mh_read_profile): Handle new profile variable "Decode-Fallback"

	 Use mu_decode_filter.

	Add missing gettext markers

	Fixed doc string

	(util_setenv): Special handling for decode-fallback variable

	Do not use $< in explicit rules

	(mu_decode_filter): New function
	(mu_default_fallback_mode): New variable.
	(mu_set_default_fallback): New function.

2004-06-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated call to filter_iconv_create()

	Fixed several bugs. Use an extra argument to filter_iconv_create
	to decide what to do if conversion fails (mu_iconv_fallback_mode).

	(filter_iconv_create): New prototype.

2004-06-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	A test program for filter_iconv

	Implementation of iconv filter streams.

	(rfc2047_decode): Implemented charset recoding using iconv

	(main): add LINK_POSTFLAGS

	Minor formatting fix

	(MU_STREAM_STRICT): New flag

	(MU_ERR_BUFSPACE): New error code

	(list_set_destroy_item): Minor fix

	(_file_read, _file_readline): Check for eof.

	Use MU_COMMON_LIBRARIES

	Check for iconv.h and iconv_t
	(MU_COMMON_LIBRARIES): New subst symbol

2004-06-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Bugfix

	Minor fixes

	Updated

	Removed

	minor fix

	Use new stream functions

	Minor fix

	(struct _stream._get_fd): Removed
	(_get_transport2,_wait): New methods

	(stream_get_fd)
	(stream_get_fd2,stream_set_fd): Removed
	(stream_get_transport2,stream_get_transport)
	(stream_wait,stream_set_get_transport2)
	(stream_set_wait): New functions

	(mu_fd_wait): New function

	(tls_stream_create)
	(tls_stream_create_client): Changed prototype

	(gsasl_stream_create): Changed prototype

	(mu_transport_t): New data type

	Use stream transport instead of fd

2004-06-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixed typo (loking too far into the  future?

	Updated

	Revise the usage of return codes.

	(MU_ERR_CONN_CLOSED,MU_ERR_PARSE): New error codes.
	(MU_ERR_NOENT): New error code. Use it instead
	of ENOENT to avoid misguiding diagnostics
	'No such file or directory'. Use ENOENT only for its
	direct purpose.

	Raised version number to 1.4.90

2004-06-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Remove guile.h. (reverses another part of changes made
	2004-01-10).

	(main): Bugfix: fields_count had wrong type.

2004-05-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Include mutil.h

	(mail_send0): Check ignoreeof variable for interactive sessions
	only.

	Correctly decode "Q" encoding.

	New implementation of RFC 2047 "Q" filter. Reorganized all
	functions.

	(mailbox/filter.c): Register rfc_2047_Q_filter

	(rfc_2047_Q_filter): New filter type.

2004-05-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(Mail Variables): Documented new variables.

	(main): Start interactive mode with an empty mailbox if
	'emptystart' is set.

	(mail_from0): Use Date: header if 'datefield' is set.

	Updated

	(argcv_scan): Honor escaped whitespace.

	(util_get_sender): Updated to match recent changes (see the
	previous entry).

2004-04-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	Updated

	Added daemon.h

	(sender,nosender): New commands

	Do not add X-Mailer if xmailer variable is unset.

	(mail_sender,mail_nosender,get_sender_address): New functions.

	(main): Changed initialization sequence. Set xmailer and default
	sender fields on startup.

	Documented new features

	Added variable and keyword index

2004-04-27  Wojciech Polak  <polak@gnu.org>

	Updated

	Include <mailutils/daemon.h>.

	(main): Call daemon_create_pidfile() if the -P or --pidfile=FILE
	option was specified.
	(daemon_param): Set initial NULL for the pidfile name.

	(daemon_param): Added *pidfile.

2004-04-26  Wojciech Polak  <polak@gnu.org>

	Added daemon.c

	Added new pidfile option.

	New file. PID file support.

2004-04-19  Jordi Mallach  <jordi@gnu.org>

	Typo fix

2004-04-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_get_user_email): Use mu_get_auth_by_uid() instead of
	getpwuid().

	(read_rc, mu_create_argcv): Do not bail  out if
	mu_tilde_expansion() returns NULL. There may be users without
	homedir.

	(mail_remote_LDADD): Add @AUTHLIBS@

	Use "auth" capability.

2004-04-14  Jordi Mallach  <jordi@gnu.org>

	2004-04-14  Jordi Mallach
		* examples/pop3client (pop_completion): Use
		rl_completion_matches.
		Fixes potential crash on 64-bit architectures.

2004-04-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Rewritten to drop the readline dependency.

	Add missing gettext marker

	Updated copyright date

	Add translators comment

	(main): Fixed diagnostics to better suit i18n.

	Make info text clearer.

	(smtp_send_message): Correctly handle long
	header lines. Fixes bug reported by William MacBain
	<macbain@ott-fortimail.dnsalias.org>

	Add AM_ICONV

2004-04-06  Jordi Mallach  <jordi@gnu.org>

	Updated French translation from the Translation Project.

2004-04-02  Jordi Mallach  <jordi@gnu.org>

	Updated French translation from the Translation Project.

2004-03-24  Jordi Mallach  <jordi@gnu.org>

	Updated French translation by Michel Robitaille.

2004-03-18  Jordi Mallach  <jordi@gnu.org>

	Update French translation.

2004-03-16  Jordi Mallach  <jordi@gnu.org>

	Added French translation by Michel Robitaille.

2004-02-09  Wojciech Polak  <polak@gnu.org>

	Fixed typo

	Updated

	(imap4d_starttls): Terminate the session after receiving an
	illegal TLS
	packet.

	(pop3d_mainloop): Terminate the session after receiving an
	illegal TLS
	packet.

2004-02-08  Wojciech Polak  <polak@gnu.org>

	Updated

	New file

	Updated to the current API.

2004-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(amd_envelope_date): Use Delivery-Date if X-Envelope-Date is
	not present.

	(MU_HEADER_DELIVERY_DATE)
	(MU_HEADER_ENVELOPE_TO): New macros.

2004-02-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	(_url_path_init): Missed typecast.

	(mail_if): 'if t'  is true is stdout is connected to a terminal.

	(maildir_message_cmp): Compare the
	rest of filenames if the timestamps are equal

	Update

	(.c.inc rule): Use texify.sed

	Added texify.sed

	 Include signal.h

	Include limits.h.
	(maildir_uniq): Use _POSIX_PATH_MAX if PATH_MAX is not
	defined.

	Include sys/time.h.

2004-02-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(maildir_message_lookup): Fixed bug
	(rc could have been used uninitialized). Thanks Wojciech
	for noticing
	(maildir_scan0): Fixed typo in notification loop.

2004-01-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(struct _mailer): Removed unused field properties_count.

	Updated copyright date

	(mail_remote_test):Added OPTION statement

	(imap4d_close): Return NO on failure.

	(mailbox_lock, mailbox_unlock): New functions.

	Added new test.

	New option -t (compatible with sendmail).
	Simplified the help message.
	(main): Restructured.

	Control the value
	of READ_RECIPIENTS property to decide whether the message
	should be scanned for recipient addresses.

2004-01-26  Wojciech Polak  <polak@gnu.org>

	Fixed

2004-01-25  Wojciech Polak  <polak@gnu.org>

	Fixed typo

	Updated and fixed.

	Reorganized. Added initial movemail, mail.remote, and MH.

2004-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Support for GSS. Submitted by Simon Josefsson.

	Use sorted message array with binary
	searches/inserts. This speeds up the mh/maildir
	operations considerably. Testing on a MH  folder
	with 6000 messages shows the following data:

		       Time of execution
		    List       Array+Bsearch	 %    Speedup (times)
	scan	    24.795     7.526	      30.3    3.294
	refile (to) 10.915     0.068	       0.6    160.514
	rmm	    10.893     0.105		 1    103.742

2004-01-21  Wojciech Polak  <polak@gnu.org>

	Cosmetics

2004-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Reverted to 1.13

2004-01-20  Wojciech Polak  <polak@gnu.org>

	Updated

	Major reorganization in the documentation.

	Added sieve.texi

2004-01-19  Wojciech Polak  <polak@gnu.org>

	Updated

	Updated

	(retrieve_header): Unfold the header, use
	header_aget_field_value_unfold().

2004-01-17  Wojciech Polak  <polak@gnu.org>

	Updated

2004-01-16  Wojciech Polak  <polak@gnu.org>

	Removed Maildir

2004-01-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mh_scan0): Removed misleading comment

	Added UID support.

	(mu_register_local_mbox_formats,mu_register_remote_mbox_formats):
	New macros.

	(namespace_checkfullpath): Preserve an eventual URL scheme
	specification.

	(main): Call mu_register_local_mbox_formats().

	Added local folder format support.

	(util_base64_encode): Bugfix. Patch submitted by Simon Josefsson.

2004-01-15  Wojciech Polak  <polak@gnu.org>

	Updated

	Minor. Use only one message style while debugging.

2004-01-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Forgotten "else"

	Updated

	Check for error return from mailbox_append_message

	Updated

	Minor fix in help output.

	(deliver): Truncate the stream back to its original size if an
	error occured.

	(mbox_append_message0): Truncate the stream back to its original
	size if an error occured.

2004-01-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Lots of changes for compatibility with ELM.

	Fixed comments

	Updated

	(action): Optimized select condition

	Implemented 'file:' URLs

	Include missing headers

	Improved handling of --select option

	(file.c): Removed

	File not needed anymore.

	(_url_path_init): Moved from ../url_path.c

	(url_file.c,url_path.c): Removed

	(_mh_is_scheme): Use mu_scheme_autodetect_p().

	(_maildir_is_scheme): Use mu_scheme_autodetect_p().

	(amd_url_init): Use mu_scheme_autodetect_p().

	(mu_scheme_autodetect_p): New function

	Removed file_record

2004-01-13  Wojciech Polak  <polak@gnu.org>

	Updated

	Fixed

	Use mu_error().
	(from_rfc2047_decode): New function.

	Use mu_error()

	(get_personal): Fixed

	(action): Use frm_rfc2047_decode() for the Subject: field too.

	Updated

	(util_rfc2047_decode): Test LANG if LC_ALL is null.

	(frm_rfc2047_decode): New function.
	(get_personal): Call the frm_rfc2047_decode().

2004-01-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Minor changes.

	Fixed indentation

	Auto-detection of MH format

	Removed url.c

	(_path_is_scheme): New
	function. Implements auto-detection for the "path" scheme.

	Removed url.c, added maildir.h

	(mkfilename): Renamed to maildir_mkfilename. Made external.

	Auto-detection of maildir format.

	Added to the repository

	Removed

	(_url_mh_init,_folder_mh_init,_url_maildir_init,_folder_maildir_init):
	Removed

	(amd_url_init): New function

	Added to repository

	Removed gsasl.h (reverses part
	of changes made 2004-01-10). Reason: unconditional inclusion
	causes compilation failure if libgsasl is not installed.

2004-01-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(amd_open,amd_close): Bugfix

2004-01-11  Wojciech Polak  <polak@gnu.org>

	Updated

	(mu-libs): Added libmu_maildir.

	Fixed

	Updated

	Added missing refcount.h.

	(main): Use mu_register_all_formats().

	(main): Use mu_register_all_mbox_formats().

2004-01-10  Wojciech Polak  <polak@gnu.org>

	Updated

	(main): Unified diagnostic messages.

	(main): Use mu_register_all_mbox_formats().
	(message_count): Improved diagnostics.

	Include <gsasl.h>.

	Added missing header files.

2004-01-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Restored accidentally deleted "Version 0.4" marker

	Documented new features.

2004-01-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added to the repository

	Updated

	(pop3d_mark_retr,pop3d_is_retr)
	(pop3d_unmark_retr): Added external declarations.

	Minor formatting change

	(mh_init): Use mu_register_all_formats

	(main): Use mu_register_all_formats

	(main): Use mu_register_all_mbox_formats

	(mu_register_all_mbox_formats)
	(mu_register_all_mailer_formats,mu_register_all_formats): New
	macros.

	Added maildir support

	Re-implemented via AMD.

	Added folder.c and url.c

	Added to the repository

	Implemented

	Added amd.h

	Added amd.c

	Abstract mail directory level.

	 (LIBMU_SCM_DEPS): Added maildir

2004-01-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Removed conflict indicator

	Updated

	Removed m4/Makefile.am

	Removed

2004-01-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(Re-)Added mailbox/getopt.c

	(sieve_action_stop); Restored zero assignment to pc. This is
	possible due to the changes to runtime.c

	(instr_run): Adjust pc before calling handler.

	(move_message): Improved diagnostics

	Use mu_true_answer_p()

	(mu_true_answer_p): New function.

	Updated

	(sieve_log_action): Updated call to mach->logger.

	Improved debugging messages

	(sieve_machine_destroy,sieve_machine_begin): Initialize and
	destroy source_list

	(push_source,pop_source): Include line info

	(list_locate): New function

	Brought in sync with recent changes to libsieve

	Default to --line-info=no

	(sieve_op_t.line): New member

	(instr_source,instr_line,sieve_get_locus): New functions

	(sieve_code_source,sieve_code_line): New
	functions.
	(sieve_code_action,sieve_code_test): Include line info before
	coding the instruction.

	(sieve_match_part_checker): Use extended regular expressions
	by default.

	(sieve_action_stop): Bugfix. Account for -4 offset.

	(sieve_locus_t): New datatype.
	(sieve_action_log_t): Changed type of the second argument.

2004-01-04  Wojciech Polak  <polak@gnu.org>

	Updated

	(mail_send): Bugfix. Removed free(p) and prevent from later
	segmentation
	fault.

2004-01-03  Wojciech Polak  <polak@gnu.org>

	Updated

	Added movemail/movemail.c

	(generate_dh_params): Adapt to GnuTLS >= 1.0.0.

2004-01-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(sieve-version): New function. Supports  the required --version
	option.

	Updated

	Fixed INTLINCS

	Updated

	Removed a too general implicit rule.
	It caused config.h to be rebuilt incorrectly.

	Reverted to mod_LTLIBRARY for numaddr.la

2004-01-03  Wojciech Polak  <polak@gnu.org>

	Updated

	(AC_PREREQ): Bump to 2.59.
	(AC_CONFIG_FILES): Added libsieve/extensions/Makefile.

	Require at least version 1.8.

	New file

	Updated. Added `noinst_LTLIBRARIES = numaddr.la'.

	Moved to ../libsieve/extensions/

	Added SUBDIRS = . extensions

	Moved from ../../examples/

2003-12-30  Wojciech Polak  <polak@gnu.org>

	Updated

2003-12-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Allow to use traditional Emacs
	invocation (password as the last argument) with usual
	Mailutils URLs.

	(spamd_test): Use EUID to determine user's identity.

	Updated

	--keep-messages option (an alias for -p)

	Minor fix

	(prog_stream_wait,start_program_filter)
	(_prog_close,_prog_open): Bugfixes

	Adapt for new locker functions.

	New locker options

	(enum mu_locker_set_mode): New data type
	(locker_set_default_flags): Changed declaration
	(locker_set_default_retry_timeout)
	(locker_set_default_retry_count)
	(locker_set_default_expire_timeout)
	(locker_set_default_external_program): New functions

	Close output stream

2003-12-29  uid65697  <uid65697>

	Updated

	Minor style fix

	Fixed first argument to socket()

	New option --message-id-header

	(main): Minor fix (do not use hardcoded log facility)

2003-12-28  uid65541  <uid65541>

	2003-12-28  Jeff Bailey  <jbailey@nisa.net>
		* doc/texinfo/Makefile.am: Use ../$(srcdir) instead of
		.. to
		support srcdir != builddir invocations of make html.

		* doc/texinfo/programs.texi: Provide sample invocation of
		mail.local.  Include note about virtual hosting.

2003-12-28  uid65697  <uid65697>

	Updated

	Minor changes for compatibility with the Emacs implementation.

	Updated

	Minor changes

	Aded movemail

	Added to the repository

2003-12-26  uid65697  <uid65697>

	Updated

	Minor fixes.

	Fixes to work with automake 1.8/autoconf 2.59

	Added to the repository

	Renamed to COPYING.LESSER

	Re-added to the repository

	Updated

	Added list.c

	Modified.

	New sieve extension test.

	Changed multiline doc string to
	a single-line one: gettext 0.13 is unable to handle
	translator comments with multiline msgids.

2003-12-25  uid65697  <uid65697>

	Minor change

	Updated

	Added translators' comment

	Inserted ^K in msgstrings

	Fixed version

	Addet to the repository

	New error codes

	Rewritten support for program
	streams. (filter_prog_stream_create): New function.

	Updated to synchronize with the changes dated 2003-12-04

	Updated (gettext 0.13).

	(filter_prog_stream_create): New function.

	(sieve_match_part_checker): Prototype.

	SpamAssassin interface for Sieve

	Added typecasts

	Added to the repository

	Added spamd.c

	Added murun.c

	Set AM_GNU_GETTEXT_VERSION(0.13).

	Updated

	Updated

	Updated

	Updated

	Updated

2003-12-25  uid66106  <uid66106>

	Added Romanian translation by Eugen Hoanca.

2003-12-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(sendmail_send_message): Don't close the descriptor if it happens
	to make part of tunnel pipe.

2003-11-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(argcv_escape_char,escape_copy): Bugfix

2003-11-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Remove trailing colon from the component name.

	Updated

	Updated calls to mh_argp_parse()

	(mh_argp_parse): Changed prototype.

	(rfc2047_decode): Bugfix.

	Updated

	Added missing includes

	(ali_verbatim): New function.

	Fixed grammar.
	(ali_member): Compare addresses if strcmp() fails.

	(pop_source): Always free ali_filename.
	Grammar: Bugfixes.
	(mh_alias_read): Provide a debugging hook
	(ali_verbatim): New function.

	(getcols): Return default of 80 columns if both ioctl() and
	getenv() fail.
	(ali_print_name_list): Bugfix.
	(main): In -user mode, print the argument verbatim if it
	is not a member of any alias.

	Be more liberal in parsing local parts.

2003-10-29  Jordi Mallach  <jordi@gnu.org>

	Updated Spanish translation by Cristian Othón Martínez Vera.

2003-10-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New command "sendheader"

	(mail_sendheader,send_append_header,send_append_header2)

	Implemented -a (--append) option. Rewrite the support for -s
	using -a.

2003-10-28  Alain Magloire  <alainm@gnu.org>

	updated.

	Only call msync() when the file is open with PROT_WRITE

2003-10-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Bugfix

2003-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Allow for full RFC822 addresses.

	Resolve a conflict between the angle bracket
	indicating file inclusion and the one starting a valid
	RFC822 address.

	(list_do): Rewritten using iterators.

2003-10-20  Jordi Mallach  <jordi@gnu.org>

	Translation updates from the Translation Project.

2003-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(options): Minor fix in help line wording.
	(pop3d_parse_opt): Fixed duplicate case.

	(login_delay_capa): New function.

	Indicate login-delay capability.

	(pop3d_fix_mark): Use only valid C comments.
	Fixed erroneous format specification.
	Format X-Expire-Timestamp value only if necessary.

2003-10-18  Jordi Mallach  <jordi@gnu.org>

	Removed lib/getopt.c.

2003-10-18  Alain Magloire  <alainm@gnu.org>

	updated.

	add expire to Makefile.am
	Add EXPIRE in capa.c
	new optio --expire in pop3d.c
	in update state set the new header in quit.c
	in retr.c mark the message Downloaded.
	new file.

2003-10-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed unneeded files

	Updated

	Added timestamp.c

	New file. Implements sieve extension test "timestamp".

	(pop3d): Documented new option.

2003-10-13  Wojciech Polak  <polak@gnu.org>

	New file

	Updated

2003-10-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(options): New option --permissions allows to override default
	permissions on the database file.

	Updated

	Couple of bugfixes

2003-10-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(builtin_formataddr): Fixed checking for duplicate addresses.

	Updated

	(pop3d_user): Call check_login_delay().

	(pop3d_quit): Call update_login_delay().

	(check_login_delay,update_login_delay): New functions.

	New options --login-delay, --stat-file

	Add logindelay.c

2003-10-11  Alain Magloire  <alainm@gnu.org>

	updated.

		configure.ac
	added int output: include/mailutils/sys/Makefile

		Makefile.am
	Add pop3client as a program
	pop3client.c :
		check for errors.

		pop/Makefile.am
	added the new functions pop3_*.c
	pop/pop3_readline.c
		use stream_sequential_readline()

		mailutils/Makefile.am mailutils/sys/pop3.h
	Remove offset field and use stream_sequential_readline().

		mailutils/sys/Makefile.am
	New files sys/pop3d.h should be install.

2003-10-10  Alain Magloire  <alainm@gnu.org>

		rfc3206.txt
	New publish rfc for POP3

2003-10-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use new pop3d_.*_deleted calls.

	(pop3d_mark_deleted,pop3d_is_deleted)
	(pop3d_unset_deleted,pop3d_undelete_all): New functions

	Handle undelete_on_startup flag.

	New option --undelete tells pop3d to undelete all delete messages
	on startup

	(mail_print): Pass MSG_SILENT flag

	Raised patchlevel number

2003-10-10  Alain Magloire  <alainm@gnu.org>

	Updated.

	declare list_to_array();

		list.c
	new function list_to_create

	updated.

	Use of attribute_xxx_userflag(attr, POP3_ATTRIBUTE_DELE)
	to mark deleted message.

2003-10-08  Alain Magloire  <alainm@gnu.org>

	updated.

	Use of mu_debug_t object scheme instead of reinventing the wheel.

	new field mu_debug_t in structure,
	we reuse the object mu_debug_t for tracing.

2003-10-07  Alain Magloire  <alainm@gnu.org>

	Correct some typos.

	updated.

	updated.

	Obscure the passwd.

	New file to deal with STLS.

	added declaration for mu_pop3_stls()
	New states to deal with STLS

2003-10-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added missing includes

	(mh_format_str): Added prototype.

	Minor fix in the help string.

	Bugfix

	(MU_HEADER): Prevent multiple inclusions.

	Added getopt.m4

	New file

	Moved getopt stuff to mailbox

	Raised version number to 0.4

2003-10-06  Alain Magloire  <alainm@gnu.org>

	updated.

	new file, example of the user of the POP3 low level public
	functions.

	.

	committed the right file now.

	forgot offet field.

	updated.

	Public fucntions for pop3.

	internal structure of the pop3 libary.

	First draft of the implementation of the public low level call
	to POP3

	updated.

	added new field destroy_item.

		* mailbox/list.c (list_destroy) : Call to
		list->destroy_item() when
		the data is free().
		(list_set_destroy_item): New function.

	new declaration:
	       extern int list_set_destroy_item __P ((list_t list, void
	       (*destoy_item) __P((void *))));

2003-09-27  Wojciech Polak  <polak@gnu.org>

	Updated

	Moved mailutils.spec.in to scripts.

	Moved to scripts

2003-09-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(_locker_destroy_private): Bugfix

	Fixed wording of the comment.

	(imap4d_search0): Use case-insensitive comparison

	Added missing include

	Moved fgetpwent to mailbox. It is needed by libmuauth

	Moved fgetpwent from AC_CHECK_FUNCS to MU_CHECK_FUNCS.

2003-09-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added missing includes.

	(util_slist_remove): New function.

	Default to "unfold subject"

	Added new command words.

	Rewritten.
	(mail_nounfold,mail_unfold)
	(mail_header_is_unfoldable): New functions.

	(mail_print_msg): Unfold the header value, if required.

	(mail_nounfold,mail_unfold,mail_header_is_unfoldable): New
	functions.

	Reflect the recent changes.

	(rfc2047_decode): Ignore whitespace between the encoded segments.

	(qp_decode): Bugfix. According to RFC underscore represents space.

	(munre_set_regex): Bugfix again.

2003-09-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added trailing newline

	(munre_set_regex): Bugfix.

2003-09-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Minor fix

	(_pop_user): Do not close the stream on authentication failures

	(imap_get_fd): Removed. Use imap_get_fd2 instead

	(authenticate_imap_sasl_anon): Fixed typo
	in debug output.
	(folder_imap_open): Issue LOGOUT if all the authentication methods
	have failed.

	(mh_format): Use header_aget_value_unfold when
	retrieving the header value.
	(builtin_decode): New function. Implements (decode).

	Documented "charset" mail variable

	Use util_rfc2047_decode for printing headers.

	(util_rfc2047_decode): New function.

	(main): Set default value for the "charset" variable

	(mail_from0): Use util_rfc2047_decode for "From" and "Subject"
	headers.

	(mu_charset_lookup): New function.

	Added locale.c

	New file. Contains locale-dependent functions.

2003-09-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	(mh_read_profile): Read Reply-Regex

	(mh_set_reply_regex): New function.

	(builtin_unre): Use munre_subject()
	(builtin_isreply,builtin_reply_regex): New functions

	(run_editor): Fixed return type.

	(util_reply_prefix): New function

	(struct argp_option options): Removed irrelevant OPTION_DOC.
	(main): Set default replyprefix

	Use munre_subject() and util_reply_prefix().

	(munre_set_regex,munre_subject): New functions.

	Added to the repository

	Moved from lib/ to mailbox/

	Removed

	Moved to /headers

	Moved from include/mailutils/gnu

	New file

	Fixed INCLUDES

	Use MU_HEADER and MU_FINISH_LINKS where needed

	(MU_HEADER,MU_FINISH_LINKS): New macros

	Added headers

2003-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	(process_cleanup): New function

	Updated

	(pop3d_daemon): Collect finished children synchronously.

	(process_cleanup): New function

	(_mh_message_delete): Zero out the
	msg_pool slot occupied by the message being deleted.
	(mh_pool_lookup): On success return the address of the
	msg_pool slot.

2003-09-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(opt_handler): Force RCPT_ALL if --group is given.

2003-09-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(authenticate_imap_login): Do not
	close the stream on authentication failures.
	(authenticate_imap_select): Bugfix
	(imap_parse): Use MU_ERR_AUTH_FAILURE where appropriate.

2003-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(rmf): Bugfix.

	(folder_pop_get_authority): Return an appropriate error code.

	Allow user to specify several possible
	authentication methods after AUTH= (an extension to RFC 2192).
	(folder_imap_get_authority): Select an appropriate authentication
	mechanism if AUTH=*, as suggested by RFC.

	(mailbox_create): Bugfix. Return failure if the folder cannot
	be created.

	(authority_authenticate): Authentication methods are now stored
	as a list.

	(struct _authority): Keep a list of authentication methods.

	(MU_ERR_BAD_AUTH_SCHEME,MU_ERR_AUTH_FAILURE): New error codes.

	Updated

	(read_capa): New function.
	(check_capa): Call read_capa.
	(authenticate_imap_login): Check for LOGINDISABLED.
	(tls): Reread the capabilities after successfull TLS
	negotiation.

2003-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(address_aget_personal): Added missing prototype.

2003-09-05  Wojciech Polak  <polak@gnu.org>

	Updated

	(tickets_default): New variable.
	(main): Check the tickets_default.

	Moved stat() (checking the file permissions) to wicket_create().

2003-09-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use mu_strerror.

	(push_source): Honor Path variable.

	(main): Bugfix. Lists were not initialized.

	Fixed indentation.

	(mu_fcheck_perm, mu_check_perm): Return
	MU_ERR_UNSAFE_PERMS when appropriate.

2003-09-04  Wojciech Polak  <polak@gnu.org>

	Forgot to remove 'status'.

	Updated

	(get_ticket): Check file permissions.

	Added MU_ERR_UNSAFE_PERMS.

2003-09-02  Wojciech Polak  <polak@gnu.org>

	Updated

	(pop_get_message): Check UIDL capability before using pop_uidl().

2003-09-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(qp_decode): Fixed bug that could overflow the receiving buffer.

	Fixed description of --file argument.

2003-09-02  Wojciech Polak  <polak@gnu.org>

	Updated

	Check return code from msgset_parse to prevent segmentation fault.

2003-09-01  Wojciech Polak  <polak@gnu.org>

	Updated

	Added startup notification.

2003-08-30  Wojciech Polak  <polak@gnu.org>

	Updated

	(POP_AUTH_USER_ACK): Protect password in debug mode (PASS ***).

	(mu_check_tls_environment): Improved diagnostics.

2003-08-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Destroy the mailbox if the attempt to open it has failed.

	(_pop_user): Send QUIT before dropping the connection. Provide
	a better diagnostics.

	Provide a better diagnostics.

	(ticket_pop): Fallback to command line
	prompt if _pop() failed and stdin is connected to a terminal.

	(mailbox_flush): Test the first argument.

	(MU_ERR_NOUSERNAME,MU_ERR_NOPASSWORD): New error codes.

	(pop3d_abquit): Flush and close the mailbox
	only unless we're not in the AUTHORIZATION state.
	Do not attempt to write to the output stream if a signal was
	caught.

	(imap4d_signal): Minor fix

	Do not attempt to write to the output stream if a signal was
	caught.

2003-08-29  Wojciech Polak  <polak@gnu.org>

	Updated

	(pop_capa): New function. Moved CAPA support to pop_capa.
	Conform to RFC 2595: reissue CAPA after successful STLS
	negotiation.
	(tls): Renamed to pop_stls().

2003-08-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(util_run_events): Use iterator instead of
	list_do. Iterators are safer.

	(_auth_lb_writelines): New function.

	Lots of fixes.

2003-08-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added

	Minor wording change.

	(struct _stream): Changed _get_fd member.

	(struct _f_imap): New members capav and capac to hold the array
	of capabilities

	Fixed _get_fd methods.

	(stream_get_fd2): New function.
	(stream_set_fd): Changed type of the second arg.

	Added missing includes

	Fixed _get_fd methods

	Adopted _LDADD for the new library layout.

	Moved Kerberos libs to SERV_AUTHLIBS.

	Changed the order of SUBDIRS

	Modified for the new library layout.

	(tls_stream_create_client)
	(tls_stream_create_client_from_tcp): New functions.
	(mu_tls_enable): New variable

	Include tls.h

	 Use "tls" command line capability.

	(ISPRINT): Fixed.

	 Implemented client side TLS.

	(imap_expunge): Use EXPUNGE instead
	of closing and reopening the mailbox. This way the user
	is not prompted twice for his credentials. Besides, it
	appears to be faster, in spite of what the comment before
	the function said.

	Implemented client side TLS

	--link part rewritten to reflect the new library layout.

	Changed target to lib_LTLIBRARY

	Moved mailbox/mbx_file.c to mailbox/mbox/file.c

	Use lbuf stuff

	Implemented client TLS stream

2003-08-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added 2003 year

	Updated

	Updated for the new contents of mbox1

	Added fifth message for testing empty MIME parts.

	Print the number of lines along with the message sizes.

	(_mime_parse_mpart_message): Allow for empty part body.

2003-08-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Bugfix.

	Handle aliases.

	Switch to +inbox after deleting the current folder.
	Improved diagnostics.

	(mh_alias_expand): New function
	(scan_addrs): Expand aliases

	(struct _mhdraft_message.body_start,body_end):
	Changed type to off_t.

	(mh_getyn): Bugfix

	(mh_global_sequences_drop): New function

	(yyerror,yylex): Forward declarations.
	(alias_expand_list,mh_alias_get_internal)
	(mh_alias_get_address): Get an extra argument (for handling
	";" aliases).

	(yyparse): Forward declaration.

	Added new protos

	(create_flag): A three-state flag.
	(_scan): Fixed behavior on non-existing folders.

	(query_mode): Unused variable

	(main): Minor change.

	(smtp_send_message): Use header
	Use header
	and body streams sequentially instead of using message
	stream. This allows to catch the modified/added headers.

	(sendmail_send_message): Use header
	and body streams sequentially instead of using message
	stream. This allows to catch the modified/added headers.

	Added missing include

	(address_format_string): Missed prototype.

	(mta_send): Fixed printing of envelope to addresses.

2003-08-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Minor cleanup

	Added support for aliases.

	Fixed year in the copyleft header.

	(scan_addrs): Added support for aliases

	(mh_alias_read,mh_alias_get)
	(mh_alias_get_address,mh_alias_get_alias)
	(mh_alias_get_address,mh_alias_get_alias)
	(mh_read_aliase,smh_alias_enumerate): New functions.

	Added new files

	(list_insert): New function.

	(iterator_dup): New function

2003-08-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(argcv_unescape_char,argcv_escape_char): New functions.

	Fixed handling of escape sequences in
	strings. Thanks Fabrice Bauzac <fabrice.bauzac@wanadoo.fr>
	for reporting.

	(expand_escape): Use argcv_unescape_char() instead of backslash().

2003-08-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	(_mh_msgset_parse): Fixed the semantics of last:N and prev:N.

	(builtin_in_reply_to): Bugfix.

	Implemented -group.

	(mhlib_DATA): Added components and replgroupcomps.

	New file.

2003-08-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use ml_readline_with_intr() when prompting for header fields.

	(ml_readline_with_intr): New function.

	Updated

	Updated.

	(main): If the send mode was interrupted by
	the user, exit with zero status if mailx is set.

	(pop3d_abquit): Flush message headers.

	Updated

	Added entry about `mailx' variable

	Document `mailx' variable.'

	(mail_send, mail_send0): Use `mailx'
	to control mailx compatibility mode. Thanks Peter S Galbraith
	<p.galbraith@globetrotter.net> for the idea.

2003-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mh_getopt): Implemented -version option.

	(mh_global_profile_iterate): New function

	Added mhparam

	Updated

	(mail_send0): Fixed typo in variable name.

2003-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Use mh_interactive_mode_p().

	(mh_interactive_mode_p, mh_getyn_interactive)
	(mh_vgetyn): New functions.
	(mh_real_install): Use mh_getyn_interactive().

	(mh_interactive_mode_p, mh_getyn_interactive): New functions.

	Added components

	Updated

	(mh_seq_add): Update current_message if the sequence being set is
	"cur".
	Free temporary storage.

2003-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Display "no messages in ..." warning for empty folders.

	(_scan): Prompt for creating the folder unless --create was given.

	Updated

	(list_message): Output an extra newline only
	if the formatted buffer does not ends with one.

	Updated

	(main): Convert msgset to uids.

	(mh_msgset_uids): New function.

	Updated

	Improved

	(print_simple_segment): Bugfix.

	(run_editor): A wrapper around mail_execute().
	(var_shell): Use run_editor.

	(mail_execute): New function.

2003-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): set rc by default

	Fixed the misleading comment

	Updated

	New option --format.

	(mh_format): Count the newline as output
	character (for compatibility with other implementations).
	Set arg_num whe evaluating headers.
	(mh_format,mh_format_dump): Handle mhop_nop.

	(fi production): Preserve the result of the last comparison.

	(enum mh_opcode): New opcode mhop_nop.

2003-08-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(opt_handler): Added missing support for
	-format option. Thanks Peter S Galbraith
	<p.galbraith@globetrotter.net> for reporting.

2003-08-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	use header_get_value_unfold

	(FAST_HEADER): Do not remove intermediate newlines from the
	folded headers.

	(mu_string_unfold): New function.

	(header_get_value_unfold)
	(header_aget_value_unfold,header_get_field_value_unfold)
	(header_aget_field_value_unfold): New functions.

2003-07-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed --with-mysql, --with-postgres

	(insert_quoted): Minor change

	Implemented boolean shortcuts for ALLOF and ANYOF

	(sieve_code_anyof,sieve_code_allof): New functions.
	(instr_allof, instr_anyof): Removed

	(instr_nop): New function
	(instr_allof, instr_anyof): Removed

	(sieve_code_anyof, sieve_code_allof): New functions.
	(struct check_arg): Minor change

	Reflect changes to mu_auth_fp

	(mu_strcasestr): New function.

	(struct sieve_runtime_tag): Minor change.

	(mu_auth_fp, mu_auth_runlist): Changed prototypes.

	(pop3d_bye): Added missing prototype

	(mu_auth_runlist,mu_auth_nosupport): Changed type of the first
	argument.

	(is_proto): Minor change

	include <mailutils/stream.h>

	(iterator_get_list): Minor change

	(lazy_create): Removed unused function.

	(ml_readline, readline): Removed const from the declaration.

	(i_ascii_casemap_contains): Reimplemented via mu_strcasestr()

	Documented boolean shortcuts

	(util_strcasestr): Reimplemented via mu_strcasestr()

	(send_parameter_list): Minor change

	(comp): Minor change

	(INCLUDES): Add mailbox (for getline.h)

2003-07-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	mh/Makefile.am (mh_finish_install): Fixed. Thanks
	Andreas Voegele <voegelas@gmx.net> for the patch.

	Implemented escaping/unescaping of non-printable characters

2003-07-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added list.exp

	New file. Tests generic list operations.

	(mailbox_prog_start)
	(mailbox_prog_command,mailbox_prog_stop,mailbox_prog_test): New
	functions.

	(struct _list): Keep the linked list of associated iterators.

	(struct _iterator): Rewritten
	(iterator_advance): New function.

	(list_remove): Call iterator_advance.

	Rewritten to reduce the time of list traversal.

	 (iterator_get_list): New function.

	Added listop.c

	New file. A test shell for list operations

2003-07-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Started entry for 0.3.2

	 Raised version number

	Provide more extensive diagnostics.

	Bugfix.

2003-07-05  Jordi Mallach  <jordi@gnu.org>

	Added Polish and Russian translations from Sergey.

2003-07-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(deliver): Bugfix: do not pass size_t instead of off_t.

	(notify_user): Bugfix: do not pass size_t instead of off_t.

	Minor indentation fix.

2003-06-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New option --create

	(mu_auth_register_module): Fixed memory overrun.

2003-06-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(util_cache_command,util_run_cached_commands): New functions.

	(parse_opt): Use util_cache_command, except
	for -n, which should be executed immediately.
	(main): Run cached commands after sourcing the startup files.

	Minor change.

	File not relevant anymore.

2003-06-23  Alain Magloire  <alainm@gnu.org>

	updated.

	First draft documenting the API of the lower POP3 implementation
	rewrite.

2003-06-21  Wojciech Polak  <polak@gnu.org>

	I forgot about the acknowledgement. Sorry.

	Updated

	Major changes. Added new packages, changed package names.

2003-06-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(store_handler): Fixed indentation.

	Added COPYING.DOC.

	Moved COPYING.FDL to doc/texinfo/COPYING.DOC

	Minor change.

	Changed AUTOMAKE_OPTIONS, added COPYING.LIB to EXTRA_DIST.

	A hack to force automake to install COPYING file.

2003-06-10  Jordi Mallach  <jordi@gnu.org>

	Catalan & Spanish update.

2003-06-07  Wojciech Polak  <polak@gnu.org>

	Updated

	Added MSGID_BUGS_ADDRESS.

	Added nls.m4 and po.m4.

	(AM_GNU_GETTEXT_VERSION): Bump to 0.12.1.
	(INTLINCS): Added `-I../intl'.

2003-06-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

2003-06-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(fetch_internaldate): Bugfix. Coredumped on invalid dates.

2003-05-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(store_handler): Honor the "name" attribute of the Content-Type
	header.

2003-05-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(_message_is_external_body): Check subtype before dereferencing
	it.

	Added entry for 0.3.1

	(auth_gssapi): Check return codes from gss_wrap, gss_unwrap.

2003-05-25  Alain Magloire  <alainm@gnu.org>

	ChangeLog: updated.
	configure.ac : Check "long long" and "long double"

	update.

	Implement %lld, %qd and %Lg for snprintf

2003-05-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(auth_gssapi): Do not output surplus text after the '+'.
	Don't use strdup as the username is not zero terminated.

	Thanks Simon Josefsson for the patch.

2003-05-19  Wojciech Polak  <polak@gnu.org>

	Updated

	Moved variable `capa' to struct _pop_data.

2003-05-15  Wojciech Polak  <polak@gnu.org>

	Updated

	Added the CAPA support (to determine any protocol extension).

2003-05-11  Wojciech Polak  <polak@gnu.org>

	Updated

2003-04-30  Wojciech Polak  <polak@gnu.org>

	Updated

	Added auth/mysql.c and auth/pgsql.c.

	Changed @dircategory according to the GNU Directory.

2003-04-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Adjusted for use with new AC_CHECK_ macros.

	(mu_conf_option): Reflect HAVE_PGSQL

	Include <mailutils/types.h>, protect the file contents by #ifndef
	.. #endif

	Moved mysql-specific code to mysql.c

	Added new files.

	Renamed --enable-mysql to --with-mysql. Added
	--with-postgres option.
	Use AC_FUNC_MALLOC and AC_FUNC_REALLOC instead of old jm_*
	versions.

	Documented --with-mysql and --with-postgres

	*** empty log message ***

	Added to the repository

2003-04-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(imap_literal_string): Bugfix. Literal length may be {0}.

2003-04-18  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan translation.

2003-04-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(imap_string): Bugfix. Handle numbers in the input

	(mhn_store_command): Bugfix. Properly use message part numbers.

2003-04-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(qp_decode): Bugfix.

2003-04-04  Jordi Mallach  <jordi@gnu.org>

	Spanish translation update from Cristian Othn Martnez Vera.

2003-04-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Set LC_ALL to C before proceeding.

	Use custom ISPRINT macro so we don't depend on the current
	locale settings.

2003-04-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(normalize_path): Bugfix.

2003-03-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Use mu_argp_init.

	Updated

	Added Timothy Carpenter

	(i_ascii_casemap_contains): Fixed obsolete label usage.

	(struct message_set): Changed type fo msg_part to size_t.

	include <sys/types.h> (necessary for Darwin).

	(mu_argp_init): New function.

2003-03-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mhn_store_command): If no message part is available
	ignore %p and %P metacharacters.
	(store_handler): Unlink the file if it exists.

	Include <mailutils/nls.h>

	[!ENABLE_NLS]: Provide defines for dgettext and ngettext.

	(_hexdigits): Must be zero-terminated,
	otherwise the native Darwin linker refuses to load it.
	(qp_decode): Bugfix: in accordance with rfc1892 a sequence
	of whitespace is allowed in an encoded string provided that
	it is followed by a printable character.
	(qp_encode): Preserve trailing whitespace.

2003-03-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(builtin_formataddr): Bugfix.

	(main): Ignore sighups.

	(mu_auth_data_alloc): Fixed COPY macro.

	Updated

	(mh_option): Bugfix

	Print information about the external body parts.

	(_mh_msgset_parse): Accept "all" message spec on folders with
	only one message.

	(builtin_concat): Extra safety check
	(builtin_in_reply_to,builtin_references): Check return value
	from the underlying library calls.

	(mu_rfc2822_references,mu_rfc2822_in_reply_to): Return
	MU_ERR_FAILURE on error.

	(MU_ERR_FAILURE): New macro

2003-03-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(stream_getline,parse_content_type): A couple of bugfixes.

	Updated

	Use ARG_UNUSED where necessary

	(ATTRIBUTE_UNUSED): Renamed to ARG_UNUSED to avoid confusion.

	Implemented external-body.

2003-03-22  Jordi Mallach  <jordi@gnu.org>

	Added parsedate.y to EXTRA_DIST.

	Updated Catalan translation.

2003-03-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_parse_date): New function.

	(mail_from0): Bugfix.

	Implemented --after and --before.

	Updated.

	Minor formatting change.

	Added to the repository

	Raised version number to 0.3.1
	Define macro ATTRIBUTE_UNUSED.

2003-03-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated.

	 Recognize mhn-compose-* profile components.

	Updated

	Fixed --mime mode.

	Implemented #forw directive.

2003-03-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor changes for consistency with the overall GNU mh options
	layout.

	Updated

	(mh_create_message_id): Minor change.

	Implemented basic editing functionality.

	(base64_encode): Bugfix.

	Added rfc1521.txt

	Added to the repository

	Updated

	Use mh_create_message_id().

	 (mh_create_message_id): New function.

	 Added framework for compose mode.

2003-03-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Implemented store mode.

	(eval_body,mhl_format_run): MHL_DISABLE_BODY bit inhibits the
	'body:' keyword.

	(MHL_DISABLE_BODY): New flag.

2003-03-16  Wojciech Polak  <polak@gnu.org>

	Added muint.info*

	Updated

	Minor, changed GDBM to GNU DBM.

	(mh_getyn, mh_real_install): Added an extra space after the
	question
	marks.

	Updated copyright.

2003-03-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated invocations of mhl_format_run().

	Bugfix. Thanks Wojciech for noticing!

	(mhl_format_run): Changed declaration.
	(eval_body): Decode message body on request.

	Updated.

	(mhl_format_run): Changed prototype
	(MHL_DECODE,MHL_CLEARSCREEN,MHL_BELL): New defines.

	Implemented --mime.

	Added mhn

	Implementation of mhn utility

2003-03-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added new files.

	(scan_addrs): Bugfix.

	(_body_readline,_body_stream_size): Bugfix.

	(mh_comp_draft,check_draft_disposition): New functions.

	(format_str,check_draft_disposition): Removed
	(main): Use mh_comp_draft().

	Added forw utility

	Added to the repository

	Reformatted in Emacs outline mode

2003-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added missing files.

	Added mailbox/ subdirectories

	Moved from ../

	'Moved from ../'

	Added to the repository

	Moved to the corresponding subdirectory

2003-03-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Use 'draft' by default

	(draft_name): Removed.

	(whom): Use mh_whom.

	(mh_draft_name): New function.

	 Updated

	(mh_draft_name,mh_whom): New functions.

	Added to the repository

	Added 'whom'.

	(mu_sql_authenticate): Bugfix.

2003-03-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added sortm

	New file. Source for the sortm utility.

	use ngettext

2003-03-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added missed files.

	 Minor changes.

	Added rules to generate muint.info

	New file. Root for the "Mailutils internals" manual.

	New option --with-included-argp

	Documented --with-included-argp

2003-02-27  Alain Magloire  <alainm@gnu.org>

	updated.

	Draft explanation of the MOM(Mailutils Object Model)

2003-02-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added to the repository

	Added testsuite for mailcap

	Added mailcap.c

	Removed auto-generated file

	Fixed indentation, adopted for 80-column screen.

	Added missing prototypes, protected
	argument decls with __P and the whole stuff with extern "C".

2003-02-24  Alain Magloire  <alainm@gnu.org>

	updated. and remove of trailing spaces.

	simple thread-safe implementation of refcount.

	Simple thread-safe implementation of reference count.

	updated.

	Define the mailcap structure in types.h
	and include <types.h> in mailcap.h

	updated.

	include <mailutils/mailcap.h>
	And added mailcap.c in the library.

	added mailcap.h

		Makefile.am framework.texi
	Include mailcap.texi
		mailcap.inc mailcap.texi
	Document the mailcap functions.

2003-02-23  Alain Magloire  <alainm@gnu.org>

	updated.

2003-02-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Moved .*_to_message stuff to mh_stream.c

	Ignore Fcc.

	(_mh_message_save): Bugfix

	Fix up the folder dir by appending a format specifier (mh:/)
	to it.

	Fixed expanding of the draftfile name

	Minor change.

	(parse_opt): Pass the argument to ARG_FOLDER without the leading
	'+'.

	(action_print): Minor change

	(plus_expand): Bugfix

	Handle Fcc headers.

	(MU_HEADER_FCC): New macro

2003-02-22  Alain Magloire  <alainm@gnu.org>

	 Added Files:
		mailcap.h
	First implementation of rfc1524.

	Added Files:
		mailcap.c
	First implementation of rfc1524.

2003-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Reflect changes to mailbox/date.c

	Updated

	(mh_stream_to_message): Use MH draft streams.

	(mhdraft_stream_create): New function.

	Added to the repository

	Execute default programs using full path specification.

	Do not mark current folder when in fast mode

	Updated.

	(wdays): Two typos! Ouch...

	Install binaries into a separate directory to prevent namespace
	pollution.

	New option --with-mh-bindir sets installation directory for
	MH binaries

2003-02-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Minor change

	(opt_handler): Removed superfluous case '+'

	(parse_opt): Call the handler with ARG_FOLDER  key if argument
	starts with +.

	New option --copy.
	Properly handle trailing folder names. As a side-effect
	it accepts messages and folders given in any order. Good!

2003-02-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(builtin_me): Enclose the address in <> brackets.
	(builtin_formataddr): Minor fix.
	(builtin_tab): Fixed optarg column.

	(mh_code_builtin): Minor fix.

	(MHA_REQUIRED,MHA_OPTARG,MHA_OPT_CLEAR): New defines.

2003-02-18  Jordi Mallach  <jordi@gnu.org>

	Spanish update.

2003-02-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Minor changes

	Add vsyslog.c

	Provide a replacement for vsyslog

2003-02-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use $< only in implicit rules. Non-gnu implementation of make
	expand
	it to a null string if used within an explicit rule.

	Updated

	Changed invocation of mh_argp_parse and updated the definition
	of opt_handler.

	Added $(top_srcdir)/mailbox to INCLUDES.

	Added check for declaration of strerror.
	Raised version number to 0.3

	Advice on how to use mail.local with SQL authentication.

	Minor change.

	Implemented

	Updated.

	(parse_opt): Pass argp_state to the handler
	(my_argp_parse): Changed declaration. The new argument `flags'
	is accepted. Use my_argp_parse() wrapper instead of argp_parse().

	(mh_seq_add, mh_seq_delete, mh_seq_read): New functions.

	Added new files. Provide for multiple parsers within an
	application.

	Added to the repository

	(stream_seek): Fixed type of size auto variable.

	Added a clarifying comment.

	Include <mailutils/error.h>

	Declaration of check_set().

	(util_noapp): Added prototype.

	Include <getline.h>

2003-02-14  Wojciech Polak  <polak@gnu.org>

	Updated

	Added auth/tls.c

	Updated copyright year.

2003-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Get personal data from the value of the profile
	component "signature" or from the environment variable
	SIGNATURE.

	Fixed copyright year.

	(mh_real_install): Create inbox

	Added pick

	A framework for pick command

	(undelete0): Set cursor if it is zero.

	Skip deleted messages.

	Bugfix. Asterisk should not select deleted messages.

	Updated

	Added more files.

	(builtin_formataddr): Rewritten to prevent formatting the
	duplicate addresses.
	(builtin_putaddr): Use print_hdr_string to format output string.

	Added rules for generating mailutils-mh.el

	New file. Source for mailutils-mh.el -- an elisp module that
	configures
	mh-e.el for use with mailutils.

	(address_get_nth): New function. Get Nth subaddress from an
	address.

	New option --enable-mh-utils.
	Added check for Emacs lisp directory

2003-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updates

	Updated

	Use mh_.*_to_message.

	Handle --filter argument.

	Finished

	(mh_format_str): New function.

	(mh_format_parse): Bugfix. Initialize prog to zero.

	(mh_file_to_message,mh_stream_to_message): New functions.

	(mh_file_to_message,mh_stream_to_message): New functions.
	(mhl_format_compile,mhl_format_run,mhl_format_destroy): New
	functions.

	Added new ARG_ macros.

	Use ARG_ macros instead of single-char option letters.

	Added to the repository

	(message_size): Bugfix. Retrieve
	the header and the body with appropriate calls instead of
	addressing corresponding members of the message_t structure.

	(_mh_message_save): Check if the envelope date has a newline.

	(stream_seek): New function.

	(imap4d_append): Bugfix.

2003-02-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added mhl

	Added entry for version 0.3

	Added new ARG_ macros.

	Updated.

	Added mhl mh/Makefile.am

	A framework for mhl program.

	(prog_stream_create): New function.
	Creates a stream connected to the stdin or stdout of
	a given program.

	Updated

	(mh_is_my_name): Honor Alternate-Mailboxes variable, use wildcard
	matching.

	(builtin_formataddr): Do not include own email unless RCPT_ME
	is set.

2003-02-11  Wojciech Polak  <polak@gnu.org>

	Updated

2003-02-10  Wojciech Polak  <polak@gnu.org>

	Updated

	Fixed copyright to Lesser GPL.

	Changed `--ssl-key' arg to FILE type.

2003-02-10  Frederic Gobry  <frederic.gobry@smartdata.ch>

	fixed bad buffer overflow

	fix handling of utf-8 charset

2003-02-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use mh_annotate

	(mh_annotate): New function.

	(mh_expunge, mh_save_attributes): Bugfix

	(cmp_msgnum): Minor change

	Updated

	Added install-mh, anno and mark

	Added new files.

	Add from: header to the outgoing message.

	Fixed option handling

	Added ARG_ macros.

	(mh_context_iterate): New function.

	(mh_context_iterator): New type.
	(mh_open_msg_file): Changed declaration.
	(mh_install, mh_global_context_iterate)
	(mh_global_sequences_iterate,mh_context_iterate)
	(mh_usedraft): New functions.

	Implemented push command.

	(mh_install_help, mh_real_install,mh_install): New functions.
	(mh_open_msg_file): Rewritten.

	(mh_auto_install): New global.
	(mh_read_profile): Call mh_install() if necessary.

	Added to the repository

	(_mh_message_save): Bugfix;
	(mh_save_attributes): Implemented

	(MU_HEADER_ENV_SENDER,MU_HEADER_ENV_DATE): New macros.

2003-02-10  Wojciech Polak  <polak@gnu.org>

	Fixed typo in program name.

	Fixed copyright.

	Fixed copyright to Lesser GPL and updated FSF address.

2003-02-09  Wojciech Polak  <polak@gnu.org>

	Updated FSF address.

	Fixed copyright to Lesser GPL and updated FSF address.

	Fixed copyright to Lesser GPL.

	Updated FSF address.

2003-02-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Implemented basic functionality.

	(open_source): Removed in favor of mh_open_msg_file().

	(mh_usedraft): New function.

	(mh_open_msg_file): New function. Based on refile.c:open_source().

	Added new includes.
	(mh_open_msg_file,mh_usedraft): New functions.

	Updated

	 (struct mh_option): Removed longopt member

	(struct mh_option): Removed "longopt" member.

	Implemented refile command.

	Added send

	A framework for send utility.

	(mu_spawnvp): Bugfix, PROG was not used.

	(_mh_message_save): Allow for mh-specific delimiter (a string
	of dashes) between the headers and the body.

	(main): Added return statement.

2003-02-08  Wojciech Polak  <polak@gnu.org>

	Updated

	Added info about WITH_GNUTLS and WITH_GSASL to the `General
	Information'
	node.

2003-02-07  Frederic Gobry  <frederic.gobry@smartdata.ch>

	additional comments for the code

	fixed stupid copy/paste bug

	implemented rfc2047 encoder

2003-02-06  Wojciech Polak  <polak@gnu.org>

	Updated

2003-02-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(lazy_create): Removed. Use mu_tempname() instead.

	(build_mime): Call message_unref.

2003-02-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(opt_handler): Removed unused variable

	(pop3d_abquit): Added missing argument	to syslog

	Updated

	Added missing includes.

	(print_hdr_segment): Count a tab for eight spaces.
	(builtin_concat): Compress whitespace before further processing.

	(mailutils_config_CFLAGS): Added -I${top_srcdir}/lib.

	(prog_mda): Removed unused variables.

	Added missing typecasts.

	Added missing includes

	[!WITH_PTHREAD] (STATIC_UNLOCK): expand to empty string to avoid
	spurious warnings

	include <mu_asprintf.h>

	(list_set_comparator): Bugfix.

	 (_file_strerror): Changed prototype

	(struct _stream): Changed declaration of _strerror method.

	(stream_set_strerror,stream_strerror): Changed prototype

	(util_set_input, util_set_output): Bugfix

	(imap4d_bye0): Added missing argument to syslog.

	(create_gsasl_stream,gsasl_replace_streams): Fixed declarations.
	(auth_step_base64): New function. A wrapper around
	gsasl_server_step_base64 to cope with GSASL_TOO_SMALL_BUFFER
	error code.
	(auth_gsasl): Use auth_step_base64(). Output any surplus
	data returned with GSASL_OK code (proposed by Simon Josefsson
	<jas@extundo.com>)

	Removed include <mailutils/argp.h>

	(_tls_strerror): Fixed declaration.

	(buffer_grow, _gsasl_strerror): Fixed declarations.

	Removed leftover AUTH_AUTHOBJS from LIBADD

2003-01-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Changed printstr to printhdr.

	(pop3d_sigchld): Don't try to print to stdout if SIGPIPE received.

	(pop3d_readline): Fixed misguiding diagnostics. Check for eof.

	New command line option --debug.

	(mh_read_formfile): Bugfix.

	Use printhdr.

	Updated calls to mh_format.
	(format_str): Use printhdr.
	(make_draft): Disable interactive prompting when build_only
	flag is set.

	Updated calls to mh_format

	(mh_format_debug): New function.

	(mh_format): Use dynamically allocated buffer.
	(builtin_printstr): Removed.
	(builtin_printhdr): New function.
	(builtin_putnum,builtin_putnumf,builtin_putstr,builtin_putstrf).

	(mh_format): Changed declaration.
	(mh_format_debug): New function.

	(_file_readline): Make sure the terminal zero is always added.

2003-01-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed wording of OK message.

	(rfc2047_decode): Bugfix.

2003-01-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed year

	Added rfc2047.exp

	Testcase for decoding rfc 2047 strings.

	Added RFC2047

	New file. Test data for rfc 2047

	(rfc2047_decode): New function.

	(MU_ERR_BAD_2047_INPUT): New error code.

	Added decode2047.c

	New file. Test program for rfc2047 decoder functions.

	Added rfc2047.c

	Initial implementation of rfc2047_decode. Based on input from
	Kidong Lee <brian@ahmlhs.com>.

	Do not wait for 'DONE' command longer than timeout seconds.

2003-01-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Reflect IDLE capability.

	Removed misleading comment

	(util_wait_input): New function.

	(imap4d_idle, util_wait_input): New functions.

	Added entry for IDLE command.

	(imap4d_capability_init): Announce IDLE capability.

	Added imap4d/idle.c

	Implements IDLE command  (rfc 2177)

	(_tls_get_fd): New function.
	(tls_stream_create): Install _get_fd method

	(_gsasl_get_fd): New function.
	(gsasl_stream_create): Install _get_fd method

	Updated

	Fixed help output.

	Removed unneded colon in the argument to perror.

2003-01-27  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan and Spanish translations.

2003-01-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed use of OPTION_DOC options.

	Use mu_error instead of fprintf

	 Use ngettext

	Cleaned wording in diagnostics.

	Removed newline from the syslog diagnostic message.

2003-01-23  Wojciech Polak  <polak@gnu.org>

	Updated

	Added WITH_GNUTLS and WITH_GSASL to `mu_conf_option'.

	Updated

	Added the 'encryption' node.

2003-01-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed leftover "while"

	Updated

	Testcase for "multiple patterns" bug.

	(_comp_action): Bugfix. Incorrectly handled multiple patterns.

2003-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Renamed mu_errstring to mu_strerror for consistency with the
	usual practice.

	Updated

	Add rfc2177.txt

	Fixed STORE untagged output in accordance with rfc2060-errata
	document.

	(stream_sequential_readline, stream_strerror): Check for stream
	== NULL.

	(gsasl_stream_create): Changed declaration.
	(mu_gsasl_init_argp): New function.
	(gsasl_cram_md5_pwd): New global.

	(util_finish): Check event queue if the
	state has changed.
	(util_register_event, util_event_remove, util_run_events): New
	functions.

	(util_get_input, util_get_output)
	(util_set_input, util_set_output): New functions.
	(util_register_event, util_event_remove, util_run_events): New
	functions.

	(imap4d_capa): Require "gsasl" capability
	if compiled with gsasl support.
	(main): Call auth_.*_init's after mu_argp_parse.

	(auth_gsasl): Make sure the streams are reset after issuing OK
	tagged response.

	Implemented gsasl stream. Added argp stuff

	Define SITE_CRAM_MD5_PWD

	Raised version number to 0.2.2; Added support for cram-md5
	password file

2003-01-22  Jordi Mallach  <jordi@gnu.org>

	Added ABOUT-NLS.

2003-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(auth_gssapi): Changed declaration and return
	values to match new authentication framework.
	(auth_gssapi_init): New function

	Added to the repository

	(pop3d_setio): Make sure both streams are line-buffered.

	(list_set_comparator): New function.
	(list_remove, list_replace): Use list->comp for
	comparing list items with the supplied data.

	(struct _list): New member comp.

	 Added gsasl.h

	(mu_deinit_tls_libs): Changed type to void

	(list_comparator_t): New datatype.
	(list_set_comparator): New function

	(util_setio): Make sure both streams are line-buffered.
	(util_get_input,util_get_output)
	(util_set_input,util_set_output): New functions for manipulating
	io streams.
	(util_atexit): New function.

	(tls_available,tls_done): Static variables.
	(imap4d_starttls): Register mu_deinit_tls_libs as an 'atexit'
	function.
	(starttls_init): New function.

	(tls_available,tls_done): Removed.
	(starttls_init,util_atexit): New functions.
	(imap4d_auth_handler_fp): New data type.
	(auth_gssapi_init,auth_gsasl_init): New functions/macros

	(tls_available,tls_done): Removed.
	(main): Call auth_gssapi_init, auth_gsasl_init

	Use comparator function for list deletions.

	Rewritten capability and authentication systems

	Renamed AUTHOBJS to IMAP_AUTHOBJS.

	Include stdlib.h

	Added gsasl.c.

	Added gsasl.m4

	Detect the presense of libgsasl library.

	Renamed AUTHOBJS to IMAP_AUTHOBJS for  clarity. Added call to
	MU_CHECK_GSASL.

2003-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(util_msgset): Edited comment; (util_start,util_getstate): Removed

	Fail if login_disabled is set

	When TLS negotiation succeedes, remove "STARTTLS" capability
	and reset login_disabled.

	(login_disabled): New global.
	(argp_option options): Added --login-disabled option.
	(imap4d_parse_opt): Handle --login-disabled option.
	(main): Call imap4d_capability_init().
	Register "STARTTLS" capability if tls is OK.

	(imap4d_capability_add,imap4d_capability_remove,imap4d_capability_init):
	New functions

2003-01-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added Simon Josefsson

	(mh_finish_install): Bugfix.

	(main): Use I18NLIBS instead of hardcoding library names.

	(mailutils_config_CFLAGS): Define I18NLIBS

	Reverted order of checks for libgnutls and libgcrypt. Thanks
	Simon Josefsson.

	Define __restrict_arr to empty string  unless it was already
	defined elsewhere.

	(INCLUDES): Added @INTLINCS@

	Invoke AM_GNU_GETTEXT with no-libtool, need-ngettext

2003-01-19  Wojciech Polak  <polak@gnu.org>

	Updated

	Removed file permissions check for `ssl_cert'.

2003-01-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

2003-01-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changed semantics of --use option. It takes an optional argument
	of yes/no.
	(make_draft): Changed declaration.

	Use mh_err_memory to report low memory diagnostics.

	(mh_err_memory,mh_file_copy): New functions.

	Added comp.

	Implements comp utility.

	(mh_check_message): New function.
	(mh_body_size,mh_check_message,mh_header_size)
	(mh_header_lines): Use mh_check_message() to make sure
	the message has been scanned.

	(util_token): Fixed comment.

2003-01-18  Wojciech Polak  <polak@gnu.org>

	Check 'tls_available' before calling mu_deinit_tls_libs(). Just
	for make
	sure...

2003-01-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Emit X-Mailer header

	(builtin_references): Fixed typo.
	(builtin_package, builtin_package_string)
	(builtin_version): New functions.

	(pop3d_mainloop): use pop3d_bye().

	(ifile, ofile): Removed.
	(istream, ostream): New streams.
	(pop3d_setio,pop3d_init_tls_server): Rewritten using streams.
	(pop3d_flush_output,pop3d_is_master): Likewise.
	(pop3d_outf,pop3d_readline): Likewise.
	(pop3d_deinit_tls_server): Removed.
	(pop3d_bye): New function.

	(ifile, ofile, sfile): Removed.
	(istream, ostream): New statics.
	(util_send_lowlevel): Removed
	(util_send, util_out, util_finish, imap4d_readline)
	(util_flush_output): Rewritten using streams.
	(util_setio): Changed argument types
	(util_is_ofile): Removed.
	(util_is_master): New function.
	(imap4d_init_tls_server): Rewritten using TLS streams.
	(imap4d_deinit_tls_server): Removed.
	(util_bye): New function.

	(imap4d_starttls): Flush output before initializing tls.

	(imap4d_signal): Use util_is_master().

	(util_setio): Changed declaration.
	(util_is_ofile): Removed.
	(util_is_master): New.
	(imap4d_deinit_tls_server): Removed.

	(imap4d_mainloop): Changed proto following that of pop3.

	(imap4d_bye0): Use util_is_master() and util_bye()

	Open stdio stream with MU_STREAM_SEEKABLE bit set.

	Use sequential access for the output stream

	Implemented TLS streams. All tls-specific details
	are now hidden within this module.

	(stream_set_strerror): New function.
	(stream_sequential_read,stream_sequential_readline)
	(stream_sequential_write): New functions for sequential
	access to stream.
	(stream_strerror): New function. Return stream-specific
	error description (if any).

	(struct _stream): Removed unused member `roff'.
	Added new member `offset' for support of sequential access
	functions.
	(_strerror): New method. Return stream-specific error description
	(if any).

	(_file_strerror): New function.
	(file_stream_create): Register strerror function.
	(stdio_stream_create): Enable caching only if the
	file is not seekable and MU_STREAM_SEEKABLE bit is
	set in flags. Register different sets of
	(read,readline,write) handlers depending on the
	setting of MU_STREAM_SEEKABLE bit.

	Removed inclusion of gnutls.h
	(tls_stream_create): New declaration.
	(mu_check_tls_environment, mu_init_tls_libs)
	(mu_deinit_tls_libs): Added prototypes.

	(stream_set_strerror)
	(stream_sequential_read,stream_sequential_readline)
	(stream_sequential_write,stream_strerror): New functions.

2003-01-17  Wojciech Polak  <polak@gnu.org>

	Updated

	Fixed

	Updated

	Added TLS/SSL support (via GnuTLS)

2003-01-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(install-data-hook): Bugfix.

	Always return EXIST and RECENT untagged responses. Thanks Simon
	Josefsson <jas@extundo.com> for reporting.

	Updated

	(ERR_TLS_IO): New def.

	(pop3d_readline): Bugfix: add terminating zero, and check return
	value from gnutls_record_recv.

2003-01-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Updated

	Handle draft file. Added --use option.

	Reorganized. Implemented disposition shell.

	(struct mh_whatnow_env): Added draftfile member.

	(mh_getopt): Bugfix

	Updated

	Use new struct mh_option

	(mh_expand_name): Correctly handle full and relative pathname
	specifications.

	Initialize rcpt_mask with RCPT_DEFAULT.

	(RCPT_DEFAULT): Default value for rcpt_mask

	(builtin_in_reply_to, builtin_references): New
	functions. Interfaces to rfc2822 functions.

	(want_arg): New lexical tie-in to correctly
	process trailing whitespace in calls like %(putaddr To: ).

	(mh_getopt): Rewritten. The main purpose is
	to expand old-style options to their double-dash equivalents.
	(mh_argv_preproc): New function. Preprocess the argv array.

	(struct mh_argp_data): Moved to mh_getopt.h
	(parse_opt,mh_argp_parse): Rewritten. Argument parsing goes
	in two stages: first any old-style mh arguments are expanded
	to corresponding GNU long options, then argp_parse is run
	over the constructed argv array.

	(struct mh_option): Replaced `int key' with `char *longopt'.
	(mh_argv_preproc): New function.
	(mh_optind,mh_optarg): Globals removed.

	Added mhlibdir

	New file. Default format for repl utility.

	(concat,strip_message_id,get_msgid_header): Removed
	(make_in_reply_to,make_references): Rewritten using new rfc2822
	functions.

	(mu_rfc2822_references,mu_rfc2822_in_reply_to): New functions.

2003-01-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added back accidentally removed entry

2003-01-15  Wojciech Polak  <polak@gnu.org>

	Updated

	Fixed typo.

	Fixed

2003-01-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Shut compiler warnings.

	Added missing files

	Almost finished.

	(mh_spawnp): New function.

	Added missing NLS markers.
	(builtin_concat,builtin_printstr): New functions.

	(mh_argp_parse): Fixed parsing order: global profile arguments
	first,
	then the command line arguments.

	Include argcv.h and getline.h
	(struct mh_whatnow_env): New datatype.
	(mh_spawnp, mh_whatnow): New functions.

	Removed unnecessary _SOURCE declarations. Added new files and
	targets.

	Implement "whatnow" shell

	Fixed indentation

	Added missing NLS markers.

	Fixed version reference in the comment.

2003-01-14  Wojciech Polak  <polak@gnu.org>

	Updated

	(mu_init_tls_libs): gnutls_global_init() returns zero on success,
	so reverse this state for 'tls_available' variable.

2003-01-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Forgotten to add next year to the copyright

	Updated calls to msgset_parse

	(util_foreach_msg,util_range_msg): Updated calls to msgset_parse.
	(util_isdeleted): Reverted to older declaration.

	(msgset_parse): Take a new argument: flags (meaning the same as
	in the
	util_get_message call).
	(msgset_count): New function.

	(msgset_parse,util_get_message):
		  In order to get rid of superfluous 'Inappropriate
		  message'
		  diagnostics and provide a behaviour consistent with that
		  of standard implementations, moved the flags argument
		  from util_get_message to msgset_parse.
	(msgset_count): New function.
	(util_isdeleted): Reverted to older declaration (before
	2002-10-13).

	Updated

	(mu_init_tls_server): Check return value from
	gnutls_certificate_set_x509_key_file(). Use gnutls_strerror(),
	instead of gnutls_perror(), as the latter confuses mail clients.
	(mu_init_tls_libs): Removed useless initialization of the auto
	variable.

	[WITH_BDB2] (mu_dbm_firstkey): db->cursor
	takes three or four arguments, depending on the release
	of DB 2. Take care of it.

	Check for newer versions of Berkeley DB

	Added db2.m4

	Added copyleft header.

	Version-specific stuff for Berkeley DB.

2003-01-14  Wojciech Polak  <polak@gnu.org>

	Updated

	Added support for ERR_TLS_ACTIVE.

	Updated

	Added rfc2595.txt

	Added TLS/SSL support (via GnuTLS)

2003-01-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	A list of differences from standard MH implementation.

	Changed default format to use (rcpt) to decide
	whether or not to include an address to the cc: header.
	Implemented --cc/--nocc.

	(rcpt_mask): New global. Keeps cumulative value of all --cc/--nocc
	command line options.

	(mh_decode_rcpt_flag,builtin_rcpt): New functions.

	(RCPT_NONE,RCPT_TO,RCPT_ME,RCPT_ALL): New defines.
	(rcpt_mask): New global declaration.
	(mh_get_message): Added missing __P().
	(mh_decode_rcpt_flag): New function.

	Fixed typo

2003-01-12  Wojciech Polak  <polak@gnu.org>

	Updated

	Added missing NLS markers.

2003-01-12  Jordi Mallach  <jordi@gnu.org>

	Update year in copyright notice.

	Oops, "back to the future"...

2003-01-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Test new fetch responces.

	Properly quote returned strings.
	In envelope responses emit a single NIL to represent
	a non-existent envelope structures.
	Thanks Nic Ferrier <nferrier@tapsellferrier.co.uk> for
	reporting the bug.

	Updated

	Added --build option. Implemented --[no]draftfolder --[no]query.

	When called without arguments do the work by
	installing observable action. This speeds up execution
	by the factor of three.

	Changed calls to mh_expand_name.

	(mh_expand_name): Changed declaration.

	New function. Implements extension format function 'unre': remove
	leading whitespace and eventual 're:' prefix from the subject
	header line.

	(mh_scan0): Do not actually read contents of the message files,
	only register them in the message pool.

	Moved notification into a separate loop. This way
	observable action receives notifications
	in the proper order.

2003-01-10  Jordi Mallach  <jordi@gnu.org>

	New Spanish translation by Cristian Othn Martnez Vera.

2003-01-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Explicitly load libmailbox before loading libmu_scm. Fixed 1.6
	branch of the conditional.

	(mailutils.scm target): Bugfix. Use $< instead of $?.

	Updated

	Added base64

	(sieve_test_address,sieve_test_header): Removed unused variables.

	include <string.h>

	(comp_false): Fixed declaration.
	(sieve_match_part_checker): shut compilator warnings about
	possibly
	uninitialized variables.

	Removed redefinition of __restrict_arr

2003-01-09  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan translation.

2003-01-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(pop3d_user): Use pop3d_flush_output().

	(pop3d_signal): Use pop3d_is_master().

	(ifile,ofile): Removed declarations.
	(getpwnam_ip_virtual,getpwnam_host_virtual): Removed prototypes.
	(pop3d_setio, pop3d_flush_output, pop3d_is_master): New functions.
	(pop3d_readline): Fixed prototype.

	(ifile,ofile): Removed globals.
	(pop3d_mainloop): Changed declaration.

	(pop3d_setio, pop3d_flush_output, pop3d_is_master): New functions.
	(pop3d_readline): Fixed prototype: second arg should be size_t.

	Reflect recent changes to libsieve.

	Updated

	(sieve_tag_lookup): Check for taglist != NULL  before calling
	list_do().

	(multiline_strip_tabs): Forward declaration.

	Handle "relational" as a special case.

	Updated

	Enabled rel-header.sv testcase

	(do_count): New function. A common handler for :count tag.
	(retrieve_header): Use header_get_field_{name|value}, since
	header_aget_value cannot return multiple header values.

	(sieve_test_address,sieve_test_header,sieve_test_envelope):
	Use do_count.

2003-01-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	put fileinto files to the spooldir (%)

	Added support for relational test in Sieve

	(mail_z): Fixed scrolling.

	 Added libsieve/relational.c.

	Added relational.exp: a testcase for relational operations
	in sieve

	Added new test scripts

	(sieve_test_address,sieve_test_header): Added support for
	relational tests.

	(sieve_register_comparator)
	(_find_comparator,comp_false,sieve_match_part_checker):
	Added support for relational tests.

	Added relational.c.

	(sieve_relcmp_t,sieve_relcmpn_t): New types.
	(sieve_register_comparator): Changed prototype.
	(sieve_require_relational,sieve_str_to_relcmp)
	(sieve_get_relcmp): New functions.

	Added relational.mbox: a mailbox for testing relational operations
	in sieve.

	Add rfc3431.txt

	Sieve Extension: Relational Tests

2003-01-03  Wojciech Polak  <polak@gnu.org>

	Updated

	Don't use `static char buffer[512]' in pop3d_readline.

2003-01-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Enble install-exec-hook only if  BUILD_MH_EXEC_HOOK is set.

	New ac_subst variable BUILD_MH_EXEC_HOOK

2003-01-01  Wojciech Polak  <polak@gnu.org>

	Updated

	Removed

2002-12-31  Jeff Bailey  <jbailey@gnu.org>

	2002-12-31  Jeff Bailey  <jbailey@gnu.org>
	* auth/Makefile.am: Correct copyright year, add license
	information.
	* sieve/testsuite/Makefile.am: Likewise.
	* testsuite/Makefile.am: Likewise.
	* sieve/Makefile.am: Likewise.
	* scripts/guile-1.6/Makefile.am: Likewise.
	* scripts/guile-1.4/Makefile.am: Likewise.
	* scripts/Makefile.am: Likewise.
	* readmsg/testsuite/Makefile.am: Likewise.
	* readmsg/Makefile.am: Likewise.
	* mh/Makefile.am: Likewise.
	* messages/testsuite/Makefile.am: Likewise.
	* messages/Makefile.am: Likewise.
	* pop3d/testsuite/Makefile.am: Likewise.
	* pop3d/Makefile.am: Likewise.
	* mapi/Makefile.am: Likewise.
	* mail.remote/testsuite/Makefile.am: Likewise.
	* mail.remote/Makefile.am: Likewise.
	* mail.local/testsuite/Makefile.am: Likewise.
	* mail.local/Makefile.am: Likewise.
	* mailbox2/pop3/Makefile.am: Likewise.
	* mailbox2/mbox/Makefile.am: Likewise.
	* mailbox2/include/mailutils/sys/Makefile.am: Likewise.
	* mailbox2/include/mailutils/Makefile.am: Likewise.
	* mailbox2/include/Makefile.am: Likewise.
	* mailbox2/Makefile.am: Likewise.
	* mailbox/testsuite/Makefile.am: Likewise.
	* mailbox/include/Makefile.am: Likewise.
	* mailbox/Makefile.am: Likewise.
	* mail/testsuite/Makefile.am: Likewise.
	* mail/Makefile.am: Likewise.
	* m4/Makefile.am: Likewise.
	* libsieve/Makefile.am: Likewise.
	* libmu_scm/Makefile.am: Likewise.
	* lib/posix/Makefile.am: Likewise.
	* lib/Makefile.am: Likewise.
	* include/mailutils/gnu/Makefile.am: Likewise.
	* include/mailutils/Makefile.am: Likewise.
	* include/Makefile.am: Likewise.
	* imap4d/Makefile.am: Likewise.
	* imap4d/testsuite/Makefile.am: Likewise.
	* guimb/scm/Makefile.am: Likewise.
	* guimb/Makefile.am: Likewise.
	* from/testsuite/Makefile.am: Likewise.
	* from/Makefile.am: Likewise.
	* frm/testsuite/Makefile.am: Likewise.
	* examples/Makefile.am: Likewise.
	* frm/Makefile.am: Likewise.
	* dotlock/Makefile.am: Likewise.
	* doc/texinfo/Makefile.am: Likewise.
	* doc/rfc/Makefile.am: Likewise.
	* doc/man/Makefile.am: Likewise.
	* doc/Makefile.am: Likewise.
	* comsat/Makefile.am: Likewise.
	* Makefile.am: Likewise.

	* configure.ac: Update FSF Address

2002-12-31  Wojciech Polak  <polak@gnu.org>

	Updated

	GNU General Public License

	Fixed

2002-12-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Enclosed declarations in  extern "C" block

	Use __PMT in nested declarations for C++ compatibility.

	Updated

	Fixed includes

	Fixed inlcudes.

	Use __PMT in nested declarations  for C++ compatibility.

	Added missing includes.

	(mailutils_config_CFLAGS): Corrected definition of AUTHLIBS.

	Include <mailutils/guile.h>

	Removed -I$(top_srcdir)/libmu_scm

	Added guile.h

	Interface declarations for libmu_scm.h

2002-12-29  Wojciech Polak  <polak@gnu.org>

	Fixed copyright. GPL, not LGPL.

	Fixed FSF address.

	Added "dist-bzip2" to AUTOMAKE_OPTIONS in Makefile.am.

	Fixed copyright, i.e. "This program" -> "GNU Mailutils".

	Updated

2002-12-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Rewritten using new iterator functions.

	(util_msglist_command, util_msglist_esccmd): Removed.
	(util_foreach_msg,util_range_msg): New functions. Iterate across
	message set or range calling given function for each message.

	(realcursor): Removed. The position of the point  is kept in
	the cursor variable.

2002-12-29  Wojciech Polak  <polak@gnu.org>

	Fixed C source copyrights to be compatible with the GNU
	'Maintaining'
	document, i.e. "This program" -> "GNU Mailutils".

	Added missing mail/msgset.y.

2002-12-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Reflect addition  of NLS libraries.

	Removed unneded global env_cursor.

2002-12-29  Jordi Mallach  <jordi@gnu.org>

	Further Catalan fixes.

	Fixed typos in Catalan translation.

2002-12-28  Jordi Mallach  <jordi@gnu.org>

	Updated.

	Updated Catalan translation.

	Added missing libsieve/sieve.l.

2002-12-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Reflect changes to libsieve/actions.c

	Updated

	Reverted \v changes. Failed experiment.

	Added call to mu_init_nls

	Updated

	include mailutils/nls.h. Otherwise i18n is disabled.

	Bugfix: date field has always fixed length.

	Bugfix: do not translate header names

	Use X-Loop-Prevention header instead  of X-Sender.

	Create message stream with MU_STREAM_ALLOW_LINKS bit set.

	Handle MU_STREAM_ALLOW_LINKS.

	New flag MU_STREAM_ALLOW_LINKS:   allow links on a file. Needed
	for MH.

	Updated

	Added fdl.texi

2002-12-28  Wojciech Polak  <polak@gnu.org>

	Updated

	Fixed copyright (FDL).

	The Free Documentation License 1.2.

2002-12-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Exclude '\v' from xgettext markers.

2002-12-28  Jordi Mallach  <jordi@gnu.org>

	Updated Catalan translation.

2002-12-28  Wojciech Polak  <polak@gnu.org>

	Updated

	Use @copying.

	Minor formatting

2002-12-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added missing N_() markers.

	Added NLS support

	The To: and Cc: needn't be translated

2002-12-27  Jordi Mallach  <jordi@gnu.org>

	Updated.

	Added Catalan translation.

	Extract messages from the bison sources, not their output.

	Typo fixes.

2002-12-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Set version number to 0.2.1

	Added Wojciech Polak.

	Added @INTLINCS@ and @LTLIBINTL@

	Reflect recent changes in handling of the plurals

	Use ngettext

	Removed description of 'set quiet'

	Removed startup banner.
	Bugfix: --quit option was handled incorrectly

2002-12-27  Wojciech Polak  <polak@gnu.org>

	Updated

	Small NLS improvement

2002-12-26  Wojciech Polak  <polak@gnu.org>

	Added NLS.

	Updated

	Added missing string (NLS)

	The Free Documentation License has been upgraded from 1.1 to 1.2.

	Updated

	Small improvement

	Updated

	Enabled NLS.

	Added NLS.

	Added remove-potcdate.sed

	Fixed

	Updated

	Added NLS.

2002-12-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed typo in docstring.

	Do not include \r\n to the i18n strings.

	Updated

	(mh_format): Fixed format spec.

	(fetch_internaldate) Do not use %X in strftime format: it produces
	locale-dependent output.

2002-12-24  Wojciech Polak  <polak@gnu.org>

	Updated

	Removed Makevars

	Added NLS.

	Removed intl from INCLUDES

	Updated.

2002-12-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed calling /scripts/missing

	Removed LINGUAS

	Fixed compilation with included gettext and make distcheck

	Added @INTLINCS@ and @LTLIBINTL@ where appropriate.

	Ignore autogenerated files.

	Include gettext's m4 into the distribution.

	Ignore gettext's m4 files.

	Updated

	Added to the repository

	Documented the grammar.

	(mu_conf_option): Added WITH_INCLUDED_LIBINTL.

	When using included libintl, use
	only intl/libgnuintl.h. Using system default libintl.h
	on systems with older libintls causes random coredumps.

	Specify use-libtool to AM_GNU_GETTEXT.
	Define WITH_INCLUDED_LIBINTL and INTLINCS if we are using
	the included gettext.

2002-12-24  Wojciech Polak  <polak@gnu.org>

	Added NLS (guimb/imap4d/mailutils-config/sieve)

	Updated.

	Added Native Language Support.

	Added ChangeLog file

	Added initial NLS support

2002-12-23  Wojciech Polak  <polak@gnu.org>

	Initial NLS for po dir

	NLS main header file

	NLS main code

2002-12-23  Jeff Bailey  <jbailey@gnu.org>

	2002-12-22  Jeff Bailey <jbailey@nisa.net>
	* mailbox/mbx_maildir.c: Initial checkin of template

	* mailbox/Makefile.am: (libmailbox_la_SOURCES) Add mbx_maildir.c

2002-12-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Documented text:[-][delimiter] extension.

	Implemented shell-like extension for multiline strings.
	They can start now with text:[-][delimiter],
	the dash meaning 'strip leading tabs', the 'delimiter'
	overriding default end-of-text delimiter (.)

2002-12-16  Frederic Gobry  <frederic.gobry@smartdata.ch>

	added libmailutils to compile cleanly

2002-12-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed use of @deffn

	Added trailing slash to the default  BASE_URL

2002-12-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Raised version number to 0.2

	Spellcheck

	Updated

	Added to the repository

	Added libmu_scm.texi

	Allow backslashes in quoted strings.

	(build_mime): To improve readability, output additional newline
	before reporting the reason.

	Removed duplicate declaration of mu_auth_data_free.

	Changed type of `number' to size_t.

	(mu_auth_sql_by_uid): Fixed typo.

	Skip deleted messages

2002-12-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Updated

	Added rules for generating website documentation.

	New file. Template for generating  web documentation index page.

	Create temporary mailbox instead of the temporary message,
	to avoid problems when running sieve fileinto.

2002-12-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(_sieve_action_log): Use vasprintf.

	(mh_open_folder): Changed default open	flags to MU_STREAM_RDWR.

	Use mu_errstring instead of strerror.

	Allow #include within a :text block

2002-12-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed malformed comment

	Updated

	Added extensive comments.

	Updated

	Include mu_asprintf.h

	Include xalloc.h

	Cast third argument to accept() to socklen_t*. Add typecasts to
	the arguments of printf-like functions where necessary

	(struct mh_machine): Changed type of arg_num to  long.

	Add typecasts to the arguments of printf-like functions where
	necessary.

	Include string.h. Add typecasts to the arguments of printf-like
	functions where necessary.

	Document --enable-experimental option.

	Added --enable-experimental option to enable
	building of experimental/unfinished utilities. Currently it
	controls mh utils.

2002-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Include mu_asprintf.h

	(i_octet_regex): Removed misleading comment.

	(qp_decode): Bugfix: extend chr to accomodate three characters and
	terminate it with zero.

	Fixed `SELECT INBOX' testcase.

	Updated

	Fixed `wine' testcase.

	(_scan_body): Bugfix. Add null terminator to the string read.

	Updated

	Removed unused variables.

	Added missing includes

	Initialize automatic variable.

	Added typecasts to shut the compiler warnings

	Removed debugging hook

	Include mu_asprintf.h

	Include mutil.h

	Documented :sieve option group

	Documented some aspects of the input language.

	(sieve_argp_parser): Always add SIEVE_MODDIR to
	sieve_library_path.

	(sieve_register_standard_actions): Register "fileinto" in
	non-required
	state to comply to the RFC.

	Use SIEVE_MODDIR.

	Define and export SIEVE_MODDIR.

	Fixed separators in the install-data-hook rule

	Updated

	(mu_license_argp_option): Removed short option 'L', it is used
	by sieve argp stuff.

	Use -L option instead of setting  environment variable.

	(argp_capa): Added "sieve" capability.
	(main): Invoke mu_sieve_argp_init().

	New extension statement #searchpath controls the search path
	for dynamically loaded extensions.

	(sieve_load_add_path,sieve_load_add_dir): New functions.

	Added argp.c

	New file. Sieve-specific command line handling.

	Fixed install-data-hook. Thanks to Jordi Mallach.

	(sieve_include_path,sieve_library_path): New globals

2002-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Several sieve-related bugfixes

	(mu_get_user_email): Added comment.

	(sieve_test): Bugfix: run
	sieve_machine_destroy() only if the compilation succeeded.
	(deliver): Removed unused variable sb. Use isize instead.

	(_comp_action): Do not run comparator if the  sample is NULL.

	(_get_address_part): Bugfix: assign to *data  only if ret is
	not null.

	(statement production): Bugfix: do not
	run sieve_slist_destroy on the list, just list_destroy. All the
	items are already registered in the memory pool and will be
	freed by sieve_machine_destroy.

	(build_mime,sieve_action_redirect): free return from
	mu_get_user_email().

2002-12-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(get_homedir): Returned value is not const.

	(fetch_internaldate): Added typecast to shut up the compiler
	warning.

	Removed unneded inclusion of getopt.h

	Updated

	Removed unneded inclusion of getopt.h

	Argp stuff needs data from pin.c. So, moved the file from /lib
	to /mailbox

	Do not use asprintf.

	Check for libltdl only if enable_shared is set.

	(INCLUDES): Fixed path.

	Oops, fixed typo.

	Updated

	(main): Do not print duplicate --link arguments.

	(mailutils_config_LDADD): Added libmailutils.la

	Include local copy of getopt.h if the system does not provide one.

	getopt.h moved from lib to include/mailutils/gnu

	 Use $? instead of $< in implicit rules.

	Override FOLDER environment variable.

	Do not use program_invocation_short_name:  examples are not
	linked against libmailutils.

	Check for presense of getopt.h

2002-12-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Documented mailutils-config.

	Added --info option (prints and tests the values of compilation
	options). Improved help output.

	(mu_print_options, mu_check_option): New functions.

	Updated

	New file. A utility
	program that prints compiler and loader flags
	necessary to build a program using mailutils
	libraries.

	New target mailutils-config

	Add mysql libraries to MYSQLLIBS

2002-12-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Bugfix: Properly restore LIBS, LDFLAGS and CFLAGS.

	(sieve_action_reject): Fixed diagnostic messages.

2002-12-02  Frederic Gobry  <frederic.gobry@smartdata.ch>

	fixed bug in mime message reset

2002-11-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed traces of ansi2knr.c

	(sieve_machine_init): Fixed inconsistent return value.

	(action-keep): Remove the delete  mark from the message.

	(sieve_action_keep): Remove the delete	mark from the message.

	Fixed wrong dates.

	(fetch_internaldate): Use mu_parse_ctime_date_time.

	Added date.c

	Moved time functions to date.c

	New version of mu_tm2time function.
	The previous version of mu_tm2time incorrectly handled dates
	within
	the DST period.

2002-11-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Ignore *.l[oa]

	(mu_test_file): Fixed comment.

	Added base64.exp

	New file. Testcase for base64 filters.

	Added Encode, Decode.

	Data for base64 testcase.

	Added base64

	New file. Sample base64 encoder-decoder.

	(_stdin_file_read): Test for eof condition.

2002-11-28  Frederic Gobry  <frederic.gobry@smartdata.ch>

	set the content-transfer-encoding of a mime message with one part

	fixed quoted-printable encoder

2002-11-27  Frederic Gobry  <frederic.gobry@smartdata.ch>

	fixed handling of last bytes

	fixed compilation without libltdl

2002-11-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use sieve_m.* memory allocation functions.

	(sieve_malloc,sieve_mstrdup,sieve_mrealloc,sieve_mfree):
	New functions.

	Fake configure into including srcdir to VPATH.

2002-11-25  Frederic Gobry  <frederic.gobry@smartdata.ch>

	fixed cache handling during address concatenation

2002-11-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Include *.inc files instead of *.c.texi. Added standard GNU
	copyright header.

	Added references to libmuauth and libsieve

	Documented new version of sieve (not fully, still...)

	Added *.inc

	Replaced explicit rules to generate
	*.c.texi files with an implicit rule generating *.inc files.
	The rule itself is modified to preserve the heading comment.
	Added libmuauth.texi and libsieve.texi to sources.

	New file. Documentation for the sieve library

	New file. A placeholder for the documentation regarding libmuauth.

	Bugfix. Use mail_from0(), not mail_from().

	Pointed moddir to a more appropriate place

	Removed debugging hacks. Always call lt_dlinit
	and add a call to lt_dlexit to the destructor.

	(options): Fixed spelling in the help line.

	(deliver): Bugfix: n and isize were not declared.

2002-11-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added ext.exp

	New file. Test for sieve loadable  extensions.

	Added numaddr.sv

	New file. A script invoking loadable test.

	Test frm -l on long to: headers.

	Added bigto.mbox

	A mailbox for testing the behaviour of various utilities on
	structured headers that contain long lists of addresses.

	Updated

	Use regexp instead of hardcoded  version number.

	(main): Removed unneded goto. Added call to sieve_machine_destroy
	at the end.

	(sieve_LDFLAGS): Added -export-dynamic

	(sieve_require_action, sieve_require_test): New functions.

	(sieve_require_comparator): Implemented  loadable comparators.

	(sieve_require): Implemented loadable tests.

	Added load.c

	Support for loadable extensions for sieve

	Added numaddr.c; (AM_LDFLAGS): Removed libmailutils. It's not
	used by examples.

	Sample loadable extension for sieve.

	(mu_conf_option): Added HAVE_LIBLTDL

	Added check for installed libltdl. Bumped  version number
	to 0.1.3.

2002-11-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mailbox_flush,mailbox_append_message)
	(mailbox_save_attributes,mailbox_expunge): Return EACCES
	if mailbox was open readonly.

	Fixed exit functions.

	Call mail_stop at the end.

	(default_mail_start): Save mail spawn id in the global variable.
	(default_mail_stop): Moved functionality from mail_exit
	(mail_stop): Call default_mail_stop unless it has already
	been called.
	(mail_exit): Call mail_stop

	Call imap4d_stop at the end.

	(default_imap4d_start): Save imap4d spawn id in the global
	variable.
	(default_imap4d_stop): Moved functionality from imap4d_exit
	(imap4d_stop): Call default_imap4d_stop unless it has already
	been called.
	(imap4d_exit): Call imap4d_stop

	(imap4d_append0): Simplified a lot.

	(_file_destroy): Bugfix. Do not close the stream.

	Updated

	Added a testcase for wrongly quoted personal parts

	(parse822_quoted_string): Free qstr before
	returning error status. Otherwise, addresses like
		"A wrong quote\" <addr@dom.ain>
	hit the assert in parse822_word() and coredump.
	(parse822_word_dot): Removed misleading comment.

2002-11-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(make_tmp): Create a message instead
	of returning file pointer.
	(argp_capa): Added "mailer" capability.
	(sieve_test): Second argument.
	(mda,deliver): Take message_t as first argument, instead of
	FILE*.

	(mda): Changed prototype.
	(struct mda_data): Replaced FILE *fp with message_t msg.

	Test :mime tag.

	Added header-mime.sv

	New file. Test script for 'header :mime' extension.

	Added "mailer" capability. Removed spurious
	--mailer-url command line switch.
	(main): Do not create mailer. sieve_message() will do it
	if necessary.

	(sieve_tag_lookup): New function.

	Adjust for the recent changes in symbol space functions
	(sieve_test_header): New tag :mime. Directs header to test
	headers in all parts of a multipart message, not only main
	message headers.

	Adjust for the recent changes in symbol space functions

	(sieve_test_lookup,sieve_action_lookup)
	(sieve_register_test,sieve_register_action): Accept the pointer
	to sieve machine as first argument.

	(sieve_register_comparator)
	(sieve_require_comparator,sieve_comparator_lookup)
	(sieve_get_comparator)
	(sieve_register_standard_comparators): Accept the pointer
	 to sieve machine as first argument.

	(build_mime,sieve_action_redirect): Removed unused argument.
	(sieve_register_standard_actions): Changed declaration.

	(struct sieve_machine): New members
	test_list, action_list and comp_list provide independent
	symbol space for this particular instance of sieve.

	(sieve_test_lookup)
	(sieve_action_lookup,sieve_register_test)
	(sieve_register_action,sieve_register_comparator)
	(sieve_comparator_lookup,sieve_require_comparator)
	(sieve_get_comparator): Accept the pointer to sieve machine as
	first argument.

	Fixed indentation.

2002-11-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed 'envelope from' address

	(mu_set_user_email): Set user's domain as well.

	(i_ascii_casemap_contains): Fixed typecast.

	Updated

	(sieve_slist_destroy): Use list_do. It is faster.

	(_get_address_part): Made static to avoid name clashes.

	(sieve_machine_init,sieve_machine_destroy): Fixed inconsistencies.

	(sieve_message): New function.

	Support for user-defined sieve filters. Improved debugging.

	Include libsieve.h

	Added libsieve.la

	Bugfix: always check for newline after matched pattern.

	Reflect changed headers in msg 2

	Add X-Number header to msg 2 for testing i;ascii-numeric
	comparator.

	Added scripts for testing comparators.

	Added scripts for testing comparators

	(sieve_test): Pass --verbose switch to sieve. Added -retcode
	option.

	(i_ascii_numeric_is): Support for
	:comparator i;ascii-numeric. Fixed handling of
	:comparator i;ascii-casemap :matches and :contains.
	Added i;ascii-numeric :is comparator.

	New options: --verbose to verbosely log executed
	actions, --log-facility to switch all diagnostic output to
	syslog.

2002-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_message_set_header): Fixed memory leak

	Added redirect.exp and reject.exp

	Added redirect.sv and reject.sv

	(sieve_test): Pass --email and --mailer options to sieve.
	(sieve_driver_test): New procedure.

	added Reject and Redirect

	New option --email sets user email address.

	Enable testsuite subdir.

	(sieve_get_mailer,sieve_set_mailer,sieve_get_daemo_email,sieve_set_daemon_email):
	New functions.

	Call multiline_add for each line in ML state.

	(struct sieve_machine): New members  mailer and daemon_email.

	Implemented reject and redirect.

	Added comments.

	Test if environment variable MTA_APPEND is set.

	(sendmail_send_message): Bugfix: stream_read
	should not use sendmail->offset for positioning.

	(mailer_get_url): New function.

2002-11-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Adapted testsuite for the new sieve

	Require redirect.

	Adapted for changed sieve diagnostics format.

	Updated

	(sieve_value_create,sieve_type_str)
	(sieve_print_value): Handle SVT_POINTER data type.
	(sieve_print_value_list) tag member is now char *.
	(_comp_action): Call cp->retr continuously until it returns
	non-zero.

	Implemented rest of required sieve tests  (address and envelope).

	(sieve_machine_init): Fixed return value.
	(sieve_machine_add_destructor,sieve_machine_destroy): New
	functions.

	(struct sieve_machine): New member destr_list.
	(sieve_match_part_checker): New function.

	(instr_run): Do not run the handler when in disassemble mode.

	(sieve_require): Commented unimplemented parts

	(sieve_register_test)
	(sieve_register_action): Changed type of fourth argument (tags).

	More thorough checking of tags.

	Added support for :regex matching type.

	(sieve_retrieve_t): Extra argument.
	(sieve_destructor_t,sieve_tag_checker_t): New types.
	(sieve_value_t): New member v.ptr.
	(sieve_tag_def_t): Removed num member.
	(sieve_tag_group_t): New data type.
	(sieve_runtime_tag): Changed type of tag member to char *.
	(sieve_register_t): Removed unused members. Changed type of
	tags member.
	(sieve_register_test,sieve_register_action): Changed type of
	fourth argument (tags).
	(sieve_machine_destroy,sieve_machine_add_destructor): New
	functions.

	(parse_opt): Use argp_error to report errors

	(address_aget_local_part,address_aget_domain):	New functions.

	(list_replace): New function.

2002-11-14  Frederic Gobry  <frederic.gobry@smartdata.ch>

	added declaration of address_dup()

2002-11-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added comparator.c

	Added to the repository

	(sieve_action_discard): Log output made  compatible with that
	of CMU ported sieve.

	require "redirect".

	(sieve_vlist_do, sieve_vlist_compare): New functions.

	Implemented header test.

	(action production):  Fixed number of arguments in call to
	sieve_compile_error().

	(struct sieve_machine) New member action_count.
	(sieve_register_standard_comparators): New function.
	(sieve_require_comparator): New function.

	(instr_action): Increase action_count; (sieve_run): Log implicit
	keep action.

	(sieve_require): Handle "comparator-" prefix in require
	statements.

	(sieve_comparator_t,sieve_retrieve_t): New datatypes.
	(sieve_vlist_do,sieve_vlist_compare,sieve_comparator_lookup)
	(sieve_register_comparator,sieve_get_comparator): New functions.
	(sieve_action_discard): Log output made compatible with that of
	CMU ported sieve.

	Removed

	Started actually rewriting sieve to use libsieve library.
	The CMU-based sources are available under the tag
	ver-0-1-2-with-cmu-sieve.

	Use libsieve calls.

	Pruned for the new implementation.

	Removed

	(sieve_value_get, sieve_log_action, sieve_mark_deleted):
	New functions.

	Implemented true, false, exists and size.

	Implemented stop, keep, discard and fileinto.

	(struct sieve_machine): New members: filename, logger, ticket,
	mu_debug.

	Reflect change of sieve_machine_t type.

	Removed sv.c

	Changed sieve_machine_t to be a pointer to structure.

	(mh_scan0): Implemented EVT_MESSAGE_ADD notification.

	(mbox_scan0): Compute uids before calling DISPATCH_ADD_MSG.

	Added libsieve

2002-11-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Modified to reflect changes in the API.

	Implemented conditional blocks. The grammar is complete

	(sieve_op_t): New member `pc'.
	(struct sieve_machine): New members: errbuf,mailbox,msgno,
	msg,parse_error_printer.
	(sieve_error,sieve_debug): Removed prototype.
	(sieve_compile_error,instr_branch,instr_brz): New function.

	Verbose debugging.
	(instr_branch, instr_brz): New functions.
	(sieve_get_data,sieve_get_message,sieve_get_message_num)
	(sieve_get_debug_level,sieve_disass,sieve_mailbox): New
	functions(sieve_vprintf_t): Removed.

	Use sieve_compile_error() to report parse errors.

	(sieve_code_command): Implemented implicit typecast from string
	to string-list.

	(fileinto_args): Fileinto takes string, not string-list.

	Replaced BNZ with BZ.

	(sieve_vprintf_t): Removed.
	(sieve_parse_error_t): New data type.
	(sieve_compile): Changed prototype declaration.
	(sieve_get_data,sieve_get_message,sieve_get_message_num)
	(sieve_get_debug_level,sieve_mailbox,sieve_disass)
	(sieve_machine_init,sieve_machine_set_error)
	(sieve_machine_set_parse_error): New functions.

	Updated

	(util_do_command): Interpret empty line as "next" command only
	when in
	interactive mode.

2002-11-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Short overview of the sieve runtime machine

	Added basic code generation and debugging

	Added prog.c and runtime.c

	Runtime support.

	Code generator functions

2002-11-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed indentation

	Added new files.

	New file. Contains the sieve namespace functions.

	New file. Handles "require" statement

	New file. Provides standard sieve actions (all noops, so far).

	New file. Provides standard sieve tests (all noops, so far)

	(sieve_slist_destroy, sieve_value_create):
	New(sieve_slist_destroy, sieve_value_create): New functions.

	Fixed grammar. Added union, types and the basic actions.

	Moved publicly available declarations to <mailutils/libsieve.h>

	Added libsieve.h

2002-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed ylwrap

	Added ylwrap

	Moved from /sieve

	Moved to scripts

	Avoid unnecessary memory allocation.

	Fixed comment.

	Added to the repository

	Fix memory leak. Patch provided by Frederic Gobry
	<frederic.gobry@smartdata.ch>

	Updated

	(msgset_member,msgset_negate): New functions.

	Added negation of message sets.
	`from ! subject:/daily/' outputs all messages whose subject
	does not contain the word 'daily'.

	Fixed behaviour of z. when the total number of messages is less
	than the number of line per page of output.

2002-11-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(make_tmp): Initialize auth to NULL.

	Updated

	Added MU_HEADER_REFERENCES.

	Changed to reflect new reply behaviour.

	Use MSG_.* macros in calls to util_get_message.

	(mail_from0): New function.
	(MSG_ALL,MSG_NODELETED,MSG_SILENT): New macros.

	(util_get_message): Expanded semantics of the last
	argument. It now contains flags that control how
	util_get_message operates. Flags are a bitwise sum of the
	following:
		MSG_ALL		Return any message (deleted or not)
		MSG_NODELETED	Do not return deleted messages.
		MSG_SILENT	Do not output warnings about deleted
				messages.

	(yylex): allow for '-' in field names. Notice,
	that when the dash is used to mean 'range' and the first message
	in the
	range is not numeric, there should be whitespace between
	them.

	Use mail_from0 to avoid spurious diagnostics  about deleted
	messages.

	(mail_from0): New function shared between from.c and headers.c

	(var_quote): Output prefix sequence before each line  of
	multiline headers.

	Add In-Reply-To and References headers to the outgoing message.

2002-11-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added http

	Updated

	Added SUBDIRS.

	Broke long lines.

	Invoke mu_init with -noflags.

	Use ENABLE_VIRTUAL_DOMAINS

	Added to the repository

	(switch_user_id): Changed prototype to honour
	mu_auth_data->change_uid member.

	(mailer_test): New procedure for testing mailers

	Added config to test_dirs.

	(main): Improved check for debugging mode.

	Removed include <sys/select.h>

	correct the prototype of message_is_multipart() (patch by
	Olivier Bornet)

	Documented new --disable options.

	Use MU_ENABLE_SUPPORT for virtual-domains.

	Translate dot to underscore in variable names.

	(print_string): Pad right if necessary.

	(mu_auth_virt_domain_by_name): Bugfix. Didn't allocate enough
	storage for mailbox_name.

	Updated

	(sizetag production): added missing semicolon, required by
	modern yaccs.

	(cond production): added missing semicolon, required by modern
	yaccs.

	include <unistd.h> (for ssize_t)

	include <mailutils/argp.h>

2002-11-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added to repository

	Added mta

	Minor fixes

	Added testsuite for mail.remote

	Renamed some variables to avoid name clashes.

	Some applications (e.g. mail.remote)
	implicitly rely on the possibility to seek on stdin streams.
	To provide this functionality:
	 (struct _file_stram): Added cache member.
	 It is a memory stream used to provide seeking capability for
	 stdio streams.
	 (_file_destroy): Destroy cache if necessary.
	 (_stdin_file_read,_stdin_file_readline,_stdout_file_write): New
	 functions. Provide IO operations for stdio streams.
	 (stdio_stream_create): Register new IO functions.

	Fixed indentation.
	(smtp_address_add): New function. A wrapper around
	 address_union.
	(_smtp_set_rcpt): Rewritten based on address_union call.

	Fixed indentation.

	Framework for testing mail.remote

	Added testsuite

	Add top_builddir to site.exp

	Added send.exp

	Test mail and reply commands.

	Added indentprefix.

	A "fake" MTA for testing "mail" and "mail.remote"

2002-11-01  Jeff Bailey  <jbailey@gnu.org>

	2002-11-01  Jeff Bailey  <jbailey@gnu.org>
		* mh/Makefile.am: Use MHPROGRAMS and MHLIBRARIES
		instead of
		MH_PROGRAMS and MH_LIBRARIES so that automake doesn't
		complain.

		* mail.remote/Makefile.am: Use SMTPPROGRAMS instead of
		SMTP_PROGRAMS so that automake doesn't complain.

		* configure.ac: Adjust for above changes.

		* mh/Makefile.am: Use AM_YFLAGS instead of YFLAGS.

		* libmu_scm/Makefile.am: Use AM_CPPFLAGS instead of
		CPPFLAGS

		* autogen.sh: Redo using 'autoreconf'.	This is now
		the right
		tool to use for generating the build environment.

		* Makefile.am: Require version 1.7.1, add std-options to
		AUTOMAKE_OPTIONS

		* configure.in: Require version 2.54.  Update quoting.
		Change
		AC_ARG_WITH and AC_ARG_ENABLE to use AC_HELP_STRING

		* m4/enable.m4: Change AC_ARG_ENABLE to use AC_HELP_STRING

		* lib/Makefile.am: Remove ansi2knr

		* lib/ansi2knr.c: Remove

		* lib/ansi2knr.1: Remove

2002-11-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Slight improvement to the conditional building

	Build the targets conditionally

	Substitute MH_PROGRAMS, MH_LIBRARIES and SMTP_PROGRAMS variables.

	Restored to pre-2002-10-29 state: Makefile.am in the
	subdirectories build their targets conditionally

	Fixed action-if-false

2002-10-30  Jeff Bailey  <jbailey@gnu.org>

	2002-10-30  Jeff Bailey  <jbailey@gnu.org>
		* mh/Makefile.am: Use AM_YFLAGS instead of YFLAGS

		* libmu_scm/Makefile.am: Use AM_CPPFLAGS instead of
		CPPFLAGS

		* autogen.sh: Redo using 'autoreconf'.	This is now
		the right
		tool to use for generating the build environment.

2002-10-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Following the proposition of Olivier Bornet
	<Olivier.Bornet@smartdata.ch>,
	added a possibility to disable the support for certain protocols.

	Added Olivier Bornet

	Fixed names of the macro-definitions.

	Documented the return code. (Thanks to Olivier Bornet)

	Start sieve with "-M none".

	Option -M none disables creating the mailer.

	Conditionally compile the contents.

	Updated to reflect the set of ENABLE_ defines.

	Conditionally build directories depending on  protocols that
	may be disabled.

	New switches --disable-pop, --disable-imap,
	--disable-mh, --disable-smtp and --disable-sendmail allow
	to disable corresponding protocols.

	Added enable.m4

	New file. Implements MU_ENABLE_SUPPORT defun.

2002-10-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	New tests: parse non-quoted phrase containing dots.

	(parse822_phrase): Allow for dots in non-quoted personal phrase.

	Updated.

2002-10-14  Alain Magloire  <alainm@gnu.org>

	Updated.

	New LGPL implementation of getline() and getdelim()

2002-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu-path-maildir, mu-path-folder-dir): New globals

	Use install-data-hook to create the libguile-mailutils symlink.

	Cleaned up the source.

	Changed sieve.scm: rule

	Allow to be executed directly by guile

	Provide GUILE_BINDIR variable for Makefiles.

2002-10-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added /mailbox to INCLUDES

	Removed (duplicated in mailbox)

	Use util_get_message()

	(util_error_range): New function. Outputs "message
	out of range" diagnostics.
	(util_get_message): New function. A wrapper around
	mailbox_get_message with the proper diagnostics.

	Allow a single argument as an extension to the
	standard '=' command. The effect is to move the current
	pointer to the given message.

	(_mu_scm_package_string, in scheme mu-package-string): New global.

	(mu_message_set_header): Bugfix.

	Added vacation.scm

	New file. Implements "vacation" extension.

	Updated to use new register style

	Use new sieve-register style.
	(sieve-preprocess-arguments): New function. Preprocess
	and group arguments into optional and positional types.
	(sieve-parse-arguments): New function. Parses arguments
	to an action or a test.
	(sieve-register-action,sieve-register-test): Rewritten.

	Changed sieve-register-.* functions to allow for actions to
	accept tags.
	(sieve-get-opt-arg): New function. Returns the argument to a
	given tag.

2002-10-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added missing includes.

	(util_header_expand): New function. Expand the address-related
	fields of a header.

	Removed unneded typecasts.

	(alias_expand): Return NULL if no suitable expansion was found.

	(mail_send): Set save_to right after entering the function.
	(mail_send0): deduce savefile basing on the localpart of
	the first address (when save_to is set).
	Expand aliases in every address-related header.

	Protect the declaration of environ by #if.

	Check if environ is declared

2002-10-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	 Documented crt variable and setenv command.

	(dump_headers): Do not print extra newline after the headers.

	(util_get_crt): Return the value of the "crt"
	variable. The variable may be either boolean or numeric,
	meaning the minimum number of lines the body of the message
	must contain in order to be put through the pager.
	(util_merge_addresses): Add new address to the comma-separated
	address list, unless it is already present there.

	(compose_header_set): COMPOSE_SINGLE_LINE part rewritten.

	(mail_reply): Bugfix.

	(mail_setenv, util_get_crt, util_merge_addresses): New functions.

	Use util_get_crt() to check the value of the crt variable.

	Added setenv.c

	Added setenv command

	New file. Implements `setenv' command: an extension allowing to
	manipulate the shell environment.

	(address_contains_email,address_union): new functions.

	(_address_get_nth): Get nth sub-address from an address.
	(most of the functions): Rewritten using _address_get_nth
	(address_aget_personal, address_aget_comments): new functions.
	(address_dup): New function. Create a copy of a (single) address.
	(address_contains_email): New function. Check if the given email
	is contained in the address.
	(address_union): New function. Create a union of two addresses.

2002-10-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added repl

	New file. A framework for the `repl' program.

	Added :regex tag -- an extension allowing to use posix regexp
	in address and header tests.

2002-09-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(scan_LDADD): Use CURSES_LIBS instead of directly linking -lcurses

	Changed check for CURSES_LIBS

2002-09-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Implemented --draft and --file switches

	(strobj_len,print_string): Extra safety not to dereference
	NULL pointer.

	MH: Added user-defined message sequences

	(mh_format_dump): Bugfix: missed break;

	Use mh_iterate(). Accept message specifications from the
	command line.

	Fixed args_doc string. Use new mh_msgset_parse() syntax.

	Use new mh_msgset_parse() syntax.

	Minor fixes.

	(mh_msgset_reverse,mh_msgset_negate,
	 mh_msgset_current, mh_msgset_free): new functions.
	Added comments.

	Descriptive comment regarding the allocation of the return values.

	 (mh_msgset_reverse,mh_msgset_negate,mh_msgset_current,
	  mh_msgset_free): new functions.
	 (mh_context_get_value,mh_msgset_parse): Changed.

	Do not use current_folder global.

	(main): Correctly set current message number.

	Fixed typo.

2002-09-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Documented "editheaders" variable

	mail: Implemented "editheader" variable.

	(install-exec-hook): Remove "folders" before linking "folder"
	to it.

	Implemented "editheader" variable.

	Use new compose functions.

	(util_msglist_esccmd): Declaration updated.

	(struct compose_env): Changed structure. Renamed
	to compose_env_t.
	(compose_init, compose_header_set, compose_header_get,
	 compose_destroy): New functions.

2002-09-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Added fmtcheck

	(mh_format_dump, mh_my_email): New function.

	(mh_my_email): New function.

	(mh_format_dump): New function. Produces the
	listing of compiled format code.
	(builtin_me, builtin_profile, builtin_putstr, print_string,
	 builtin_putnum, builtin_putnumf, builtin_tws,
	 builtin_pretty): Implemented.
	(builtin_pers): Enclose the return in a pair of double-quotes.

	New file. Source for fmtcheck command. It is
	planned as a replacement for fmtdump, providing a broader
	set of options for debugging user formats. Currently only
	dump (listing) mode is implemented.

	(const char *days): Bugfix. "Sun" must be the first entry in
	the array.

	Fixed typo in #if directive.

2002-09-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(strobj_is_null,strobj_realloc): New function.
	(print_string): Accept an explicit width argument.
	(print_obj): New function.
	(mh_format): Use the new functions.
	(builtin_lit): Fixed.
	(builtin_formataddr,builtin_putaddr): Implemented.

	Stricter typing of productions. The cntl
	production allows for empty lists (e.g. %<{reply-to}%?{from}%>).
	Enable debugging when MHFORMAT_DEBUG environment variable is
	set.
	(yylex): Skip whitespace after the function name.
	(branch_fixup): The produced jump offset was wrong. Fixed.
	(mh_code_builtin): Fixed passing of escape arguments.

	Changed mh_opcode_t type.

	Fixed scanning of folders and producing the output.

	(util_save_outgoing): Removed extra newline at the end of the
	envelope `from' line.

	(mail_send0): Bugfix. A dot ends the message
	only if it is the only character on the line. Thanks
	to Thomas Esser <te@dbs.uni-hannover.de> for noticing.

	(mail_cmdline): removed unnecesary conditional.

2002-09-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Corrected args_doc

	Updated

	Added rmf.

	Added rmf. Added install hook to link 'folder' to 'folders'

	Implements rmf command.

	Implemented -header. Several fixes.

	(mh_argp_parse): Complain about non-processed arguments unless
	"index" is non-null.

2002-09-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added "folder"

	Fixed indentation.

	Added  folder.c an mh_global.c

	Use new configuration functions.

	New prototypes

	New file. Implementation of the folder command

	New file. Global configuration functions

	(mh_append_message): Scan the mailbox if it has not been
	scanned yet.

	(header_parse): Bugfix: do not bail out if len==0.

2002-09-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added mhpath.

	(mh_iterate): Rewritten to expect msgset to contain message
	ordinal numbers.

	(mh_get_message): New prototype.

	(msgset_preproc): Expand the second part
	of the message spec as well (the one after dash).
	(mh_msgset_parse): Fill message set with message ordinal
	numbers.
	(mh_search_message): Binary search for a message with the
	given sequence number.
	(mh_get_message): Retrieve the message with the given sequence
	number.

	New file. Source for mhpath command.

	Updated

	Updated mh_open_folder invocations.

	Initial implementation.

	(mh_msgset_parse): Sort the message set and  remove any duplicates
	from it.

	(mh_init2): Fixed generation of the sequence file
	name.
	(mh_open_folder): Take an extra argument: a flag specifying
	whether the folder should be created.
	(mh_expand_name): Changed return data type.

	(mh_init2, mh_is_my_name, mh_iterate): Added prototypes.
	(mh_open_folder, mh_expand_name): Changed prototypes.

	(main): Use mh_open_folder.

	(_mh_message_save): Take into account
	trailing newline returned by envelope_date (should it
	be returned, by the by?)
	Output a newline to separate the headers from the body.
	(mh_envelope_date): Make sure the returned value is
	terminated with a '\n' character (if the buffer space
	permits).

2002-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added missing file

	Updated

	Use new mh framework

	Changed handling of MH profiles.
	(mh_open_folder, mh_get_dir, mh_expand_name, mh_iterate):
	New  functions

	(mh_getopt, mh_help): Accept new argument:  a pointer to the
	doc string.

	(struct mh_argp_data): New member `doc'. Keeps the
	documentation string.
	(parse_opt): Pass the data->doc member to mh_getopt.
	(mh_argp_parse): Initialize data.doc.

	(mh_builtin_fp, mh_msgset_t): New types. Added new prototypes.

	Added new modules.

	 The framework for the refile command.

	Mh-specific message sets.

	Context-related functions.

	(_scheme_main): Removed unused variable.

	 Preserve the envelope information in the message header

	(mu_path_folder_dir): New global. Holds  the name of the user's
	folder directory.

	Include message.h

2002-09-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mh_argp_parse): Updated declaration.

	(mh_argp_parse): Increased number of arguments.
	The last argument points to a location where to store the
	ordinal number of the first non-option argument (can be NULL).

	Call mh_init2() after parsing.

	(mh_format): Bugfix (NULL pointer dereference).

	Split mh_init() in two. The second part,
	mh_init2(), gets called after parsing the arguments.
	(mh_open_folder): New function. Open current folder.

	(mh_open_folder): new function.

	Source for rmm program.

	Added rmm.c

	Removed unused variable

2002-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	In order to make libmailutils self-contained, shuffled several
	files from lib/ to mailutils/.

	Added standalone guile module.

	Fixed INCLUDES

	Added to the repository

	Fixed noinst_HEADERS

	Conditionally include gnu/argp.h

	Added argcv.h

	Removed include <xalloc.h>

	Removed include <argp.h>

	Include mailutils/argp.h

	Include mailutils/argcv.h

	Removed include <argcv.h>

	Updated

	Moved from lib/

	Replacements for GNU headers that might be missing but are needed
	for mailutils

	Moved to include

	Moved to mailbox

	Changed licence to Lesser GPL

	Moved files needed by libmailbox to mailbox directory

	Load libmu_scm.la

	Source for mailutils.scm -- a module interface file for mailutils.

	(mu-register-format): New primitive. Registers desired
	mailbox/mailer formats.
	(mu_scm_init): Unconditionally register path_record format.

	Updated.

	Install libmu_scm. Added new rule
	for building guile standalone mailutils module -- mailutils.scm

	Use MU_LIBOBJS on functions needed for libmailbox.
	Add mailutils.scm to GUILE_PKGDATA.

	Added mu_libobj.m4

	New file. mu-specific version of AC_LIBOBJS.

2002-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added support for Guile 1.6.0

	Added to repository

	string->obarray-symbol is deprecated in guile 1.6.0. Use another
	approach.

	Upgrade to guile 1.6.0

	Added @GUILE_INCLUDES@. Changed snarfing rules.

	Added @GUILE_INCLUDES@ and @GUILE_LIBS@.

	Added to the repository

	Moved to scripts/guile-1.4

	Updated

	Add guile.m4

	New file. Check for guile presence and usability. Determine
	its version.

	Changed check for guile. Raised patchlevel to 0.1.1

	(mu_sql_authenticate): Removed unused variable.

2002-09-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mh_message_number): A wrapper around message_get_uid call.
	Returns the sequence number of the message.

	Changed type of `prog' to mh_instr_t, which is
	a union of all objects that can be held in a program text
	cell. This fixes potential problems due to sizeof(int)!=
	sizeof(void*).

	Rewritten to use MH sequence numbers as UIDs. This
	allows to simplify the code and to get rid
	of mh_message_number(), which didn't fit well in the
	mailutils framework.

2002-09-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Include http.c.texi

	Added http.c.texi

	Added http.c

	Example of stream functions.

	Verbose description of --with-mail-spool configuration
	option. Spell-checked the file.

2002-09-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Restored optimization of F1

	Updated

	Included parse822 as extra node.

	Use md5.[ch]

	Replaced RSA code with one from public domain

	Updated

	Use FSF md5 functions.

	Removed md5-rsa. Use lib/md5 instead.

	Add comment regarding the use of tabs.

	Indent output with explicit \t.

	Commented out inclusion of c-api.texi

	Added copyleft header.

	Added copyleft header. Removed README-alpha from
	EXTRA_DIST and added it to AUTOMAKE_OPTIONS. Removed
	incomplete mh.

	Bumped version number to 0.1

2002-09-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Untabified. Needed for proper conversion to *.texi

	Commented out references to mailbox2 stuff.

	Removed confusing note: yes, one always has to give -t to sendmail
	to force it to get recepient addresses from the headers.

	Updated.

	Updated

	Temporarly removed compile.exp: it uses files not included in
	the distribution.

	Couple of fixes.

	Use mu_tempname

	(mu_tempname): New function. Creates a unique temporary file
	name in tmpdir.

	(sieve-expand-filename): Fixed syntax error.

	Added sieve.scm

	Make sieve.scm from sieve.scm.in

	Added to the repository.

	Generated from sieve.scm.in

	Documented sieve.

	Removed reference to non-implemented NNTP.

	Removed erroneous redeclaration of getutent.

2002-08-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Reorganised examples/. Added mailbox testsuite. Also several
	bugfixes

	Updated

	Added autogenerated files.

	Added to the repository

	Added testsuite

	(mu_version): Check if MU_CAPABILITY exists. One never knows...
	(mu_command): Additional diagnostics
	(mu_expect_list,mu_test): Commented out extra checks.

	Provide definition for MAXHOSTNAMELEN, if necessary.

	(mail_next): Do not allow the cursor to grow past total number
	of messages.

	(mail_copy0): Make sure we really got the message.

	Define __P() if necessary.

	(sieve-expand-filename): Do not attempt to expand meta-characters
	understood by mailbox_create_default.

	Added copyleft header. Reindented.

	Added copyleft header. Changed output format to better suit
	testing.

	Added copyleft header. Set user email domain to localhost
	on startup.

	Removed obsolete file. mail.local provides the same functionality.

	Removed. Incorporated into mailbox/testsuite.

	Removed

	Removed. Auto-generated file.

	include url-parse.c.texi

	include address.c.texi

	Rules to generate examples .texi from sources in ../examples.

	Build mailbox/testsuite/Makefile and examples/Makefile

	Added examples/ to SUBDIRS.

2002-08-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	sieve: several fixes and new testsuite

	Added sieve.mbox

	(mu_exec): added -arg-list option.

	Added to the repository

	Updated to match new spooldir contents.

	New file. Mailbox for testing sieve.

	Added testsuite

	Added testsuite for sieve. Changed version number to 0.0.9e.

	(mu_license_text): removed static qualifier.

	(mu_license_text): External declaration.

	(addrdebug, yydebug): external declarations.

	 Handle --license option. Additional debugging
	 flags: 'a' to produce address parser traces, 'g' to produce
	 main parser traces.

	Handle C-style comments.

	Include "sieve.h"

	Implemented envelope test (see comment, though)

	(sieve_interp_alloc): Fill allocalted memory with zeroes.

2002-08-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added testsuites for frm,from,messages,readmsg

	Added new testsuites

	(mu_start): Modified.

	Renamed unix.exp to default.exp

	(struct argp_option options): Fixed definition
	of -a option.
	(print_header): Last header was never seen.

	Added include <mailutils/url.h>

	Added "mailbox" command line capability.

	Fixed return status when the mailbox does not exist.

2002-08-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Finished imap4d testsuite

	(mu_expect_list): New procedure

	Added new files.

	(imap4d_test): Added new options: -long to emit long IMAP4D
	literal after
	the command, -silent to be silent about the results of the
	testcase.

	Replaced  [imap4d_uidvalidity] with simple regexp.

	Added to the repository

	Fixed typo in comment.

	(fetch_envelope0): Emit whitespace before "from" header.

	(imap4d_append0): Skip leading whitespace.

	Don't bail out if the mailbox does not exist.

2002-08-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added check for socklen_t

	(mail_folders): Protect directory name with quotes.

	Changed type of "len" to size_t.

	(_tcp_open): Changed type of "namelen" to socklen_t

	Removed cast from void* to int, it does not work on 64-bit
	machines.
	Besides, pointer comparison on equality/inequality is strictly
	defined
	in C.

	(mu_address_get_count): Fixed type of "count" variable

	Adjusted tests to the changes in mbox and mbox1

	Changed `organisation' header

	Added fetch.exp, x.exp

	Added to the repository

	(imap4d_test): Added new switches: -literal and -noliteral

	(fetch_operation) Fix section specification output.

	Fixed allowed states for X-VERSION command.

	 Enabled "folders" test.

	Removed leftovers of the old uidvalidity stuff.

2002-08-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	More changes to the testsuite

	Use -re to check uidvalidity value, as we can never be sure
	the seconds
	don't change between computing the uidvalidity value and running
	the test.

	Properly handle --re and -- flags.

	Introduced -re flag to handle a pattern as a regular expression,
	and --
	flag to escape exact strings that actually happen to start with
	"-re".

	Updated

	Updated to match new test mailbox.

	Fixed timestamps.

	Added search.exp

	New file. Provides tests for SEARCH command.

	Include <crypt.h> when available

	(parse822_time): Tolerate unknown timezone abbreviations.

	Do not use asprintf.

	Removed mu_asprintf.c

	Provide declarations for (v)asprintf.

	Not needed

	Descriptive comment on util_uidvalididty.

	Include <url.h>

	Check if crypt is declared.

2002-08-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Several bugfixes. Added testsuite framework and first tests
	for imap4d.

	Added to repository

	(mu_tilde_expansion): Bugfix. Was freeing passed homedir, which
	caused grief later.

	Fixed coredump when MAIL environment variable has an empty value.

	(imap4d_list): Added comment describing when INBOX should
	be output.

	(status_uidvalidity): Use util_uidvalidity.

	(imap4d_select_status): Use util_uidvalidity.

	(util_uidvalidity): New function

	(util_uidvalidity): New function. A wrapper
	around mailbox_uidvalidity. When a mailbox is selected whose
	first message does not keep X-UIDVALIDITY value, the uidvalidity
	is computed based on the return of time(). Now, if we call
	"EXAMINE mailbox" or "STATUS mailbox (UIDVALIDITY)" the same
	mailbox is opened second time and the uidvalidity recalculated.
	Thus each subsequent call to EXAMINE or STATUS upon an already
	selected mailbox will return different uidvalidity value. To
	avoid this, util_uidvalidity() first sees if it is asked to
	operate upon an already opened mailbox and if so, returns
	previously computed value.

	Added testsuite

	Create imap4d/testsuite/Makefile

2002-08-22  Jeff Bailey  <jbailey@gnu.org>

	2002-08-21  Jeff Bailey  <jbailey@outpost.dnsalias.org>
		* README: Make this a bit more current.

2002-08-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added pop3d testsuite.

	Added to repository

	New hidden option  --show-config-options. Displays a list of
	configuration defines from config.h

	Updated

	Added pop3d/testsuite/Makefile

	(mu_init,mu_version): Modified.

	Added passwd.in

	New file. Template for etc/passwd for testing pop3d and imap4d.

	New option -subst: sets sed command

2002-08-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Moved from mail/testsuite

	Removed etc, spool and folder test directories

	Added to repository

	A couple of bugfixes. Introduced
	--virtual-passwd-dir switch to override the
	default placement of virtual domain password files.

	Added testsuite subdirectory

	Moved to ../../testsuite

2002-08-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	For compatibility with older mails take a number alone to mean
	"print NUMBER"

	Fixed improper use of header_aget_value().

	Bugfix: display messages without Subject: or From: headers.

	(sendmail_send_message): Bugfix. In spite
	of what the comment said, -t option is not implicit and must
	be specified.

	Provide "generic:system" as default.

	Moved system.c from auth/ to mailbox/

	If -lcrypt is present, add it to LIBS, not just AUTHLIBS.

2002-08-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added GNU copyleft header.

	Documented authentication concepts and related command line
	options.

	Removed vestiges of mu_virtual_domain

2002-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Switched to the new authentication/authorization functions.

	To avoid confusion, pruned libmailbox directory.
	Merged sql core stuff from MySql/MySql.c into auth/sql.c

	All functions made static.

	Removed MySql

	Merged sql core stuff from MySql/MySql.c

	Functionality merged into auth/sql.c

	To avoid confusion, pruned libmailbox directory

	Moved authentication specific calls scattered all over the
	code to one place: libmuauth library. The new code returns
	authorization credentials in struct mu_auth_data. It contains
	all information from struct passwd as well as some
	mailutils-specific information. New options `--authentication'
	and `--authorization' provide a way to override default
	settings.

	Free return value of mu_get_homedir().

	Include <mailutils/attribute.h>

	(_locker_lock_dotlock): Bugfix: do not leave temporary lock file
	in case of errors

	(var_insert): Changed declaration to avoid `auth shadows
	parameter' warning.

	(util_get_homedir): Do not strdup return. mu_get_homedir()
	does it now.

	(mail_set): Fixed inconsistency in passing arguments to strtoul().

	(message_has_bcc): Fixed inconsistency in passing arguments
	to header_get_value().

	Include <mailutils/mu_auth.h>

	Provide declarations for vasprintf,asprintf if necessary.

	Provide declarations for strchrnul, strndup  if necessary.

	(mu_register_getpwnam,mu_register_getpwuid,mu_getpwnam,mu_getpwuid,mu_virtual_domain):
	Removed.

	(mu_register_capa): New prototype.

	Added mu_auth.h

	Prototypes for mailutils authentication/authorization functions.

	Removed virtual.c

	Added to repository

	Virtual-domain-specific auth functions.

	SQL-specific auth functions.

	PAM-specific auth functions.

	New file. System-specific (passwd/shadow) auth functions.

	Added mu_auth.c

	New file. Basic authentication/authorization functions.

	Removed pam- and sql-specific stuff

	Switched to the new authentication/authorization functions.

	Include <mailutils/error.h>

	Added INCLUDES

	Added auth to SUBDIRS

	Check for prototypes of strtok_r, strchrnul,
	strndup, asprintf, vasprintf. Create auth/Makefile

2002-08-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Finished mail testsuite.
	Some additional cleanup due to switching to the new autoconf.

	Parse arguments using mu_argp instead of getopt_long.

	Removed argp_program_bug_address. Use PACKAGE_STRING, provided by
	the new autoconf.
	Imply debug mode if the input stream is connected to a tty. Don't
	try to switch to "mail" group id in debug mode.

	Removed argp_program_bug_address. Use PACKAGE_STRING, provided
	by the new autoconf.

	Initialize argp_program_bug_address.

	Remove trailing whitespace from the patterns.

	(default_mail_test): Ignore trailing whitespace

	Updated

2002-08-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use util_getenv().

	(mail_start): New flag -reuse-spool.
	(default_mail_test): If command is empty do not send anything.
	(mail_test_file): New function. Test the contents of an
	arbitrary file.

	Added write.exp

	New file. Tests for message saving and disposing commands:
	delete, mbox, [sS]ave, [wW]rite

	Bugfix

	Honour "outfolder" variable. If called without
	arguments, deduce output file name from the number of current
	message.

	Use util_getenv(). Provide default for "regexp" internal variable

	(mail_expand_name): Use util_getenv() and util_folder_path().

	Use util_getenv(). Honour outfolder variable, when set.

	Use util_getenv()

	Use util_setenv()

	Rewritten internal environment functions.
	Environment variables are now typed, so setting "set folder=1"
	won't cause coredumps anymore. The function util_getenv() is
	used to retrieve a variable of given data type. util_find_env()
	takes second argument specifying whether it should create a
	missing variable. This function is used only in util.c and
	var.c.

	(struct mail_env_entry): Reorganized. Added type member and
	changed
	"value" to be a union.
	(environment functions): Changed prototypes.
	(util_folder_path): New prototype.

2002-08-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Corrected paths.

	Fixed paths. (mail_prepare_spools,mail_cleanup_spools): new
	procedures.

	Added EXTA_DIST and distclean-local

	New file. Prepares data for testsuite.

	Removed distcheck kludge. Testsuite doesn't need it any more.

	Updated

	*** empty log message ***

	(imap4d_capability): call   imap4d_auth_capability() to output
	AUTH= capabilities.

	(imap4d_auth_capability): New function.

	Changed HAVE_TM_.* to HAVE_STRUCT_TM_.*

	Fixed generation of site.exp. Added DISTCLEANFILES.

	Removed tm_ files.

	Use LTLIBOBJS.

	DISTCLEANFILES

	Added missing AH_BOTTOM and descriptions to AC_DEFINEs.
	Replaced sr_STRUCT_TM.* with AC_CHECK_MEMBERS
	(no aggregate members, so it's safe here).

	Added distcheck rule needed for test suite.

2002-08-05  Jeff Bailey  <jbailey@gnu.org>

	2002-08-05  Jeff Bailey  <jbailey@outpost.dnsalias.org>
		* lib/Makefile.am: Remove libtool hacks, automake
		now handles
		LIBOBJS correctly.

		* .cvsignore: Add autom4te.cache

		* configure.in: Rename to ...
		* configure.ac: ... this, and update to autoconf 2.5

		* Makefile.am: Now requires Automake 1.6

		* m4/malloc.m4: Update from gnulib

		* m4/realloc.m4: Update from gnulib

		* m4/regex.m4: Update from gnulib

		* m4/utmp.m4: Change LIBOBJS to use AC_LIBOBJ

2002-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Remove state check.

	Indicate X-VERSION capability.

	Added entry for X-VERSION

	(util_finish): Do not allow to switch to
	a higher state in case of command failure.
	(util_do_command): Run the command only if it is allowed in
	the current state.

	(imap4d_list): Remove state check. Bugfix: allow a meta-closure
	(*) in any position of the word.

	(imap4d_version): New function.

	(main): Imply debug mode if the input stream is
	connected to a tty. Don't try to switch to "mail" group id in
	debug mode.
	(imap4d_mainloop): Do not reveal our version. One may issue
	X-VERSION command in authenticated state to get it.

	Added version.c

	Support for X-VERSION command

2002-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated. Added emacs local variables to facilitate editing

	(flags_to_string): Map \Seen to MU_ATTRIBUTE_READ.

	(imap_flags): Empty attribute list means MU_ATTRIBUTE_SEEN.

	(mailbox_flush): New function. Marks all
	messages as seen and saves the attributes to the mailbox,
	optionally expunging it.

	(mailbox_flush): New prototype.

	Use mailbox_flush before closing the mailbox

	(mh_messages_recent): use MU_ATTRIBUTE_IS_UNSEEN.
	(mh_message_unseen): use MU_ATTRIBUTE_IS_UNREAD.

	(mbox_messages_recent): use MU_ATTRIBUTE_IS_UNSEEN.
	(mbox_message_unseen): use MU_ATTRIBUTE_IS_UNREAD.

	(attribute_is_recent): Use MU_ATTRIBUTE_IS_UNSEEN.
	(attribute_set_flags): If the required bits are already set,
	do not modify anything
	(attribute_unset_flags): If the required bits are already
	cleared, do not modify anything

	(MU_ATTRIBUTE_IS_UNSEEN,MU_ATTRIBUTE_IS_UNREAD)  New macros.

	(mu_register_getpwuid): Fixed declaration.

	(mu_register_getpwuid): Fixed proto.

	For consistency, reduced all operations
	with flags to manipulations with _imap4d_attrlist array
	RFC2060 states that  \Seen flag means "Message has been read",
	so it should be mapped to our MU_ATTRIBUTE_READ.
	(util_print_flags, util_attribute_matches_flag): New functions.

	Output the actual number of recent messages.

	(get_attribute_type):  Removed. util_attribute_to_type() does
	the job; (imap4d_store0): Use util_attribute_to_type().

	(imap4d_select_status): Run imap4d_sync() to output EXISTS and
	RECENT untagged responses.

	(util_print_flags,util_attribute_to_type,util_attribute_matches_flag):
	New prototypes.

	(cond_keyword): Use util_attribute_matches_flag.

	(fetch_flags0): Use util_print_flags.

2002-08-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	include argcv.h; (fetch_send_address): Added const specifier to
	the declaraton.

	Rearranged functions to let implicit prototyping work.

	(getMpwuid): Bugfix. It should take a pointer as its argument

2002-08-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(pop3d_argp_capa): Bugfix. Was missing "mailbox" capability.

	(read_rc): Bugfix. linebuf must be freed
	no matter was the string accepted or not.

	(util_msgset): Added some comments

	Updated

	(imap4d_store0): Use fetch_flags0.

	(fetch_flags0): New function. Produces untagged
	fetch response for FETCH and STORE commands. If necessary outputs
	also UID.

	(fetch_flags0): New prototype.

	(notify_deleted): Implemented "immediate decrement
	rule" required by RFC2060
	Interchanged reset_uid() and notify(). Notify decides whether
	and when reset_uid must be called.
	(notify): Call reset_uid(). when necessary.
	(reset_uid): Do not call notify().
	(imap4d_sync): Call notify().

	(util_msgset): Bugfix.

2002-07-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added Jordy Mallach

	(util_msgset): Always return sorted msgset with no
	duplicates. Fixed transcript support.

	Lots of bugfixes

2002-07-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide session transcript support for the daemons. The
	transcript is triggered by --transcript option to the
	daemon. Its output goes to LOG_FACILITY.debug.
	Fixed a couple of bugs in imap4d (Thanks, Jordy!)

	Use pop3d_outf instead of fprintf; (struct daemon_param):
	Initialize transcript member.

	Use pop3d_outf instead of fprintf; (pop3d_user): Removed unneded
	PAM_ERROR.

	Use pop3d_outf instead of fprintf

	(pop3d_outf): New prototype.

	(pop3d_outf): New function. Provides output
	functionality with session transcript support.
	(pop3d_readline): Support for session transcript.

	Handle SIGPIPE separately. Many clients seem to not wait for a
	response to LOGOUT command.

	Changed PAM error handling.

	(struct daemon_param): Initialize typescript member.

	(bodystructure,send_parameter_list): Fixed possible NULL
	dereference.

	Provide session transcript support.

	(daemon option group): New option --transcript.

	(struct daemon_param): New member "transcript"

2002-07-24  Sergey Poznyakoff  <gray@gnu.org.ua>

		header_aget_value was modified on May 9 but its
		invocations
		throughout the code were not examined. Here goes the fix.

	Properly check the return from headers_aget_value.

2002-07-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(comsatd_parse_opt): Fixed dereference of child_inputs.

	(pop3d_parse_opt): Fixed dereference of child_inputs. Thanks to
	Jordi Mallach.

	(imap4d_parse_opt): Fixed dereference of child_inputs. Thanks
	to Jordi Mallach.

2002-07-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Set screen and columns.

	Added teaparty.mbox

	Added tag.exp, z.exp

	A mailbox for tag.exp and z.exp.

	Test "tag" command and message selection.

	Test "z" command.

	(mail_delete): Initialize auto variables.

2002-07-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mail_mbox_commit): Do not store deleted messages into mbox
	(Thanks Matthew Whitworth).

2002-07-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added Matthew Whitworth

	Added mbox

	Sample user's mbox for testing \& expansion.

	Force readonly mode before proceeding.

	Set MBOX variable.

	Added folder.

	Data for folder.exp test.

	Added folder.exp

	(new file) A regression test for folder and file commands.

	Use mu_errstring() where appropriate.

	(mail_mbox_commit): Fixed typo. Thanks Matthew Whitworth,
	(mail_mbox_close): Do not expunge mailboxes if readonly is set.
	Helps in testing mail.

	(mail_copy0): Use mail_expand_name().

	(mail_expand_name): New function. Expands mail special characters
	in a filename.

2002-07-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	If the value of "folder" variable
	does not start with '/' or '~', assume it is relative to the
	user's homedir.
	Thanks to Matthew Whitworth <matthew@okcomputer.org> for
	reporting.

2002-07-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added two MIME messages.

	Added tests for size and decode commands.

	Expect the prompt to appear after the last pattern

	Do not move the cursor after running the command.

	(mailbox_create_default): If the
	mailbox name does not start with a '/' and does not contain
	a protocol specification, assume it is a file name relative
	to the cwd and convert it to the absolute file name.

2002-07-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added tests for Print, top, ignore and retain commands.

	Be more stringent in testing.

2002-07-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	added to the repository

	Added framework for dejagnu testsuite.

	Added to repository

	Added testsuite to SUBDIRS.

	Call AC_CANONICAL_SYSTEM. Create mail/testsuite/Makefile

	(mail_capa): Added "mailbox" capability.

2002-06-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fix FPE (noted by Matthew Whitworth)

2002-06-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mda_init,mda_next): use mu_expand_path_pattern.

	(mu_expand_path_pattern): new prototype.

	(make_progfile_name): Removed prototype.

	(mu_expand_path_pattern): new function

	(make_progfile_name): moved to
	mailbox/mutil.c:mu_expand_path_pattern

	(imap4d_login): Removed FIXME note: the user need not have a
	homedir at all.

	Updated

	(mu_message_set_header_fields): Bugfix.

2002-05-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added changes proposd by Walter J. Mack

	Add coditional closing bracket to balance earlier extern "C" {

	change all callback function specs from __P to __PMT

	use __PMT in typedef

	Include definition for __PMT (Patch by Walter J. Mack
	<wmack@componentsw.com>)

2002-05-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added mu_util.doc and .x to proper places

	Updated

	(mda_catch_body): Switch to the user's uid and change to his
	homedir
	before running his filtering script. Switch back to root before
	running mda().

	(switch_user_id): prototype.

	Added mu_util.c.

	(mu_scm_init): Init mu_util.c.

	(mu_scm_mutil_init): Prototype.

	Interfaces to functions from mutil.c

	(sieve-expand-filename): New function. Expands ~ in the given
	pathname,
	using geteuid.
	(action-fileinto): Use sieve-expand-filename. Be more robust
	in error handling.

2002-05-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Removed reference to non-existent mail.remote.h

2002-05-14  Sam Roberts  <sroberts@uniserve.com>

	ignoring .gdbinit

	updated

	Removed redundant mu_ prefix from mailutils/mu_argp.h.

	Updated.

	mail.remote now working as an SMTP forwarder.

	Merged mu_features.h into types.h.

	Added :mailer group, with option --mailer,-M to set the default
	mailer URL.

	Now clearing Bcc: even when there is an explicit TO argument. Not
	the
	best thing to do, but it seems to be What Everybody Does.

	Updated now that smtp mailer is working.

	Looking at other utilities makes me think that providing -t to
	sendmail is optional, need to test this.

	Updated TODO list and ran through GNU indent.

	An unsupported mailer URL now gives a more specific error
	than EINVAL.

	Silenced warnings that can appear depending on the presence of
	readline, and various terminal APIs.

	mailer_get|set_url_default() new functions to set the default
	mailer

2002-05-13  Sam Roberts  <sroberts@uniserve.com>

	Removed dependency on mailutils.

2002-05-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	To avoid dependency problems moved mu_argp.c to mailbox. Changed
	license to Lesser GPL.

	Added missing includes.

	Changed mu_argp.h to mailutils/mu_argp.h

	Added mu_argp.h

	Added mu_argp.c

	Removed mu_argp.* stuff.

	from lib/

	Moved to mailbox

2002-05-13  Sam Roberts  <sroberts@uniserve.com>

	Converts doxygen XML output to texinfo function documentation.

2002-05-11  Sam Roberts  <sroberts@uniserve.com>

	updated

	Not a good day, second typo in a row in tcp_stream_create.

	tcp_stream_create now has more informative errors for no host
	or port

	From now uses mu_argp, and has a debug flag.

	updated

	The arg check I added was checking floating data instead of
	actual args,
	serious error, fixed.

2002-05-10  Sam Roberts  <sroberts@uniserve.com>

	updated

	Tweaked header files to build without errors.

	Test program for current email address completion configuration.

	Group names no longer appearing in address lists (still parsed
	correctly).

2002-05-09  Sam Roberts  <sroberts@uniserve.com>

	updated

	Implemented correct semantics for sending mail to bcc'ed
	addresses.

	mailer_check_to(): ensures that there all the to addresses are
	qualified.
	mailer_check_from(): ensures that there is only one address,
	and it
	is qualified.

	header_parse(): wasn't ignoring LWSP after "bcc : ...", fixed.
	header_set_value(): there was no way to remove a field, now
	calling set
	with a field value of NULL removes the field.
	header_get_value(): was concatenating the values of all the
	fields with the
	same name, now it doesn't.
	header_get_address(): convenience function to get an address_t
	from a
	header field.
	header.h: sorted API functions to top of header, and ones used in
	implementing header_t to the bottom.

	address_concatenate() - appends one address list to another
	address_get_group_count() - the number of groups in an address_t
	address_get_unix_mailbox_count() - the number of unix mailboxes
	in ...

	mu_get_host_name(): returns this host name, looking gethostname()
	up
	with gethostbyname() if possible.
	mu_get_user_email_domain() and family now use mu_get_host_name()

	address parsing now creates email addresses for unqualified "unix"
	style mailboxes by using the mu_get_user_email_domain().

	message_create_copy(): creates a copy of a message, useful when
	you want
	to operate on a temporary copy of a message.

	Moved message copy code into message_create_copy().

	Attempting to connect to port 0 is now an error, and resolver
	failures
	cause MU_ERR_GETHOSTBYNAME instead of the less-than-useful EINVAL.

	Added smtp and mailer return codes.

	ignored

	_url_smtp_init(): using url_parse(), now accepts host AND port
	as args

	url_is_scheme(url_t, const char*): new function

2002-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Oops, remover mh from AC_OUTPUT: too early for that

	(mda_catch_body): Check if the message is to be delivered here,
	instead
	of doing it in deliver(). If the message was modified, drop it
	to the
	separate temporary file first, so that all modifications get to
	the user's
	maildrop.

	Changed mda() declaration.

	(imap4d_select0): Removed unused variable.

	Call MU_CHECK_UTMP.

	Changed runtime error reporting.

	(_get_address_part): Bugfix. Was passing too short a length
	to fun().

	Renamed isnumber to is_number. Apparently, OS X defines a macro
	with this name.

	Added utmp.m4

	Detect presense of utmp.h and {set,get,end}utent calls.

	Added utmp.c

	Replacements for {set,get,end}utent calls.

	Provide extern declarations for *utent calls.

2002-04-27  Sam Roberts  <sroberts@uniserve.com>

	updated

	Included <mailutils/types.h>, which will get <sys/types.h>
	& uid_t.

	Made inclusions of <malloc.h> conditional on autoconf check.

2002-04-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(mu_port_mark): Do nothing if the port is not in open state.

	New interfaces: mu-message-multipart?,mu-message-get-num-parts,
	mu-message-get-part

	Added mimeheader.scm

	Implements "mimeheader" extension test. The test is similar to
	"header" but works on multipart MIME messages also.

	(sieve-parse-command): Bugfix: must always return a list whose
	car is
	the token type.
	New command line options: --debug and --lib-dir

2002-04-16  Sam Roberts  <sroberts@uniserve.com>

	updated

	new mu_set_user_email() - email address to use for NULL (current)
	user
	new mu_set_user_email_domain() - domain to use to qualify an
	@-less username
	modified mu_get_user_email() - now uses default address and
	domain, if set
	-E,--email-addr - config option, calls mu_set_user_email
	-D,--email-domain - config option, calls mu_set_user_email_domain
	:address group for the above config options

	ignored

	One way to get rid of the annoying warnings about asprintf()
	not being
	declared is to always call a mailutils wrapper function, which
	in turn
	calls the real function. That means the wrappers (and other
	functions in
	lib) will still compile with warnings, but the mailbox and
	utility code
	can compile clean.

	updated

2002-04-15  Sam Roberts  <sroberts@uniserve.com>

	Updated to match src.

2002-04-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	added include <stdarg.h>

	Removed include <mh.h>

	(mh_argp_parse): Removed local declarations of
	program_invocation_.* variables.

	Added missing includes. Removed external declaration of
	program_invocation_short_name.

	Updated

	include <mailutils/url.h>

	include <config.h>

	Always compile pin.c

	Check if program_invocation_.*name are declared and/or defined.

	Added placeholders for PROGRAM_INVOCATION_NAME_DECLARED and
	HAVE_PROGRAM_INVOCATION_NAME.
	(@BOTTOM@): Provide external declarations for
	program_invocation_.*name
	if necessary.

	Updated

	Removed unnecessary code: namespace_getfullpath() now translates
	INBOX to filename.

	(namespace_getfullpath): Translate INBOX to the corresponding
	filename.

2002-04-15  Sam Roberts  <sroberts@uniserve.com>

	updated

	Implemented symlink unrolling before locking.

2002-04-13  Jeff Bailey  <jbailey@gnu.org>

	Bump version to 0.0.9d

2002-04-11  Sam Roberts  <sroberts@uniserve.com>

	Config files in ~/ all start with .mu again.

2002-04-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Cleanup after recent fixes

	Added "license" capability.

	"mailutils" capability does not exist any more. Changed to
	"common", "license".

	Fixed spelling of "license" option.

	Fixed auto-arranging of options groups. Fixed spelling of
	license option.

2002-04-11  Sam Roberts  <sroberts@uniserve.com>

	changed

	split mailutils capabilities

	mailutils capabilities were split, and it now reports failure,
	rather
	than calling failure seccess.

	mailutils capbilities were split up

	A stub mail.remote. It is waiting on completion of the smtp
	mailer_t.

	Default per-utility config files are ~/.programrc. If you want
	to segregate
	you mailutils configuration, make ~/.mailutils a directory,
	and put your
	config files in it (same name, minus the leading ".").
	Also organized all common options under the heading "Common
	options",
	moved the daemon and auth options before the common options,
	and implemented
	a --lock-flags option.

	(locker_set_default_flags) new function to set the default
	locking flags
	Fixed bug wherein lock count wasn't incremented for external
	locking.
	Fixed bug wherein the right flags wasn't checked during union
	init.

2002-04-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Prototypes for general-purpose retrieval functions.

	(mu_register_retriever): Register a retrieving function.
	(mu_retrieve): Retrieve information using stack of retriever
	functions.
	(mu_getpwnam,mu_register_getpwnam): Rewritten using retriever
	functions.
	(mu_getpwuid,mu_register_getpwuid): Likewise.

	Output only those list items that match given wildcard expression.

	Proto for util_wcard_match() and defines for its return values.

	(util_wcard_match): from list.c

	Removed imap_match().

2002-04-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed typo

	Reorganized. Default locking type is DOTLOCK.
	If the mailbox to be locked is not writable for the user,
	locking type changes to NULL (no locking at all). If the
	directory where the mailbox resides is not writable, the
	locking type switches to KERNEL.

	(MU_LOCKER_KERNEL): New locker type: implies kernel-locking.

2002-04-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Return OK response unless something grave has happened

2002-03-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Several bugfixes:
	 1. mail -f~user/path coredumps
	 2. mail --mail-spool [other than mbox URL]://hostname did not
	    work (same for frm and others).
	 3. mail --mail-spool imap://hostname did not work (at least
	    with out imap4d).

	(main): initialize c.

	(user_mailbox_name): Operate only on mbox: and path URLs.

	(imap_string): Return 1 if the input is not a quoted string.
	(imap_list): Ignore NIL delimiters, correctly handle
	strings, not enclosed in doublequotes.

	(print_dir): Enclose empty filename in doublequotes.

	Updated

	Renamed --with-maildir to --with-mail-spool for symmetry.

	(split_shortcut): Properly handle "~/"	filenames.
	(tilde_expand): Return MU_ERR_NO_SUCH_USER if an invalid username
	was specified.

	New error code MU_ERR_NO_SUCH_USER

	Some measures to help avoid the confusion about --file option:
	(Help output): Print additional note about --file taking optional
	argument.
	However, nobody reads help :(
	(parse_opt): Try to figure out if argument to -f was separated
	by a
	whitespace. If so, print a warning and switch to mail-reading
	mode.

	(main): Print more detailed diagnostics if mailbox_scan failed.

	Documented --mail-spool option.

	Renamed --maildir to --mail-spool.

2002-03-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update

	Protected _exit by #ifdef.

	Check for _exit.

	Some fixes

	Removed typedefs. Included <mailutils/types.h>

	Include <mailutils/debug.h>

	Added types.h

	New file: declares all mailutils' data types

	_exit is not portable.

	include <sys/wait.h>

	Added some includes, needed after  yesterday's modifications.

	Documented use of ~/.mu.<program>rc

	Renamed program-specific profiles to ~/.mu.<program>rc.

2002-03-25  Sam Roberts  <sroberts@uniserve.com>

	updated

	Added alains suggestions about read/write lock optimization.

	Finished split of forward declarations into
	<mailutils/types.h>. Now you
	have to include the header for the functions you want to use,
	but you can
	change a header without causing a recompile of everything. Also
	added some
	missing LGPL file headers.

	mu_spawnvp(): new function - like system, but doesn't use
	/bin/sh, just
	forks and calls execvp(), with system-like signal handling.

	fixed warning about included regex.h redefineing RE_DUP_MAX
	from limits.h

	%d fmt not matching long arg

	More TODO notes.

	Check for vfork().

	Added lock mode MU_LOCK_EXTERNAL which calls an external program
	to do
	the locking. Default is "dotlock", which is setgid mail so can
	lock in
	a mailspool that users may not have write permissions to.

2002-03-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	libpop3_la_SOURCES was missing.

	Do not try to lock "/dev/null" mailboxes. These are used in
	several
	programs (namely, comsat, imap4d, pop3d).

	New flag MU_LOCKER_NULL to be used for temporary mailboxes stored
	in memory.

2002-03-19  Sam Roberts  <sroberts@uniserve.com>

	update

	Document use of ~/.<program>rc.

	Now using mu_argp_parse(), but not the capa[] (yet).

	Added ~/.<progname>rc to be last config file.
	Fixed segv for NULL capa and added header file blurb.

	updated

	Implemented NFS-safe locking, useing link() from a uniquely
	named file.

2002-03-15  Alain Magloire  <alainm@gnu.org>

		Nuking of some useless warnings, and make "char *" -->
		"const char *"
		when required.

		* mailbox/include/imap0.h: warning: comma at end of
		enumerator list.
		* mailbox/locker.c (locker_set_expire_time): warning:
		declaration of `time'
		  shadows global declaration
		  (locker_get_expire_time): declaration of `time'
		  shadows global declaration
		* mailbox/mbx_default.c (mu_path_maildir): Use "const"
		to reinforce a constant string.
		* include/mailutils/mailbox.h (mu_path_maildir): constant
		"const".
		* mailbox/mbx_mbox.c (mbox_append_message): status
		already declared.
		* mailbox/memory_stream.c (_memory_truncate): Cast before
		doing the comparison.
		* mailbox/parse822.c (parse822_time): useless ';'
		outside function definition.
		* mailbox/smtp.c (smtp_send_message): warning: declaration
		of `from' shadows a parameter
		  declaration of `to' shadows a parameter.

2002-03-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(util_do_command): Coredumped in false branches of `if ... endif'
	statement. Fixed.

2002-03-14  Alain Magloire  <alainm@gnu.org>

		The return value should be 0 for next and previous.

2002-03-13  Alain Magloire  <alainm@gnu.org>

		* lib/mu_dmb.c(mu_check_perm): Reinforce
		by using (const char *name) in the argument.
		* pop3d/pop3d.c: The variable state was already
		use as a global, use "astate" in function
		pop3_parse_opt().

		* mail/echo.c: Make it aware of escape char '\'.
		* mail/next.c: Should print the message also.
		* mail/previous.c: Should print the message also.
		* mail/util.c(util_do_command): Memory leak cmd
		was not free(cmd).  An empty line means now "next".

2002-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Moved argp/* to lib/ to solve cyclic dependency problems.
	Synchronized mailbox2/include with changes to include/ dated
	2002-02-27.

	Removed @ARGPINCS@ and @ARGPLIBS@

	Added types.h

	Removed definition of __P, included <mailutils/mu_features.h>.

	Added mu_features.h

	Synchronized mailbox2/include with changes dated 2002-02-27

	Changed replace code for argp* functions.

	Removed argp from SUBDIRS.

	Added argp* files.

	Added from ../argp

	Moved to ../lib

2002-03-12  Sam Roberts  <sroberts@uniserve.com>

	changelog

	Got tired of recompiling EVERYTHING when I touched locker.h,
	so started
	splitting common types into <mailutils/types.h>.

	mu_verror() wasn't prototyped.

	Corrected type mismatches visible on 64-bit systems, and including
	locker.h, some misc compiler warnings.

	Need to include locker.h.

	Corrected type mismatches visible on 64-bit systems.

	alloca wasn't included.

	Select now fails if the locking fails.

	more things todo

2002-03-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Documented new configuration file mechanism.

	Added `auth' capability.

	Process user's private initialization file after processig the
	site-wide one.

	Based on the discussion with Sam, changed handling of
	mailutils' command line options. Command line is parsed using
	mu_argp_parse() call. mu_argp_parse scans global configuration
	file and processes any options found there before those from
	the command line. The options are separated by categories
	(capabilities):

	  mailutils  --maildir, --license
	  auth	     --sql-.* family, --pam-service
	  logging    --log-facility
	  daemon     --daemon, --inetd, --port, --timeout

	If the capability name appears in configuration file, it
	should be prefixed with : to discern it from the utility
	name.

	(pop3d_apopuser): Changed scope of auto variable rc

	Use mu_argp_parse. (deliver): Restored erroneously removed
	variable sb.

	Use mu_argp_parse.

	Removed unneeded prototypes. Added prototype for mu_argp_parse().

	Updated to reflect changes in the syntax.

	Check for libresolv

2002-03-02  Sam Roberts  <sroberts@uniserve.com>

	updated

	Check return value of locker_lock().

	updated

	Added dotlock.

	locker API modified.
	using mu_errstring() instead of strerror().

	Using mu_errstring() instead of strerror().

	locker_lock() api changed. pop3d uses MU_LOCKER_PID.

	Retrying the dot lock is now handled by the locker_t.

	dotlock - setgid program to dot lock a file, modelled on
	mutt_dotlock.

	New modes, including a retry mode (the default), removed fcntl
	and stub read/write lock mode.
	New function, to remove a lock even if not owned (useful for the
	external dotlock utility).
	New functions, to set the expire time for MU_LOCKER_TIME,
	the flags,
	and the retries and retry sleep for MU_LOCKER_RETRY.

2002-03-01  Sam Roberts  <sroberts@uniserve.com>

	New addr return codes.

2002-02-28  Sam Roberts  <sroberts@uniserve.com>

	Including <mailutils/errno.h>.

	Added <strings.h> for systems that have it.

2002-02-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use PROTOTYPES to determine whether the compiler understands
	function prototypes.

	Removed definitions of __P() scattered over multiple header
	files. Included <mailutils/mu_features.h> instead.

	Added mu_features.h

	Define system-dependent macros, used by all mailutils.
	Currently, it contains only __P() definition.

	(check_quota): Initialize contentd
	  to all zeroes before mu_dbm_fetch. This is needed by
	  (at least) Berkeley DBM.

	(mu_getcwd): New function. Return the name
	 of current working directory. The return value is malloc'ed
	(mu_get_full_path): New function. Translate cwd-relative
	 pathname to its absolute equivalent. Both moved from
	 mbx_default.c

	Properly handle --user (open user's system mailbox).

	Do not handle '%name' separately: mailbox_open_default now
	does it.

	Essentially rewritten.
	mailbox_open_default() supports the following naming schemes:

		   %	       --> system mailbox for the real uid
		   %user       --> system mailbox for the given user
		   ~/file      --> /home/user/file
		   ~user/file  --> /home/user/file
		   +file       --> /home/user/Mail/file
		   =file       --> /home/user/Mail/file

	Removed extern char *maildir.

	Use mu_path_maildir instead of maildir.

	Provide better diagnostics.

2002-02-26  Sam Roberts  <sroberts@uniserve.com>

	updated

	Replaced strerror() with mu_errstring().

	Added muerrno.c to the build, added locker error numbers.

	updated

	Exercise a little more of sieve.

2002-02-23  Sam Roberts  <sroberts@uniserve.com>

	Include <mailutils/mutil.h> for mu_getpwuid() prototype.

	A # must be preceeded by whitespace to start an rcfile comment.

2002-02-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	(argcv_scan): Correclty handle comments without intervening
	whitespace
	between the comment character and remaining text, e.g.:
		set a=2 #comment

	further fixes to argcv.c

	Yesterday's fix makes argcv_get include trailing
	whitespace to the argv array. To fix:
	  (argcv_scan): Return len+1 if called on or after
	  the terminating null character.
	  (argcv_get): Initialize *argc to zero and continue scanning
	  until argcv_scan return is  > len. Thanks Sam for noticing.

2002-02-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Restored imap4d_DEPENDENCIES. Without it @AUTHOBJS@ do not get
	into dependencies.

	Added ARGP stuff.

	Handle mailutils-common arguments.

	include mu_argp.h

	Syntax cleanup

	Removed call to mu_normalize_maildir.

	extern declaration for mu_argp_error_code.

	(mu_common_argp_parser): Handle ARGP_KEY_FINI case.
	(mu_argp_error_code): new global. Specifies exit code for exits
	on error.

	(argcv_get): Bugfix, *argc must be initialized to 1.

2002-02-21  Jeff Bailey  <jbailey@gnu.org>

	Curses detection.  Swap library link order in sieve to
	make sure dependacies are caught right.  Add errno.h to
	mailutils/Makefile.am for make release

2002-02-21  Sam Roberts  <sroberts@uniserve.com>

	updated

	A little false advertising removed (maildir), and a little
	pumping what
	we can do added!

	updated

	argcv_get() now (optionally) strips comments while parsing. Its
	the right
	place because it tokenizes, and whether a char is a comment or
	not depends
	on whether its in the middle of a token or not:  "hi # there"
	# comment.

	Now supports a ~/.sieverc file. Mine looks like:
	  # ~/.sieverc
	  #   Just moves my mail into my local spool.
	  -dTt --ticket=~/.tickets
	  -f pop://pop.uniserve.com
	  ~/.filter.sv

	The debug levels are a bitmask, and I'd started to enumerate
	them. Oops.

	Began the task of returning more informative error numbers. If
	this looks
	useful, we should all spread it through the files we touch!

	The info docs were getting installed in the "Miscellaneous"
	section
	of the info directory, now they go in GNU Libraries, with links to
	the programs under GNU Utilities, as seemed to be suggested by the
	texinfo docs. Maybe there's a better convention?

	Was using the POSIX (1003.1b) ENOTSUP, changed to ENOSYS.

2002-02-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix in imap4d/status.c

	Bugfix: imap4d_status was using improperly created mailbox name
	for INBOX.
	Be more robust in handling erroneous constructs. Thanks Sam
	for reporting.

2002-02-20  Jeff Bailey  <jbailey@gnu.org>

	Disable inter-library dependancy

2002-02-20  Sam Roberts  <sroberts@uniserve.com>

	updated

	The exe_DEPENDENCIES lines prevent the _LDADD lines being used for
	dependencies, so the exes dont' get rebuilt when the libraries are
	rebuilt, unless explicitly listed.

2002-02-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Use of system getpwuid() in many places of the code
	actually broke mu_getpwnam() pardigm. To fix it,
	a wrapper function, mu_getpwuid(), is introduced.
	It allows to use 'overloaded' getpwuid calls. In the
	simplest case, it boils down to calling getpuid().
	Applications, registering getpwname function by using
	mu_register_getpwname() are expected to register its
	getpwuid counterpart by using mu_register_getpwname().
	"Virtual domains" (mutil.c:407) seem to be an exception:
	there is no easy way to create appropriate getpwuid()
	function. This does not break the virtual domain
	functionality, however.

	Use mu_getpwuid() instead of getpwuid().

	Use pam_service instead of hardcoding PAM service name

	Initialize pam_service. Register getMpwuid().

	register getMpwuid().

	Fixed queries

	Added extern declaration for sql_getpwuid_query.

	(getMpwnam): Return username along with
	other data.
	(getMpwuid): New function.

	Added extern for pam_service.

	New options: --sql-getpwuid for setting
	sql query returning passwd data for a given uid, and
	--pam-service for setting the PAM service name to be
	used.

	Proto for mu_getpwuid().

	(mu_getpwuid): new function. Allows
	to use overloaded getpwuid() in the same way as
	mu_getpwnam() does it for getpwnam().
	(mu_register_getpwuid): Overload getpwuid function.

	Updated

	(mu_create_argcv): Fixed memory overrun.

2002-02-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix bug#126755: compilation on 64-bit machines

	Changed declaration of ml_command_generator().
	(ml_command_completion): use rl_completion_matches(). Patch
	provided by John R. Daily.

	Include <string.h>.

	Check for rl_completion_matches being present.

	Define rl_completion_matches for readline < 4.2

2002-02-18  Jeff Bailey  <jbailey@gnu.org>

	Various build fixes

2002-02-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Further changes to imap4d/list.c

	Added check for dev_t

	Placeholder for dev_t.

	Take into account st_dev. Thanks to Sam.

	Fix Bug#134330

	Removed unused function.

	AC_CHECK_TYPE(ino_t)

	Placeholder for ino_t

	Prevent possible infinite recursion (Fixes Bug#134330).

2002-02-16  Sam Roberts  <sroberts@uniserve.com>

	ignoring libtool artifacts

2002-02-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	(LTLIBOBJS hack): escape [ and ]

2002-02-16  Sam Roberts  <sroberts@uniserve.com>

	neglected updates, oops

2002-02-15  Jeff Bailey  <jbailey@gnu.org>

	Fix AC_REPLACE_FUNCS to generate libtool objects

2002-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Fixed indentation.

	Removed confusing print_help() function.

2002-02-14  Jeff Bailey  <jbailey@gnu.org>

	Use libtool for built ARGP and libmailutils

2002-02-12  Sam Roberts  <sroberts@uniserve.com>

	Removed static prototype for non-existent function.

	Added RFCs related to delivery and message status notification.

	better logging and error reporting

	Added level argument of mu_debug_print() to the print callback,
	useful
	for determing the level and forwarding to syslog, or something.

2002-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use imap4d_gss_userok() to check if the principal is allowed
	to use
	a given mailbox.

2002-02-09  Sam Roberts  <sroberts@uniserve.com>

	removed unused variable

	changelog

	More things I think should be done.

	wicket: a ticket file now can contain multiple urls, when
	looking for
	a ticket, the first one which contains authentication information
	for
	the incomplete url is returned. wildcards are ok, so you can do:
	  pop://sam:pass@pop.uniserve.com
	  *://sroberts:gnuless@mail.certicom.com
	  imap://;AUTH=anon@*
	Actually, the last doesn't work, but it SHOULD. Another day.

	url_is_ticket() - new function, determines whether a url_t
	contains
	ticket information for another url

	missing an @var{}

	gcc doesn't like signed chars as array indexes, they could
	be negative

	buglet, forgot to initialize opts

2002-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	AUTH=GSSAPI if supported.

	(util_localname): return FQDN

	Updated

	(_memory_truncate): Bugfix.

	Implemented GSSAPI auth for imap4d

	(trans_read): Control number of bytes read by stream_read().

	(main): Fixed 'No mail for...' reporting.

	Added gssapi.m4

	Check for gssapi libraries and header files.

	Base64 encoding/decoding functions. filter_trans
	can't be used for this purpose, since its encoder inserts
	newlines after each 76 characters of output.

	Added new protos

	ifile should be global as well as ofile. It will be needed by
	authentication handlers.

	Basic framework for AUTHENTICATE command. Added auth_gssapi hook.

	(imap4d_append0): Added missing call to stream_open()

	Added auth_gss.c

	GSSAPI authentication.

	New option: --with-gssapi

	Added WITH_GSSAPI define.

2002-02-07  Jeff Bailey  <jbailey@gnu.org>

	Documentation and build fixes

2002-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added mu_argp.[ch]

	Use argp_ functions instead of getopt to parse command
	line arguments. This allows all mailutils programs
	to share common code and to have the same subset
	of command line options. Besides, this allows to have
	a single configuration file for entire package.
	The common command-line subsets are (struct argp_child):

	  1. mu_common_argp_child: handles --maildir,--log-facility,
	     --license and --sql-.* family of options. (The latter
	     are used to supply data for SQL getpwnam et al. functions
	     instead of hard-coding them).
	  2. mu_daemon_argp_child: handles --daemon,--inetd,--port
	     and --timeout options.

	Removed notice about MySql.h

	Use configurable queries instead of hardcoded ones.

	Added entry about mailutils.rc configuration file.

	Sample mailutils configuration file.

	Added mu_argp.h and related stuff

	Use argp_parse instead of getopt_long.

	Added @ARGP.*@ substitutions

	Handle command line arguments, common for all mailutils programs.

2002-02-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(main): Register virtual domain handlers.
	Use mu_getpwnam.
	(deliver): Set MU_LOCKER_PID bit on the locker.

	Include "../MySql/MySql.h" when necessary.

	(mail_local_LDADD): Add @AUTHLIBS@.

2002-01-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(_url_path_index): Use character translation
	table to allow for '.', etc. in the usernames.
	Fixed memory overrun.
	(_url_path_rev_index): Use character translation table.

	(main): Return EX_USAGE on command line usage errors.

2002-01-27  Sam Roberts  <sroberts@uniserve.com>

	Now parsing options with argp instead of getopts.

	updated

	folder_imap_create() - removed, code now in mailbox_imap_open().
	imap_mailbox_name_match() - new function, uses strcasecmp()
	for INBOX,
	  since INBOX is itself in any case combination, and fnmatch()
	  otherwise.
	imap_list() - mailbox name (an ASTRING) wasn't being unquoted.
	folder_imap_list() - always failed to match it's name arg
	against the
	  mailbox name (imap_list needed to unquote the name, and the name
	  comparison needed to treat INBOX specially).

	Moved the mailbox creation functionality of folder_imap_create()
	into mailbox_imap_open(). Now mailbox_imap_open() will fail if the
	mailbox doesn't exist, or can't be created despite creation being
	requested (like the other types of mailbox).

	m_imap_t - added state to keep track of which folder function
	is in
	progress when a mailbox function calls several folder functions.

2002-01-26  Sam Roberts  <sroberts@uniserve.com>

	LIST section was 2.6..8, not 2.6.8, made it hard to search for!

2002-01-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Define correct EX_ values if sysexits.h is missing.

2002-01-23  Sam Roberts  <sroberts@uniserve.com>

	updated

	State now tracks whether its been opened, rather than segving.

	Removed prototype for function that isn't defined anywhere.

	Return ENOENT if the url type wasn't registered, like the
	other factory
	creation functions.

	New function: list_do(), calls a function on each item in
	the list.

	Needed <sys/stat.h> on QNX6.

	Check for <sysexits.h>.

	Work around missing <sysexits.h>.

	Implemented redirect action, and added option for sieve to specify
	the mailer.

2002-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added configurable debugging.

	Updated.

	Fixed help display.

	Implemented biff notification.

	Added network-related includes.

2002-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added to the repository

	Oops, forgotten to remove mh/ from my working copy.

	Added to repository

	Added proto for mu_process_mailbox.

	(mu_message_send): Initialize mailer to NULL.

	Added mu_guimb.h

	Add "#!" magic to the beginning of the output script.
	Improved diagnostics. Fixed bug in next-token-from-port.

	New command line options: --maildir (set
	mailspool pathname), --source (set scheme source file name).
	Use mu_process_mailbox instead of run_main.

	Added new declarations.

	(guimb_catch_body, guimb_catch_handler) New functions.

	Removed run_scm.c

	*** empty log message ***

	Added mail.local.

	Added WITH_GUILE define.

	(message_destroy): (message_destroy): free msg only when
	decremented ref equals zero.

	(str_append): Check for NULL.

	Updated

	(mu_fcheck_perm, mu_check_perm): Return OK if mode is 0.

	Removed superfluous definition of _PATH_MAILDIR.

	Use maildir instead of _PATH_MAILDIR

	Added  --maildir option.

	Use MU_PATH_MAILDIR.

	Include <paths.h>. Define MU_PATH_MAILDIR.

	New option --with-maildir allows to specify the location of
	mailspool
	instead of the default _PATH_MAILDIR.

2002-01-19  Sam Roberts  <sroberts@uniserve.com>

	changelog

	sv_mu_save_to() became mailbox/message.c:message_save_to_mailbox()

	Was setting debug on the mailbox before creating it...

	message_save_to_mailbox(): convenience function, perhaps it
	should go
	in mailbox/mutil.c, but nothing else in there is a mailutils
	API wrapper.

	mailbox_has_debug(): wasn't a way to see if a mailbox had one

	Give mbox folders a null authentication object,
	mailbox_get_authority()
	will now return one instead of suceeding, but not returning
	an object.

	folder_has_debug(): there wasn't a way to see if folder had a
	debug object

	authority_create_null(): creates an authority that successfully
	does
	nothing, useful for concrete types that need to return an
	authority, but
	don't do any authentication.

	changelog

	Append to INBOX if an explicit path wasn't supplied.

	X-UID is 5 chars, not 4, and this line will match X-UIDL too,
	is that
	intended?

	including strings.h as well

	Removed a FIXME that seems to have been fixed.

2002-01-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed util_tempfile().

	New function mu_verror().

	Use mu_tempfile.

	New function mu_tempfile().

2002-01-16  Sam Roberts  <sroberts@uniserve.com>

	changelog

	More testing and resultant polishing, -k switch to sieve to keep
	on going
	after an error sieving a message, don't discard a message
	unless the
	script completed all the actions sucesfully on a message,
	better error
	reporting and logging, workarounds around problems/differences
	between
	mailbox types, and a test script that exercises sieve on an mbox.

2002-01-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor changes to libmu_scm/

	(mu_scm_mime_print) Added missing return value.

	(_get_address_part) Removed unused variable.

	Updated

2002-01-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Handle extended URL specification. Implemented three hash schemes.

	Fixed typecasts.

	Fixed indentation.

	(expand_line): Removed unused variable.

	(mu_normalize_maildir) Added prototype.

	(mu_normalize_maildir) New function.
	Makes sure the mailbox specification either is a
	pathname ending with '/', or matches regexp 'mbox:.*user='.

	Use maildir instead of _PATH_MAILDIR.

	Extern declaration for maildir.

	New command line option --maildir (-m). Register mbox_record
	at startup.

2002-01-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Added numaddr.scm to pkgdata_DATA.

	Fixed erroneous typecasts.

2002-01-13  Sam Roberts  <sroberts@uniserve.com>

	changelog

	API of sieve engine now includes diagnostic callbacks, and
	is close
	to stable, implementation will be soon.

	API of sieve engine now includes diagnostic callbacks, and is
	close to
	stable, implementation will be soon.

2002-01-06  Sam Roberts  <sroberts@uniserve.com>

	changelog

	Split the implementation of the mailutils-based sieve engine
	out of sieve.c,
	which now contains only a utility that uses the engine to sieve
	mailboxes.

	exposed sieve_errstr() in public API, and declare sieve_errname()

	lower-cased some error strings, and added str_errname() to
	return the
	string of an error enum.

2001-12-31  Alain Magloire  <alainm@gnu.org>

		* doc/texinfo/programs.texi:  Descibe the readmsg utility.
		* configure.in: Enable readmsg.
		* Makefile.in: Enable readmsg.
		* readmsg/readmsg.c: Implementation.
		* readmsg/msglist.c: Implement Elm weird expansion.

2001-12-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Forgotten entry for mu_message.c

	(mu_message_send) Optional parameters may be #f

	Updated

	Reset the user privileges in case popauth is installed setuid.

	Introduced sieve-daemon-email variable. Removed
	sieve-message-bounce,
	since recent modifications to mailer_send_message() and
	mu-message-send
	provide all the required functionality.

	Use mu-message-send instead of sieve-message-bounce.

	Added numaddr.scm.

	Implements "numaddr" extension test. The test counts Internet
	addresses
	in structured headers that contain addresses.  It returns true
	if the
	total number of addresses satisfies the requested relation, e.g.:

		if numaddr :over [ "To", "Cc" ] 50 { discard; }

2001-12-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	(strobj_create) Removed unused variable.

	Added missing includes and prototypes.

	Renamed static truncate to avoid name clash with the libc
	function.

	Removed unused variables.

	(mu_message_send) Synchronized with recent changes to
	mailer_send_message().
	(mu_message_get_user_flag) Removed unused variable.

	(collect_create_mailbox) Removed unused auto variable.

	Added include <argcv.h>

2001-12-18  Sam Roberts  <sroberts@uniserve.com>

	updated

	Avoid a few warnings about unused auto-generated lexer functions.

	Included <strings.h> and corrected the types of some casts so
	gcc is a
	little more quiet.

	modified to compile against the changed mailer_send_message()

	mailer_send_message() now takes optional from and to addresses,
	so they
	can be specified rather than deduced from the env or message body

	Added msg-send example of using the mailer_t API.

	Now takes advantage of url_parse().

	Idea for a popen() stream_t wrapper.

	Forgot to add stdio_stream_create() to the header, it opens a
	stream_t on
	an existing FILE, and you can choose whether it fcloses() it
	or not.

2001-12-17  Alain Magloire  <alainm@gnu.org>

		* mailbox/address.c:  Problem between signed and unsigned
		comparison.

2001-12-16  Sam Roberts  <sroberts@uniserve.com>

	updated

	updated with some notes about the doc examples

	(message_get_attachment_name and message_aget_attachment_name):
	new APIs,
	used to be private to mailbox/attachment.c.
	(message_save_attachment): filename can be NULL, it defaults
	to the
	attachment's name

	updated - not much text, but at least the args are correct.

	updated

	gnu indented

	Added -d flags.

2001-12-16  Alain Magloire  <alainm@gnu.org>

		Ignore mimetest

		added.

		Forgot to gave Inglis credit on his work.

		Race condition call lazy_create () before
		file_stream_create()
		since now stream_open() does not do anything.

2001-12-16  Sam Roberts  <sroberts@uniserve.com>

	updated

	Modified stream creation and opening. The *_stream_create()
	functions now
	take the specific arguments appropriate to them and setup
	a stream_t
	so that stream_open(), which now takes no arguments, can perform
	whatever
	actions are appropriate when opening that particular kind
	of stream.

	I have tested the changes with the example programs and sieve,
	but not with
	the imap or pop servers.

2001-12-13  Sam Roberts  <sroberts@uniserve.com>

	updated

	Fixed warnings about functions called without prototypes.

	First crack at including wicket_t's ticket, not tested.

	Added -Wall in debug mode.

2001-12-11  Sam Roberts  <sroberts@uniserve.com>

	Ignored.

	I'm about to modify this file, so I'm GNU indenting it so I
	can see
	reasonable diffs. No other changes.

2001-12-04  Alain Magloire  <alainm@gnu.org>

	Updated.

		Suprisingly some OSes do not have getpass()
		drop a dumb version in lib/getpass.c for missing plaforms.

		* configure.in: Check for getpass ();
		* lib/getpass.c: New file.
		* lib/Makefile.am: Updated.

2001-12-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Delete temp-file after running the script.

	Added --modify, --add, --delete and --create options. Allow only
	--modify when the user is not the owner of the database. This
	allows
	usual users to use popauth the way they use system passwd command,
	provided popauth is installed setuid.

	New function mu_dbm_stat(): retrieve struct stat for a database
	file
	(or its *.pag part for ndbm/gdbm).

	Fixed inconsistency: --with-dbm flag was erroneously named
	--with-old-dbm
	in the help output.

2001-11-30  Alain Magloire  <alainm@gnu.org>

		missing @end deftypefun
		replade @func with @code

2001-11-27  Sam Roberts  <sroberts@uniserve.com>

	*** empty log message ***

	Hacked up work-in-progress of the mailer API, but worth committing
	before I commit all the code.

	Added <strings.h> for QNX6.

	ignores sorted, and added _*

	address_aget_email() - like _get_email() but mallocs.
	address_createv() - like address_create(), but takes an array
	of strings.

	Updated url_parse() test case.

	Need <paths.h> and <strings.h> under QNX6.

2001-11-25  Sam Roberts  <sroberts@uniserve.com>

	Url syntax extended. If scheme: is not followed by a "//",
	then the rest
	of the line is returned as the path. Also a bare  scheme is
	now legal.

2001-11-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Provide default for _PATH_MAILDIR for systems lacking it.

2001-11-21  Jeff Bailey  <jbailey@gnu.org>

	Reorder configure.in to make guimb work

2001-11-18  Alain Magloire  <alainm@gnu.org>

		* include/mailutils/mailbox.h: Remove prototype
		mailbox_destroy_folder().
		* mailbox/mailbox.c (mailbox_destroy_folder): Remove.
		* comsat/comsat.c (notify_user): remove
		mailbox_destroy_folder().

		* mailbox/folder_imap.c (authenticate_imap_login):
		Pass the
		url in	ticket_pop.
		* mailbox/mbx_pop.c (pop_get_user): Pass the url in
		ticket_pop()
		* mailbox/mbx_pop.c (pop_get_passwd): Pass the url
		in ticket_pop()
		* mailbox/ticket.c (ticket_set_pop): Change the prototype.
		(ticket_pop): Change the prototype.
		* mailbox/wicket.c (get_pass): New function get passwd.
		(get_user): New function get user.
		(myticket_create): Take filenanme as argument and
		save the information.
		(_get_ticket): Removed.
		(myticket_pop): Take an url in argument.
		* mailbox/include/auth0.h: field _pop() prototype changed.
		* include/mailutils/auth.h: ticket_pop and ticket_set_pop
		proptotype changed, add url. Include <mailutils/url.h>

2001-11-17  Alain Magloire  <alainm@gnu.org>

		Move util_cpystr() in the mu_ namespace.
		* include/mailutils/mutil.h: util_cpystr() to mu_cpystr().
		* mailbox/address.c: util_cpystr() to mu_cpystr().
		* mailbox/url.c: util_cpystr() to mu_cpystr().
		* mailbox/mutil.c: util_cpystr() to mu_cpystr().
		* mailbox/wicket.c: util_cpystr() to mu_cpystr().

		After exchange with Sam Roberts, it should possible to
		set a stream on the message and have the message_t do
		the rfc822 parsing.
		{
		  message_t mesg = NULL;
		  header_t header = NULL;
		  stream_t stream = NULL;
		  char buffer[512];
		  off_t off = 0;
		  size_t n = 0;

		  message_create (mesg, NULL);
		  file_stream_crete (&stream, "/home/user/mh/mesg_1");
		  message_set_stream (mesg, stream, NULL);

		  stream = NULL;
		  message_get_header (mesg, &header);
		  header_get_stream (header, &stream);
		  while (stream_readline (stream, buffer, sizeof buffer,
		  off, &n) == 0
			  && n > 0) {
		    printf ("%s", buffer);
		    off += n;
		  }
		  message_destroy (&mesg, NULL);
		}

		* mailbox/message.c (message_header_fill): New
		function implements a header if there was a stream set
		on the message.
		(message_body_read): Implements the stream_read of
		body_t of
		a message if there were a stream set.
		(message_is_modified): Check if an object was set to
		message_t
		and flag it as modified.
		(message_get_body): If a stream was set on the message
		create a
		temporary stream for the body.
		(message_set_body): Set the message modified.
		(message_set_header): Set the message modified.
		(message_set_envelope): Set the message modified.
		(message_set_attribute): Set the message modified.

		* mailbox/wicket.c (wicket_destroy): return void.
		* include/mailutils/auth.h: wicket_destroy ()
		should return void.
		* mailbox/body.c (body_is_modified): Implemented.
		(body_clear_modified): Implemented.
		* mailbox/body.c (body_is_modified): Implemented.
		(body_clear_modified): Implemented.
		(_body_get_size0): New function.
		(_body_get_lines0): New function.
		(body_get_lines): Call _body_get_lines0().
		(body_get_size): Call _body_get_size0().
		(body_lines): Fall back on the stream and iterate
		the entire stream to find the  line numbers.
		(body_size):  Fall back on the stream for the size.

		* mailbox/folder_imap.c: Check if memory_stream_create()
		succeed and bailout if not.

		* mailbox/header.c (header_destroy): Free header->mstream.
		(fill_blurb): Remove redundant code, header_free_cache was
		doing the same.  Implement the code in term of a memory
		stream to hold the temporary header blurb.
		(header_write): Implemented.

		* mailbox/memory_stream.c (_memory_read): Cast the offset
		to size_t
		(_memory_readline): Cast the offset to size_t.
		(_memory_write): Cast the offset to size_t.

2001-11-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Removed mailbox_destroy_folder kludge

2001-11-15  Alain Magloire  <alainm@gnu.org>

		* mailbox/wicket.c (_get_ticket): Reset the buffer.
		* mailbox/mailbox.c (mailbox_get_stream): Get the stream
		for the mailbox object if it is null try the folder.
		(mailbox_set_stream): Always set it on the mailbox object.

		* mailbox/wicket.c (_get_ticket): Reset the buffer.

2001-11-14  Alain Magloire  <alainm@gnu.org>

		To provide an easy way to crete a ticket_t from
		a file, one can create a wicket_t and fetch ticket_t's
		for different users to set on the authority.
		{
		  wicket_t (&wicket, "/home/alain/.tickets");
		  wicket_get_ticket (wicket, &ticket, "alain", NULL);
		  authority_set_ticket (wicket, ticket);
		}

		* include/mailutils/auth.h: Added wicket_t prototypes
		functions: wicket_create(), wicket_destroy,
		wicket_get_ticket().  New prototype ticket_set_data ()
		ticket_get_data () ticket_set_destroy (),
		ticket_set_owner();
		* mailbox/wicket.c: New file, implements wicket_t.
		* mailbox/ticket.c: New file, implements ticket_t.
		* mailbox/auth.c: Implements only authority_t.
		* mailbox/Makefile.am: Update for ticket.c and wicket.c

2001-11-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Expand \n only for 'echo'

2001-11-13  Alain Magloire  <alainm@gnu.org>

		Try to use const whenever appropriate to make it clear
		that a string should not be modified.  Nuke some
		trailing spaces, thanks to emacs.  Reduce the scope
		of functions with static.  GNU ident style for
		switch() promote a empty line after the break;


		* comsat/action.c (expand_escape): size and lncount
		could have been use uninitialized.
		(expand_escape): const char *cr.
		(expand_line): cr == "\n\r" make it const.
		variable i and size unneeded.
		variable c initialize to zero.
		(expand_line): obstack_1grow() pass *p instead of c.
		(defaul_action): const char*.
		(run_user_action): fprintf () missing argument.
		(open_rc): const char *filename.
		* comsat/comsat.c (username): const char *username.
		(mailbox_path): const prototype.
		(change_user): const prototype.
		(notify_user): const prototype.
		body and header unneeded variables.
		(find_user): const prototype.
		* comsat/comsat.h: Prototype updates.

2001-11-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Exit if execv fails (forgotten to commit)

	Updated

	Enabled comsat directory.

	Added nodes for comsatd. Put @pindex and page breaks wherever
	needed. Fixed use of @deffn.

	Common index is too hard to use. Split it into Function, Program
	and Concept indices.

	Missed newline in help output.

	Use maxlines instead of hardcoding the default value. Exit if
	execv() fails.

	Use of errx() is a bsd-ism. Fixed

2001-11-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Bugfix: possible dereference of NULL pointer

	Use quotes when setting default string values.

	Ignore trailing whitespace and terminate output array with a
	NULL entry.

	extern declarations.

	New keyword: allow-biffrc.

	Implemented exec. Fixed trivial bug in expand_escape().

	A sample per-user biff configuration file.

	A sample configuration file for comsatd utility

2001-11-12  Alain Magloire  <alainm@gnu.org>

		Support in POP3 maibox client for APOP authentication.
		This should work, now:
		#MAIL='pop://alain;AUTH=+APOP@localhost' ./frm
		Pop passwd: secret  <--- apop secret
		...

		* mailbox/folder_pop.c (folder_pop_get_authority):
		Enable APOP code.
		* mailbx/mbx_pop.c: Add md5-rsa.h.
		(_pop_apop): New function to do APOP authentication.
		(_pop_user): Factor some code in pop_get_user() and
		pop_get_passwd() to share with _pop_apop().
		(pop_get_user): New function, get the user login.
		(pop_get_passwd): New function, get the user passwd.
		(pop_get_md5): New function get timestamp.
		* mailbox/url_pop.c: Add 2001 in Copyright.
		* pop3d/apop.c: Remove trailing spaces.

		* frm/frm.c: New option -d, --debug.
		To put the mailbox_t in debug mode, very practicle
		to watch the traffic.

2001-11-11  Alain Magloire  <alainm@gnu.org>

		Most daemon will share the same code to daemonize(),
		we use
		a generic one, lib/daemon.c, so any bug fix will
		impact the
		others and reduce maintainance/duplication.

		* lib/Makefile.am: Addition daemon.c
		* lib/daemon.c: New file.
		* pop3d/pop3d.c (pop3d_daemon_init): Use
		lib/daemon.c:daemon() code
		instead.
		* imap4d/imap4d.c (imap4d_daemon_init): Use
		lib/daemon.c:daemon code
		instead.
		* comstat/comstat.c (comstat_daemon_init): Use
		lib/daemon.c:daemon code
		instead. Remove trailing spaces.

2001-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added user-defined actions to comsat.

	Include mailutils headers

	Call run_user_action instead of dumping message contents to
	user's tty

	Removed confusing comment

	Added action.c to sources

	User-defined actions for comsat.

2001-11-11  Alain Magloire  <alainm@gnu.org>

		* lib/mu_dbm.c: Add <errno.h>.
		Remove trailing spaces.

2001-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added (hopefully) transparent DBM interface

	Added comsat.h to sources

	Bunch of changes due to introduction of new DBM interface.

	Added popauth.

	A tool for manipulating authentication databases.

	New options: --with-gdbm, --with-ndbm, --with-old-dbm

	Added DBM-related WITH- defines

	Added mu_dbm.[ch]

	These functions provide an intermediate layer between the DBM
	API and
	mailutils' applications.

2001-11-11  Jeff Bailey  <jbailey@gnu.org>

	Remove hardcoded /etc from APOP database file

2001-11-10  Jeff Bailey  <jbailey@gnu.org>

	Add man pages for pop3d and imap4d

	64 bit portability fix

2001-11-10  Alain Magloire  <alainm@gnu.org>

	   Stubs for Simple Message API (MS)

		Add the spec of CMC.

		Stubs for Common Messaging Call API.

2001-11-06  Alain Magloire  <alainm@gnu.org>

		* mailbox/mutil.c (mu_parse_imap_date_time): This one
		is so
		obvious that it is embarrasing.  In a struct tm { }
		tv_wday [0,6] Sunday == 0.  Change the Array for it to
		start with "Sun" instead of "Mon".

2001-11-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Use mu_syslog_error_printer. Fixed misplaced if condition.

	Use mu_syslog_error_printer.

	Protos for mu_.*_error_printer

	New function mu_syslog_error_printer().
	Removed static qualifier from default_error_printer, added mu_
	prefix to it.

	check for vsyslog

2001-11-03  Alain Magloire  <alainm@gnu.org>

		* mailbox/folder_imap.c: If authority is null default to
		user/passwd.
		* mailbox/folder_pop.c: If authority is null default to
		user/passwd.
		* mailbox/mbx_pop.c(pop_open): Do not try to reconnect.

2001-11-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Oops, removed stray conflict indicator

	Updated

	include <ctype.h>.

	Removed include <ctype.h>.

	Restart on sighup when in daemon mode.
	Fight floods by increasing delays exponentially.
	Fill in `hostname' on startup.

2001-11-02  Alain Magloire  <alainm@gnu.org>

		* messages/messages.c (messages_count): Argument should
		be const.

	 Update.

		There were confusion, about the authority_t and the
		ticket_t.
		An authority_t is an object that implementes an
		authentication
		mechanism i.e. APOP, SASL, User/Passwd.  To retrieve
		or get
		information from the client/user, authority_t will use the
		ticket_t, it will call ticket_pop ().  For example, on an
		authority_t object that implements the user/passwd
		mechanism
		ticket_pop () will be call two times once for the user and
		the other for the passwd, by the authority_t object.

		So far so good, but the problem here was we had
		mailbox_{g,s}et_ticket(), folder_{g,s}et_ticket() and
		mailbox_{g,s}et_authority() and folder_{g,s}_authority().
		For example for a ticket , depending on when xx_set_ticket
		()
		was done, a ticket_t could have been set on the mailbox_t
		structure
		or on the folder_t structure.  This was leading to use
		the wrong one,
		folder->ticket or mailbox->ticket.  Same problem
		occurs for
		authority_t.  To clear this up, ticket_t can only be
		set on the
		authority_t and autority_t can only be on a folder.
		Having only one
		way to get at the authority or at the ticket fix the
		race conditions:
		{
		   // No error checking is done.
		   mailbox_t mbox;
		   folder_t folder;
		   authority_t auth;
		   ticket_t ticket; ..
		   ..
		   // Setting the ticket
		   mailbox_create (&mbox, where);
		   mailbox_get_folder (mbox, &folder);
		   folder_get_authority (folder, &auth)
		   authority_set_ticket (auth, ticket);
		   ....
		}

		* include/mailutils/mailbox.h: Remove
		mailbox_{g,s}et_ticket().
		mailbox_{gs}et_authority ().
		* include/mailutils/folder.h: Remove
		folder_{gs}et_authority().
		* mailbox/mailbox.c (mailbox_get_folder): New function.
		(mailbox_get_ticket): Removed.
		(mailbox_set_ticket): Removed.
		(mailbox_set_authority): Removed.
		(mailbox_get_authority): Removed.
		* mailbox/folder.c (folder_get_ticket): Removed.
		(folder_set_ticket): Removed.
		(folder_destroy): Removed destruction of ticket.
		* mailbox/folder_imap.c (folder_imap_get_authority):
		New function.
		(_folder_imap_init): Create authority.
		* mailbox/folder_pop.c (folder_pop_get_authority):
		New function.
		(folder_pop_open): New function.
		(folder_pop_close): New function.
		(_folder_pop_init): Create authority.
		* mailbox/mbx_imap.c (_mailbox_imap_init): Remove the
		creation
		of authority here, moved to _folder_imap_init().
		* mailbox/mbx_pop.c (_mailbox_pop_init): Remove the
		creation
		of authority here, moved to _folder_imap_init().

2001-11-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Forgotten to add

	Updated

	Configuration and ACL routines.

	Main module

	Initial commit.

	Use ENOSYS instead of ENOTSUP.

	mailbox_get_stream(): Fixed funny bug (introduced Dec 4, 2000).

	Removed declaration of util_normalize_path().

	Use mu_normalize_path().

	Use LOG_FACILITY instead of LOG_MAIL.
	Use mu_normalize_path().

	Added declaration for mu_normalize_path().

	New function: mu_normalize_path() moved from imap4d/util.c

	Added check for utmp.h & utmpx.h

2001-11-01  Sam Roberts  <sroberts@uniserve.com>

	updated

	Added suggestion for a mailcap based file viewer.

2001-11-01  Alain Magloire  <alainm@gnu.org>

	Updated.

		* imap4d/namespace.c: Put namespace_enumerate() and
		namespace_enumerate()
		static scope.

		* mail/msgset.y: search "mail.h" in the current dir.

	updated.

		* mailbox/mbx_default.c: If the argument is NULL __or__
		an empty
		string check MAIL and FOLDER environment.

		* messages/message.c (messages_count): getenv ("MAIL")
		may return NULL.
		In this case we were trying to printf (" ..%s\n", NULL);
		GNU/Linux
		seems to cope with it but QNX/Neutrino sigsegv miserably.
		Fix the code
		by getting the url of the mailbox and calling
		url_to_string().

	updated.

		* mailbox/mbx_imap.c (delete_to_string): Try to turn
		a sequence
		of number to IMAP msgset. Call add_number for the work.
		(add_number): New function to add number to string for
		IMAP msgset.

2001-10-31  Alain Magloire  <alainm@gnu.org>

	updated.

		* mailbox/body.c: Remove unneeded prototype.
		* mailbox/mbx_imap.c (mailbox_imap_close): Clear the
		callback
		string structure.
		(imap_scan0): Clear the callback string structure.
		(imap_append_message): Remove unused variable.

2001-10-30  Sam Roberts  <sroberts@uniserve.com>

	update

	Implemented AUTH=ANON, the anonymous SASL mechanism.

	Updated AUTH=ANON todo, and added some wish-list utilities.

	added SASL rfcs and registry

	mbox-check

2001-10-30  Alain Magloire  <alainm@gnu.org>

	Typo

2001-10-30  Sam Roberts  <sroberts@uniserve.com>

	Added new example, mbox-check.c

2001-10-30  Alain Magloire  <alainm@gnu.org>

		* acconfig.h: #define ssize_t.
		* configure.in: Add AC_CHECK_TYPE(ssize_t, int);

2001-10-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixed behavior in send mode when the stdin is not a terminal
	(i.e. when used as mail addr@dom.ain < message): do not ask
	for cc, bcc, and do not echo the contents of the message
	(when compiled with readline).

	Do not complain if the file does not exist.

	Use ml_readline()

	New functions: ml_readline_internal(), ml_readline()

	Declaration for ml_readline().

	Use ml_readline(). Check for `!interactive' and
	force appropriate settings _after_ sourcing mail.rc files.
	Force `set quiet' if in non-interactive mode.

2001-10-25  Alain Magloire  <alainm@gnu.org>

		* lib/getline.c: change the return values from int
		to ssize_t
		to follow GNU LibC.

	Check for getdelim()

	fix bug.

2001-10-24  Alain Magloire  <alainm@gnu.org>

	Typos in Changelog.

		The message_t object makes no guaranty about the size
		and the lines
		that it returns, if it is pointing to non-local file
		messages,
		i.e POP3, IMAP4, the entire message may not have been
		dowloaded yet.
		IMAP is very susceptible on the size, example:
		 A003 APPEND saved-messages (\Seen) {310}
		(1) If the IMAP4 server does not get the right size
		advertise in the
		string literal, it will misbehave.
		(2) Since we are assuming that the message will be in
		(unix)native
		file system format meaning ending with NEWLINE, we
		will have
		to do some calculations about the RFC822.SIZE of the
		message.
		(3) As pointed about, it is not possible to rely on
		message_size()
		nor message_lines() to return the right count and even
		missing by
		one can be deadly.
		So we download the message to a floating message to
		guaranty that
		we know the exact size when transmitting it back the
		IMAP server,
		this is the only sane thing to do IMHO.  We could always
		be smart; check if the message is local (i.e from the
		local file
		system: mbox, mh, etc ..) and was not modified.
		If those two
		requirements are true we can assume that the sizes/lines
		are right.
		But for now do it simple, and create a temporary
		file/message_t.

		* mailbox/mbx_imap.c (imap_append_message):  If the
		message
		is from the same IMAP server optimize by doing COPY.
		If not
		call imap_append_message0() save the original message to a
		floating message i.e. file, and use that floating
		message for
		the append.  Temporary message is destroyed when finish.
		The drawback is this function is no long nonblocking safe.

	oops forgot mutil.c
		* mailbox/mutil.c: Add <errno.h> if we use errno directly.
		(mu_get_user_email): size not used, nuked.

		* mailbox/body.c: body_lines () nd body_size () were not
		properly overriden given the wrong size and line number,
		fixed.
		* mailbox/mbx_imap.c (mailbox_imap_close): Not to send
		another SELECT
		but rather just close the mailbox if not selected.
		(imap_scan0): If there is no messages in the mailbox no
		need to
		send the FETCH 1:*.
		* mailbox/message.c (message_is_modified): Protect
		against null
		pointer.

		* TODO: Some stuff todo 8).

2001-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated

	Delete message after sending reject notification.

	Updated

	Do not call mh_init() explicitly.

	Read user's profile. Use values from there instead of hardcoded
	ones.

	Honor `progname:' entries in the user's profile.

	New prototypes.

	Use close-pipe instead of close-output-port.
	Use mu-message-destroy for temporary messages.

	Use mu-username->email to initialize sieve-my-email.

	New function mu-message-destroy.
	mu_scm_message_free(): Destroy the underlying message if its
	owner is NULL.

	New function mu-username->email, deduces user's email from
	his username.

	Determine full user email address (mail_set_my_name).

	Prototype for mu_get_user_email.

	New function mu_get_user_email.

2001-10-22  Jeff Bailey  <jbailey@gnu.org>

	Build updated

2001-10-21  Sam Roberts  <sroberts@uniserve.com>

	corrected typo

2001-10-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changes for compatibility with automake 1.5

2001-10-20  Alain Magloire  <alainm@gnu.org>

	Updated

		* configure.in: Set to 0.0.9c.
		* doc/texinfo/mbox.texi: Update the doc for mbox(Unix).
		* doc/texinfo/pop.texi: Update the doc for mbox(Unix).

		* imap4d/expunge.c: Bug:  Expunge was not sending the
		untag "* %d EXPUNGED" for message deleted.  Call
		imap4d_sync ()
		which will do the right thing.
		* imap4d/noop.c: Bug: It should call imap4d_sync ()
		to notify
		the client of any changes.
		* imap4d/sync.c (notify_deleted): Typo should be EXPUNGED
		with a D.
		(imap4d_sync): Bug: Checked also if the number of
		messages changed.

		* mailbox/folder_imap.c (imap_flags): Bug: Rewrite it
		to be generic
		and sets the flags for the attribute.
		(imap_fetch_flags): Call imap_flags().
		(imap_permanentflags): Call imap_flags().

		* mailbox2/include/mailutils/mbox.h: Update prototypes.
		* mailbox2/include/mailutils/sys/mbox.h: Update
		prototypes.
		* mailbox2/include/mailutils/pop3.h: Update prototypes.
		* mailbox2/mbox/mbox_expunge.c (mbox_expunge): Calls
		mbox_expunge0 ().
		(mbox_save): Calls mbox_expunge0().
		* mailbox2/mbox/mbox_scan.c (mbox_scan): Calls mbox_scan0
		().
		(mbox_count): Calls mbox_scan0().
		* mailbox2/pop3/pop3_capa.c: Provide a special iterator.
		* mailbox2/pop3/pop3_lista.c: Provide a special iterator.
		* mailbox2/pop3/pop3_uidla.c: Provide a special iterator.

2001-10-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Final fix to mh/inc

	Minor bugfix in builtin_mbox().

	Removed superfluous -I.

	Protos for new functions.

	New functions mh_audit_open(), mh_audit_close().

	Implemented -audit.

	Implemented saving of MH context.

	Prototypes for new functions.

	New globals: ctx_name -- keeps full context file name,
	ctx_header --
	keeps current context (as a MU header).
	mh_init(): Use new globals.
	New functions: mh_save_context, mh_write_context_file,
	mh_check_folder,
	mh_getyn.

	Fixed option recognition heuristics.

	Minor fix in builtin_match().

	Fixed truncate option. Implemented -changecur. The only feature
	inc
	lacks so far is -audit.

2001-10-17  Alain Magloire  <alainm@gnu.org>

	Readme-alpha cvs repository path changed

2001-10-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	After discussion with Jeff, removed maintainer-mode quirks
	and introduced
	--enable-debug switch.
	Changed the last log's header line: apparently was a result
	of some
	copy-and-paste :^)

	Updated (config.sub, ltconfig, etc.)

	Added proto for strtok_r.

	Removed MAINTAINER_MODE conditionals.

	Removed maintainer.m4, added debug.m4 and regex.m4 (committed
	earlier, but
	apparently forgotten o add).

	Handle --enable-debug option. When the option is specified,
	adds -ggdb to the invocation of gcc, and removes any optimization
	directives from CFLAGS.

	removed maintainer-mode quirks

	Use MU_DEBUG_MODE.

2001-10-17  Alain Magloire  <alainm@gnu.org>

	len should be type int.

	Updated.

		According to rfc2060 the minimum timeout is 30 minutes.
		But
		it is not unusual to see server with a shorter timeout.
		When
		the timeout occurs, the server sends a BYE.  To catch this
		all functions in folder_imap.c and mbx_imap.c use
		a proloque
		folder_open() or imap_messages_count to check if the
		server
		timedout and reconnect.  This is not bullet proof
		since the
		"* BYE" will be act upon on the second request, the first
		is where we catch "* BYE".  On mailbox2 this behaviour
		will
		be disable/enable with a property and make more reliable,
		so client set the property "AUTORECONNECT".

		* mailbox/folder_imap.c: Prologue to must functions
		calling
		folder_open().
		* mailbox/mbx_imap.c: Proloque to must functions calling
		folder_open() or imap_messages_count.
		(section_name): Buglet passed the wrong argument to
		sizeof().

		For debugging purposes, to see the traffic
		* mailbox/folder_imap.c:
		Print to stderr the command sent to the IMAP server.
		#define DEBUG_SHOW_COMMAND 1
		Print to stderr the responses received from the IMAP
		server.
		#define DEBUG_SHOW_RESPONSE 1
		Print to stderr the literal/quoted string received from
		the IMAP
		server. #define DEBUG_SHOW_DATA 1

2001-10-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixes to printed doc output

	Eliminated overfull \hboxes in printed output.
	Use @ref instead of @xref wherever appropriate.

	Eliminated overfull \hboxes in printed output

2001-10-16  Jeff Bailey  <jbailey@gnu.org>

	Update .cvsignore file - the docs have moved

2001-10-16  Alain Magloire  <alainm@gnu.org>

	2001-10-15  Alain Magloire
		* mailbox/sendmail.c: Use vfork() instead of fork().  In a
		multithreaded environment, fork () may not be supported.
		Since we do fork()/exec(), vfork() will do fine.
		This was trigger by QNX/Neutrino, where fork()ing is not
		supported after threads have been created.

	2001-10-15  Sam Roberts

		* doc/texinfo/programs.texi: Typo and semantics
		corrections.

2001-10-16  Jeff Bailey  <jbailey@gnu.org>

	Update to ignore generated files

2001-10-15  Alain Magloire  <alainm@gnu.org>

		* mailbox/mbx_imap.c (imap_message_readline
		imap_body_readline):
		Bad analysis on my part. Functions removed.

		* configure.in: Bump to 0.0.9b

		* TODO: Put a note apropos mailbox2.

		* mailbox/mbx_imap.c(imap_message_readline
		imap_body_readline):
		The buffer was not null terminated if no newline was
		found.

		The code for IMAP, is a pain, the rewrite should clean
		all those
		hacks.	Something to remember for the mailbox2 is to
		do some
		smart caching, the current buffered stream is not
		good enough.

		* configure.in: VERSION is set to 0.0.9a for the alpha.
		* frm/frm.c: Protype for usage(). get_personal()
		should use
		const char *.
		* mail/mail.c (main): Use mailbox_scan() instead of
		mailbox_messages_count () it is faster for IMAP.

		* mailbox/mbx_imap.c(imap_get_message0): Remove the
		stream_setbufsiz() it is no longer used.
		(imap_message_readline imap_body_readline):
		Bug fix, readline will only consume up to '\n' even
		though the
		buffer is bigger.  So we have to adjust the
		offset/lines/size
		to reflect what we consume.  This is not very good
		for example
		doing:
		{
		   off_t offset = 14;
		   char buffer[512];
		   stream_readline (stream, buffer, sizeof buffer,
		   offset, NULL);
		   ...
		}
		Will send to the impap server.
		C: g445 FETCH 4 BODY.PEEK[2]<0.2048>
		S: * 4 FETCH (BODY[2]<0> {739}
		S: g445 OK FETCH completed

		This is waste since the first line is only 37 bytes.
		We will
		have to come up on the second API with some smart caching.

		* mailbox/memory_stream.c (_memory_write): Nasty bug
		was not updating the stream size.
		* mailbox/stream.c(stream_readline): Take care of known
		case where the buflen is 0 or 1.

		The code for property.c has been change for a more
		simple approach,
		it is the same approach as in mail/util.c(environment)
		settings.
		The old code was simply overkill, property_t was
		seldomly use
		if at all and no need for heavy hash table and all
		that jazz.

		* mailbox/property.c:  New code, the same as mail/util.c
		environment.
		* mailbox/mbx_mbox.c (_mbx_init): Remove
		property_add_defaults() etc ..
		no longer in use in the initialisation code.
		* mailbox/mbx_imap.c: Likewised
		* mailbox/mbx_pop.c: Likewised
		* mailbox/mbx_mh.c: Likewised
		* mailbox/header.c: Remove property code.
		* mailbox/body.c: Remove property code.
		* mailbox/message.c: Remove property code.
		* mailbox/filter.c: Change the code according to the
		new property_t.
		* mailbox/filter_rfc822.c: Change the code according to
		the new
		property_t.
		* include/mailutils/header.h: Remove property.
		* include/mailutils/body.h: Remove property.
		* include/mailutils/message.h: Remove property.
		* include/mailutils/property.h: Remove
		property_add_defaults()
		property_set_valued () takes one more argument for
		overwrite.
		* mailbox/include/header0.hy: Remove property field.
		* mailbox/include/body0.hy: Remove property field.
		* mailbox/include/message0.hy: Remove property field.
		* mailbox/mailbox.c(mailbox_get_property
		mailbox_set_property):
		Changed Property code.
		* mailbox/mailer.c(mailer_set_property
		mailer_get_property):
		Changed Property code.

		* mailbox/folder_imap.c (imap_search imap_expunge
		imap_status): Stubs
		Search is not implemented yet, STATUS neither and EXPUNGE
		is not used.

		* mailbox/list.c: Rename variable index to indx to shutup
		gcc whos confusing with index() when warning level
		was high.
		* mailbox/md5-rsa.c: Likewised.

		* mailbox/mailbox.c (mailbox_get_debug mailbox_set_debug):
		The debug object was being set on the folder not the
		mailbox.

		* mailbox/mbx_imap.c (imap_messages_count): Attempt
		to reconnect
		if the connection timeout.  Is this wise ?
		(imap_scan0): Move gut of imap_scan() code tho here.
		(imap_scan): Stub calling imap_scan0() with notification
		enable.
		(imap_expunge): After CLOSE, call imap_scan0() wiht
		notification
		disable.

		Memory leak in parse822, this was a real pain to trace,
		because
		of the recursive nature of the algorithm.  Sam should
		buy me
		a beer for this.

		* mailbox/parse822.c: Use more assert to catch errors.
		(parse822_group): phrase was not free() in case of
		failure.
		(parse822_mail_box): Dead if branch remove and free
		phrase.
		(parse822_route): accumulator was not being freed.
		(parse822_local_part): Move down st_free(more).
		(parse822_domain): Move down st_free(more).

2001-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	A bunch of small fixes to frm and mail.
	Reorganized /doc. Rewritten program.texi.

	Fixed typo in --help output.

	Short info about scheme sieve implementation.

	Reorganized doc structure

	User dictionary for spell-checking docs

	Reorganized directory structure

	Delimit addresses with space (~t, ~c and ~b escapes).
	Removed var_exit().

	Removed entry for ~x: it is handled by send.c

	Handle ~x escape properly.

	Do not prefix subject line with Re: if it already starts with it.

	Do not output extra newline when running with --field option.

2001-10-14  Alain Magloire  <alainm@gnu.org>

		* mail/mail.c: Possibility to enable debuging output.
		It should probably be a runtime option via set debug=1
		or something
		for now it is disable between if (0) {...}.

		More cleanup in the IMAP code.	A memory stream buffer is
		use to save the string literal sended by the IMAP server.
		The allocation is handle by the memory_stream which
		simplifies
		the code.

		* folder_imap.c (folder_imap.c): Create a memory stream to
		hold the literal or quoted string send by the IMAP server.
		(folder_imap_list folder_imap_lsub): There is no callback
		field the struct folder_list is in struct _f_imap now.
		(imap_literal_string imap_quoted_string imap_string):
		Use the
		memory string stream to save the result.
		(imap_body): Still need to be clean, but creates the cache
		header when doing the scan.
		(imap_parse): Do not use alloca().

2001-10-13  Jeff Bailey  <jbailey@gnu.org>

	Fix to remove GNU Make'ism

	Fixes for RO srcdir

2001-10-12  Alain Magloire  <alainm@gnu.org>

		Sigh commited the wrong file.

		Oops!

		A small cleanup of the IMAP code.
		* mailbox/folder_imap.c (imap_body):  Destry the cache
		header
		if it was previously set on a SCAN.
		* mailbox/mbx_imap.c (delete_to_string): New function,
		to generate
		a string of IMAP message numbers.
		(imap_expunge): use delete_to_string;
		(attribute_string): Removed.
		(flags_string): Removed.
		(flags_to_string): Replace attribute_string() and
		flags_string().
		(message_operation): Rename to fetch_operation.
		* mailbox/include/imap0.h(struct _f_imap): field func
		and id
		removed, never used.

2001-10-11  Alain Magloire  <alainm@gnu.org>

		* mailbox/folder_imap.c (imap_quoted_string): Free
		the buffer.
		(imap_string): Free the buffer.
		(imap_body): Check if we already have the fheader header.
		(imap_scan): Forgot the break in the switch.

	I think, I broke something in the IMAP code too .. sigh ... it
	is getting to late here to figure this out.

		In order to boost performance, when doing the scan we use
		the approach of downloading part of the header of
		the total
		set of messages.  The it was done before is that the
		headers
		were ask one by one per message.  This was causing
		performance
		delay because we were doing a lot of small transaction on
		the TCP/IP stack.  By bundling the entire thing in
		one request
		there was much less transcation and the speed was increase
		by a factor of 10++.
		The Imap code folder_imap.c and mbx_imap.c is now messy.
		The rewrite in mailbox2 should clean this up though.

		* mailbox/folder_imap.c (imap_quoted_string): Allocated
		the
		memory instead.
		(imap_body): If we were doing the scan free the memory
		and create
		the cache header.
		(imap_fetch): Create the message if was not done,
		important for
		the scan.
		* mailbox/mbx_imap.c (imap_scan): Bundle one big
		request to
		fetch as much information as possible.
		(message_operation): Free the buffer when done.
		* mailbox/include/imap0.h: Add IMAP_SCAN states.

		* mailbox/file_stream.c (_file_readline): It seems that
		fgets() can
		not handle binary data.  Try to do our best.

		* mailbox/header.c (header_get_fvalue): When it fails
		set the number
		of byte written to 0.
		(header_get_value): Likewised.
		* mailbox/mbx_imap.c (imap_envelope_sender): Go through
		header_get_value() to fetch the "Sender" field, it may
		be cache.
		(imap_header_get_fvalue): Put parenthesies around the
		FETCH, the
		WU-IMAPD likes it that way.

2001-10-10  Alain Magloire  <alainm@gnu.org>

	Quick fix, from botch code commited to late.

		* mailbox/mbx_pop.c (_mbox_pop_init): Authority is set
		on the folder.
		For pop this a little hackish, since there is no proper
		folder.
		As a hack we set for the pop folder the actual mailbox
		as data pointer.
		(pop_user): the owner of the authority is the folder.

2001-10-09  Alain Magloire  <alainm@gnu.org>

		* mailbox/mbx_imap.c (imap_message_lines): If the
		message_size
		is not set fallback on body_lines and header_lines.

		* mail/print.c:  Lines number are not always known for
		example for POP or IMAP, it is not known until the mail
		is dowloaded so take a guess base on the size.

		* mailbox/mbx_mbox.c (mbox_expunge0): New function.
		Move all the previous mbox_expunge() to mbox_expunge0()
		with a new argument deciding whether or not to remove
		messages set deleted.
		(mbox_save_attributes): Stub calling mbox_expunge0().
		(mbox_expunge): Stub calling mbox_expunge0()

		* mailbox/mbx_mh.c: Provide a prototype for
		mh_message_number()
		there is no provision for it in the current Mailbox API.

2001-10-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfixes.

	Fixed memory leak in strobj_free()

	Use ENOSYS instead of ENOTSUP

	Bugfix: Did not display the last message when the number of
	lines in
	last page was less than pagelines.

2001-10-06  Alain Magloire  <alainm@gnu.org>

	Typo.

		* mailbox/folder_imap.c (imap_flags): Bailout at the
		matching
		LPAREN.
		* mailbox/header.c (header_get_fvalue): Return 0 in the
		number of byte return argument even when no header
		is found.
		(header_get_value): Likewised.

		* mailbox/mbx_imap.c (imap_header_get_fvalue): Also cache
		the message size and the FLAGS.
		(imap_message_size): If we already have the size do
		not request
		it again.

2001-10-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated.

	Added reject.scm

	parse822_word(): Additional check for qstr != NULL:
	parse822_quoted_string() sometimes returns EOK and does not fill
	qstr (e.g. when parsing empty string: "")

2001-10-05  Alain Magloire  <alainm@gnu.org>

		* imap4d/select.c(imap4_select_status): According
		to RFC2060
		There is no parenthesis when we send the
		UIDVALIDITY/UNSEEN.

		* mailbox/header.c (header_free_cache): New function.
		(fill_blurb): Call header_free_cache to release memory.
		(header_destroy): Move the code to header_free_cache().
		(header_set_fvalue): Accept a NULL value, it will
		permanent
		failure i.e. the header does not exist.
		(header_get_value): Check the cache provided by the
		header object
		then the cache from _get_fvalue() and fall back to
		downloading
		the entire header.
		* mailbox/mbx_imap.c (imap_hader_get_fvalue): Implement
		a cache
		in IMAP for the most use headers like "FROM, SUBJECT
		....".
		* mailbox/include/imap0.h: New field in _m_imap to
		hold the
		header cache.
		* mailbox/mapfile_stream.c: signed and unsigned cast.

2001-10-04  Alain Magloire  <alainm@gnu.org>

	Typo in ChangeLog.

		* mailbox/mbx_imap.c (imap_attr_set_flags): Do not send
		the \\Delete flag and just keep it locally.  The expunge
		will take care of resending it.
		(imap_attr_get_flags): Likewised.

2001-10-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixes in mailbox/attribute.c

	Fixed funny bug in attribute_{set,clear}_modified

2001-10-02  Alain Magloire  <alainm@gnu.org>

	Update.

		* mailbox2/include/mailutils/mbox.h: New prototypes.
		* mailbox2/include/mailutils/sys/mbox.h: New prototypes.
		* mailbox2/mbox/*.c: Finish implementation.
		* mailbox2/attribute.c: Add user flags.
		* mailbox2/dattribute.c: Add user flags.

		To be compatible with the old mailbox, all stream read
		and write take an offset. Removed stream_seek () and add
		stream_is_seekable() instead.
		* mailbox2/stream.c: Likewised.
		* mailbox2/bstream.c: Likewised.
		* mailbox2/fdstream.c: Likewised.
		* mailbox2/fstream.c: Likewised.
		* mailbox2/mapstream.c: Likewised.
		* mailbox2/memstream.c: Likewised.
		* mailbox2/tcpstream.c: Likewised.

		* mailbox2/include/mailutils/error.h: Add EBADFD.

2001-09-27  Alain Magloire  <alainm@gnu.org>

	More update but still not functional.

2001-09-26  Alain Magloire  <alainm@gnu.org>

	Implemented mbox_append () first draft.  Things are still very
	unstable.

2001-09-24  Alain Magloire  <alainm@gnu.org>

		First draft of the mailbox/mbox2.  Not functional.
		Changes are too numerous to enumarate.

		* mailbox2/mbox/*.[ch]: First mbox implementation.
		* mailbox2/mbox/Makefile.am: New file.

2001-09-23  Alain Magloire  <alainm@gnu.org>

	Typos.

		In order to provide inheritance, it is necessary to make
		the base functions/methods visible so the extended object
		could reuse some base methods if necessary.  Inheritance
		is possible because we always add to the end of the vtable
		structure new functions.
		For example, mime_t object will be also a message_t.
		and it will be possible to do
		{
		  mime_t mime;
		  header_t header;
		  ...
		  message_get_header ((message_t)mime, header);
		}
		Another example is tcpstream(socket stream) extends
		fdstream(file description stream);
		Also the name of the functions have change to match better
		there purpose.

		* mailbox2/Makefile.am: lockfile.c added.
		* mailbox2/bstream.c: Reoganisation to make the
		functions visible.
		* mailbox2/dattribute.c: Likewise.
		* mailbox2/dotlock.c: Likewise.
		* mailbox2/fdstream.c: Likewise.
		* mailbox2/fstream.c: Likewise.
		* mailbox2/mapstream.c: Likewise.
		* mailbox2/memstream.c: Likewise.
		* mailbox2/pticket.c: Likewise.
		* mailbox2/sdebug.c: Likewise.
		* mailbox2/tcpstream.c: Likewise.

		* mailbox2/include/mailutils/Makefile.am: lockfile.h
		added.
		* mailbox2/include/mailutils/attribute.h: Add the new
		prototypes.
		* mailbox2/include/mailutils/mbox.h: Add the new
		prototypes.
		* mailbox2/include/mailutils/stream.h: Add the new
		prototypes.

		* mailbox2/include/mailutils/sys/Makefile.am: dattribute.h
		lockfile.h
		mapstream.h pticket.h added.
		* mailbox2/include/mailutils/sys/bstream.h: Add new
		prototypes.
		* mailbox2/include/mailutils/sys/fdstream.h: Likewise.
		* mailbox2/include/mailutils/sys/fstream.h: Likewise.
		* mailbox2/include/mailutils/sys/mbox.h: Likewise.
		* mailbox2/include/mailutils/sys/memstream.h: Likewise.
		* mailbox2/include/mailutils/sys/sdebug.h: Likewise.
		* mailbox2/include/mailutils/sys/tcpstream.h: Likewise.

2001-09-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	MH: format spec parsing

	mh_read_formfile(): Handle end-of-line comments and '\' line
	continuation.

	Builtin functions return their values in arg_num,arg_str.
	Compress whitespace only in component escapes.

	Builtin functions return their values in arg_num,arg_str.
	reg_num,reg_str gets set only when reducing to pitems.
	Fixed if-blocks to save the result of the last evaluated
	conditional
	to reg_num.

	Print newline not depending on the presence of Subject header.

2001-09-20  Alain Magloire  <alainm@gnu.org>

	Update

		* mailbox2/debug.c: Remove mu_debug_printv() and only keep
		mu_debug_print().
		* mailbox2/sdebug.c (mu_debug_stream_create): New function
		replace mu_debug_stdio_create().
		* mailbox2/fdstream.c (_fds_desroy): Do not close
		the stream
		when distroying, it should have been done explicitely with
		stream_close ();
		* mailbox2/fstream.c (_fs_desroy): Do not close the stream
		when distroying, it should have been done explicitely with
		stream_close ();
		* mailbox2/mapstream.c (_map_desroy): Do not close
		the stream
		when distroying, it should have been done explicitely with
		stream_close ();
		* mailbox2/memstream.c (_memory_desroy): Do not close
		the stream
		when distroying, it should have been done explicitely with
		stream_close ();
		* mailbox2/tcpstream.c (_tcp_desroy): Do not close
		the stream
		when distroying, it should have been done explicitely with
		stream_close ();

2001-09-19  Sam Roberts  <sroberts@uniserve.com>

	*** empty log message ***

	Check url authentication type at initialization to trap invalid
	ones early.

	The pthread headers seem to define things that make the system
	headers
	not prototype some non-POSIX but essential APIS, so I moved them
	(on QNX6).

	Set zero-length strings to NULL.

	Check harder for URLs that are not invalid for the particular
	scheme.

	authority_authenticate() was returning success if authority was
	NULL, this
	is an error for all the other authority_* APIs, now it is here,
	as well.

2001-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changed proto of mh_read_formfile()

	Optimized mailbox/mbx_mh.c.

	Handle '+' key.

	Handle +folder.

	Pass '+' key when handling +folder option.

	Updated

	Optimized for speed:
	_mh_message_save(): scan the message while saving it. If
	expunge==0,
	do not create temporary, operate directly on the message file
	instead.
	mh_append_message(): Do not rescan appended message.
	mh_scan_message(): Do not rescan the message if it's not changed

2001-09-18  Alain Magloire  <alainm@gnu.org>

	Updated.

		Pop3 now has a debug object, mu_debug_t, to follow
		the protocol
		exchanges between the library and the server.

		* mailbox2/pop3/*: Add debug prints in all.
		* mailbox2/sdebug.c: New entry.
		* mailbox2/debug.c: New entry.
		* mailbox2/Makefile.am: Add debug object
		* mailbox2/include/mailutils/Makefile.am: Add debug.h
		* mailbox2/include/mailutils/sys/Makefile.am: Add debug.h
		and sdebug.h
		* mailbox2/include/mailutils/debug.h: New file.
		* mailbox2/include/mailutils/sys/debug.h: New file.
		* mailbox2/include/mailutils/sys/sdebug.h: New file.

		* mailbox2/fdstream.c: Bug in fdstream do not call
		FD_SET if
		the file descriptor is -1;
		* mailbox2/tcpstream.c: Bug in fdstream do not call
		FD_SET if
		the file descriptor is -1;

2001-09-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added inc

	Further changes to mh/: Implemented inc command. Added missing
	options to scan.

	_mh_next_seq(): add 1 to the last used sequence number.
	mh_append_message(): missed assignment to mhd member of struct
	_mh_data.
	mh_message_number(): new function. It is the only way to get
	the message sequence number.

	Implementation of inc command.

	Changed initialization of format_str. Removed scan_folder:
	use current_folder
	instead. Implemented -form and -header options. Use \f to clear
	screen if
	stdout is not a tty.

	New globals: current_folder, current_message, mh_list_format, etc.

	builtin_msg(): return sequence number of the message, not
	its ordinal
	number in mailbox.
	builtin_cur(): implemented.

	Extern declarations for current_folder, current_message,
	mh_list_format, etc.

	Added inc.c. Restructured .*_LDADD assignments.

	_mh_next_seq(): add 1 to the last used sequence number.
	mh_append_message(): missed assignment to mhd member of struct
	_mh_data.
	mh_message_number(): new function. It is the only way to get
	the message
	sequence number.

	Added HAVE_OBSTACK

	Fixed declaration of ml_reread, it did not match the changed
	proto.

2001-09-17  Alain Magloire  <alainm@gnu.org>

		* doc/mbox.texi: Starts to document the concrete Unix mbox
		API.
		* doc/pop3.texi: Typos.
		* mailbox/mbx_mh.c: Initialised variables. Typecast
		to void
		expunge since it is never used.
		* mail/delete.c : Typo.

	Some changes did not make it.

	Update.

		This is after an exchange with Dave Inglis and Sam
		Roberts.
		Basically they recommand to drop the XX_release()
		functions
		and only to keep XX_create (), XX_destroy ().  We have
		simple
		reference count strategy for memory management.

		* mailbox2/* : Way too much to enumerate.
		* mailbox2/refcount.c: New file
		* mailbox2/include/mailutils/refcount.h: New file
		* mailbox2/include/mailutils/sys/refcount.h: New file
		* mailbox2/fdstream.c: stream_fd_create ().

2001-09-15  Alain Magloire  <alainm@gnu.org>

	Updated.

		The exercise is to crank up the warnings from gcc
		and cleanup
		the code based on the hints generated by the compiler.
		The usual
		errors:
		- signed vs unsigned, signedness or unsignedness problems.
		- printf() wrong formats
		- wrong prototypes declarations
		- and different buglets
		- "const char *" vs "char *"
		- unused variables
		- unused arguments.  Tell the compiler by typecasting
		to void
		 (void)var.
		- Some variable when shadowed, meaning in another block
		variable
		of the same name where reused.
		- atoi() is not an ANSI C function, we should use
		strtol().

		Changes to comply to GNU coding standards, and nuke
		trailing spaces.

		* mail/alias.c (alia_lookup): No prototypes and scope
		static.
		(hash_num, max_rehash, aliases): Scope static and
		unsigned.
		(hash): unsigned.
		(alias_rehash): i unsigned.
		(alias_lookup_or_install): slot variable unused.
		(alias_destroy): unsigned.
		* mail/copy.c (mail_copy0): fprintf wrong format.
		* mail/decode.c: dislay_message change prototype.
		(mail_decode): Cast when calling util_msgset_iterate().
		(display_message): Prototype change.
		(display_headers): unsigned issues.
		* mail/delete.c: Buglet was caling mail_delete0()
		instead of
		mail_delete.
		* mail/eq.c: Unused arguments.
		* mail/exit.c: Unused arguments.
		* mail/folders.c: Unused arguments.
		* mail/followup.c: Unused variables.
		* mail/from.c (mail_from): variable buffer was shadowing
		use variable
		name instead. snprintf() formatting issues.
	* mail/headers.c: Unsigned issues.
		* mail/if.c: Unused arguments.
		* mail/inc.c: Unused arguments.
		* mail/list.c: Use const char *.
		* mail/mail.c: options[], argp[] initialised all elements.
		(mail_cmdline): Unused arguments.
		(main): Unsigned issues.
		(mail_warranty): Unused arguments.
		* mail/mail.h: function_t with complete prototype this
		necessary
		to let the compiler do proper checks.
		struct mail_command_entry rearrange the fields and a
		new field
		int (*escfunc) __P ((int, char **, struct send_environ
		*));
		Indentation rearrangements.
		* mail/mailline.c (ml_getc): Scope is static now.
		typecast for const char *.
		(ml_reread): Typecast.
		* mail/msgset.y: Declare yyerror() and yylex().
		(msgset_select): Change of prototpe to let the compiler
		do checks.
		(selec_sender): Unsused arguments.
		* mail/pipe.c: Rename variable pipe to tube.
		* mail/print.c: Unsigness and some shadow variables.
		* mail/quit.c: Shadow variables.
		* mail/send.c: Typecast when necessary. Use the second
		(escfunc)
		field now. Some shadow variables.
		* mail/shell.c: Unsigned.
		* mail/table.c: Readjust the table to correspond to
		the signature
		change in mail.h.
		* mail/tag.c: Prototype change.
		* mail/util.c (util_msglist_esccmd): New function.
		(util_find_entry): Prototype change.  And check return
		value
		of getenv().
		(util_screen_lines): Change atoi() to strtoul().
		(util_screen_columns): Change atoi() to strtoul().
		(util_find_env): Signedness.
		(util_fullpath): Prototype changed(const).
		(util_slist_to_string):Protorype changed (const).
		(util_strcat) :Protorype changed (const).
		(util_tempfile): const.
		* mail/var.c: Unsignedness, Unused arguments.
		(var_quote):  Use new function util_msglist_esccmd().
		* mail/version.c: Unused arguments.
		* mail/write.c: printf formats.
		* mail/z.c: Signedness.

2001-09-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix in mailbox/mbx_mh.c.
	Added a framework for porting MH utilities.

	Initial commit

	Implementation of scan command.

	Initialization module.

	MH-style options parsing.

	Run-time execution of format strings.

	Parser for format strings.

	Diagnostic output.

	Coexistence between GNU long options, traditional UNIX-style
	short options
	and traditional MH long options.

	Main header for mh functions.

	Added obstack.[ch]

	GNU obstack functions

	Check for presense of GNU obstack functions.

	Handle properly messages with null body.
	Fixed bug in cyclic stream pool handling.
	Lowered MAX_OPEN_STREAMS limit. It probably should be
	configurable.

2001-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Further changes to mbx_mh.c

	Implemented append.
	Do not read deleted messages when doing mailbox scan.

	Do not count deleted messages into the total number of lines
	output.

	Do not set first_unread or first_new if the message is marked
	as deleted.

2001-09-10  Alain Magloire  <alainm@gnu.org>

		This was done when cranking the number of warning
		generated
		by gcc (-Wall, etc ...)

		* mailbox/mbx_mh.c:  Add include for pthread.
		seq_number is size_t.
		(_mh_message_name):  The problem here is that asprintf()
		is a GNU extension.  We want libmailbox to be as
		independent
		as possible, so it will not be required for program to be
		link with libmailutils(it is not even install).
		Default to
		snprintf ().
		(mh_close): return an int.
		(_mh_message_insert): n should be size_t.

2001-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixed mbx_mh.c

	Bug fix: both pool_first and pool_last must be biased by
	MAX_OPEN_STREAMS

2001-09-09  Alain Magloire  <alainm@gnu.org>

		* doc/pop3.texi: Update the doc.
		* doc/sfrom.c.texi: Line too long.
		* doc/stream.texi: Line too long.

	Removed no more threading code.

	New file.

		For the new mailbox, one of the short coming with the
		old stream_t
		object was that select() was not cover, meaning it was
		not possible
		to check if a stream was {read,write} ready.  The old
		was to get
		the fd (stream_get_fd()) and do the select.  Providing,
		stream_is_readready (stream_t, int timeout);
		stream_is_writeready (stream_t, int timeout);
		stream_is_exceptionpending (stream_t, int timeout);
		stream_is_open (stream_t);
		Takes care of it.  It will work specially for tcp stream.

		* mailbox2/stream.c: New functions for the select calls:
		(stream_is_readready): New function.
		(stream_is_writeready): New function.(stream_t, int
		timeout);
		(stream_is_exceptionpending): New function.
		(stream_is_open): New function.
		* mailbox2/bstream.c (_bs_readline): Bug was truncating
		the string
		to early.
		(_bs_is_readready): New file.
		(_bs_is_writeready): New file.
		(_bs_is_exceptionpending): New file.
		(_bs_is_open): New file.
		* mailbox2/fstream.c: stubs for the select functions.
		* mailbox2/memstream.c: stubs for the select functions.
		* mailbox2/mapstream.c: stubs for the select functions.
		* mailbox2/tcpstream.c: stubs for the select functions.
		* mailbox2/include/mailutils/stream.h: Adjust the
		prototypes
		* mailbox2/include/mailutils/sys/stream.h: Adjust the
		prototypes

		It is better not to put threading (Pthread) code in the
		low level
		API.  But instead in mailbox_t framework, where it can
		be control.
		* mailbox2/include/mailutils/pop3.h: Adjust the
		prototypes.
		* mailbox2/pop3/*.c: Remove threading code.

2001-09-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Initial implementation of MH mailbox format. It is functional
	in read-only
	mode. In read-write, it is able to delete and undelete messages
	but lacks
	`append message' functionality.
	Expunge does not unlink message files but rather renames them
	prepending ','
	to a filename, after MH fashion.

	Declare mh_record

	handle #f when printing message object

	handle #f when printing mailbox object

	Check for MU_ATTRIBUTE_DELETED in mbox_expunge.

	Added mh-related declarations.

	Register mh_record.

	Added mh-related sources.

	Initial implementation of MH mailbox format. It is functional
	in read-only
	mode. In read-write, it is able to delete and undelete messages
	but lacks
	`append message' functionality.
	Expunge does not delete message files but rather renames them
	prepending ','
	to a filename, after MH fashion.

2001-09-07  Alain Magloire  <alainm@gnu.org>

		* mailbox/folder_mbox.c (folder_mbox_open): Implemeted.

2001-09-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changes to MySql

	Improved error logging. Fixed memory leak due to absence of
	mysql_close()
	calls (noticeable on imap4d when doing multiple login attempts).
	Provide configurable parameters to mysql_real_reconnect to
	allow connecting
	to the remote database and/or non-standard ports.

	New defines: MHOST,MPORT,etc.

2001-09-05  Alain Magloire  <alainm@gnu.org>

		* mailbox/mbx_imap.c (message_operation):  Check if the
		imap server went away(f_imap->isopen) and flag an error.

2001-09-04  Alain Magloire  <alainm@gnu.org>

		* mailbox/folder_imap.c (imap_use): Check return value.
		* mailbox/mailbox.c (mailbox_get_debug): Get the
		mu_debug_t
		object from the folder if available.
		* mailbox/mbx_imap.c (imap_append_message): Check for
		EAGAIN.
		(imap_header_get_value): If the operation return 0, set
		error to ENOENT.

		* configure.in: AC_REPLACE_FUNCS(fgetpwent);
		* include/mailutils/parse822.h: Add a prototype for
		parse822_skip_nl().

		* lib/Makefile.am: add fgetpwent.c
		* lib/fgetpwent.c: New file.

		* mail/from.c (mail_from): Use the cover functions
		attribute_is_xxxx() instead of getting the flag.

		* mailbox/attribute.c: Cleanup the mess.
		attribute_set_{read,delete,seen,flagged,answered}.
		attribute_unset_{read,delete,seen,flagged,answered}.
		attribute_is_{read,delete,seen,flagged,answered}
		should be no more then cover functions calling
		attribute_set_flags(), attribute_get_flags() and
		attribute_unset_flags().

		* mailbox/folder_imap.c: MU_ATTRIBUTE_READ, is not
		part of IMAP protocol use \\Seen.
		* mailbox/mbx_imap.c: Remove the hack trying to reconnect,
		it does not work.

		* mailbox/mbx_pop.c(pop_get_messages): Set the new
		functions for the attribute.
		(pop_get_attribute): New functions.
		(pop_set_attribute): New functions.
		(pop_unset_attribute): New functions.
		(pop_attr_flags): Removed.

		* mutil.c (mu_hex2ul): GNU coding std.
		(parse822_time): Do not use tzname as a variable name
		tzname
		is global variable in libc, better clear away.
		(parse822_date_time): Likewised.

		* pop3d/Makefile.am: add virtual.c
		* pop3d/pop3d.c (main): register getpwnam_ip_virtual,
		getpwnam_host_virtual
		* pop3d/pop3d.h: declare,
		getpwnam_ip_virtual(), getpwnam_host_virtual().
		* pop3d/virtual.c: New file.

2001-09-02  Alain Magloire  <alainm@gnu.org>

		* mailbox/mutil.c (getpwma_virtual): Memory overrun,
		did not
		reserve enough space to accomodate the extra slash, when
		doing the sprintf().
		Include <string.h>, since we use strdup().

2001-08-31  Jakob Kaivo  <jkaivo@ndn.net>

	*** empty log message ***

	imap4d/list.c changes

	don't list INBOX twice for virtual users

2001-08-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updated.

	Fixed typo in getpwnam_virtual: returned NULL instead of pw

	Further changes to mailbox/mutil.c

	Fixed declaration of _app_getpwnam. Moved mu_virtual_domain out
	of #ifdef guard.

	Generalized mu_getpwnam interface. mu_register_getpwnam allows
	to register several functions which will be tried in turn in
	order to obtain struct passwd*. Changed virtual domain code
	in pop3d and imap4d to use this approach.

	Fixed mu_.*getpwnam declarations. Added declaration for
	mu_virtual_domain and getpwnam_virtual().

	Use linear hash ordering.

	Removed pop3d_virtual. Its functions are performed by
	getpwnam_virtual. Renamed is_virtual to mu_virtual_domain.

	Removed imap4d_virtual. Its functionality passed to
	getpwnam_virtual.

	Register getpwnam_virtual for handling virtual domain
	authentication.

	Use mu_virtual_domain instead of is_virtual.

	New option --with-virtual-pwddir allows to configure the path
	to domain
	passwd files. Defaults to <sysconfdir>/domain.

	Add -DSITE_VIRTUAL_PWDDIR to CFLAGS.

	_app_getpwnam is a list of getpwnam functions.
	mu_getpwnam calls each function in succession until it finds one
	which returns non-NULL value.

2001-08-31  Alain Magloire  <alainm@gnu.org>

		In the virtual code, change the chdir() and build the full
		pathname in a buffer.  For a daemon, it is better to stay
		in "/" the root.  Moving in subdirecteris, will not permit
		the volume to be unmounted.  But we do not follow the
		same rule for imap4d, it should be fix.

		* pop3d/signal.c: Shutup unused parameter warrning
		from gcc.
		* pop3d/user.c: Define macro VIRTUAL_PWDDIR. use sprintf()
		to build filename instead of chdir().
		(PAM_gnupop3d_conv): Shutup unused parameter warrning
		from gcc.
		Make sure variable mailbox_name is initialized.

		* include/mailutils/mutil.h: Typo "struct password"
		instead of
		"struct passwd". Use const appropriately in the
		declaration
		of mu_register_getpwnam() and mu_getpwnam().
		* mailbox/mutil.c: Use const appropriately in the
		definition
		of mu_register_getpwnam() and mu_getpwnam(). Typo
		"struct password"
		instead of "struct passwd".

2001-08-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	More changes to better integrate mysql support. Introduced
	mu_getpwnam function. The function first calls system getpwnam,
	if it fails, it calls application-defined getpwnam function.
	mu_register_getpwnam can be used to register such a function.

	Prototypes for the new functions.

	Use mu_getpwnam instead of system getpwnam.

	new functions: mu_getpwnam() and mu_register_getpwnam(). Removed
	inclusion of MySql.h

	use mu_getpwnam. Removed inclusion of MySql.h.

	use mu_register_getpwnam.

	Placed @AUTHLIBS@ before libmailutils. Needed when using mysql.

	Add -lm to AUTHLIBS when configured with --enable-mysql.
	When checking for PAM: Append to AUTHLIBS instead of just
	assigning to it.

	Changes to better integrate MySql.

	New substitution variable BUILD_LIBMYSQL.
	Append linker flags to AUTHLIBS, since modifying LIBS effectively
	breaks compilation.

	Use @BUILD_LIBMYSQL@ substitution instead of direct assignment to
	noinst_LIBRARIES, so the subdir gets distributed properly.

	Use asprintf instead of sprintf, use xmalloc instead of malloc.
	Return values were allocated dynamically but never freed, this
	caused memory leaks if authentication functions were called more
	than once. Made them static, so that they get reallocated at each
	new invocation of getM functions, thus reclaming lost storage.

	Made <config.h> the first file to be included and guard it with
	#ifdef HAVE_CONFIG_H

	Reindented text to conform to GNU coding style.

2001-08-30  Jakob Kaivo  <jkaivo@ndn.net>

	imap4d/* changes

	Add virtual domain support

	add virtual domain define

	changes re: virtual domains

	add option for virtual domains

	add virtual domain support

2001-08-29  Alain Magloire  <alainm@gnu.org>

		* mailbox2/include/mailutils/list.h:  the typedef list_t
		is rename mu_list_t, as a suggestion from Sam R.
		* mailbox2/list.c: All the function names are prefix with
		"mu_".

2001-08-28  Alain Magloire  <alainm@gnu.org>

		* mailbox/folder_imap.c (imap_list): When \NoSelect, it is
		also mean that the file is a directory.

2001-08-27  Jakob Kaivo  <jkaivo@ndn.net>

	add .cvsignore

	mail/send.c changes

	fix erroneous Subject: prompts

2001-08-25  Alain Magloire  <alainm@gnu.org>

	Missing doc/Readme.mysql and examples/mail.MysqlMailer.c

		* Makefile.am:
		* acconfig.h:	Added support for new MySql addition
		to mailutils
		* configure.in:

		* MySql/Makefile.am:
		* MySql/MySql.c:	Mini lib to link to when mysql
		support
		* MySql/MySql.h:	enabled (with --enable-mysql)

		* doc/Readme.mysql:		Readme file for setup.

		* imap4d/login.c:
		* mailbox/mbx_default.c:	The Patch pretty much
		works the same
		* mailbox/mutil.c:		all around. if getpwnam()
		returns null
		* mailbox2/mutil.c:		then your db is checked
		for the user,
		* pop3d/apop.c:			and the struct is filled
		if found,
		* pop3d/user.c:			returns null if not. If
		shadow support
				       is used, then the same is done
				       with getspnam().

		* examples/mail.MysqlMailer.c:	Simple sendmail backend
		support.

		* imap4d/fetch.c (fetch_bodystructure0):  Check for sp
		!= NULL.
		* imap4d/fetch.c (send_parameter_list):  Check for sp
		!= NULL.

		* mailbox2/header.c(header_aget_value): Base on discussion
		with Sergey
		if the call fails no memory should be allocated and the
		return status
		should be return i.e. status != 0.

		* sieve/Makefile.am: To EXTRA_DIST add md5-rsa.{c,h}.

2001-08-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixes to mail/msgset.y.

	Added protos and defines for mail_tag().

	Display tagged messages.

	Added tag.c

	Added entries for "tag" and "untag".

	Implementation of tag command.

	Fixed erroneous call to msgset_select (second arg should have
	been a pointer).
	Added :t (tagged) and :T (untagged) selection criteria.

2001-08-22  Jakob Kaivo  <jkaivo@ndn.net>

	imap4d/fetch.c changes

	fix a segfault error by testing sp != NULL

2001-08-22  Sam Roberts  <sroberts@uniserve.com>

	more debugging of cvs commits...

	another whitespace change, still trying to see if my commits
	show up

2001-08-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added mu_mime.c

	Updated.

	New function sieve-message-bounce.

	Moved sieve-message-bounce to sieve-core.scm

	Implementation of Sieve "reject" action.

	Call mu_scm_mime_init().

	Prototypes for new functions.

	mu_scm_message_add_owner() - add new object to the owner chain
	of the message.

	Scheme primitives for handling mime messages.

2001-08-17  Sam Roberts  <sroberts@uniserve.com>

	still trying to figure out why commit mail isn't sent

	loic@gnu.org fake test

	Added newline, trying to debug why my commits don't show up in
	commit list.

2001-08-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	implemented search in message body

	Implemented :/expr/ -- search in the message body. Fixed memory
	leak in select_header (missed regfree).

2001-08-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Extended regexp syntax: IDENT:/EXPR/ fetches all messages
	whose header
	IDENT matches given EXPR. The match is case-sensitive if IDENT
	starts
	with a capital letter and is case-insensitive otherwise.

2001-08-15  Sam Roberts  <sroberts@uniserve.com>

	loic@gnu.org fake test

2001-08-14  Alain Magloire  <alainm@gnu.org>

	Update.

2001-08-13  Alain Magloire  <alainm@gnu.org>

	Update

	To much to add log entries.

2001-08-12  Alain Magloire  <alainm@gnu.org>

	Add lib/posix/Makefile in AC_OUTPUT

	Updated.

	* configure.in: Check for GNU regex.

	Update

	* mail/msgset.y: Remove HAVE_REGEX macro and check variable
		"noregex" before using regex.

	* lib/regex.c: New file, GNU regex implementation.
		* lib/regex.h: New file.
		* lib/posix: New directory.
		* lib/posix/Makefile.am: New file.
		* lib/posix/regex.h: New file.
		* lib/Makefile.am: Add SUBDIRS=posix and regex.c
		dependencies.

	* m4/regex.m4: New file to check for GNU regex.

2001-08-10  Sam Roberts  <sroberts@uniserve.com>

	Added two new RFCs relevant to IMAP AUTH extension mechanisms.

2001-08-08  Alain Magloire  <alainm@gnu.org>

	Update.

	* mailbox/mutil.c (mu_hexstr2ul): Properly cast the expression
		before doing the comparison.

	Typo

	update.

	* mail/msgset.y:  Draft implementation of a proposition
		to allow regular implementation.
		(REGEXP): Passing the address of the pointer instead of
		the pointer.
		(INDENT): Likewised.
		* mail/Makefile.am: Add in EXTRA_DIST msgset.c to
		force its
		generation when doing the distribution, having yacc should
		not be required.

2001-08-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	changes to guile-related makefiles

	Added maintain.m4

	Removed .x and .doc files from EXTRA_DIST. Thanks to Alain.

2001-08-06  Alain Magloire  <alainm@gnu.org>

	Missing file noted by sergey.

2001-08-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	changes to mail/

	added msgset.c

	Fixed synopsis for decode.

	Use util_msgset_iterate(). Moved get_content_type() and
	get_hdr_value() to util.c

	Use msgset_parse instead of util_expand_msglist().

	Use msgset_parse instead of util_expand_msglist().
	Added util_msgset_iterate() to iterate over a message set.
	Added util_get_content_type() and util_get_hdr_value() (from
	decode.c).

	Added msgset.y

	Prototypes for msgset_ functions. Removed proto for
	util_expand_msglist.

	A parser for message set specifications of arbitrary complexity.
	Returns a singly linked list of message specifications that can be
	iterated without need for recursion.

2001-08-06  Alain Magloire  <alainm@gnu.org>

	Updated(typo)

	Updated.

		* sieve/{exitcodes.h hmac-md5.h md5.c md5.h md5global.h}:
		Removed.
		* sieve/md5-rsa.c: New file, clear identiy that the algo.
		is from RSA and not GNU md5.
		* sieve/md5-rsa.h : New file.
		* sieve/Makefile.am:  added md5-rsa.[ch].
		* sieve/message.h:  lcase() change for strlower ().
		* sieve/script.c: Include md5-rsa.h.
		* sieve/sieve-gram.y: lcase changed for strlower ().
		* sieve/util.c: Remove all the unnecassary code and
		only implement strlower() and strupper().
		* sieve/util.h: Only export strlower and struppper ().

		* messages/messages.c: Also include pop_record
		amd imap_record.

2001-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Added mu_port.c

	Changes to mailbox/,libmu_scm/,guimb/scm/

	added checks for missing arguments.

	Use ports instead of mu-body- interface.

	Use sieve-mailbox-open instead of mu-mailbox-open. The former
	searches
	the list of open mailboxes and returns one if found. All the
	mailboxes
	get closed at once when the sieve program finishes execution. This
	saves
	memory and speeds up the execution (fewer calls to gc, if any).
	sieve-regexp-to-posix: escape special characters.
	action-reject: Use ports instead of mu-body- interface.

	Documented some obscure data structures.

	Added mu-mailbox-get-port.

	Added mu-message-get-port.
	mu-message-set-header: don't bail out if third argument is
	boolean,
	to allow for constructs like:
			(mu-message-set-header
			  m1 "From"
			  (mu-message-get-header m2 "To"))

	Prototypes for port functions.

	Call to mu_scm_port_init().

	I/O port functions. This allows to write and read
	mailboxes/messages
	using usual scheme primitives and thus effectively obsoletes
	mu_body
	interface, but I'll keep it for a while.

	Fixed some comments.

	Added message_stream_size().

	Added mbox_stream_size().

2001-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Make cvs diff less verbose

	Changes to guimb, guimb/scm

	Add final #t to the generated code to allow for empty sieve
	scripts

	Changed action-keep: it couldn't be just #f.
	Fixed and tested action-stop, action-redirect and test-exists.
	Fixed handling of null-length keys in sieve-str-str.
	test-address and test-header: use mu-message-get-header-fields
	to speed
	the things up.
	Implemented "envelope" test.

	Changed mu-message-get-header-fields to allow for second
	optional argument. The argument is a list of header names to
	narrow output to.

	Removed unused declarations.

	Fixed handling of default mailbox in the absence of other
	mailbox arguments.

	Return value of header_aget_value() was always 0. Made
	it consistent with that of header_get_value(). Same for
	header_aget_field_value().

2001-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixes to mail/mail.c and mailbox/folder_imap.c

	Use mailbox_create_default for --file=MBOX. Some calls to exit()
	were placed *before* issuing diagnostics. Fixed.

	Changed ENOTSUP to ENOSYS

	update

	Output guimb/scm/Makefile

	Implementation of sieve "redirect" action. Kept apart from other
	actions due to the lack of API support.

	Sieve core functions for scripts generated by sieve.scm.

	A Sieve to Scheme translator.

	Initial checkin

	Added SUBDIRS.

	Added prototypes for new functions.

	Added collect_output().

	Call collect_output() before dropping mailbox. Added exception
	handling. Added user-name variable.

	Added --mailbox and --user options. Added escape for Scheme
	arguments (-{ and -}).

	Added mu_logger.c

	Prototypes for mu_scm_address_init() and mu_scm_logger_init().

	Call mu_scm_address_init(), mu_scm_logger_init(). Added mu-package
	and mu-version variables.

	Provide mu_scm_address_init() function.

	Added mu-message-get-size, mu-message-get-lines.

	Added mu-mailbox-get-url.

	Interface to syslog functions.

2001-08-03  Sam Roberts  <sroberts@uniserve.com>

	*** empty log message ***

	don't pretend to be authorized if we are not, it only leads
	to confusion

	mailbox created the folder, it should set it's folder's debug
	object when
	it's is set, otherwise there is now way to get debug messages
	from a
	mailboxes folder (I was getting all the pop protocol traces
	but not
	the imap ones)

	*** empty log message ***

	updated

	Fixed bug, I was deleting a message after a fileinto, which
	was wrong.
	Tweaked the logging, it's little cleaner and more useful.

	Removed the RCS keyword in the imported copyright notice.

	Now using xmalloc() from ../lib.

	Don't mkdir unless the mailbox can be opened, and better cleanup
	on error
	detection.

	Commiting my example/test sieve scripts so I can maintain them
	with cvs
	(I use them at work and home).

	Not all systems have <sys/fcntl.h>, changed to use HAVE_FCNTL_H.

	imap logged the passwd in protocol traces, pop didn't, so I made
	them both
	be the same (the way that is most useful when debugging protocol
	traces)

	added .deps

	Commiting my example/test sieve scripts so I can maintain them
	with cvs
	(I use them at work and home).

2001-08-02  Alain Magloire  <alainm@gnu.org>

	Updated.

	* mailbox2/header.c: Put the stubs.
		* mailbox2/include/mailutils/header.h: Prototypes.
		* mailbox2/include/mailutils/sys/header.h: Prototype

2001-08-01  Alain Magloire  <alainm@gnu.org>

	Updated.

	.

	New batch of files.

		More intelligence was put in decode to detect mime
		messages.
		This temporary until we articulate how to present mime
		messages.
		decode will probably replace print.c.  Parsing of
		mailcap is
		not yet done.

		* mail/decode.c: Aware of the content_type and the
		encoding
		for mime message, will superced [Pp]rint.

		* mail/mail.c: Set the columns variable at startup.
		* mail/mail.h: Prototype fpr util_screen_columns().
		* mail/mailline.c: Reset COLUMNS on SIGWINCH.
		* mail/util.c: New function util_screen_columns();

		* sieve/Makefile.am: Remove gcc specific flags.
		* sieve/xmalloc.c: Removed, use lib/xmalloc.c instead.
		* sieve/xmalloc.h: Removed.
		* sieve/sysexists.h: Removed.

2001-07-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changes to libmu_scm/, guimb

	Added mu_address.c

	Address-related functions.

	Define MU-ATTRIBUTE- constants.

	Added new primitives:
		mu_message_copy
		mu_message_delete
		mu_message_get_flag
		mu_message_set_flag
		mu_message_get_user_flag
		mu_message_set_user_flag

	Set g_argv[0] to the program file name for consistency with guile.

2001-07-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	updated TODO

	updated

	changes to lib/, mail/

	Use x[mc]alloc() instead of util_[cm]alloc().

	Removed util_[mc]alloc() in favor of x[mc]alloc().

	Include <xalloc.h>

	Added malloc.c, realloc.c.

	Provide rpl_realloc() for systems with broken implementation

	Provide rpl_malloc() for systems with broken implementation

	call mu_error() instead of error().

2001-07-26  Alain Magloire  <alainm@gnu.org>

	.

		Base on Jakob idea propose an implementation for decode.
		But it is clearly not flexible enough:

		  decode [msgno] [part]
		  ? decode 28 2

		Suppose message 28 is a mime with two part, the second
		part
		will be decoded and sent to stdout.

		* mail/decode.c: First implementation behind Jakobs idea.

2001-07-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fixed to compile properly on systems with missing/incomplete guile

	changes to configure.in & Makefile.am's

	added mailutils.h to pkginclude_HEADERS

	Fixed to compile properly on systems with missing/incomplete guile

2001-07-24  Alain Magloire  <alainm@gnu.org>

	Update.

	* guimb/guimb.h: Remove HAVE_LIBGUILE_H guard.

	* libmu_scm/mu_scm.h: Remove HAVE_LIBGUILE_H guard.

	Update.

		* util.c (util_msglist_command):  Check for interruption
		here
		also and that will permit interruption on long commands
		like
		"from *"

2001-07-23  Alain Magloire  <alainm@gnu.org>

	.

	* guimb/guimb.h : Guard with HAVE_LIBGUILE_H.

	* libmu_scm/mu_scm.h:  Guard with HAVE_LIBGUILE_H.

	.

		The reason the interrupt code did not work for me, is that
		by default using signal will make function calls
		restartable,
		at least on my default RH5.1, when read() was interrupted
		it did not return EINTR inside ml_getc().

		* mail.c (main): Use sigaction if available to set
		SIGPIPE.
		* mailline.c (sig_handler): Reset "lines" variable.
		Recall signal() if we did not have sigaction.
		(ml_readline_init):  Use sigaction to set SIGWINCH
		and SIGINT.

2001-07-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	updated

	Added missing @ARGP.*@ substitutes

	namespace housekeeping

	Added --without-guile. Uncommented making libmu_scm and guimb.
	Added check for -ldl before checking for -lpam: both FreeBSD and
	OpenBSD lack libdl, but have working libpam.

	renamed debug_.* symbols to mu_debug_.* to avoid nameclashes.

2001-07-22  Jakob Kaivo  <jkaivo@ndn.net>

	mail/* changes

	Add decode command, for attachment handling. Set up general
	infrastructure
	to support decoding. No implementation (yet).

	Quiet cvs diff

2001-07-21  Jakob Kaivo  <jkaivo@ndn.net>

	messages/* changes

	add --slient/--quiet options, work properly if no args

	oops, remove extra cvs merge cruft

	messages chnages

	output messages/Makefile

	add messages subdir

	add messages

	new file, implementation of elm messages command

2001-07-20  Alain Magloire  <alainm@gnu.org>

	Nuke Trailing spaces.

	.

		* mailbox/misc.c: Removed, _cpystr() function move
		in mutil.c
		and rename to util_cpystr().
		* mailbox/include/misc.h: Removed.
		* mailbox/mutil.c (util_cpystr): New function, move
		the _cpystr() from misc.c and move here.
		* mailbox/Makefile.am: Removed misc.c in dependencies.
		* mailbox/include/Makefile.am: Removed misc.h in
		dependencies.
		* mailbox/address.c: Use util_cpystr() instead of
		_cpystr().
		Added <mailutils/mutil.h> prototype.
		* mailbox/auth.c: Likewised.
		* mailbox/url.c: Likewised.
		* mailbox/folder.c: Likewised

	* include/mailutils/mutil.h: Added prototype for util_cpystr().

2001-07-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	removed dangling 'else' from mu_message_set_header_fields

	Added guile-procedures.txt

	Mailbox primitives.

	Added Guile interface

	Added checks for presence of Guile components.
	Making libmu_scm and guimb commented out until we solve
	debug_print
	name clash (libguile/debug.h vs. mailutils/debug.h).

	Added scripts, libmu_scm, guimb.

	Automatic mail responder for use with guimb.

	make cvs diff less verbose

	Guimb prototypes.

	Initialization of libguile and libmu_scm

	Some utilities.

	Collect input.

	Main functions.

	Process mailbox(es) using Guile program or expression.

	Library prototypes.

	Message body primitives.

	Message primitives.

	Main module.

	initial commit

	Scripts for preparing guile documentation strings from C
	sources. The
	reason for their presence is that guile-doc-snarf scripts
	distributed
	with guile up to version 1.4 do not work. The comment at th
	beginnig of
	scripts/guile-doc-snarf describes why. We'll have to use these
	until next
	version of guile fixes the bug.

2001-07-19  Sam Roberts  <sroberts@uniserve.com>

	*** empty log message ***

2001-07-19  Alain Magloire  <alainm@gnu.org>

		* mailbox/mbx_mbox.c (mbox_messages_count): This
		function does
		not call the observers, the callback function, on the
		mbox_scan()
		does.

		* frm/frm.c (main): call mailbox_scan () instead of
		mailbox_messages_count () since we want to be notified.

2001-07-19  Sam Roberts  <sroberts@uniserve.com>

	The url api example. Derived from ../example/url-parse by a
	perl script.

2001-07-18  Sam Roberts  <sroberts@uniserve.com>

	Comment on schemes, and removed comment on encoding.

	New api functions for parsing.

	Updated and corrected URL documentation.

	*** empty log message ***

	Added example of URL parsing, and test for parsing.

	Use the url_parse() function to parse the URL.

	Added a function to do generalized URL parsing.

	Added checks for low-memory conditions, and look for passwd in
	url before
	prompting user.

	Added test for % decoding.

	Look for passwd in the url before prompting.

	Needed <stdlib.h> on QNX6.

	cvsignore

2001-07-13  Sam Roberts  <sroberts@uniserve.com>

	*** empty log message ***

	Added pop and imap records.

	News funtions: mu_hex2ul(), mu_hexstr2ul().

	unistd.h needed on QNX6

	*** empty log message ***

	Added Sergey's todo, and mine for sieve.

2001-07-13  Jakob Kaivo  <jkaivo@ndn.net>

	mention new include header

	new "catchall" header, includes all mailutils headers

2001-07-11  Sam Roberts  <sroberts@uniserve.com>

	Now mapping ENOENT to EPARSE in error reporting, its clearer.

2001-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changes to mail/

	changed flags display

	Raise hold flag when not closing system mailbox (%).

	use util_[cm]alloc() where appropriate

	Added util_malloc(), util_calloc().

	Implemented ~A (read signature from file).

	display compilation options (WITH_ flags)

	 case D_FWD missed break; Fixed typos in comment to D_NONE.

	set READ instead of SEEN attribute on read messages

	Provide ml_reread() when compiled without readline.
	Check for interrupt in (both versions of) ml_reread().
	Use util_[cm]alloc() instead of [cm]alloc().

	Fixed flags_to_string(): MU_ATTRIBUTE_SEEN and MU_ATTRIBUTE_READ
	were swapped:
	the former produced 'R', and the latter 'O'.

	Run "summary" after opening new mailbox.
	Issue diagnostics if mailbox cannot be opened.
	Display mailbox summary when called without arguments.

	Added maintain.m4

	Settings specific to maintainer-mode.

	check for termios.h termio.h sgtty.h
	Added MU_MAINTAINER_MODE.

2001-07-06  Alain Magloire  <alainm@gnu.org>

		* mail/mailline.c: "interupt" is actually a key word
		for somce C compiler i.e. Watcomm C, rename it to
		"interrupted".
		* mail/util.c: The macros O_CREAT etc needs <sys/fnct.h>.

	       * mail/mail.c: Be a little more verbose when
	       mailbox_{create,open}()
	       fails at startup.
	       * doc/Makefile.am: Add the missing *.texi in the list
	       of EXTRA_DIST.

2001-07-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	changes to imap4d/ and mail/

	proto for imap4d_bye0()

	call imap4d_bye0() instead of imap4d_bye().
	Reason: rfc 2060 requires that the server send a BYE untagged
	response
	before the (tagged) OK response. With our implementation it was
	vice-versa.

	split imap4d_bye() into imap4d_bye() and imap4d_bye().

	imap4d_fetch0(): return RESP_OK on success

	test for <termios.h>

	include <termios.h>

	handle SIGWINCH

	changed startup banner.

2001-07-06  Alain Magloire  <alainm@gnu.org>

		* mail/send.c(mail_send0): Put the mailer in debug mode
		if util_find_env("verbose")->set, good for debuging.

		According to the man page:
		"sendmail contains a command, possibly with options,
		that mailx
		invokes to send mail. You must manually set the default
		for this
		environment variable by editing ROOTDIR/etc/mailx.rc to
		specify the
		mail agent of your choice. The default is sendmail,
		but it can be any
		command that takes addresses on the command line and
		message contents
		on standard input."

		* mail/mail.c (main): Register smtp_record too as
		a mailer.
		Set variable sendmail to _PATH_SENDMAIL as the default
		mailer.
		* mail/mail.h: New proto util_setenv(), util_find_env()
		change to be const char *.
		* mail/send.c (msg_to_pipe): New function, open a pipe()
		and write a message to it.
		(mail_send0): Now create the mailer according to
		util_find_env("sendmail")->value.  Use a pipe() if
		mailer_create()
		fails.
		* mail/set.c (mail_set): After free(entry->value) set
		the value
		to NULL.
		* mail/util.c (util_find_env): Change the prototype to
		be const.
		Remove hack about need_free and use a static variable
		to hold
		"asksub".
		* mail/util.c (util_setenv): New function to set
		environment
		model on libc call setenv().

		* mailbox/message.c (message_sender): Set the default
		sender base on
		the passwd entry.

		We can send a message and if the address starts with '|'
		the message is pipe to the cmd and if starts with '/'
		it is
		save to a file.
		     mailx ghislaine '|cat >save'
		mails a message to ghislaine and also copies the message
		into a file
		called save.

		* mail/mail.h: Change struct send_environ to contain
		two new fields char **outfiles and int nfiles.
		* mail/send.c: Look for '/' and '|' when parsing the
		addresses
		and add them to struct send_environ outfiles.
		(mail_send0):  Memory overflow, we were free(buf) twice.
		made char *buf local where it is needed.  Save the message
		to outfiles when set.
		(isfilename): New function.
		* mail/followup.c: Initialise the struct send_environ
		new fields.
		* mail/reply.c: Initialise the struct send_environ
		new fields.

		* lib/argcv.c: Add support to consider string between
		single quote like one word(same as double quotes).

2001-07-05  Alain Magloire  <alainm@gnu.org>

	* mailbox/mapfile_stream.c (_mapfile_write):  Make sure
		the size is not zero before making the memcpy().

		* mailbox2/stream.c: stream_read() and stream_write()
		change prototype to be void * instead of char *.
		* mailbox2/bstream.c: Adjust bstream_{read,write} to the
		new prototypes.
		* mailbox2/pop3/pop3_stream.c: Likewised.
		* mailbox2/Makefile.am: New file.
		* mailbox2/pop3/Makefile.am: New file.
		* mailbox2/mstream.c: Mapfile stream Implementation.
		* mailbox2/fstream.c: File stream implementation.
		* mailbox2/include/mailutils/sys/fstream.h: New file.
		* mailbox2/include/mailutils/sys/mstream.h: New file.
		* mailbox2/tcp.c: rename to tcpstream.c.
		* mailbox2/include/mailutils/sys/tcp.h: Rename to
		tcpstream.h

2001-07-04  Alain Magloire  <alainm@gnu.org>

		* mail/headers.c:  Catch the overflow in the calculation
		by
		reseting the number of lines to default screen lines.
		* mail/mail.c (main): Add a "summary" call also for the
		initial commands on startup(in interactive).
		* mail.h: Proto for mail_summary() and mail_version().
		* table.c: Add mail_summary() and mail_version() in the
		cmd table.
		* util.c (util_getcols): First try an
		ioctl(TIOCGWINSZ,..) call
		not all shells set the COLUMNS environ.
		(util_getlines): Likewised. Also take to account the
		prompt
		in the lines number.
		* z.c (mail_z): Change the behaviour of "z." to show
		a screenfull
		when the lastpage is reach.  This is very practical
		when starting
		mail, since "z." is the initial command to show the
		header summary.
		* mail/version.c: New file, show mail version,
		mail_version().
		* mail/summary.c: New file, display a short summary of
		the mailbox.
		mail_summary().
		* mail/Makefile.am: add summary.c and version.c

		* mailbox2/include/mailutils/mbox.h: Proto for Unix-Mbox.

2001-07-04  Jakob Kaivo  <jkaivo@ndn.net>

	README-alpha change

	note that INSTALL is autogen

2001-07-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	changes to mail/

	Proto for attribute_set_modified().

	added attribute_set_modified() function. Fixed attribute_unset.*
	functions to raise MU_ATTRIBUTE_MODIFIED bit.

	removed break from the loop

	Changed order of checking message attribute bits to be compatible
	with existing implementations.

	use mailbox_save_attributes(). Implemented "hold" variable. Raise
	MU_ATTRIBUTE_READ on every message with MU_ATTRIBUTE_SEEN

	insert ',' between recepients' addresses.

	Handle interrupts when fetching message body.

	Implemented inc[orporate] command.

	check for "dot" variable. Implemented "~.","appenddeadletter"

	--with-mail-rc option: set path to system-wide mail.rc file

2001-07-03  Alain Magloire  <alainm@gnu.org>

	Update.

	* mailbox2/pop3_stream.c: Use a buffered stream.

		* mailbox2/tcp.c: make it thread-safe.
		* mailbox2/bstream.c: Implement buffered stream.

		* imap4d/bye.c: call mailbox_save_attributes() when
		exiting.
		it will save the attribute flags.
		* imap4d/close.c: Typo.
		* imap4d/logout: Remove the mailbox_close() and
		mailbox_destroy()
		it is being call imap4d_bye ().
		* imap4d/select.c (imapr3d_select0): call
		mailbox_save_attributes()
		if a mailbox was already selected.

		Feedback from Sergey for the need of saving the attribute
		flags
		without expunging.  Note, this is a hack, the code is
		taken from
		mbox_expunge(mbx_mbox.c) and there is lot of duplication.
		But
		since we are moving toward a new mailbox API, the code
		will be
		rewritten more cleanly in the new API.

		* include/mailutils/mailbox.h: Add proto
		mailbox_save_attributes()
		* mailbox/include/mailbox0.h: New field in struct _mailbox
		_save_attributes (mailbox_t);
		* mailbox/mailbox.c: New function mailbox_save_attributes
		().
		* mailbox/mbx_mbox.c: New function mbox_save_attributes
		(),
		implement saving the attribute flags in header field
		"Status:"

2001-07-02  Alain Magloire  <alainm@gnu.org>

		* mail/util.c (util_strupper):	The first implementation
		was
		buggy, corrected.

	typo.

		* mailbox2/pop3/*: Pop3 functions are thread-safe and
		cancel-safe.
		The problem is monitor.h, we will probably end up doing
		a monitor.h.in
		and set at compile time if threading is enable or not.

		* mail/util.c (util_expand_msglist): Cleanup the expand
		by pattern
		by moving some code in util_strupper(), the comparison
		must be
		case insensitive.
		(util_strupper): Convert the string to uppercase.

2001-07-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Changes to mail/

	removed util_do_command("next"): delete does this anyway.

	Implemented "set autoprint"

	Implemented "set ignore", "set ignoreeof", "set nosave".
	Implemented using doubled escape character to insert a single
	escape
	into the message body.

	Initialize readline and set user name before determining
	working mode.
	For an empty mailbox output diagnostics and quit.
	Read system-wide mail.rc file.
	Implemented "set ignoreeof".

	set MU_ATTRIBUTE_MODIFIED bit in the underlying structure when
	setting the flags.

2001-06-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Further changes to mail/.

	use util_error() instead of printing diagnostics to ofile.

	use READLINE_LIBS

	Initialize "flags" field.

	In struct mail_command_entry changed `isflow' field to `flags'. It
	contains
	information about semantics of the command.

	removed mail_[set_]is_terminal(), interactive is used instead.

	Added extra argument to util_find_entry(): a pointer to the
	table where
	to look up. Added util_error(), util_help(), util_tempfile().

	Functions for escape variable handling.

	readline-related functions.

	Handle keyboard interrupts. Use util_tempfile().

	Do not put empty or comment lines into readline history. Handle
	keyboard
	interrupts properly.
	Implemented `warranty' command.
	Warn user about arrival of a new mail.

	Honour "metoo" variable. Try to determine user's full email
	address.

	After deleting move realcursor to the next non-deleted message.

	Modified to use new argcv_get() syntax.

	Treat a sequence of whitespace characters as a single whitespace.
	Break string on given delimiters. Do not split quoted arguments.

	Call util_save_outgoing() to preserve the message.
	Set umask 077 before calling mkstemp().

2001-06-29  Alain Magloire  <alainm@gnu.org>

	* mail/util.c (util_expand_msglist): Implement expansion of
		:d	 All deleted messages
		:n	 All new messages
		:o	 All old messages
		:r	 All messages that have already been read
		:u	 All unread messages
		/string  All messages with string in the subject line
			 (the case of characters in string is ignored)

2001-06-28  Alain Magloire  <alainm@gnu.org>

	Small corrections.

	Typo.

		* configure.in:  We were not checking for thread support
		at all because the test was faulty.

		* readmsg: New directory.
		* readmsg/readmsg.c: New file.
		* readmsg/readmsg.h: New file.
		* readmsg/msglist.c: New file.
		This is base on a old testing program Dave inglis wrote
		to test the mime parsing code.	It is still work in
		progress
		but a good base for the readmsg(1) utility clone.
		Not enable yet in the TOP Makefile.

2001-06-27  Alain Magloire  <alainm@gnu.org>

	* mail/from.c:	Use address_get_personal() for a more
		pretty print when showing the headers.

2001-06-26  Alain Magloire  <alainm@gnu.org>

	 * mail/header.c: We were looping forever in here.  The loop
	 is not need it, header only prints one page that includes
	 the message specified i.e. the header command only takes
	 a message number as an argument that will serve as a reference
	 to display a screen full.

	 * mail/help.c: Use the pager code, the help is long.

2001-06-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	bunch of changes to mail/

	See ChangeLog (2001-06-26)

	moved mail_mbox_commit from mbox.c. Honour keepsave variable.

	move mail_mbox_commit to quit.c

	Changed output format.

	Implemented

	Use $LISTER.

	Call util_save_outgoing() to preserve the message.
	Set umask 077 before calling mkstemp().

	use util_fullpath().

	Initial implementation.

	use util_screen_lines().

	removed z_lines() in favor of util_screen_lines().

	util_expand_msglist(): return 1 and set msglist[0]=cursor if
	argc == 1.
	util_do_command(): Added missing va_end().
	util_get_sender(): Returns sender email for the given msgno.
			Optionally strips off domain part.
	util_slist_.*(): "string lists" used by alias,alt,retain,ignore.
	util_strcat(): Concat two strings, reallocating first to the
	necessary length
	(Rather clumsy, we'd be better off using obstack I guess).
	util_escape_percent(): Excape % signs in a string, so it can be
	used as
	format in .*printf calls.

2001-06-26  Alain Magloire  <alainm@gnu.org>

	Oops !! I misread the code.  Corrected.

2001-06-25  Alain Magloire  <alainm@gnu.org>

		* doc/Makefile.am: add {c-api,framework,programs}.texi
		EXTRA_DIST
		* imap4d/imap4d.c (imap4d_usage): Cut and paste typo.
		* pop3d/pop3d.c (pop3d_usage): Cut and paste typo.
		* include/mailutils/Makefile.am: add mutil.h to the list.
		* lib/strisignal.c: Define __P if not set.
		* m4/Makefile.am: Added tm_gmtoff.m4 tm_isdst.m4
		tm_zone.m4
		* mail/mail.c (main): typo "z." --> "z"

2001-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	fixed install part of alias_lookup_or_install()

	changes to mail/

	util_expand_msglist(): return 1 and set msglist[0]=cursor if
	argc == 1.
	util_do_command(): Added missing va_end().
	util_get_sender(): Returns sender email for the given msgno.
			Optionally strips off domain part.
	util_slist_.*(): "string lists" used by alias,alt,retain,ignore.
	util_strcat(): Concat two strings, reallocating first to the
	necessary length
	(Rather clumsy, we'd be better off using obstack I guess).
	util_escape_percent(): Excape % signs in a string, so it can be
	used as
	format in .*printf calls.

	Split off mail_send0(). It is used by mail_send() and
	mail_reply().

	Use mail_copy0().

	Implemented.

	mail_mbox_close() shared between this module and file.c.
	Print statistics information on closing the mailbox (number
	of messages held and saved in mbox).

	Print only header fields allowed by retain/ignore settings.

	Added some protos. Defined MAIL_ATTRIBUTE_MBOXED

	Escape % signs in the command line before passing it to
	util_do_command().

	Removed if (num) clause: util_expand_msglist() returns
	1/msglist[0]=cursor
	if argc == 1

	A (very rudimentary) implementation.

	Check number of arguments.
	Display current mailbox name when called without args.
	Honour %, &, and + in mailbox names (possibly should
	be implemented in mailbox_open_default ?).
	Use mail_mbox_close(). After opening new mailbox,
	run "z." instead of "from *".

	Implemented retain/ignore. It is more convenient
	to keep them in one module so they can share static data.

	removed: implemented in retain.c

	removed discard.c

	Implemented Write. Fixed memory leaks.

	Split off mail_copy0. It is shared between mail_copy
	and mail_save. Implemented Copy command.
	Use mailbox_open_default() instead of mailbox_open().
	Fixed possible memory leaks.

	Removed confusing comment.

2001-06-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	changes to mail/ (removed garbage that was accidentally left in
	the previous commit

	changes to mail/

	Added util_get_homedir() and util_fullpath().

	removed unconditional #include <paths.h>: it already was included
	from "mail.h".

	changes due to addition of isflow field

	Protos for new functions. struct mail_command_entry: added isflow
	field, needed for if/else/endif flow control.

	Use common read-eval loop

	A read-eval loop function shared between mail.c and
	source.c. Quits gracefully upon reading EOF.
	Expand '~' in pathnames.
	Upon startup in read mode, display first screenfull of from
	lines, instead of listing the whole mailbox. This is
	compatible with existing implementations.
	Do not display prompt when stdin is not a terminal.

	implemented

	use mu_tilde_expansion()

	added mu_get_homedir() and mu_tilde_expansion()

2001-06-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	changes to mutil.c

	Fixed error introduced in the initial implementation of
	mu_mktime (now mu_tm2time). The comment on mu_tm2time()
	describes it.
	Revert the sign of the return value of mu_utc_offset(), so it
	agrees with the accepted timezone rules (+ for eastern
	hemisphere, - for western).

2001-06-20  Sam Roberts  <sroberts@uniserve.com>

	update

	New function: debug_printv() to complement debug_print().

	parse822_date_time now takes a timezone argument. We don't
	actually use
	the arguments, though.

	parse82_date_time() now uses the mu_timezone structure for
	portability.

	Prototyped mailbox_destroy_folder().

	Moved mu_mktime to mutil.c as mu_tm2time, and removed mu_mktime.c

	Moved some generically useful date/time handling functions
	to mutil.c,
	fixed problems with portability of timezone information in struct
	tm, and
	moved created a new structure to hold timezone information,
	since struct
	tm doesn't do so reliably.

	Moved date/time parsing utility functions to mailbox/mutil.c.
	Added braces to initializers and removed unused variables
	prototyped shared
	functions, made functions that didn't return return void. (to
	quiet gcc
	-Wall),

2001-06-18  Sam Roberts  <sroberts@uniserve.com>

	update

	More fixes to the packaging structure by Sergey.

	Added tests for isdst, gmtoffset, and zone in struct tm.

	Confusing typo in comment.

2001-06-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	updated

	swapped arguments in a call to va_start()

	added #include <sys/types.h>. It is needed
	on FreeBSD before inclusion of <dirent.h>

	Patch from Sam: added imap_parse_date_time().
	imap_parse_date_time() returns tm/timezone pair.

	Added missing declarations

	changed mktime() calls to mu_mktime().
	use imap_parse_date_time() in util_parse_internal_date0()
	(Proposed by Sam)

	removed confusing comment

	fixed date conversion in fetch_internaldate

	add mu_mktime.c

	a wrapper for mktime() call that honours timezone

2001-06-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Patches from Sam

	Patches by Sam:
	Rename the confusing functions:
		 util_parse_header_date -> util_parse_822_date
		 util_parse_rfc822_date -> util_parse_ctime_date
	include <ctype.h>

	Patches by Sam:
	Fixed format bugs in util_parse.*_date functions.
	Use parse822_date_time() in util_parse_header_date().
	Some changes to pacify gcc -Wall.

2001-06-15  Sam Roberts  <sroberts@uniserve.com>

	Update.

	Added some text to the envelope docs, still incomplete.

	Noted the IMAP url syntax.

	No longer relevant to the current APIs.

	I think timezone info is now placed in struct tm correctly.

	Prototypes for functions to parse rfc822 date-time.

	Some of the RFCs were missing, or miscategorized in the references
	sect.

	Ignoreing files.

	Was checked in with DOS line terminators, converted to Unix.

	Patches from Sergey to make the auto* stuff work, now uses
	lex/yacc
	portably, and puts all the necessary files into the distribution.

	GNU indented.

	Portable wrapper for lex/yacc invocations, by Tom Tromey
	<tromey@cygnus.com>, modified by Sergey Poznyakoff
	<gray@farlep.net>
	to replace yy prefixes, so multiple grammers can co-exist.

	Define EOK ifndefed.

	GNU indented

	Added example executables.

	Made so it now saves all the attachments from all the messages in
	a folder. Also GNU indented.

2001-06-12  Alain Magloire  <alainm@gnu.org>

	Bug in imap4d/util.c(util_msgset) --> '*' was not deal it.

2001-06-10  Alain Magloire  <alainm@gnu.org>

	Update the pop3/* diretory.

2001-06-10  Sam Roberts  <sroberts@uniserve.com>

	new rfcs in docs

	These RFCs are relevant to mailutils, and many (all?) are
	referenced
	in the mailutils documentation.

2001-06-09  Alain Magloire  <alainm@gnu.org>

	Corrected mbox-explode.c

	Implemetation of POP3 low level call.

	Update.

	First attempt at the new API.

2001-06-08  Sam Roberts  <sroberts@uniserve.com>

	initial sieve commit

	Initial commit of the port of CMU's sieve engine. It builds,
	and some
	actions work, but has seen very little use.

2001-06-04  Sam Roberts  <sroberts@uniserve.com>

	Return EINVAL for meaningless combination of MU_STREAM_READ
	+ WRITE.

2001-06-03  Alain Magloire  <alainm@gnu.org>

	Update.

	A bunch of typo correction from Thomas.

	Added the new docs

2001-06-02  Sam Roberts  <sroberts@uniserve.com>

	* mailbox/parse822.c,include/mailutils/parse822.h: functions
	  to parse rfc822 date-time.
	* examples/mbox-explode.c: example of saving all mime attachments
	  for messages in a mailbox.
	* examples/mbox-dates.c: example of using the date-time parser, it
	  prints all the dates in a mailbox that it can't parse.
	* examples/Makefile: makes the mbox-* examples.

2001-06-02  Alain Magloire  <alainm@gnu.org>

	Buglet fix.

2001-06-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	imap4d append, etc.

	Added mailbox_destroy_folder() to make mailbox_set_stream() work
	as expected. This is a kludge and should be cleared later.

	util_strcasestr() function. Functions for converting between text
	and integer representation of attributes. Split
	util_parse_internal_date:
	the helper function util_parse_internal_date0 also returns
	the pointer
	to the location in the string where parsing stopped.

	case-insensitive comparison for text fields.
	Error checking for stray symbols at the end of criteria.

	typos in comment

	added protos for util_strcasestr() and util_parse_.*_date()

	force ofile to be line-buffered, so command
	  continuation requests are immediately visible.

	implemented. See ChangeLog

2001-06-01  Alain Magloire  <alainm@gnu.org>

	Some minor bugfixes.

2001-05-31  Alain Magloire  <alainm@gnu.org>

	Davae patch to reconnect when POP timeout.

	Changes propose by Dave Inglis.

2001-05-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	updated

	UID SEARCH support

	forgotten fix to util_msgset()

2001-05-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	updated

	added missing <message set> condition

	updated

	see ChangeLog

	implemented

	added NAMESPACE command

	added NAMESPACE capability

	typo in diagnostic output

	added namespace.c

	check for $enable_threads before checking for $usepthread

	initial NAMESPACE implementation

2001-05-28  Alain Magloire  <alainm@gnu.org>

	Patch from Sam Roberts.

2001-05-26  Alain Magloire  <alainm@gnu.org>

	Oops! forget the last.

	A little bug fix in stream.c

2001-05-24  Alain Magloire  <alainm@gnu.org>

	Got the credit wrong.

	Bug fixes in mime.c

2001-05-23  Alain Magloire  <alainm@gnu.org>

	Patch from Sergey.

2001-05-22  Alain Magloire  <alainm@gnu.org>

	doc fixes.

	Updating the Changelog

	Remove more GPL dependencies.

	Use strsignal

	GNU md5.c is GPL, so we should use a non GPL version for
	libmailbox

2001-05-21  Alain Magloire  <alainm@gnu.org>

	.

	Patch provided by sergey.

2001-05-20  Alain Magloire  <alainm@gnu.org>

	Patch from Sergey.

	Remove some '//' C++ style of comments.

	buglet fix.

	A litle oops corrected.

	Update from Sam.

	Update

	Not to use mailbox_create_defaut.

	Updates from Sam Roberts.

2001-05-17  Alain Magloire  <alainm@gnu.org>

	Dave latest patch

2001-05-14  Alain Magloire  <alainm@gnu.org>

	Update.

	Sergey's fix.

2001-05-13  Alain Magloire  <alainm@gnu.org>

	Lots of bug fix to get the imap4d server running.

2001-05-11  Alain Magloire  <alainm@gnu.org>

	More cleanup in the fetch imap code.

2001-05-10  Alain Magloire  <alainm@gnu.org>

	Implement INTERNALDATE in IMAP.

2001-05-09  Alain Magloire  <alainm@gnu.org>

	new file.

	Finally!!!! I can use the GNU imap4d with Netscape .... It kinda
	work 8-)
	sigh ... still more to do.

2001-05-07  Alain Magloire  <alainm@gnu.org>

	use top_srcdir

	add sync

	Implemented UID fetch BODYSTRUCTURE and multiple access to
	mailbox via IMAP

2001-05-04  Alain Magloire  <alainm@gnu.org>

	Typo corrected.

	Remove gcc specifics flags.

	Patches from Sergey, se Changelog for details:
	2001-04-23 Sergey Poznyakoff

2001-05-02  Alain Magloire  <alainm@gnu.org>

	.

	See ChangeLog

2001-04-25  Alain Magloire  <alainm@gnu.org>

	Implemented STORE in IMAP4

2001-04-24  Alain Magloire  <alainm@gnu.org>

	i.e. it assumes that mbox_get_message() will place the pointer to
	message into mum->message member. But mbox_get_message() relies on
	1-based message numbers, whereas `mum' pointer is obtained using
	0-based indexing:

	Update.

	use mu_error() everywhere.

	forgot to move some functions pop3_xx() --> pop3d_xx()

	2001-04-23 Alain Magloire
		* pop3d/*.[ch]:  Rename all the pop function pop3d_xx()
		instead of pop3_xx() to be consistent with imap4d/*.

		* mailbox/mbx_pop.c (pop_user): This is sudden death;
		for many pop
		servers, it is important to let them time to remove
		locks or move
		the .user.pop files.  This happen when we do BUSY_CHECK().
		For
		example, the user does not want to read the entire file,
		and wants
		start to read a new message, closing the connection
		and immediately
		contact the server again, and we'll end up having
		"-ERR Mail Lock busy" or something similar. To prevent
		this race
		condition we sleep 2 seconds.

	2001-04-23 Sergey Poznyakoff

		It is often convenient to separte log outputs from POP
		and SMTP
		servers. --with-log-facility flag which allows to specify
		to which
		log facility the loggin output should be directed.
		System administrators often prefere to have more
		information about
		unsuccessfull authentications. I have added more verbose
		logging
		to pop3d/user.c. Both failed attempts and possible
		account probes
		(USER immediately followed by QUIT) are logged.
		Made pop3d to be less verbose about its WELCOME
		prompt. When the
		symbol TERSE_MODE is defined, pop3d introduces itself
		just as
		+OK POP3 ready <apop_hash>
		insead of divulging its type and version. This is a
		bit paranoid,
		but it is better to be on the safe side...

2001-04-23  Alain Magloire  <alainm@gnu.org>

	A gross hack to correct a bug,	I must find something better
	for a fix.

	* acconfig.h: Define _REENTRANT.
		* configure.in: Check for sigaction().
		* configuire.in: AC_DEFINE(_REENTRANT).

		* doc/Makefile.am: add rfc2060-errata.
		* doc/rfc2060-errata: New File.

		* imap4d/copy.c: First Implementation.
		* imap4d/status.c: First implementation.

		* mailbox/file_stream.c (_file_open): For CREAT, close
		the fd if we failed.
		* mailbox/folder_imap.c: Remove the _REENTRANT.
		* mailbox/mbx_mbox.c: Remove the _REENTRANT.
		* mailbox/monitor.c: Remove the _REENTRANT.

		* pop3d/pop3d.c (main): maxchildren boosted to 20.
		(pop3_daemon_init): Use sigaction() for SIGCHLD,
		the sematics of signal() is unreliable on some platforms.
		* pop3d/signal.c: Save errno.

	Sergey Poznyakoff pointed out that errno change depending
	if _REENTRANT is set or not.  So for enable thread we take
	the approach of always defining _REENTRANT.
	He also noted that when in standalone the child was not exiting.

2001-04-22  Alain Magloire  <alainm@gnu.org>

		* imap4d/create.c: First implementation.
		* imap4d/delete.c: First implementation.
		* imap4d/list.c: First implementation.
		* imap4d/rename.c: First implementation.
		* imap4d/util.c: New functions.
		(util_tilde_expansion): expand ~.
		(util_unquote): Remove surrounding double quotes.
		(util_getfullpath): Expand the path to absolute.
		* imap4d/fetch.c:  Did not cycle throught the items.
		(fetch_send_address): Patch from Sam Roberts, did not
		use the index.

		* mailbox/attachement.c (message_unencapsulate):
		Little buglet
		strncasemp() passing the wrong size.

2001-04-20  Alain Magloire  <alainm@gnu.org>

	.

	Typo.

	Typo.

	* mailbox/smtp.c(smtp_readline): Because of the buffering
	mechanism,
		we must maintain the offset.

		* imap4d/list.c: partially implemented the LIST command.
		* imap4d/imap4d.c: homedir new global variable.
		* imap4d/login.c: same ${HOME} in homedir.
		* imap4d/util.c (util_getword): Be aware of the quotes.

		* lib/fnmatch.c: New replacement file.
		* lib/fnmatch.h: New replacement file.
		* configure.in: Check for fnmatch().

2001-04-18  Alain Magloire  <alainm@gnu.org>

	Finally took time to put the code in from Jakob first draft, in
	an email excerpt:
	states is the valid states for a command (eg. LOGIN is only
	valid in
	non-authenticated state, SELECT is valid in authenticated or
	selected). success is the state to enter when the command
	completes
	successfully (STATE_NONE means no change) and failure is the
	state to
	enter when the command fails.

	The fetch code is getting close to completion! ye!

2001-04-17  Alain Magloire  <alainm@gnu.org>

	Check the return value of the locker_t.

		To get things to compile on Solaris, change configure
		to check
		for -lpthread since in libc the thread functions are
		defined
		but all return ENOSYS, you need to explicitely link
		with -lphtread.
		the ctype functions is*() arguments should be explicitely
		cast
		since Solaris use them as indexes.  __REENTRANT as to
		be define
		if compile with support for threads.  Never realize
		this but
		setenv() is a BSD/GNU thing, so took a variant from
		libiberty
		to cope.

2001-04-16  Alain Magloire  <alainm@gnu.org>

		The FILE* stream "stdout" is not an lvalue so it is an
		error to
		attempt to assign to it.  To be able to redirect at
		will stdout
		we need to assign it.  In GNU lib C, it was not error
		since stdout
		stderr, and stdin are variables, but to be portable we
		can not
		assume this.  The way out is to always use fprintf ()
		and have
		a global varialbe "ofile" pointing to stdout.

		* mail/*: All the files under mail been change to use
		fprintf()
		and ofile as the default stdout.
		Copyright updated.

		Create a argp directory, it contains the necessary
		files to build a standalone libargp.a

		* argp: New directory.
		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-pv.c, argp-pvh.c, argp-xinl.c, argp.h, pin.c.

		* mail/mail.c:	Comment out the code that use readline
		specifics WITH_READLINE.
		* mail/mail.h: Likewised.
		* mail/util.c: Likewised.


	And still mail will not compile for QNX ... #&*#$^&#^)(

	Typo.

	Argp Support for loosing platforms.

	.

	Updates.

	Remove -DTESTING.

	Add suport for READLINE and ARGP

	First attempt to support libargp.a

	Remove -DTESTING macro.

	Remove -DTESTING macro

	Remove Testing.

	Update some functions from GLIBC.

2001-04-15  Alain Magloire  <alainm@gnu.org>

	Test.

	From Sam.
		* examples/{Makefile,Addrs,addr.c,Addrs.good}: address
		test f/w.
		*
		include/mailutils/address.h,mailbox/{address.c,parse822.c}:
		now
		  stuff a group name into an _address, and added a
		  function to do
		  a quick check if it is a group.
		* mailbox/parse822.c: fixed bug where ",sam@foo.bar"
		wasn't valid.

	Update.

	Support for strncasemp.

	add basename.c

	Added base_name() since basename() is not portable.
	Some variables in imap4d/* were not initialize.

	2001-04-14  Alain Magloire
		* mailbox/folder_imap.c: When calling imap_writeline
		() the
		cookie for the tag should be unsigned %d --> %u.
		(imap_send) : The number of bytes in memmove was wrong.
		* mailbox/mbx_imap.c: Some duplicate degug calls
		MAILBOX_DEBUG0()
		removed.
		(attribute_string): IMAP does not have a \\Read flag it
		should be
		the same as \\Seen so attribute_read() ==
		attribute_seen().
		(flag_string): New function.
		(imap_attr_set_flags): Use flag_string(), instead.
		* mailbox/include/imap0.h:  CLEAR_STATE() should also
		deselect
		the current mailbox.

		* mailbox/mbx_pop.c (pop_write): The number of bytes in
		the memmove
		was wrong.

		* imap4d/imap4d.h: Add HAVE_SECURITY_PAM_APPL_H.
		* imap4d/login.c: PAM_ERROR wrongly define.
		* imap4d/expunge.c: Initialise variable sp.
		* imap4d/logout.c: Initialise variable sp.
		* imap4d/noop.c: Initialise variable sp.

		* configure.in: AC_REP_FUNC(vasprintf).
		* include/mailutils/Makefile.am: Add property.h,
		parse822.h.
		* lib/vasprintf.c: Taken from libit.
		(AM_INIT_AUTOMAKE): Change version to 0.0.9

2001-04-14  Alain Magloire  <alainm@gnu.org>

	See Changelog for the gory details.

	Replace for loosing platforms.

	* mailbox/parse822.c, include/mailutils/parse822.h: now can
		  quote the local-part of and addr-spec, and a string.

	Update.

	fix typo.

	* mailbox/parse822.c: small tweaks to the new parser, the changes
		  made during the tidying over the last month were:
		  - use C comments only.
		  - don't use C++ reserved words.
		  - fix is_digit() to be like the other is functions
		  - Changed return codes to:
		   . no mem (ENOMEM)
		   . function wasn't called correctly, usually a missing
		     argument (EINVAL)
		   . invalid syntax found during parsing (ENOENT)
		   . success == 0
		  - const-corrected the APIs
		  - removed unnecessary (in C) casts.
		  - mailbox_t* removed in favor of address_t.
		  - fix handful of memory leaks detected by Alain.

	Changes proposed by Sam.

	updated.

2001-04-12  Alain Magloire  <alainm@gnu.org>

	typo from a cut and paste.

2001-04-11  Alain Magloire  <alainm@gnu.org>

	Cleanup.

	Support for PAM.

	GNU style.

	add examples.

2001-04-10  Alain Magloire  <alainm@gnu.org>

	Fix a typo, and was calling the wrong function to obtain
	the number of line.  Still unfinish  ... sigh .. lots lots to
	be done.

	Updated.

	test data.

	New example from Sam Roberts.

	Update prototypes.

	New file.

	* mailbox/Makefile.am: filter_trans.c added, trans_stream.c
	deleted.
		* mailbox/attachment.c (message_create_attachment): use
		filter_create().
		(message_save_attachment): use filter_create().
		* mailbox/body.c (body_set_lines): Wrong comparison for
		the owner.
		* mailbox/mbx_mbox.c: Do not count the line separtor
		of part
		of the mailbox.

		* mailbox/url.c (url_is_same_sheme): New function.
		(url_is_same_user): New function.
		(url_is_same_path): New function.
		(url_is_same_host): New function.
		(url_is_same_port): New function.
		* mailbox/folder.c : Moved the is_same_*() functions
		in url.c
		they can be generally usefull.
		(is_same_sheme): Removed.
		(is_same_user): Removed.
		(is_same_path): Removed.
		(is_same_host): Removed.
		(is_same_port): Removed.

		* mailbox/folder_imap.c (folder_imap_create): New
		function,
		CREATE a new mailbox.
		(folder_imap_open): Calls folder_imap_create when the
		MU_STREAM_CREAT
		flag is set.
		* mailbox/mbx_imap.c: Appending messages implemented,
		if the message
		comes from the same imap folder, it is COPY otherwise
		APPEND.
		(is_same_folder): New function.
		(imap_append_message): Implemented.
		(attribute_string): New functions.
		(imap_copy_message): New function.
		* mailbox/include/imap0.h: New enum, IMAP_APPEND,
		IMAP_APPEND_ACK,
		IMAP_APPEND_CONT, IMAP_APPEND_SEND, IMAP_COPY,
		IMAP_COPY_ACK,
		IMAP_CREATE, IMAP_CREATE_ACK.


	* mailbox/parse822.c: New parser.
		* include/mailutils/parse822.h: New file.
		* mailbox/address.c (address_create): Remove the old
		parsing and use
		parse822 as the underlying engine.
		(address_parse): Removed.
		(gettoken): Removed.
		(quotes): Removed.
		(address_get_personal): Remove the code to unquote,
		parse822 takes
		care if it. Return value when no field is ENOENT.
		(address_get_comments): Reutrn value when no field ENOENT.
		(address_get_local_part): Reutrn value when no field
		ENOENT.
		(address_get_domain): Reutrn value when no field ENOENT.
		(address_get_email): Reutrn value when no field ENOENT.
		(address_get_route): Reutrn value when no field ENOENT.
		* mailbox/message.c (message_sender): Use parse822
		to retrieve
		the email from the From: field.
		(message_set_mailbox): New function.
		* mailbox/misc.c : Removed the old parsing code.
		(gettoken): Removed.
		(parseaddr): Removed.
		* mailbox/include/misc.h : Removed parseaddr() prototypes.
		From Sam Roberts, the new parse822 parser..

	doc/mailbox.texi: Put the functions in alphabetic orders.

		* pop3d/retr.c (pop3_retr): Typo.
		* pop3d/top.c (pop3_top): No need to reallocate when
		sending the
		headers.

2001-04-07  Alain Magloire  <alainm@gnu.org>

	Test program.

	Updated.

	new Parser from Sam.

	New parser from Sam.

2001-04-05  Alain Magloire  <alainm@gnu.org>

	Update.

	Light update.  filter_t, auth_t, property_t not yet documented.

	adjusting the headers.

	Introduction of the notion of filter_t object takes a stream and
		perform some filtering on it.  All the decoding streams
		will move
		to this i.e. quoted-printable, base64 etc .. This scheme
		will also
		permit users to add to the list new filters.  Still work
		in progress.

		* mailbox/Makefile.am : Add filter.c filter_rfc822.c.
		* mailbox/body.c ( : When creating a floating body
		i.e creating
		a temporary file, the stream was not "own" by the body_t.
		(_body_get_fd): Likewised.
		(_body_read):_ Likewised.
		(_body_readline): Likewised.
		(_body_write): Likewised.
		(_body_truncate): Likewised.
		(_body_size): Likewised.
		(_body_flush): Likewised.

		* mailbox/folder_imap.c (imap_literal_string): Check
		if the
		callback.buffer is NULL.
		(imap_body): Do no set the callback.type if "FIELDS"
		is part of the
		string.

		* mailbox/header.c: Remove the support for RFC822 it
		will be part
		of the filter_t object.
		* mailbox/mbx_mbox.c: Likewised.
		* mailbox/mailbox.c (mailbox_size): Rename to
		mailbox_get_size().

		* mailbox/stream.c (stream_is_seekable): New function.
		(stream_set_property): New function.
		(stream_get_property): New function.

		* mailbox/trans_stream.c: Beautify.

2001-03-21  Alain Magloire  <alainm@gnu.org>

	Updated.

	return an erro if the servers goes away suddenly.

2001-03-19  Alain Magloire  <alainm@gnu.org>

	Updated.

	header.c mbx_mbox.c : bug fixes.

	This feature was put in to help the imap4d server, in this
	protocol
	you can get a substring of the message starting from a certain
	offset.
	To make the coding of imap4d simpler the complexity was move
	to the
	library.  It is possible now by setting a property of the mailbox
	to make it output rfc822 stream i.e. "\r\n" terminated stream, the
	offset and the size are also in term of rfc822.

	Put our first attempt at property.

2001-03-18  Alain Magloire  <alainm@gnu.org>

	configure.in: AC_REQUIRE()  removed.
	THANKS : Put in Atanasov

2001-03-16  Alain Magloire  <alainm@gnu.org>

	Typo.

2001-03-14  Alain Magloire  <alainm@gnu.org>

	Updated.

	new functions added.

	Makefile.am address.c mbx_imap.c include/address0.h
	Changes need for the new address_t.

	New draft for address_t.

2001-03-13  Alain Magloire  <alainm@gnu.org>

	Updated.

	mailutils.texi
	add Sam Roberts in the THANKS.

	frm.c : support for --field

2001-03-10  Alain Magloire  <alainm@gnu.org>

	add property.c to Makefile.am

2001-03-09  Alain Magloire  <alainm@gnu.org>

	New changes to document the address_t object and code added.

2001-03-08  Alain Magloire  <alainm@gnu.org>

	date typo.

	Updated.

	Be clearer about how to do the build.

	Changes propose by Sam Roberts,  They look valid and interesting.

2001-03-05  Alain Magloire  <alainm@gnu.org>

	Pointed by Sam Roberts s/_cplusplus/__cplusplus  almost all
	the headers
	had to be fixed.

	imap4d server added HEADER.FIELDS.NOT fetch functionality. But
	still
	partial retrieve does not work and I fail to to do proper counting
	i.e "\n" must be counted for two bytes "\r\n".

	REMINDER: the imap4d/fetch.c is getting heavily bloated,
	fix later.

2001-03-02  Alain Magloire  <alainm@gnu.org>

	imap4d/fetch.c : implement fetch [HEADER.FIELD]

2001-02-28  Alain Magloire  <alainm@gnu.org>

	fetch.c : Change the indentation.

	ChangeLog : updated.
	imap4d/fetch.c : ENVELOPE implemented.

	mailbox/address.c : Remove quotes FIXME: need a rewriting to
	do proper
	RFC822 address parsing.

	mailbox/folder_imap.c mailbox/mbx_imap.c mailbox/mbx_mbox.c
	mailbox/include/imap0.h  : various fixes, not critical.

2001-02-27  Alain Magloire  <alainm@gnu.org>

	ChangeLog: Update.
	doc/mailbox.texi: ?
	imap4d/fetch.c: Cool!  Things are finally falling in place for the
	fetch, pieces missing:	bodystructures, body[header.fields],
	body[header.fields.not].  I need to find a way to cleanly
	check the
	spacing, I got things like:
	* FETCH 1 ( FLAGS ( \Read \Seen ))
	Which is compliant but too many spaces at the compliant it
	should be
	* FETCH 1 (FLAGS (\Read \Seen ))
	imap4d/imap4d.h imap4d/util.c : New helper function util_token().
	mailbox/mbx_imap.c : getting the size of the subparts from the
	bodystructure.

2001-02-26  Alain Magloire  <alainm@gnu.org>

	ChangeLog : Updated
	doc/mailbox.texi : Why is this always show? I did not touch it.
	lib/strtok_r.c : Return NULL and save the old pointer.
	mailbox/folder_imap.c mailbox/mbx_imap.c: Implement FETCH .. ye!!!
	mailbox/mbx_mbox.c : some comments.

2001-02-23  Alain Magloire  <alainm@gnu.org>

	First draft to set `property' on the mailbox, setting a property
	will permit to change the behaviour of the mailbox.  For example
	POP3 and IMAP4 streams are RFC822 meaning they end with "\r\n",
	Now I'm doing ugly hack to convert it and maintain the offset,
	that does not work well.  Rather lets put the trouble on
	the client ;-) but by setting property_set ("RFC822_FORMAT");
	the conversion "\r\n" can still be done. But it will be up
	to the client to do the offset calculation.

2001-02-22  Alain Magloire  <alainm@gnu.org>

	The test_list of the grammar was wrong after reading more carefuly
	the RFC.

	First try at implementing seive with lex/yacc.

2001-02-21  Alain Magloire  <alainm@gnu.org>

	General bug fixes to get Imap working.	It is getting good but
	still more
	general cleanup need to be done.

2001-02-20  Alain Magloire  <alainm@gnu.org>

	fetch.c : Not finish but what a pain !!! To quote jackob :
	"This will be a royal pain in the arse to implement"
	Words of a wise man.

	README-alpha : Tell them to run autogen.sh, the last person trying
	to configure from CVS wasted his time and mine.

	doc/auth.texi doc/body.texi doc/headers.texi doc/mailbox.texi
	doc/message.texi
	doc/sfrom.c.texi doc/stream.texi : Very shy tentative to get
	some docs.

	mbx_mbox.c mbx_mboxscan.c : I need to clean the expunge code
	I realise that MBOX format means that we also have to escapes
	lines
	that starting with "From " --> ">From ". So much for speed since
	this will imply reading line by line.

	mbx_pop.c : Some bug fixes, connection is close down if the client
	is trying to seek() backward.

	folder_imap.c mbx_imap.c : Unfinish business, but getting better.

	stream.c : Don't force a flush on close, let the underlying
	implementatio
	do that.

2001-02-16  Alain Magloire  <alainm@gnu.org>

	small fix

2001-02-09  Jeff Bailey  <jbailey@gnu.org>

	CVS Maintenance

2001-02-07  Alain Magloire  <alainm@gnu.org>

	UPdate prototypes.

	Put more headers in the cache, (ugly).

2001-02-06  Alain Magloire  <alainm@gnu.org>

	Bug fixes, when tried on QNX/Neutrino.

2001-02-05  Alain Magloire  <alainm@gnu.org>

	Some cleanup, I should not work on things late at night.
	Still yucky, much more things need to be put on the sanity checks.

	Light editing.

	Update

	* lib/snprintf.c lib/snprintf.h : Put it under the LGPL term.

	* mailbox/imap4d/fetch.c : First draft implementation, very yucky.
	* mailbox/imap4d/select.c : First draft implementation.
	* mailbox/imap4d/util.c : Add util_msgset() and util_send().
	Reuse of util_getcommand() for subcommands.

	* mailbox/pop3d/uidl.c : API change the call is message_get_uidl()
	to have UIDL POP3.

	* include/mailutils/message.h: New prototypes message_get_uid(),
	message_set_get_uid().
	* include/mailutils/mailbox.h: New prototypes mailbox_uidnext(),
	mailbox_uidvalidity().

	* mailbox/message.c (message_get_uid) : Add message_get_uid() for
	the UID of the message (IMAP definition) and message_get_uidl()
	for
	the POP3 definition.
	* mailbox/attachment.c : Indentation fixes.
	* mailbox/file_stream.c : Make sure that the FILE* is close before
	opening.
	* mailbox/folder_imap.c : Use strcasecmp() not strcmp().
	* mailbox/mailbox.c : Added mailbox_uidnext() and
	mailbox_uidvalidity.
	* mailbox/mapfile_stream.c : When munmap() failed we should check
	against MAP_FAILED, not NULL.
	* mailbox/mbx_imap.c : Implement imap_uidnext(),
	imap_uidvalidity()
	imap_message_uid().
	* mailbox/mbx_mbox.c : Implement mbox_uidnext(),
	mbox_uidvalidity()
	mbox_message_uid().
	* mailbox/mbx_mboxscan.c : Implement uidvalidity, it is save
	int the
	header of the first message, "X-IMAPbase: 127673838 123",
	a la c-client.
	Save UID, it is save in "X-UID".
	* mailbox/mbx_pop.c : Implement pop_messages_recent(),
	pop_message_unseen() and pop_uid().
	* mailbox/trans_stream.c : Indentation fixes.

2001-02-02  Alain Magloire  <alainm@gnu.org>

	* pop3d/extra.c (pop3_readline) : Since the length of the string
	is known, we can use memcpy() and friends for string
	manipulations.
	memXXX() functions are builtin in GNU C (gcc) and are much faster
	then the strXXX() counterparts. Small change in the loop to take
	advantage of this.

	* pop3d/quit.c : The rfc1939 insist that after a QUIT, we must
	release any resources and close the connection:
	"Whether the removal was successful or not, the server
	then releases any exclusive-access lock on the maildrop
	and closes the TCP connection."  This was not done if error
	occured while expunging, no we will close the connection and
	notify the client of the error(ERR_FILE).

	* mailbox/header.c : ENOENT was not return if the header was
	not found.
	* mailbox/mbx_mbox.c: When expunging check to see if the registar
	the path_record too.

	Update.

2001-02-01  Alain Magloire  <alainm@gnu.org>

	Updated.

	mailutils/header.h : introducing header_set_fill() and
	header_get_fvalue()
	mailutils/mailbox.h  : rename mailbox_recent_count() to
	mailbox_unseen_count()

	attachment.c: Typo should be "Content-Disposition"
	header.c mbx_mboxscan.c mbx_mbox.c : an other attempt for speed
	when parsing, the most common use headers (From, To, Date, CC,..)
	are save in the structure, so when retrieve them it will be
	faster.  Downside the tight parsing loop is not so thight and
	is frankly ugly.  More memory is being use per messages.
	It is hard to guess at this stage the memory patterns
	and where to optimise, probably my last attempt at this
	before the code become truly unmaintable.

	mbx_imap.c mailbox.c : I did not understand the difference between
	"recent" and "unseen" english words.  I think that "unseen"
	means new mail, an "recent" mail that was not read yet.
	So I had to rename some functions mailbox_recent_count()
	to mailbox_unseen_count(), but I maybe wrong ... sigh
	somebody with better english skill should explain this
	to me.

	mbx_pop.c include/header0.h include/mailbox0.h :
	Introduce header_set_fill() to let the mailboxes fill
	up a buffer that will contains the entire headers.

2001-01-29  Alain Magloire  <alainm@gnu.org>

	update for frm.

	* frm/frm.c : Forget to add --summary option and fix return
	status.
	When being very quiet just freopen(/dev/null, w, stdout).

	Updated.

	* pop3d/capa.c : Add UIDL in the capability list.
	and update Copyrigth.
	* pop3d/pop3d.c : Remove mbox_record register, only need
	path_record.
	* pop3d/retr.c : When retrieve a message should be mark as read.
	since we do not strip out the header "Status:".
	* pop3d/top.c : Adjust stream_readline().

2001-01-26  Jakob Kaivo  <jkaivo@ndn.net>

	configure.in: generate frm/Makefile
	frm/Makefile.am: s/from/frm/

2001-01-26  Alain Magloire  <alainm@gnu.org>

	Ok, working from Jakob first draft, get things in
	shape and ready.  The biggest thing will be the
	awfull parsing done for FETCH/SEARCH etc ..
	"This will be for another day" -- Scarlet O'hara

	add new function to mailbox_t mailbox_recent_count()
	This was usefull to implement SELECT/EXAMINE for imap4

	add new prototype mailbox_recent_count

	add frm (close of elm frm) unfinished, still need to tune
	the display.

2001-01-25  Alain Magloire  <alainm@gnu.org>

	extra.c : in pop3_quit() put a case for ERR_NO_FILE since the
	fdopen()
	failed ofile == NULL we should not attempt to fprintf(ofile,
	..) nor
	fflush().  Buglet discover when working on imap4d.
	pop3d.[ch]/user.c : indentation and comments.

	define MU_ATTRIBUTE_MODIFIED

	attribute.c : add MU_ATTRIBUTE_MIDIFIED to check to see if
	the attributes
	change, this will help to know if the message_is_modified()
	and speed things
	up when expunging.
	file_stream.c : Don't disable the stream buffering and let the
	OS choose the
	best BUFSIZ i.e. remove setbuf() call.
	message.c registrar.c mailer.c folder.c header.c list.c
	mailbox.c :
	Copyright and indent.
	mapfile_stream.c mbx_imap.c mbx_mbox.c mbx_pop.c : go easy on
	the stack
	for array of strings.
	stream.c : Put code for doing our own simple littel buffering.

2001-01-23  Alain Magloire  <alainm@gnu.org>

	An hidden bug that could bring problems,  pop3_readline ()
	was doing the equivalent of:

	char buffer[1024];
	memset (buffer, 0, 1024);
	...
	read (popfd, buffer, 1024);
	...
	ret = malloc (strlen (buffer) +1);

	According to the rfc a command line should be no longer then
	255 but a malicious client could send a big buffer that could fit
	1024 then buffer would not be null terminated, strlen(buffer) may
	be supceptible to overflow.  A simple fix would be to
	read (fd, buffer, 1023); /* leave space for a null */
	I've put a different fix that does not need the call to memset().
	And at the same time reduce the size of the buffer to  go
	easy on the stack 512 is sufficient.

2001-01-23  Jakob Kaivo  <jkaivo@ndn.net>

	I shouldn't be copying files from other source trees this late
	at night

	update RPM .spec file for good RPM creation, add rpm target so
	we can do 'make rpm'

2001-01-20  Jeff Bailey  <jbailey@gnu.org>

	Make releases with 4 digit year

2001-01-20  Alain Magloire  <alainm@gnu.org>

	pop: Check for Berkeley DB in configure and define HAVE_DB_H
	and WITH_BDB2
	pop: RETR and TOP if buffer is not a full line i.e terminated by a
	'\n' realloc
	the buffer and try again.
	pop: STAT remove excess comment.
	pop: user use the /dev/null scheme if mailbox does not exist.
	mailbox: buglet if the mailbox format we were reading less
	then expected.

2001-01-19  Alain Magloire  <alainm@gnu.org>

	change the usage() to point to bug-mailutils list.

	Instead of writing the documentation, found a diversion "frm"
	is a clone
	to the "frm" that comes with elm package.  It was written in
	less then 15
	minutes, cool.

2001-01-17  Alain Magloire  <alainm@gnu.org>

	Various fix in the configurations

	Typo corrected.

2001-01-16  Alain Magloire  <alainm@gnu.org>

	remove body_set_filename was not implemented yet.

	pop3d.h:  The global variables were define here so they would
	end up
	include multiple times.  Compiler like Watcomm C, will scream
	loudly
	about definition of those variables multiple times.  Gcc is
	very silent
	about this.  So in pop3d.h we declare those variables extern
	and move the
	definition in pop3d.c.
	MAXHOSTNAMELEN is define in netinet/in.h on Solaris so we
	guard with
	#ifdef's.
	We were calling syslog("%s ", NULL); On solaris passing a NULL
	to  a printf
	function will crash and  burn, this was a FIXME I did not see
	it earlier
	the NULL was the place holder for the mailbox name.

	header.c: bug corrected
	address.c mime.c misc.c: Always cast to (unsigned char) when
	using the ctype
	functions like isspace();
	mbx_default.c: If _PATH_SENDMAIL not set via paths.h use
	"/usr/spool/mail"
	message.c: uidl is now <md5 . time . sequene>
	tcp.c: INADDR_NONE is not define on solaris define it to -1.

	Register sendmail_record to send mail via _PATH_SENDMAIL.
	Modify send.c to sendmail an create temporary filenames more
	securely.
	Copyright change --> 2001 and extra spaces nukes, done by emacs
	automaticaly.

2001-01-16  Jakob Kaivo  <jkaivo@ndn.net>

	imap4: fix tyop in login.c in preparation for serious work
	mail: fix list.c so that command listing is formatted properly
	pop3: STAT command didn't properly reflect deleted messages

2001-01-15  Alain Magloire  <alainm@gnu.org>

	remove debug printf, sigh...

	bind/accept was wrongfully typecast for some systems, it should be
	(struct sockaddr *)

	forgot to include <fcnt.h>

	variabke status was not initiialize to 0.

	little oops, readline was returning the wrong count.
	Remove much of the code from body to use file_stream.c

2001-01-14  Alain Magloire  <alainm@gnu.org>

	Check for mkstemp()

	Various identation to comply with the GNU coding standard.

	UIDL is not looking for "X-UIDL" if not do an md5 of the message.
	When expunging check if the message as been modified, for example
	"X-UIDL" maybe add in the header it will now be save in the
	message.
	expunge reuse the same code of mbox_append_message().
	add a new header_set_fill() to get the header of the messages
	form the mailbox.

	add {message,header,attribte}_is_modified() prototypes.

2001-01-13  Jakob Kaivo  <jkaivo@ndn.net>

	work on mail sending capability, now `mail -s"foo bar" baz@quux`
	is close to
	doing the right thing

	mail hacking
	first pass at implementing file/folder command - you can now
	switch folders on the fly
	tracked down bug in argcv.c that made mail shell/! function not
	work properly
	removed unnecessary #if stuff from source.c

2001-01-11  Alain Magloire  <alainm@gnu.org>

	Deferencing null pointers fixes.

	Nasty annoying memory overflow in argcv_get() that was causing
	random
	crashes.  Couple of places check if (ptr == NULL) before free(),
	this is
	not a bug since POSIX requires free(NULL) to be legal but on
	some old station
	like SunOS-4 that will corrupt the freelist or crash.
	Some Copyright updates.

	put getline() in AC_REPLACE_FUNCS for platform that does not
	have any.

	Check if rc was null, sigsegv for me because I did not have
	a ~/.mailrc

	Adjust the copyright to 2001.  Indentation more to GNU codeing
	style,
	setuid() call for apop.

2001-01-11  Jakob Kaivo  <jkaivo@ndn.net>

	Clean up mail code
	Beginning of mail source command implementation
	Have mail source MAILRC file on startup
	Fix bugs in mail pipe command

2001-01-10  Alain Magloire  <alainm@gnu.org>

	sigh ... use fdopen to open the file not fopen, was opening the
	file twice
	no arm but may run out of file descriptors.

	Used an unitiliaze pointer.

	Add strtok_r for platforms missing it.

	IMAP delete messages support.

	Add imap support too.

2001-01-08  Alain Magloire  <alainm@gnu.org>

	add imap_record for the test.

	commit simple url imap parsing.

	adjust the prototypes for IMAP.

	Support for IMAP, buffering internal scheme for stream_t

2001-01-04  Alain Magloire  <alainm@gnu.org>

	forget to OR (|=) the flags when opening.

	remove bio use.

	 various typos and fixes in the headers.

	bio.h no longer needed.

	No longer need part of stream.c

	The notable change is in stream.c where there a minimal buffering
	to help cope with stream socket.  The bio code is removed.

	header changes, not much for log message.

	*** empty log message ***

2001-01-03  Alain Magloire  <alainm@gnu.org>

	Patch from shaleh to make the verbs and tense agree.

2000-12-30  Jeff Bailey  <jbailey@gnu.org>

	Reduce annoying amounts of garbage spit to screen by 'cvs diff'.

	Add readline test.

	Clean up wording of licensing.	Include copy of LGPL, and the FDL.
	Include README-alpha in 'make dist' targets.

	Remove version.texi and add it to .cvsignore - this is a
	generated file.

	Add release target with datestamp

2000-12-14  Alain Magloire  <alainm@gnu.org>

	Put the bits in configure.in for checking for a proper thread lib.
	Added the missings HAVE_CONFIG_H for certain files.
	message_uidl --> message_uid
	define _XOPEN_SOURCE 500 for GNU/Linux to get the namespace
	of UNIX98

2000-12-13  Jeff Bailey  <jbailey@gnu.org>

	Add --disable-pthread flag to configure

2000-12-13  Alain Magloire  <alainm@gnu.org>

	Remove the bits for pthread in misc.h

2000-12-13  Jeff Bailey  <jbailey@gnu.org>

	Add \'s to make it compile.

2000-12-13  Alain Magloire  <alainm@gnu.org>

	Snow storm, good took the opportunity to rewrite one time to many
	the registrar/record code, still fuzzy.  Implemented the folder
	for Mbox.
	and various cleaning.

2000-12-11  Alain Magloire  <alainm@gnu.org>

	regroup the locking support in monitor.c, and first attempt to
	define a "folder"

2000-12-07  Alain Magloire  <alainm@gnu.org>

	Hunted down a nasty bug in the expunge code, bad bad.

2000-12-06  Alain Magloire  <alainm@gnu.org>

	message_t is a general structure that encapsulate envelope_t,
	header_t and
	body_t etc ...
	Accessing member of the structure is thread-safe, a monitor/lock
	is use
	the downside the lock is grab for each modification.

2000-12-05  Alain Magloire  <alainm@gnu.org>

	Use the monitor for locking.

2000-12-04  Alain Magloire  <alainm@gnu.org>

	Check for <pthread.h>

	monitors provide  a way of locking.

	Making the library more thread aware.  This is an attempt to
	be Cancel-safe
	or at least cancel friendly.

2000-11-23  Alain Magloire  <alainm@gnu.org>

	check the return status of pthread_mutex_destroy.

2000-11-18  Alain Magloire  <alainm@gnu.org>

	overflow by 1 byte, ... sigh.

	some variables were not initialize, correct a bug in expunging.

2000-11-16  Alain Magloire  <alainm@gnu.org>

	transcode was superceded by trans_stream.

2000-11-15  Alain Magloire  <alainm@gnu.org>

	minor nit in set_value, and I'm not sure it is a good fix.

	snprintf() on some platforms return -1 for error on others
	the count that would have been written, the latter is C99
	conformant
	but the former is also in wide use since snprintf () was not part
	of ANSI C, or posix.

	Macro message_unref.

2000-11-14  Alain Magloire  <alainm@gnu.org>

	add reference count for floating message.

	supporting CC BCC when mailing.

	pass null to setvbuf, to let stdio free the buffer.

2000-11-13  Alain Magloire  <alainm@gnu.org>

	massage the address parsing, still very week.

	typo.

	A little cleanup and we prepare support for IMAP.

2000-11-11  Alain Magloire  <alainm@gnu.org>

	Free start_comments when done.

	Free the body and the url when done.

2000-11-10  Alain Magloire  <alainm@gnu.org>

	Forgot to commit this too, was not freeing.

	forgot to free some memory .. bad.

	attribute did not show right for POP3.

2000-11-09  Alain Magloire  <alainm@gnu.org>

	make sure the the body_end = 0 .

	Simple fix, I mixed up the list next pointer.

2000-10-30  Alain Magloire  <alainm@gnu.org>

	The first draft to be able to parse rfc822 not cute. The little
	from program was use as the first test case.

2000-10-25  Alain Magloire  <alainm@gnu.org>

	minor nits in POP corrected.

2000-10-24  Alain Magloire  <alainm@gnu.org>

	Updatint some of the programs, mail/pop3d.  The documentation
	still have a lot to go.

	not implemented.

	Update Makefile.

	update Makefile.am

	implementing sendmail.

	Another big change we're trying, for the future to be able to load
	via dlopen() different type of mailboxes and mailer.  For that
	the client must register the mailbox.  So in the future
	we can have something like plugin  ... still a hack/draft.

	Commited some code to be able to send mail with sendmail or
	via SMTP.

2000-10-11  Jeff Bailey  <jbailey@gnu.org>

	Update anonymous CVS address

2000-09-16  Alain Magloire  <alainm@gnu.org>

	Get rid of a fubar entry.

2000-09-13  Alain Magloire  <alainm@gnu.org>

	Use TOP for headers.

2000-09-11  Alain Magloire  <alainm@gnu.org>

	Little buglet, top should return 0, when succeed.

	Pff !!! And everything with one hand.  Now I understand why people
	use threads and things like aio_*() calls.  Pop in Nonblocking
	mode should work properly, but the price to pay is big hairy code
	Because we have to keep the state of the connection when return
	EAGAIN.  There is lot of buffer copy all over the place .i.e when
	we come back from a EAGAIN, we have to reset the same state.

	We have two new files call bio.[ch] it stands for buffered I/O
	Saves me from a lot of read()/write() calls by bufferring a bit
	for me.

	Attribute added 3 new functions,
	attribute_{set,get,unset,is}userflag()
	to let someone else the library store certain attributes on
	a message.
	They are keep in a different place the	the normal attributes.

2000-09-07  Jakob Kaivo  <jkaivo@ndn.net>

	Begin real implementation of mailx mail command
	make sure none of the necessary environment variables will be
	unset in mailx

	Reuse more code in mail/*.c, merge ! and shell commands, remove
	unneeded files

2000-09-07  Alain Magloire  <alainm@gnu.org>

	implemented  "top", "delete", "undelete" "!"(bang) and "edit"
	a little cleanup.  Fixme talk to Jakob about the redundoncy.
	lib/argcv.c new function argcv_string().

	Forget to initialize the variable(mpd) before using it.
	The compiler did not complain and everything was working as
	expected !!!
	It's behond me ... FIXME check in CFLAG gcc warning flag for
	unitialize vars.

2000-09-07  Jakob Kaivo  <jkaivo@ndn.net>

	Fix some buglets in mailx, prepare some commands for GNU
	extensions

2000-09-06  Alain Magloire  <alainm@gnu.org>

	Implemented most of the pop3d functions, technically we have
	pop server base on the new API, but .. needs more testing.
	The new mailbox is not tested/mature enough for wide deployment.
	message_get_uidl:  checks for X-UIDL to be compatible with qpopper
	and fall back to Message-ID, we need some sort of checksum or
	modify the header like the qpopper.

2000-09-05  Jakob Kaivo  <jkaivo@ndn.net>

	Implement mailx pipe command, alphabetize command table, merge
	relist and reply

	Implement mailx commands {C,c}opy, {S,s}ave, {W,w}rite, set
	Beginning of mailx command mail (in send.c)
	Merge printall into print, remove printall.c

2000-09-05  Alain Magloire  <alainm@gnu.org>

	Little bugglet should be htons(port) instead htonl(port) it was
	so obvious that it took me 2 hours to find, sigh ...

	Adding more comments, and in message_destroy make sure we
	destroy all the objects attached to it.

2000-09-04  Jakob Kaivo  <jkaivo@ndn.net>

	Implement dp, next, previous, size, and unset in mail
	tweak bang, set, shell in mail
	fixup list and stat in pop3d
	minor dele tweaking in pop3d

	update to mailx msglist parser (parts of it now work!)
	tweak some mailx commands

	more imap4d infrastructure

2000-09-04  Alain Magloire  <alainm@gnu.org>

	for mail/*
	- implemented header
	- implemented printall
	- little change on print
	- little bugs in util.c fix
	- free(list) after calling util_expand_list();
	- Range is now working "2-4" or "2 - 4" or "2 3-5 6" should work.
	Various little bugs fixes.

	for the mailbox/*:
	- little cleanup and buglets fix.

2000-09-04  Jakob Kaivo  <jkaivo@ndn.net>

	These files should be in the repository, too %-)

	More mail(x) tweaking
	Begin the great IMAP4d rewrite - most of the infrastructure is
	there, now
		just fill in the blanks

2000-09-04  Alain Magloire  <alainm@gnu.org>

	The big change: For getting the header we use "TOP # 0" but
	since TOP is an
	optionnal command, we fallback to RETR and ignore the body part.
	This ugly
	and wastefull and it made the code unnecessary complexe.
	But fortunately
	I do not know of any POP server that does not have TOP. It's
	a mess.
	The other stuff was little cleanups.

2000-09-03  Jakob Kaivo  <jkaivo@ndn.net>

	Update pop3d more so it compiles against latest API (needs
	work still)

2000-09-03  Alain Magloire  <alainm@gnu.org>

	remove private and public directory.

2000-09-03  Jakob Kaivo  <jkaivo@ndn.net>

	readline tab completion for mail

	More mailx functionality

	Begin chaning pop3d to current API. mail now has a big command
	table for
	finding commands.

2000-09-02  Jakob Kaivo  <jkaivo@ndn.net>

	Bloated mail excessively with infrastructure to be fully UNIX98
	mailx
	compatible and updated to current API. Minor compilation fixes
	elsewhere.

2000-09-02  Alain Magloire  <alainm@gnu.org>

	forgot to add those.

	Cleanup, now we can do autogen.sh;configure;make and things
	will build.
	mailutils/from will use the new mailbox API
	mailutils/mail will use the new mailbox API
	to convert pop3d(still use libmailbox the old API).

	mailutils/mail is incomplete and should is equivalent to
	LEGACY mail from Unix98.

	header internals description.

2000-09-01  Alain Magloire  <alainm@gnu.org>

	Corrected my oversights and bugs introduce last time.  Keyboard
	quotas expired.

2000-08-31  Alain Magloire  <alainm@gnu.org>

	Cleanup again and all of this done with one hand !!!
	We're moving closer to cleaning the repository and using
	autoconf and all.  But my keyboard quota is almost expired.

2000-08-24  Alain Magloire  <alainm@gnu.org>

	Closing follow by a reopen was not done right.
	Various little cleanup.

	No joke the pop client need a real good cleanup.
	I'll do that later.

2000-08-23  Alain Magloire  <alainm@gnu.org>

	Maybe it was the codeine ?? variable was not initialize.

2000-08-16  Alain Magloire  <alainm@gnu.org>

	message add the header count part of the bytes being written.

2000-08-08  Alain Magloire  <alainm@gnu.org>

		attribute.c
			I broke it ... sigh.

	file_stream.c header.c locker.c mapfile_stream.c mbx_default.c
	mbx_pop.c
			code cleanup put some comments in there ;-)

2000-08-04  Alain Magloire  <alainm@gnu.org>

		message.c include/private/message0.h
		include/public/message.h
	added message_get_num_parts(), message_get_parts()
	message_is_mime()
	to have support for mime in the message objects.  This will
	make it
	much more easier when doing IMAP to override the methods and
	use IMAP
	features.

2000-08-01  Alain Magloire  <alainm@gnu.org>

		mailutils.texi
	added brian and dave.

		mailutils.texi
	new version

		mailutils_errno.h
	mailutils errno.

		body.c header.c io.c mailbox.c mapfile_stream.c mbx_pop.c
		mbx_unix.c message.c include/private/io0.h
		include/private/mailbox0.h include/private/message0.h
		include/public/header.h include/public/io.h
		include/public/mailbox.h include/public/message.h

	Try new mailutils_error.h

2000-07-31  Alain Magloire  <alainm@gnu.org>

		Makefile.am auth.texi body.texi headers.texi mailbox.texi
		mailer.texi mailutils.texi message.texi sfrom.c.texi
		url.texi
		attribute.texi locker.texi stream.texi version.texi

	first draft for the new API.

2000-07-19  Alain Magloire  <alainm@gnu.org>

		file_stream.c mailbox.c mbx_pop.c mbx_unixscan.c message.c
		mime.c include/private/mailbox0.h include/public/mailbox.h

	mbx_pop.c corrected a bug.
	mbx_unixscan.c corrected a subtile bug for PROGRESS.

2000-07-04  Alain Magloire  <alainm@gnu.org>

		mbx_pop.c
	set not updated after expunging.

		Makefile.am
	added mapfile_stream.c

		message.c
	sigh buffer overflow in message_from

		mbx_pop.c
	fatal typo  in mbx_pop_expunge should be pmessage_count instead
	of message_count

		mapfile_stream.c
	noop everything whith #ifdef _POSIX_MAPPED_FILE

		mapfile_stream.c
	support for mmap() mailboxes.

		file_stream.c mbx_unix.c mbx_unixscan.c
		include/public/io.h

		header.c mailer.c mbx_unix.c mime.c tcp.c
		include/public/header.h include/public/mailer.h

	add dirty/ugly support for header_set_value()

2000-07-03  Alain Magloire  <alainm@gnu.org>

		mbx_default.c
	shortcut for getenv(MAIL) etc ... to get the default mailbox.
	And could serve as a hook to Jeff/Jakob idea of config file.

		Makefile.am include/Makefile.am
		include/private/Makefile.am
		include/public/Makefile.am
	in preparation for autoconfiguration.

		attachment.c file_stream.c header.c io.c mailbox.c
		mbx_pop.c
		mbx_unix.c mbx_unixscan.c message.c mime.c trans_stream.c
		include/private/io0.h include/public/attribute.h
		include/public/auth.h include/public/body.h
		include/public/header.h include/public/io.h
		include/public/locker.h include/public/mailbox.h
		include/public/message.h

	expunge can be call safely, whithout having to close/destroy
	the mailbox
	it will readjust the message_t pointer.

	mailbox_t uses stream to now.

2000-06-27  Alain Magloire  <alainm@gnu.org>

		url_pop.c include/private/url0.h include/public/url.h
	No need for those bloated url_m*() functions.
	url_pop parsing playing smart and nuking trailing '/'

2000-06-23  Alain Magloire  <alainm@gnu.org>

		attachment.c mbx_unix.c mime.c include/private/mime0.h
		include/public/mime.h
	incorporate some changes by D.I.

		file_stream.c message.c include/private/message0.h
	first attempt at message_write().

		file_stream.c mime.c
	gnu coding standards fon file_stream.c
	mime.c added stream_set_fd

		attribute.c body.c header.c io.c mbx_pop.c mbx_unix.c
		mbx_unixscan.c message.c include/private/message0.h
		include/public/io.h
	cleanup, finish the POP client code hopefully.

2000-06-21  Alain Magloire  <alainm@gnu.org>

		attachment.c file_stream.c trans_stream.c
	misc function done by D.I.

		attribute.c auth.c body.c header.c io.c mailbox.c
		mbx_pop.c
		mbx_unix.c mbx_unixscan.c message.c mime.c tcp.c
		transcode.c
		include/private/attribute0.h include/private/io0.h
		include/private/mailbox0.h include/private/tcp.h
		include/public/attribute.h include/public/auth.h
		include/public/io.h include/public/mailbox.h
		include/public/message.h
	added the first basic support for pop.
		include/private/auth0.h

	move the definition of auth_t struct here.
		net.c include/private/net0.h include/public/net.h

	Overhaul change of the net_t by D. I.

2000-06-19  Alain Magloire  <alainm@gnu.org>

		attribute.c body.c header.c io.c mbx_unix.c message.c
		mime.c
		net.c tcp.c transcode.c url_pop.c include/private/io0.h
		include/private/url0.h include/public/attribute.h
		include/public/io.h include/public/mailbox.h

	all function *_init() rename to *_create().

2000-06-14  Alain Magloire  <alainm@gnu.org>

		mbx_unixscan.c
	send a notif for the last message.

		header.c mbx_unixscan.c include/private/message0.h
	I'm an idiot, with dup() the file table is share by the two
	file descriptors,  So when one do mailbox_get_message() it
	was influencing the parsing since the offset was changing
	the world underneath the parsing code ... duh !! solution
	reopen the mailbox readonly.  Thanks dave for pointing this out.

2000-06-12  Alain Magloire  <alainm@gnu.org>

		body.c mailer.c mbx_unixscan.c net.c tcp.c transcode.c
		include/private/attribute0.h include/private/body0.h
		include/private/mailer0.h include/private/net0.h
		include/private/tcp.h include/public/body.h
		include/public/mailer.h include/public/net.h

	parsing and little of networking code, making a path for Pop
	and IMAP.

		attribute.c auth.c header.c io.c locker.c mailbox.c
		mbx_imap.c
		mbx_mbox.c mbx_mdir.c mbx_mh.c mbx_mmdf.c mbx_pop.c
		mbx_unix.c
		message.c mime.c registrar.c url.c url_file.c url_imap.c
		url_mail.c url_mbox.c url_mdir.c url_mh.c url_mmdf.c
		url_pop.c
		url_unix.c include/private/mailbox0.h
		include/private/mbx_imap.h include/private/mbx_mbox.h
		include/private/mbx_mdir.h include/private/mbx_mmdf.h
		include/private/mbx_pop.h include/private/mbx_unix.h
		include/private/message0.h include/private/mime0.h
		include/private/url0.h include/public/attribute.h
		include/public/auth.h include/public/event.h
		include/public/header.h include/public/io.h
		include/public/locker.h include/public/mailbox.h
		include/public/message.h include/public/mime.h
		include/public/registrar.h include/public/transcode.h
		include/public/url.h

	changed all the *_init to *_create().
	added *_lines() functions
	optimisation of the parsing.

2000-06-07  Alain Magloire  <alainm@gnu.org>

	cleanup.

		attribute.c mbx_unix.c message.c
	do not use an owner to set the attributes.
		mime.c include/private/cpystr.h include/private/io0.h
		include/private/mailbox0.h include/private/mbx_imap.h
		include/private/mbx_mbox.h include/private/mbx_mdir.h
		include/private/mbx_mmdf.h include/private/mbx_pop.h
		include/private/mbx_unix.h include/private/message0.h
		include/private/mime0.h include/private/registrar0.h
		include/private/url0.h include/public/attribute.h
		include/public/auth.h include/public/event.h
		include/public/header.h include/public/io.h
		include/public/locker.h include/public/mailbox.h
		include/public/message.h include/public/mime.h
		include/public/registrar.h include/public/transcode.h
		include/public/url.h

	put the headers in a separate file space.

2000-06-05  Alain Magloire  <alainm@gnu.org>

		attribute.c attribute.h auth.h event.h header.c header.h
		io.c
		io.h io0.h locker.c mbx_unix.c message.c message.h
		message0.h
		registrar.c registrar.h url_pop.c

	Typos and after a long debate merge istream_t/ostream_t to
	stream_t
	better fit to the net_t object comming.

2000-06-02  Alain Magloire  <alainm@gnu.org>

		header.c
	header_init/header_parse: free call twice for the same object.
	header_parse: slight modif to bail out early on non kosher header.
		mbx_unix.c
	PROGRESS_BAR event call every 10 000 lines, arbitrary.
		message.c
	was not setting the body to the right owner.

2000-06-01  Alain Magloire  <alainm@gnu.org>

		mbx_unix.c
	mailbox_unix_expunge: forget to free tmpmbox filename.

2000-05-31  Alain Magloire  <alainm@gnu.org>

		header.c io.c io.h io0.h
	{i,o}stream_t should be using size_t for consistency.

		mailbox.c mailbox0.h
	nuke mailbox_{,un}delete() we use the attributes.

		mbx_unix.c
	When expunging keep the tmp file around if things go wrong
	good for debugging, but should it be this way (elm(ish))?
		message.c
	Lazy creation of floating messages in message_write()

2000-05-30  Alain Magloire  <alainm@gnu.org>

		header.c
	overrun corrected

		auth.c auth.h header.h mbx_unix.c message.c message.h
		message0.h

	add flaoting message support. Corrected a bug in
	mailbox_unix_expunge

2000-05-23  Sean 'Shaleh' Perry  <shaleh@debian.org>

	touch ups

2000-05-20  Sean 'Shaleh' Perry  <shaleh@debian.org>

	fleshed out mh_open() some more

2000-05-19  Sean 'Shaleh' Perry  <shaleh@debian.org>

	*** empty log message ***

	more stupid things

	fixed a typo on line 54 of mh.c

	fleshed out mh.c some more

2000-05-16  Sean 'Shaleh' Perry  <shaleh@debian.org>

	*** empty log message ***

	added mh.[ch]
	cleaned up formatting of other files

2000-05-13  Alain Magloire  <alainm@gnu.org>

		header.c mailbox.c mailbox.h mailbox0.h mbx_unix.c
		message.c
	Possibility to restart the scan.

2000-05-12  Alain Magloire  <alainm@gnu.org>

	 Modified Files:
		header.c io.c mailbox.c mailbox.h mailbox0.h mbx_unix.c
		message.c message.h message0.h
	 Added Files:
		event.h

	added registrations of certain events.

2000-05-10  Alain Magloire  <alainm@gnu.org>

		attribute.c attribute.h header.c mailbox.c mailbox0.h
		mbx_unix.c message.c

	remove reference to attribrute0.h

		attribute0.h
	collapse in attribute.c

		header.c
	rewrite to collapse rfc822.c

		header.c header0.h rfc822.c
	collpase everything in header.c

		mbx_unix.c message.c message.h message0.h rfc822.c
	message_get_size.

2000-05-08  Alain Magloire  <alainm@gnu.org>

		attribute.c attribute.h attribute0.h header.c header.h
		header0.h io.c io.h io0.h mailbox.c mailbox0.h mbx_unix.c
		message.c message.h message0.h rfc822.c

	message_t is a pure interface.

2000-05-02  Alain Magloire  <alainm@gnu.org>

		attribute.c mbx_unix.c
	bug in *_unset_attributes and mailbox_expunge.

2000-05-01  Alain Magloire  <alainm@gnu.org>

		io.c io.h io0.h
	istream_t and ostream_t implementation.

		attribute.c header.c header.h header0.h locker.c locker.h
		mailbox.c mbx_unix.c message.c message.h message0.h
		rfc822.c
		url.c
	using [io]stream.

2000-04-28  Alain Magloire  <alainm@gnu.org>

		url_file.c
	new file.

		attribute.c attribute.h attribute0.h header.c header.h
		header0.h mailbox.c mailbox.h mailbox0.h mbx_mbox.c
		mbx_unix.c
		message.c registrar.c registrar.h registrar0.h rfc822.c
		url.c

	more cleanups.

2000-04-24  Alain Magloire  <alainm@gnu.org>

		headeri.c
	gone.

		mailboxi.c
	gone.

		_cpystr.c attribute.c attribute.h attribute0.h auth.c
		auth.h
		cpystr.h locker.c locker.h message.c message.h message0.h
		registrar.c registrar.h registrar0.h rfc822.c url.c url.h
		url0.h url_imap.c url_mail.c url_mbox.c url_mdir.c
		url_mh.c
		url_mmdf.c url_pop.c url_unix.c
	still young in the implementation.

		header.c header.h header0.h mailbox.c mailbox.h mailbox0.h
		mbx_imap.c mbx_mbox.c mbx_mdir.c mbx_mh.c mbx_mmdf.c
		mbx_pop.c
		mbx_unix.c

	cleaning and pruning.

	Removed Files:
		url/Makefile.am url/_cpystr.c url/chewurl.c url/cpystr.h
		url/test_url url/url.c url/url.h url/url_imap.c
		url/url_imap.h
		url/url_mail.c url/url_mail.h url/url_mbox.c
		url/url_mbox.h
		url/url_mdir.c url/url_mdir.h url/url_mh.c url/url_mh.h
		url/url_mmdf.c url/url_mmdf.h url/url_pop.c url/url_pop.h
		url/url_unix.c url/url_unix.h url/urli.c
	We keep them in the same directory then mailbox, makes our
	life easier.

2000-04-19  Jeff Bailey  <jbailey@gnu.org>

	Distribution fixes

	Look in m4 for extra Macros

	Fix typo and add m4 to configure.in

	Portability fixes

	Add more tests to configure to keep xstrtol.[ch] happy

2000-03-29  Jakob Kaivo  <jkaivo@ndn.net>

	Added SIGPIPE handling to pop3 daemon

2000-02-09  Alain Magloire  <alainm@gnu.org>

		body.texi mailbox.texi mailer.texi url.texi
	ispell.

	 Modified Files:
		body.texi headers.texi mailbox.texi mailer.texi
		mailutils.texi
		message.texi sfrom.c.texi url.texi
	updating.

2000-02-07  Alain Magloire  <alainm@gnu.org>

		auth.texi
	Authenticator.

		mailbox.texi mailutils.texi
	more examples

2000-02-06  Alain Magloire  <alainm@gnu.org>

	Modified Files:
		encoding.texi headers.texi mailbox.texi mailer.texi
		mailutils.texi sfrom.c.texi url.texi
	updating
	Added Files:
		body.texi message.texi
	updating

2000-02-02  Alain Magloire  <alainm@gnu.org>

		mailbox.texi mailutils.texi sfrom.c.texi
	Updates.

2000-01-30  Alain Magloire  <alainm@gnu.org>

		headers.texi mailbox.texi mailer.texi mailutils.texi
		sfrom.c.texi url.texi
	updated.

2000-01-29  Alain Magloire  <alainm@gnu.org>

	updated.

		encoding.texi headers.texi mailbox.texi mailer.texi
		mime.texi
		sfrom.c.texi url.texi

	new files describing each facette of mailutils.

		mailutils.texi
	new format.

2000-01-24  Alain Magloire  <alainm@gnu.org>

		from.c
	updated.

		header.c header.h headeri.c mailbox.c mailbox.h mailboxi.c
		mbx_imap.c mbx_imap.h mbx_mdir.c mbx_mdir.h mbx_mmdf.c
		mbx_mmdf.h mbx_pop.c mbx_pop.h mbx_unix.c mbx_unix.h
	updated.
		header0.h mailbox0.h
	move the structure definition here

2000-01-23  Sean 'Shaleh' Perry  <shaleh@debian.org>

	fixed "unknow" typo (again)

2000-01-21  Alain Magloire  <alainm@gnu.org>

		from.c
	support for headers.

		mailbox.c
	define mailbox_get_name for all.
		header.c header.h headeri.c

2000-01-21  Sean 'Shaleh' Perry  <shaleh@debian.org>

	Updated README

2000-01-20  Sean 'Shaleh' Perry  <shaleh@debian.org>

	mh code flesh out

2000-01-19  Sean 'Shaleh' Perry  <shaleh@debian.org>

	added url support for MH mailboxes

	added beginnings of MH handler

2000-01-18  Sean 'Shaleh' Perry  <shaleh@debian.org>

	removed extra from.c and changelog.pl

2000-01-17  Alain Magloire  <alainm@gnu.org>

		from/from.c
	new file

		mbx_mbox.c mbx_unix.c
	.

2000-01-16  Alain Magloire  <alainm@gnu.org>

		_cpystr.c chewurl.c cpystr.h test_url url.c url.h
		url_mbox.c
		url_mdir.c url_pop.c url_pop.h url_unix.c urli.c
	tight things up.

		mailbox.c mailbox.h mailboxi.c mbx_imap.c mbx_mbox.c
		mbx_mdir.c mbx_mmdf.c mbx_pop.c mbx_unix.c

	introduce an implementation of mbx_unix

1999-12-22  Alain Magloire  <alainm@gnu.org>

		url_mail.c url_mail.h url_mdir.c url_mdir.h url_mmdf.c
		url_mmdf.h url_unix.c url_unix.h
		url_mailto.c url_mailto.h

	draft support for maildir, mmdf, unix.

		Makefile.am _cpystr.c chewurl.c cpystr.h url.c url_mbox.c
		url_pop.c
	thighning up things.

		mailbox.c mbx_mbox.c mbx_mbox.h mbx_mdir.h mbx_unix.c
		mbx_unix.h
		mbx_mdir.c mbx_mmdf.c mbx_mmdf.h

	slowly continuing work.

	cleanup.

1999-12-18  Alain Magloire  <alainm@gnu.org>

		mbx_unix.c
	new file.

		mbx_mdir.h mbx_unix.h
	new files.

		mailbox.c mailbox.h mbx_imap.c mbx_imap.h mbx_pop.c
		mbx_pop.h
	cleanup.
	 Added Files:
		mbx_mbox.c mbx_mbox.h
	cleanup.

1999-12-16  Alain Magloire  <alainm@gnu.org>

	put the stubs for the wrappers.

1999-12-15  Alain Magloire  <alainm@gnu.org>

		mailbox.c mailbox.h mailboxi.c mbx_imap.c mbx_imap.h
		mbx_pop.c
		mbx_pop.h
	Draft of the Mailbox API

		cpystr.h
	rename url0.h to cpystr.h this should be move to lib, later

		Makefile.am _cpystr.c chewurl.c url.c url.h url_imap.c
		url_mailto.c url_mbox.c url_pop.c urli.c
	Tightning up the API, still a draft.

1999-12-09  Alain Magloire  <alainm@gnu.org>

		url.h
	We don't use inline.

		Makefile.am _cpystr.c chewurl.c test_url url.c url.h
		url_pop.c
	corrected a minor bug and use GNU stile indent.
	 Added Files:
		urli.c
		Move the wrappers function se

1999-12-01  Alain Magloire  <alainm@gnu.org>

		AUTHORS ChangeLog THANKS lib/Makefile.am
	Remove my name is THANKS, and put it as the current maitainer
	is AUTHORS.

		lib/xmalloc.c lib/xstrdup.c lib/xstrtol.c lib/xstrtol.h
		url/Makefile.am url/_cpystr.c url/chewurl.c url/test_url
		url/url.c url/url.h url/url0.h url/url_imap.c
		url/url_mailto.c
		url/url_mbox.c url/url_pop.c
	First attempt to define the URL API.

1999-11-26  Jeff Bailey  <jbailey@gnu.org>

	Add rfcs to doc directory

1999-11-24  Jakob Kaivo  <jkaivo@ndn.net>

	Added beginnings of Maildir support.

1999-11-16  Jeff Bailey  <jbailey@gnu.org>

	Add Ansi2knr handling

1999-11-09  Sean 'Shaleh' Perry  <shaleh@debian.org>

	added Frank for helping me with non-Linux make stuff

	did some work on the automagic for non-Linux systems

1999-11-07  Sean 'Shaleh' Perry  <shaleh@debian.org>

	began implementing scan() and is_updated()

1999-11-06  Sean 'Shaleh' Perry  <shaleh@debian.org>

	added -g for compilation
	changed CPPFLAGS to CFLAGS (we are not using c++)
	more work on expunge

	began work on expunge
	stopped an invalid pointer use in mail.C

1999-10-23  Alain Magloire  <alainm@gnu.org>

	Clean up of This file to conform to GNU STD:

1999-10-13  Jeff Bailey  <jbailey@gnu.org>

	Always install library, add -pedantic to libmailbox CPPFLAGS

1999-10-13  Sean 'Shaleh' Perry  <shaleh@debian.org>

	removed command.{c,h} -- absorbed into main.c
	added a TODO file for imap
	cleaned up Makefile.am to match
	broke lots of things in main.c

	removed my readline.{c,h}
	made imap use getline

1999-10-11  Jeff Bailey  <jbailey@gnu.org>

	Remove unused varilable DEPENDENCIES from pop3d/Makefile.am

	Add build environment to imap4d/, add warnings to pop3d, add
	getline to lib/

1999-10-11  Sean 'Shaleh' Perry  <shaleh@debian.org>

	added imap daemon

	Fixed changelog.pl to use '\t*' not '  *'

1999-10-11  Jeff Bailey  <jbailey@gnu.org>

	More libsrc/ to lib/ updates.  Add doc/, add mailutils.texi,
	THANKS

	Rename libsrc/ to lib

1999-10-09  Sean 'Shaleh' Perry  <shaleh@debian.org>

	changelog.pl now outputs in GNU approved format
	"Resistance is Futile"

	added pam file

	added quit bug to TODO

	added info to the TODO item I closed

1999-10-09  Jeff Bailey  <jbailey@gnu.org>

	Fix pam stuff

1999-10-09  Sean 'Shaleh' Perry  <shaleh@debian.org>

	added showmail
	more mailbox cleanups

1999-10-08  Sean 'Shaleh' Perry  <shaleh@debian.org>

	cleaned up unixmbox.c and mailbox.c
	added optional argument to from.c
	added items to TODO
	added Makefile for from.c in examples

	added a TODO file
	cleaned up from.c a little

1999-10-08  Jeff Bailey  <jbailey@gnu.org>

	Fix pop3d compile problems

1999-10-08  Sean 'Shaleh' Perry  <shaleh@debian.org>

	readline routine added

1999-10-07  Sean 'Shaleh' Perry  <shaleh@debian.org>

	added SO_REUSEADDR socket option

	added EINTR support in daemon()

	fdopen(ofile) is no longer called "w+", just plain "w"

	d'uh, left off a change

1999-10-06  Sean 'Shaleh' Perry  <shaleh@debian.org>

	fixed compilation problems I introduced yesterday

	added a changelog script

	added sigchld handling

1999-10-05  Sean 'Shaleh' Perry  <shaleh@debian.org>

	initial work on fork() rewrite

	added mailbox_lock_t type and appropiate changes
	added name to authors file

1999-10-04  Jeff Bailey  <jbailey@gnu.org>

	Add README-alpha to repository

	Support --mail and --version in mail

	1999-10-03  Jeff Bailey
	<jbailey@cr499794-a.crdva1.bc.wave.home.com>
		* mail/Makefile.am: Add -Wall to compile line.

		* libmailbox/Makefile.am: Add -Wall to compile line.

		* libmailbox/mailbox.c: Warning cleanup, second parameter
		of lock
		should be unsigned int, not int.

		* libmailbox/mailbox.h: ""

		* libmailbox/unixmbox.h: ""

		* libmailbox/unixmbox.c: ""

		* AUTHORS: Include my name. =)

		* README: Rewrite for public consumption

		* README-alpha: New file, add mailing list address,
		CVS information.

		* libmailbox/unixmbox.c: Include config.h if defined

		* libmailbox/mailbox.c: Include config.h if defined

		* mail/mail.c: Include config.h if defined, update
		copyright.

1999-10-01  Sean 'Shaleh' Perry  <shaleh@debian.org>

	fixed a silly typo in the ChangeLog

	added examples dir and an example

	Changed order of calls to reduce error messages.

1999-10-01  Jakob Kaivo  <jkaivo@ndn.net>

	Added cleanup patches from Shaleh

	*** empty log message ***

1999-10-01  Sean 'Shaleh' Perry  <shaleh@debian.org>

	Added autogen.sh script to aid testers.

1999-09-23  Jakob Kaivo  <jkaivo@ndn.net>

	Variuos code cleanups
	fixed a couple of functions to use libmailbox
	fixed copyright notices

	Added 'F'/'f' to test mbox_get_header()

	Added locking function and interface
	Added mbox_header_line
	Added mbox_body_lines

	Added README file, messed with configure.in for PAM stuff

1999-09-16  Jakob Kaivo  <jkaivo@ndn.net>

	Actually add the files, not just the directory, to CVS

	Actually added the files to CVS :)

	imported (mostly) the pop3d tree
	added libsrc (for getopt and md5)

1999-09-12  Jeff Bailey  <jbailey@gnu.org>

	Imported sources

	Initial revision

Local Variables:
mode: change-log
version-control: never
buffer-read-only: t
End:
