2005-03-10 Sergey Poznyakoff * TODO: Updated * imap4d/imap4d.h (define _GNU_SOURCE): Removed. Defined in config.h * mailbox/mailcap.c (mu_mailcap_entry_get_value): Bugfix: return ENOENT if no matching entry is found. * mailbox/mutil.c (mu_true_answer_p): Ignore leading whitespace. * mh/mh_init.c (mh_vgetyn): Synchronize with the changes to mu_true_answer_p(). * mimeview/mimeview.c: Handle --no-ask and --no-interactive (-h) options. Continue search for a matching entry when necessary. Implement 'test' and 'print' commands. * doc/texinfo/programs.texi (mimeview): Documented new options 2005-03-09 Sergey Poznyakoff * mimeview/mimetypes.l: Bugfix: accept ',' as OR * mimeview/mimetypes.y: Fixed precedences of ',' and '+'. 2005-03-08 Sergey Poznyakoff * TODO: Updated * configure.ac (DEFAULT_CUPS_CONFDIR): New variable * doc/texinfo/programs.texi (mimeview): Documented the program * mimeview/Makefile.am (AM_CFLAGS): Use DEFAULT_CUPS_CONFDIR * mimeview/mimeview.c (create_filter,print_exit_status) (get_pager): New function (run_mailcap): Pipe file contents to the command if its invocation does not contain %s. Use pager if `copiousoutput' is specified in mailcap * po/POTFILES.in: Updated 2005-03-08 Sergey Poznyakoff TODO:121 said: "file viewer, based on the mimetypes api. I want to do a "v foo.blah", have it look up .blah in mime.types, and do the action spec'ed in mailcap." So, here it goes: * mimeview: New directory * mimeview/mimetypes.y: New file * mimeview/mimetypes.l: New file * mimeview/mimeview.c: New file * mimeview/mimeview.h: New file * mimeview/Makefile.am: New file * mimeview/.cvsignore: New file * configure.ac: Added mimeview * Makefile.am: Likewise * doc/texinfo/programs.texi (mimeview): New section. (mail): Document recently added variables. * mailbox/mailcap.c (mu_mailcap_entry_copiousoutput): Bugfix 2005-03-07 Sergey Poznyakoff * TODO: Updated * NEWS: Updated * mail/decode.c (mail_decode): Implemented new variable `metamail' that turns on use of metamail program for displaying MIME messages. (run_metamail): New function * mailbox/mutil.c (mu_spawnvp): Minor fixes 2005-03-06 Sergey Poznyakoff * NEWS: Updated * auth/sql.c: Use a uniform way of filename quoting in diagnostic messages. * frm/common.c: Likewise * frm/from.c: Likewise * imap4d/authenticate.c: Likewise * imap4d/login.c: Likewise * libsieve/actions.c: Likewise * libsieve/extensions/vacation.c: Likewise * mail/var.c: Likewise * mail.local/mailquota.c: Likewise * mail.local/main.c: Likewise * mail.remote/mail.remote.c: Likewise * mailbox/mu_argp.c: Likewise * messages/messages.c: Likewise * mh/forw.c: Likewise * mh/mh_ctx.c: Likewise * mh/mh_init.c: Likewise * mh/send.c: Likewise * movemail/movemail.c: Likewise * pop3d/apop.c: Likewise * pop3d/lock.c: Likewise * pop3d/user.c: Likewise * readmsg/readmsg.c: Likewise * sieve/sieve.c: Likewise * mailbox/errors (MU_ERR_NO_QUERY): Fixed wording 2005-03-05 Wojciech Polak * frm/Makefile.am: Removed install-exec-hook after the changes from 2005-03-02. 2005-03-05 Sergey Poznyakoff POSIX compatibility issues in mail * mail/alt.c (mail_is_my_name): Do not check `metoo'. The caller is responsible for that. * mail/reply.c (reply0): Check for `metoo' before calling mail_is_my_name(). (mail_reply): Honor `flipr' variable * mail/decode.c: Mark message as read and shown * mail/mbox.c: Likewise * mail/pipe.c: Likewise * mail/print.c: Likewise * mail/top.c: Likewise * mail/undelete.c: Likewise * mail/visual.c: Likewise * mail/from.c (mail_from0): If `showto' is set and the mail comes from the user that invoked the program, show `To:' address instead of `From:'. * mail/mail.c (default_setup): Added variables, required by POSIX: flipr, showto, bang. Added placeholders for debug, onehop and sendwait. * mail/mail.h (util_mark_read): New function * mail/shell.c: If `bang' is set, expand every occurrence of ! in argument array. * mail/touch.c: Rewritten in accordance with POSIX specs: do not mbox deleted and saved messages. * mail/util.c (util_mark_read): New function 2005-03-04 Sergey Poznyakoff * mail/mail.h (MAIL_ATTRIBUTE_SHOWN): New attribute. Shows that the message has been displayed during the current session. * mail/next.c (mail_next): Rewritten in accordance with posix: if the current message has not been shown yet, then show it. Otherwise advance to the nearest next non-deleted message. * mail/print.c (mail_print_msg): Set MAIL_ATTRIBUTE_SHOWN after displaying the message * mail/top.c (top0): set read attribute and MAIL_ATTRIBUTE_SHOWN after displaying the message 2005-03-02 Sergey Poznyakoff * frm/Makefile.am: Build `from' * frm/frm.c: Moved part of code to be shared between `frm' and `from' to common.c * frm/common.c: New file * frm/from.c: New file * frm/frm.h: New file * mail/quit.c: Save messages that were marked for saving to mbox and then deleted * mailbox/mbox/mbox.c (mbox_scan): Store the number of messages into *pcount if we don't need to rescan the mailbox. * po/POTFILES.in: Updated * from/from.c: Removed * from/Makefile.am: Removed * from/.cvsignore: Removed * from/testsuite: Removed * from/testsuite/from/test.exp: Removed * from/testsuite/from/DISTFILES: Removed * configure.ac: Removed from * Makefile.am: Likewise * doc/texinfo/programs.texi: Document `from' 2005-02-28 Sergey Poznyakoff * configure.ac: Check for FriBidi * frm/Makefile.am: Link with libfribidi * frm/frm.c: Rewritten output routines using FriBidi. Arabic subject lines look almost OK, except that all characters are displayed in isolated variant. * frm/testsuite/frm/test.exp: Fixed to match the new frm output. 2005-02-27 Wojciech Polak * frm/Makefile.am: Added install-exec-hook for creating the symbolic link 'from' to 'frm'. * from/Makefile.am: Changed bin_PROGRAMS to noinst_PROGRAMS. 2005-02-27 Sergey Poznyakoff * gnulib.modules: Add mbswidth * frm/frm.c: Implemented -t. Changed implementation of -Q. Rewritten action() to correctly handle multibyte characters and to provide for eventual using the BIDI algorithm. (print_line,format_field,format_field_simple) (format_field_align): New functions (util_getcols): Measure /dev/tty if unable to open stdout. (to work correctly with piped output). (rfc2047_decode_wrapper): Cache the determined locale. (get_personal): Do not limit the returned string length. Do not attempt to decode the raw header text, since parse822 will skip non-ascii characters, decode the already obtained personal part instead. * mailbox/address.c (address_aget_personal) (address_aget_comments): Bugfix * sql/mysql.c: Provide place handlers for handling MySQL 4.1.x scrambled passwords. Update by gnulib-sync: * m4/mbrtowc.m4: New file * m4/mbswidth.m4: New file * lib/mbswidth.c: New file * lib/mbswidth.h: New file * lib/Makefile.am: Updated * m4/gnulib.m4: Updated 2005-02-26 Wojciech Polak * mh/send.c (expand_aliases): Bugfix. Do not use statically allocated buffer. Use header_aget_field_name() instead. The utility froze with header names longer than 16 bytes. 2005-02-26 Wojciech Polak * mailbox/url_smtp.c (_url_smtp_init): Do not reject an URL with user name, password, or auth method specified. We will use it in further ESMTP authentication. 2005-02-26 Sergey Poznyakoff * sql/mysql.c: Do not use any libmysql functions to scramble passwords: mysql people are evidently unable to keep this API stable. 2005-02-25 Sergey Poznyakoff * NEWS: Updated * auth/sql.c (mu_sql_password_type): New variable (--sql-password-type): New command line option (mu_sql_getpass): New function. (mu_sql_authenticate): Recognize hashed, plaintext and mysql scrambled passwords. * auth/sql.h (sql_interface): new decl (mu_sql_expand_query): New proto. * imap4d/auth_gsasl.c (cb_retrieve): Fall back to SQL if plaintext password file is not available. * include/mailutils/sql.h (mu_sql_getpass) (mu_sql_password_type,mu_sql_expand_query): (mu_check_mysql_scrambled_password): New function * mail.local/mailquota.c: Include . A temporary solution. * mailbox/muerror.c (mu_syslog_error_printer): Bugfix. * sql/mysql.c (mu_check_mysql_scrambled_password): New function. * mail/mail.c: Updated copyright date. 2005-02-25 Sergey Poznyakoff * NEWS: Updated * include/mailutils/libsieve.h (sieve_get_identifier): New function. (sieve_arg_error): New function. * libsieve/actions.c: Removed spurions indications of action names in diagnostic messages. Sieve_error prepends them automatically now. * libsieve/tests.c: Likewise. * libsieve/extensions/list.c: Likewise. * libsieve/extensions/timestamp.c: Likewise. * libsieve/extensions/vacation.c: Likewise. * libsieve/runtime.c (instr_action,instr_test): Update mach->identifier. * libsieve/sieve.h (struct sieve_machine.identifier): New field. * libsieve/util.c (sieve_value_create): Bugfix. (sieve_error): Prepend action or test identifier to the diagnostic message. (sieve_arg_error): New function. * po/POTFILES.in: Updated 2005-02-24 Sergey Poznyakoff Update by gnulib-sync. * lib/stdbool.h: New file * m4/unlocked-io.m4: New file * m4/argp.m4: Updated * m4/gnulib.m4: Updated * mailbox/Makefile.am: Updated 2005-02-23 Sergey Poznyakoff Synchronized with the recent gnulib. Provide a way to facilitate further synchronizations. * gnulib.modules: New file * scripts/gnulib-sync: New file. Script for synchronizing mailutils tree with gnulib. * configure.ac: Updated to use new gnulib files. * m4/mu_libobj.m4 (MU_LIBSOURCES,MU_REPLACE_FUNCS): New defun. (MU_CHECK_FUNCS): Removed. * Makefile.am: Remove headers/ * frm/frm.c (parse_opt): Bugfix. Was using optarg instead of arg * mail.local/main.c: Likewise * pop3d/popauth.c: Likewise * readmsg/readmsg.c: Likewise * include/mailutils/argp.h: Include errno.h * include/mailutils/gnu/Makefile.am: Remove posix/regex.h * libsieve/argp.c (sieve_argp_option): Use N_() * mailbox/message.c: Use new md5 calls * mailbox/pop/mbox.c: Likewise * mailbox/pop/pop3_apop.c: Likewise * mailbox/message.c: Likewise * mh/mh_error.c: Include mailutils/argp.h * mh/mh_getopt.c: Include string.h * pop3d/Makefile.am (INCLUDES): Add $(top_srcdir)/mailbox * pop3d/pop3d.h: Minor fix * lib/xalloc_die.c: New file * m4/gnulib.m4: New file * headers/.cvsignore * headers/Makefile.am * headers/getopt.h * headers/regex.h * headers/argp.h * headers/posix/.cvsignore * headers/posix/Makefile.am * headers/posix/regex.h * headers/posix Update by gnulib-sync. * lib/asprintf.c: New file * mailbox/alloca.h: New file * mailbox/argp.h: New file * mailbox/getopt.h: New file * lib/allocsa.c: Added to the repository * lib/allocsa.h: Added to the repository * lib/allocsa.valgrind: Added to the repository * lib/asprintf.c: Updated * lib/error.c: Added to the repository * lib/error.h: Updated * lib/exit.h: Added to the repository * lib/exitfail.c: Added to the repository * lib/exitfail.h: Added to the repository * lib/fnmatch.c: Updated * lib/fnmatch_.h: Added to the repository * lib/fnmatch_loop.c: Added to the repository * lib/getpass.c: Updated * lib/getpass.h: Added to the repository * lib/malloc.c: Updated * lib/obstack.c: Updated * lib/obstack.h: Updated * lib/realloc.c: Updated * lib/setenv.c: Updated * lib/setenv.h: Added to the repository * lib/snprintf.c: Updated * lib/snprintf.h: Updated * lib/stdbool_.h: Added to the repository * lib/unsetenv.c: Added to the repository * lib/vasprintf.c: Updated * lib/vasprintf.h: Added to the repository * lib/xalloc.h: Updated * lib/xmalloc.c: Updated * lib/xsize.h: Added to the repository * lib/xstrtol.c: Updated * lib/xstrtol.h: Updated * lib/xstrtoul.c: Added to the repository * m4/alloca.m4: Added to the repository * m4/allocsa.m4: Added to the repository * m4/argp.m4: Added to the repository * m4/eealloc.m4: Added to the repository * m4/eoverflow.m4: Added to the repository * m4/error.m4: Added to the repository * m4/exitfail.m4: Added to the repository * m4/extensions.m4: Added to the repository * m4/fnmatch.m4: Added to the repository * m4/getline.m4: Added to the repository * m4/getndelim2.m4: Added to the repository * m4/getopt.m4: Updated * m4/getpass.m4: Added to the repository * m4/gettext_gl.m4: Added to the repository * m4/glibc21_gl.m4: Added to the repository * m4/iconv.m4: Added to the repository * m4/intmax.m4: Added to the repository * m4/intmax_t.m4: Added to the repository * m4/intmax_t.m4: Added to the repository * m4/inttypes.m4: Added to the repository * m4/inttypes_h_gl.m4: Added to the repository * m4/inttypes_h_gl.m4: Added to the repository * m4/lib-ld_gl.m4: Added to the repository * m4/lib-prefix_gl.m4: Added to the repository * m4/longdouble.m4: Added to the repository * m4/longdouble.m4: Added to the repository * m4/longlong_gl.m4: Added to the repository * m4/longlong_gl.m4: Added to the repository * m4/mailbox-link.m4: Added to the repository * m4/mbstate_t.m4: Added to the repository * m4/md5.m4: Added to the repository * m4/mempcpy.m4: Added to the repository * m4/nls.m4: Added to the repository * m4/obstack.m4: Added to the repository * m4/onceonly.m4: Added to the repository * m4/onceonly.m4: Added to the repository * m4/po_gl.m4: Added to the repository * m4/printf-posix.m4: Added to the repository * m4/progtest.m4: Added to the repository * m4/regex.m4: Updated * m4/restrict.m4: Added to the repository * m4/setenv.m4: Added to the repository * m4/signed.m4: Added to the repository * m4/size_max.m4: Added to the repository * m4/size_max.m4: Added to the repository * m4/snprintf.m4: Added to the repository * m4/ssize_t.m4: Added to the repository * m4/stdbool.m4: Added to the repository * m4/stdint_h_gl.m4: Added to the repository * m4/stdint_h_gl.m4: Added to the repository * m4/strcase.m4: Added to the repository * m4/strchrnul.m4: Added to the repository * m4/strerror_r.m4: Added to the repository * m4/strndup.m4: Added to the repository * m4/strnlen.m4: Added to the repository * m4/strtok_r.m4: Added to the repository * m4/sysexits.m4: Added to the repository * m4/uint32_t.m4: Added to the repository * m4/uintmax_t_gl.m4: Added to the repository * m4/uintmax_t_gl.m4: Added to the repository * m4/ulonglong_gl.m4: Added to the repository * m4/ulonglong_gl.m4: Added to the repository * m4/vasnprintf.m4: Added to the repository * m4/vasprintf.m4: Added to the repository * m4/vsnprintf.m4: Added to the repository * m4/wchar_t.m4: Added to the repository * m4/wint_t.m4: Added to the repository * m4/xalloc.m4: Added to the repository * m4/xsize.m4: Added to the repository * m4/xsize.m4: Added to the repository * m4/xstrtol.m4: Added to the repository * mailbox/alloca.c: Added to the repository * mailbox/alloca_.h: Added to the repository * mailbox/argp-ba.c: Updated * mailbox/argp-eexst.c: Updated * mailbox/argp-fmtstream.c: Updated * mailbox/argp-fmtstream.h: Updated * mailbox/argp-fs-xinl.c: Updated * mailbox/argp-help.c: Updated * mailbox/argp-namefrob.h: Updated * mailbox/argp-parse.c: Updated * mailbox/argp-pv.c: Updated * mailbox/argp-pvh.c: Updated * mailbox/argp-xinl.c: Updated * mailbox/argp.h: Updated * mailbox/asnprintf.c: Added to the repository * mailbox/getline.c: Updated * mailbox/getline.h: Updated * mailbox/getndelim2.c: Added to the repository * mailbox/getndelim2.h: Added to the repository * mailbox/getopt.c: Updated * mailbox/getopt1.c: Updated * mailbox/getopt_.h: Added to the repository * mailbox/getopt_int.h: Added to the repository * mailbox/gettext.h: Added to the repository * mailbox/md5.c: Updated * mailbox/md5.h: Updated * mailbox/mempcpy.c: Added to the repository * mailbox/mempcpy.h: Added to the repository * mailbox/minmax.h: Added to the repository * mailbox/printf-args.c: Added to the repository * mailbox/printf-args.h: Added to the repository * mailbox/printf-parse.c: Added to the repository * mailbox/printf-parse.h: Added to the repository * mailbox/regex.c: Updated * mailbox/regex.h: Added to the repository * mailbox/strcase.h: Added to the repository * mailbox/strcasecmp.c: Added to the repository * mailbox/strchrnul.c: Updated * mailbox/strchrnul.h: Added to the repository * mailbox/strncasecmp.c: Added to the repository * mailbox/strndup.c: Updated * mailbox/strndup.h: Added to the repository * mailbox/strnlen.c: Updated * mailbox/strtok_r.c: Updated * mailbox/strtok_r.h: Added to the repository * mailbox/sysexit_.h: Added to the repository * mailbox/vasnprintf.c: Added to the repository * mailbox/vasnprintf.h: Added to the repository * mailbox/vsnprintf.c: Added to the repository * mailbox/vsnprintf.h: Added to the repository * mailbox/xsize.h: Added to the repository * scripts/config.rpath: Added to the repository 2005-02-21 Sergey Poznyakoff * libsieve/actions.c: Further unification of diagnostic style. * libsieve/argp.c: Likewise. * mail/mail.c: Likewise. * mail.local/mailquota.c: Likewise. * mailbox/mu_argp.c: Likewise. * mh/forw.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/send.c: Likewise. * sieve/sieve.c: Likewise. * mail.local/main.c: Add debug flag 'i' for symmetry with sieve 2005-02-16 Sergey Poznyakoff Fix a long-standing issue in mailbox and imap4d: be able to handle a case when a third-party program deletes some messages in the mailbox being open by imap4d (imap4d cannot and should not lock it, hence the possibility). * mailbox/amd.c (amd_pool_flush): New function. (amd_close): Call amd_pool_flush() and initialize amd data so that subsequent amd_open() works properly. (amd_destroy): Call amd_pool_flush. * mailbox/mbox/mbox.c (mbox_close): Initialize all private data so that subsequent mailbox_open() works properly. (mbox_is_updated): Updated comment * imap4d/bye.c (imap4d_bye0): Handle ERR_MAILBOX_CORRUPTED * imap4d/imap4d.h (ERR_MAILBOX_CORRUPTED): New error code. (imap4d_set_observer): New function * imap4d/select.c (imap4d_select0): Call imap4d_set_observer() * imap4d/sync.c (imap4d_set_observer): New function. (imap4d_sync): Check if the mailbox was shrunk (in libmailbox terms 'corrupted'). If so, reopen it and issue untagged alert. 2005-02-16 Sergey Poznyakoff * imap4d/auth_gsasl.c (cb_validate): Provide normal authentication for PLAIN and LOGIN mechanisms. 2005-02-11 Sergey Poznyakoff * imap4d/unsubscribe.c: Rewritten. Thanks Andrew Barnes for reporting the bug. 2005-02-03 Sergey Poznyakoff * guimb/main.c (parse_opt): Use arg instead of optarg. Thanks James Dolter for reporting. 2005-01-17 Sergey Poznyakoff * mailbox/parsedate.y (mu_parse_date): Initialize struct tm * mailbox/nntp/folder.c (nntp_folder_open): Do not use alloca * mailbox/nntp/mbox.c: Do not use alloca * doc/texinfo/Makefile.am: Rewritten to use gendocs.sh * doc/texinfo/index.html.in: Removed * doc/texinfo/gendocs_template: New file * doc/texinfo/fdl.texi: Fixed sectioning * doc/texinfo/programs.texi: Likewise. * doc/texinfo/url.texi: Likewise. * doc/texinfo/mailutils.texi: Fixed sectioning. Print table of contents after summary page, as suggested by GNU standards. 2005-01-05 Sergey Poznyakoff * configure.ac (AUTHLIBS_DEPENDENCY,SQLLIB_DEPENDENCY): New variables. I still hope to find a better solution, though (see comment to imap4d_DEPENDENCIES in imap4d/Makefile.am). New SQL driver: ODBC (--with-sql=odbc or --with-odbc) Raised version number to 0.6.1 * NEWS: Updated * README: Updated * auth/Makefile.am: Use explicit PROG_DEPENDENCIES * imap4d/Makefile.am: Likewise. * pop3d/Makefile.am: Likewise. * include/mailutils/sql.h (mu_sql_dispatch.errstr): Changed return type to const char* * sql/mysql.c: Likewise * sql/postgres.c: Likewise * sql/sql.c: Likewise * sql/odbc.c: New file. ODBC SQL driver. * sql/Makefile.am: Add odbc.c * mail/testsuite/mail/read.exp: Updated to match recent changes in diagnostic messages. 2005-01-04 Sergey Poznyakoff * libsieve/extensions/vacation.c: New action. Based on guimb/scm/vacation.scm and on ideas and code fragments from Felix Egli . * libsieve/extensions/Makefile.am: Add vacation * include/mailutils/libsieve.h (sieve_get_message_sender) (stream_printf): New prototypes. * THANKS: Add Felix Egli 2005-01-04 Sergey Poznyakoff * auth/sql.c: Revise error messages for accordance with GNU standards: begin messages with a capital letter, unless they are prefixed with `file:line:' or their exact look is important due to compatibility reasons. Do not end messages with a period. Avoid using contracted negations * auth/tls.c: Likewise * comsat/action.c: Likewise * comsat/cfg.c: Likewise * comsat/comsat.c: Likewise * dotlock/dotlock.c: Likewise * frm/frm.c: Likewise * from/from.c: Likewise * guimb/collect.c: Likewise * guimb/main.c: Likewise * guimb/util.c: Likewise * imap4d/auth_gss.c: Likewise * imap4d/imap4d.c: Likewise * imap4d/list.c: Likewise * imap4d/signal.c: Likewise * imap4d/util.c: Likewise * libsieve/actions.c: Likewise * libsieve/comparator.c: Likewise * libsieve/prog.c: Likewise * libsieve/runtime.c: Likewise * libsieve/sieve.l: Likewise * libsieve/tests.c: Likewise * libsieve/util.c: Likewise * mail/alt.c: Likewise * mail/copy.c: Likewise * mail/decode.c: Likewise * mail/file.c: Likewise * mail/if.c: Likewise * mail/mail.c: Likewise * mail/mailline.c: Likewise * mail/quit.c: Likewise * mail/send.c: Likewise * mail/source.c: Likewise * mail/unalias.c: Likewise * mail/util.c: Likewise * mail/var.c: Likewise * mail/z.c: Likewise * mail.local/mailquota.c: Likewise * mail.local/main.c: Likewise * mail.local/script.c: Likewise * mailbox/mailutils-config.c: Likewise * mailbox/mu_argp.c: Likewise * messages/messages.c: Likewise * mh/fmtcheck.c: Likewise * mh/folder.c: Likewise * mh/forw.c: Likewise * mh/inc.c: Likewise * mh/mark.c: Likewise * mh/mh_argp.c: Likewise * mh/mh_ctx.c: Likewise * mh/mh_fmtgram.y: Likewise * mh/mh_format.c: Likewise * mh/mh_init.c: Likewise * mh/mh_list.c: Likewise * mh/mh_msgset.c: Likewise * mh/mh_whom.c: Likewise * mh/mhl.c: Likewise * mh/mhn.c: Likewise * mh/pick.c: Likewise * mh/refile.c: Likewise * mh/repl.c: Likewise * mh/rmf.c: Likewise * mh/scan.c: Likewise * mh/send.c: Likewise * movemail/movemail.c: Likewise * pop3d/apop.c: Likewise * pop3d/extra.c: Likewise * pop3d/lock.c: Likewise * pop3d/pop3d.c: Likewise * pop3d/popauth.c: Likewise * pop3d/signal.c: Likewise * readmsg/readmsg.c: Likewise * sieve/sieve.c: Likewise * mail/testsuite/mail/read.exp: Updated to match new output format of the decode command 2005-01-04 Sergey Poznyakoff * mailbox/errors: Add gettext markers * po/POTFILES.in: Depend on mailbox/errors directly * scripts/generr.awk: Assume textual messages are already quoted. 2005-01-02 Jordi Mallach * doc/texinfo/programs.texi: Typo fix. 2005-01-01 Sergey Poznyakoff Generate automatically errno.h and muerrno.c from a single plain text file. This facilitates maintaining of mailutils- specific error codes. * include/mailutils/errno.h: Removed * include/mailutils/errno.hin: New file * include/mailutils/Makefile.am: Generate errno.h * mailbox/muerrno.c: Removed * mailbox/muerrno.cin: New file * mailbox/errors: New file * mailbox/Makefile.am: Generate muerrno.c * scripts/generr.awk: New file * scripts/Makefile.am: Add generr.awk Fix a recently spotted problem in the testsuite: * imap4d/testsuite/imap4d/list.exp: Use new -sort flag to avoid dependency on any particular ordering. Also corrected expected outputs due to inclusion of two new mailboxes quite some time ago (went unnoticed so far due to fuzzy matching technique + ordering-dependent output). * imap4d/testsuite/lib/imap4d.exp (imap4d_test): New flag -sort toggles on sorting of untagged responces. Notice that -sort and -re are mutually exclusive. * testsuite/lib/mailutils.exp (mu_test): Upvar expect_out 2004-12-28 Wojciech Polak Fixed displaying mail headers in different languages. * mail/util.c (util_rfc2047_decode): Fixed reading a language environment variable. * frm/frm.c (rfc2047_decode_wrapper): Likewise. (util_getcols): Imported function from mail/util.c. (action): Try to print only one line per message. * from/from.c (rfc2047_decode_wrapper): Fixed. 2004-12-23 Sergey Poznyakoff * configure.ac: Version 0.6 * NEWS: Likewise * README: Updated * auth/gsasl.c: Updated for GSASL >=0.2.3. Previous versions won't work. * auth/lbuf.c (_auth_lb_writelines): Bugfix * mail.local/mail.local.h (USE_MAILBOX_QUOTAS): New define * mail.local/mailquota.c: Use USE_MAILBOX_QUOTAS. (sql_retrieve_quota): Assume unlimited quotas for empty fields. * mail.local/main.c: Use USE_MAILBOX_QUOTAS. 2004-12-17 Sergey Poznyakoff * configure.ac: Do not allow to specify modules more than once * auth/sql.c (sql_escape_string): Escape ocurrences of ' and " in string. (mu_sql_expand_query): prevent possible sql injection * mail.local/mailquota.c (sql_retrieve_quota): Allow for NULL columns * sql/postgres.c (destroy): Bugfix: do not free pgconn 2004-12-05 Sergey Poznyakoff * Makefile.am: Added sql/ * configure.ac: Rewritten sql-related part. Allow to specify several SQL libraries simultaneously. * sql: New directory * sql/Makefile.am: New file * sql/.cvsignore: New file * sql/sql.c: New file * sql/mysql.c: New file * sql/postgres.c: New file * auth/mysql.c: Removed * auth/pgsql.c: Removed * auth/sql.c: Rewritten using general SQL interface. * auth/Makefile.am: Removed mysql.c and pgsql.c * include/mailutils/sql.h: New file * include/mailutils/Makefile.am: Added sql.h * include/mailutils/errno.h: Added new error codes. * mailbox/muerrno.c: Likewise. * mail.local/mail.local.h (quota_query): New variable * mail.local/mailquota.c: Retrieve quotas from SQL database * mail.local/main.c: New option --quota-query * scripts/sqlmod.sh: New file * scripts/Makefile.am: Added sqlmod.sh * doc/texinfo/programs.texi: Documented mailbox quotas * NEWS: Updated * README: Updated * po/POTFILES.in: Updated 2004-12-02 Sergey Poznyakoff * doc/texinfo/programs.texi: Documented movemail. 2004-11-18 Sergey Poznyakoff * mailbox/imap/folder.c (authenticate_imap_select): Use ENOSYS as the default status value to allow MU_ERR_AUTH_FAILURE to be propagated back to the caller. (imap_parse): Display "NO/Bad Tagged" error diagnostics only if status != MU_ERR_AUTH_FAILURE. Should we display it at all? * movemail/movemail.c: Emacs-iteraction mode (--emacs) 2004-11-17 Wojciech Polak Added initial version of `libmu_cpp', a C++ wrapper for Mailutils. * libmu_cpp: Added new directory. * libmu_cpp/address.cc: New file. * libmu_cpp/filter.cc: Likewise. * libmu_cpp/iterator.cc: Likewise. * libmu_cpp/mailbox.cc: Likewise. * libmu_cpp/mailer.cc: Likewise. * libmu_cpp/message.cc: Likewise. * libmu_cpp/stream.cc: Likewise. * libmu_cpp/header.cc: Likewise. * libmu_cpp/list.cc: Likewise. * libmu_cpp/mailcap.cc: Likewise. * libmu_cpp/pop3.cc: Likewise. * libmu_cpp/url.cc: Likewise. * libmu_cpp/Makefile.am: Likewise. * include/mailutils/cpp: Added new directory. * include/mailutils/cpp/address.h: New file. * include/mailutils/cpp/error.h: Likewise. * include/mailutils/cpp/header.h: Likewise. * include/mailutils/cpp/list.h: Likewise. * include/mailutils/cpp/mailcap.h: Likewise. * include/mailutils/cpp/mailutils.h: Likewise. * include/mailutils/cpp/message.h: Likewise. * include/mailutils/cpp/stream.h: Likewise. * include/mailutils/cpp/filter.h: Likewise. * include/mailutils/cpp/iterator.h: Likewise. * include/mailutils/cpp/mailbox.h: Likewise. * include/mailutils/cpp/mailer.h: Likewise. * include/mailutils/cpp/pop3.h: Likewise. * include/mailutils/cpp/url.h: Likewise. * include/mailutils/cpp/Makefile.am: Likewise. * examples/cpp/addr.cc: New file. * examples/cpp/http.cc: Likewise. * examples/cpp/listop.cc: Likewise. * examples/cpp/sfrom.cc: Likewise. * examples/cpp/iconv.cc: Likewise. * examples/cpp/mailcap.cc: Likewise. * examples/cpp/murun.cc: Likewise. * examples/cpp/url-parse.cc: Likewise. * examples/cpp/Makefile.am: Likewise. 2004-11-15 Wojciech Polak * examples/config: New directory. * examples/cpp: Likewise. * examples/scheme: Likewise. * examples/config/Makefile.am: New file. * examples/cpp/Makefile.am: Likewise. * examples/scheme/Makefile.am: Likewise. * examples/comsat.conf: Moved to config/. * examples/dot.biffrc: Likewise. * examples/gnu-imap4d.pam: Likewise. * examples/gnu-pop3d.pam: Likewise. * examples/mailutils.rc: Likewise. * examples/reply.scm: Moved to scheme/. * examples/Makefile.am: Updated. * configure.ac: Updated. 2004-11-15 Sergey Poznyakoff * imap4d/imap4d.c: New option --tls-required: do not allow authentication until TLS negotiation succeeds. * imap4d/authenticate.c (imap4d_authenticate): Do not proceed if tls_required is set. * imap4d/login.c (imap4d_login): Likewise. * imap4d/imap4d.h (IMAP_CAPA_STARTTLS,IMAP_CAPA_LOGINDISABLED) (IMAP_CAPA_XTLSREQUIRED): New defines * imap4d/starttls.c (imap4d_starttls): Clear tls_required upon successfull TLS handshake. (starttls_init): Use IMAP_CAPA_STARTTLS instead of hardcoded literal. * include/mailutils/header.h (MU_HEADER_X_EXPIRE_TIMESTAMP): New define. * pop3d/pop3d.c: New option --tls-required: do not allow authentication until TLS negotiation succeeds. New option --delete-expired: delete expired messages before closing the mailbox. * pop3d/capa.c (pop3d_capa): Announce XTLSREQUIRED if appropriate * pop3d/expire.c (expire_mark_message): New function * pop3d/pop3d.h: New declarations. * pop3d/quit.c (pop3d_fix_mark): Use expire_mark_message to process expired messages. Apart from the new functionality, it also fixes a bug: len was incorrectly used as a replace indicator in header_set_value, thus each retrieval of the message was resetting its expiration date. * pop3d/stls.c (pop3d_stls): Set state to AUTHORIZATION upon successful completion of TLS negotiation. * configure.ac: Raised version number to 0.5.1 * NEWS: Entry for 0.5.1 2004-11-03 Sergey Poznyakoff * dotlock/dotlock.c: Removed -T option (CAN-2004-0984) 2004-10-26 Sergey Poznyakoff * imap4d/store.c (imap4d_store0): Send \r\n at the end of the unsolicited response. 2004-09-18 Sergey Poznyakoff * configure.ac: Bugfix * mailbox/mime.c (_mime_munge_content_header): Bugfix 2004-08-31 Wojciech Polak * mailbox/file_stream.c (prog_stream_create): Changed type of the second argument to const char*. (filter_prog_stream_create): Likewise. (_prog_stream_create): Changed type of the third argument to const char*. * include/mailutils/stream.h (prog_stream_create): Changed type of the second argument to const char*. (filter_prog_stream_create): Likewise. * doc/texinfo/stream.texi: Updated. * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.14.1. 2004-08-24 Sergey Poznyakoff * mail/util.c (util_do_command): Fixed coredump on unparseable input strings. * THANKS: Added Dan Jacobson 2004-08-20 Sergey Poznyakoff * include/mailutils/guile.h (MU_SCM_SYMBOL_VALUE): New define (_mu_scm_mailer,_mu_scm_debug): Removed externs. * include/mailutils/list.h (list_set_destroy_item): Use __PMT in nested declarations. * libmu_scm/mu_message.c: Properly access mu-mailer and mu-message values. 2004-08-11 Sergey Poznyakoff * mail/send.c (mail_send0): Fixed coredump on reading a single escape char. 2004-08-08 Sergey Poznyakoff * headers/argp.h: Protect typedef int error_t by an additional #ifndef. Thanks Alex S. Moore for helping find out the problem. 2004-08-07 Sergey Poznyakoff * Makefile.am: Raised automake requirements to version 1.8.5 * examples/nntpclient.c: Minor fixes. * imap4d/Makefile.am (INCLUDES): Added -Imailbox * imap4d/imap4d.h: Added missing includes * include/mailutils/nls.h [!ENABLE_NLS]: Define gettext() * include/mailutils/nntp.h: Minor changes. The screen is 80x24! * mailbox/locker.c (_locker_lock_dotlock): Make sure the lock file is writable for the owner. * mailbox/imap/folder.c (authenticate_imap_sasl_anon): Use auth_state instead of state. Possibly this was a typo... * mailbox/include/imap0.h (struct _f_imap.capac): Changed type to int. * mailbox/maildir/mbox.c (maildir_gethostname): Fixed a gross memory allocation bug. * mailbox/message.c: Minor changes. * mailbox/mbox/url.c: Likewise. * mailbox/nntp/folder.c: Likewise. * mailbox/nntp/mbox.c: Likewise. * mailbox/nntp/nntp_article.c: Likewise. * mailbox/nntp/nntp_connect.c: Likewise. * mailbox/nntp/nntp_date.c: Likewise. * mailbox/nntp/nntp_head.c: Likewise. * mailbox/nntp/nntp_ihave.c: Likewise. * mailbox/nntp/nntp_post.c: Likewise. * scripts/guile-1.6/guile-doc-snarf: Bugfix. Always use $AWK. 2004-08-06 Sergey Poznyakoff * include/mailutils/daemon.h: Include types.h 2004-07-07 Sergey Poznyakoff * libsieve/extensions/spamd.c (decode_float): Return signed long value, as SpamAssassin scores can be negative. (spamd_test): Updated accordingly 2004-07-05 Sergey Poznyakoff * include/mailutils/registrar.h (mu_register_extra_formats): New macro. (mu_register_all_formats): Call mu_register_extra_formats() * mailbox/mu_argp.c (mu_conf_option): Added ENABLE_NNTP * mailbox/nntp/Makefile.am: Add nntp0.h * mh/Makefile.am: Added libmu_nntp.la * readmsg/readmsg.c (main): Call mu_register_extra_formats() 2004-07-05 Sergey Poznyakoff * include/mailutils/registrar.h (mu_register_all_mbox_formats): Removed nntp_record. It is not a *mailbox* format. * mailbox/mailutils-config.c: Added mu_nntp * mailbox/include/iterator0.h (_iterator.getitem): Changed declaration. There's no use passing a pointer to the const location, since the function *must* assign to it anyway. * include/mailutils/iterator.h (iterator_set_getitem): Changed declaration * mailbox/iterator.c (iterator_set_getitem): Changed declaration (iterator_current): Additional typecast on pitem * mailbox/list.c: Updated declaration of getitem method. * mailbox/nntp/nntp_iterator.c: Likewise * mailbox/pop/pop3_iterator.c: Likewise * mailbox/mailbox.c: Include * mailbox/mailer.c: Likewise 2004-07-05 Alain Magloire * configure.ac: enable NNTP support. * example/Makefile.am: Enable NNTP. * frm/Makefile.am: Enable NNTP. * from/Makefile.am: Enable NNTP. * messages/Makefile.am: Enable NNTP. * readmsg/Makefile.am: Enable NNTP. * guimb/Makefile.am: Enable NNTP. * mail/Makefile.am: Enable NNTP. * sieve/Makefile.am: Enable NNTP. * imap4d/Makefile.am: Put @AUTHLIBS@ before libmailbox.a (failed on cygwin if not). * pop3d/Makefile.am: Put @AUTHLIBS@ before libmailbox.a (failed on cygwin if not). * mail.local/Makefile.am: Put @AUTHLIBS@ before libmailbox.a (failed on cygwin if not). * mailbox/stream.c (stream_wait): Bugfix. If we buffer return true if the cache still have data. * include/mailutils/nntp.h: Define the default NNTP port number. * include/mailutils/pop3.h: Define the default POP3 port number. * include/mailutils/registrar.h: Enable NNTP. * mailbox/nntp/folder.c: New file. * mailbox/nntp/mbox.c: New file. * mailbox/nntp/url.c: New file. * mailbox/nntp/Makefile.am: Updated. 2004-07-03 Sergey Poznyakoff * mailbox/list.c (list_data_dup): Bugfix: *ptr was not assigned. * doc/texinfo/muint.texi: Automake does not allow two independent texi sources to include the same file (version.texi, in this case). What a stupid lossage! However it handles all files whose name matches "vers*.texi" as version.texi, which allows to override the bug: include vers-muint.texi instead of version.texi. 2004-07-01 Sergey Poznyakoff * include/mailutils/iterator.h (iterator_current) (iterator_set_getitem): Changed proto (iterator_get_list): Removed. * mailbox/include/iterator0.h (struct _iterator.getitem): Changed declaration. * mailbox/iterator.c (iterator_current) (iterator_set_getitem): Changed declaration * mailbox/list.c (getitem): Changed declaration * mailbox/rfc2047.c (rfc2047_decode): Fixed buffer handling * examples/mta.c: Minor fix * examples/nntpclient.c: Fixed printf formats (com_newgroups,com_newnews): Variable declarations are only allowed before the statements. * mailbox/nntp/nntp_article.c: Fixed printf formats * mailbox/nntp/nntp_body.c: Likewise * mailbox/nntp/nntp_head.c: Likewise * mailbox/nntp/nntp_iterator.c: Added missing include (nntp_itr_getitem): Changed declaration * mailbox/pop/pop3_iterator.c (pop3_itr_getitem): Changed declaration 2004-06-30 Alain Magloire * configure.ac: Add nntp directory. * doc/rfc/pop3.texit: add new API. * mailbox/Makefile.am: Add nntp directory. * mailbox/nntp/Makefile.am: Add new files. * mailbox/nntp/nntp_iterator.c: New file. * mailbox/nntp/nntp_list_active.c: Use the an iterator_t instead of a lis_t.. * mailbox/nntp/nntp_list_distribpats.c: instead of a lis_t. file. * mailbox/nntp/nntp_list_times.c: instead of a lis_t. file. * mailbox/nntp/nntp_list_newgroups.c: instead of a lis_t. file. * mailbox/nntp/nntp_list_newnews.c: instead of a lis_t. file. * mailbox/pop3/Makefile.am: Add new files. * mailbox/pop3/pop3_iterator.c: New file. * mailbox/pop3/pop3_capa.c: instead of a lis_t. file. * mailbox/pop3/pop3_lista.c: instead of a lis_t. file. * mailbox/pop3/pop3_uidla.c: instead of a lis_t. file. * include/mailutils/Makefile.am: Add nntp.h and pop3.h. * include/mailutils/nntp.h: Add new declarations. * include/mailutils/sys/Makefile.am: Add nntp and pop3.hh * include/mailutils/sys/nntp.h: Add new declarations. * include/mailutils/pop3.h: NAdd new declarations. * example/Makefile.am: Adusted to new API. * example/nntpclient.c: Adusted to new API. * example/pop3client.c: Adusted to new API. * example/.cvsignore: Add nntpclient. 2004-06-30 Alain Magloire * mailbox/list.c (list_get_iterator): Bug fix, wrong size for calloc() (list_data_dup): Copy the elements. 2004-06-30 Sergey Poznyakoff * libsieve/extensions/spamd.c (spamd_shutdown): Bugfix 2004-06-29 Alain Magloire Continuing the framework for NNTP support * mailbox/nntp/.cvsignore: New file. * mailbox/nntp/nntp_help.c: New file. * mailbox/nntp/nntp_ihave.c: New file. * mailbox/nntp/nntp_list_active.c: New file. * mailbox/nntp/nntp_list_distribpats.c: New file. * mailbox/nntp/nntp_list_distributions.c: New file. * mailbox/nntp/nntp_list_newsgroups.c: New file. * mailbox/nntp/nntp_list_times.c: New file. * mailbox/nntp/nntp_newgroups.c: New file. * mailbox/nntp/nntp_newnews.c: New file. * mailbox/nntp/nntp_post.c: New file. * mailbox/nntp/nntp_article.c: implementation. * mailbox/nntp/nntp_body.c: implementation. * mailbox/nntp/nntp_connect.c: implementation. * mailbox/nntp/nntp_date.c: implementation. * mailbox/nntp/nntp_destroy.c: implementation. * mailbox/nntp/nntp_group.c: implementation. * mailbox/nntp/nntp_head.c: implementation. * mailbox/nntp/nntp_list_extensions.c: implementation. * mailbox/nntp/nntp_stat.c: implementation. * mailbox/nntp/nntp_stream.c: implementation. * include/mailutils/nntp.h: Declarations. * include/mailutils/sys/nntp.h: Declarations. * examples/nntpclient.c: Adujsted. * examples/pop3client.c: Minor bug fixes. 2004-06-28 Sergey Poznyakoff * mailbox/filter_iconv.c (internal_icvt_read) (copy_pass): Fixed mistyped conditions. * mailbox/include/iterator0.h (struct _iterator): rewritten as a general-purpose iterator structure. * include/mailutils/iterator.h (iterator_create): Changed proto. (iterator_attach,iterator_detach,iterator_advance) (iterator_set_first,iterator_set_next) (iterator_set_getitem,iterator_set_finished_p) (iterator_set_dup,iterator_set_destroy): New functions. * mailbox/iterator.c: Likewise * include/mailutils/list.h (list_get_iterator): New function * mailbox/list.c: Likewise * examples/listop.c: Replace iterator_create with list_get_iterator. * examples/nntpclient.c: Likewise * examples/pop3client.c: Likewise * imap4d/util.c: Likewise * libsieve/comparator.c: Likewise * libsieve/prog.c: Likewise * libsieve/register.c: Likewise * libsieve/require.c: Likewise * libsieve/sieve.l: Likewise * mail/retain.c: Likewise * mail/util.c: Likewise * mailbox/filter.c: Likewise * mailbox/folder.c: Likewise * mailbox/mailbox.c: Likewise * mailbox/mailer.c: Likewise * mailbox/mu_auth.c: Likewise * mailbox/mutil.c: Likewise * mailbox/observer.c: Likewise * mh/ali.c: Likewise * mh/mh_alias.y: Likewise * mh/pick.y: Likewise * mh/refile.c: Likewise 2004-06-27 Sergey Poznyakoff * direntry: New file 2004-06-27 Sergey Poznyakoff See ChangeLog.0.5 for earlier entries Local Variables: mode: change-log version-control: never End: