summaryrefslogtreecommitdiff
path: root/mh/mh_whom.c
AgeCommit message (Collapse)AuthorFiles
2017-06-11Fix the -nodraftfolder and -nowhatnowproc options.Sergey Poznyakoff1
The commit 744c4a9c didn't take into account the -nodraftfolder and -nowhatnowproc options, which can be used to cancel the effect of the corresponding facilities. This commit fixes it. * mh/mh_getopt.c (mh_getopt_ext): New function. * mh/mh_getopt.h (mh_getopt_ext): New prototype. (mh_optinit): New struct. * mh/tests/comp.at: Test the use of Draft-Folder * mh/tests/forw.at: Likewise. * mh/tests/repl.at: Likewise. * mh/comp.c (main): use mh_getopt_ext to properly process draftfolder and whatnowproc. * mh/forw.c: Likewise. * mh/repl.c: Likewise. * mh/mh.h (mh_whom): Remove. (mh_whom_header, mh_whom_file, mh_whom_message): New protos. * mh/mh_alias.y (mh_read_aliases): Don't read aliases twice. * mh/mh_whatnow.c (whom): Use mh_whom_file. * mh/mh_whom.c (mh_whom): Rewrite and rename to mh_whom_file. (mh_whom_header, mh_whom_message): New functions. * mh/whom.c: Use mh_getopt_ext. Interpret command line arguments, depending on whether the draftfile facility is in use.
2017-01-01Happy GNU YearSergey Poznyakoff1
2016-01-22Update copyright yearsSergey Poznyakoff1
2015-03-02Update copyright yearsSergey Poznyakoff1
2014-02-05Update copyright years.Sergey Poznyakoff1
2012-03-25Revise some memory allocation routines.Sergey Poznyakoff1
* examples/aclck.c: Check return values from strdup. * libmailutils/base/usremail.c: Likewise. * libmailutils/mailbox/bodystruct.c: Likewise. * lib/mailcap.c: Likewise. * libmailutils/mailbox/mbx_default.c: Likewise. * libmailutils/server/acl.c: Likewise. * libmailutils/stream/logstream.c: Likewise. * libmailutils/stream/message_stream.c: Likewise. * libmu_argp/mu_argp.c: Likewise. * libmu_auth/ldap.c: Likewise. * libmu_auth/pam.c: Likewise. * libmu_auth/sql.c: Likewise. * libmu_sieve/comparator.c: Likewise. * libmu_sieve/conf.c: Likewise. * libmu_sieve/extensions/list.c: Likewise. * libmu_sieve/extensions/vacation.c: Likewise. * libproto/mailer/prog.c: Likewise. * libproto/mailer/smtp_io.c: Likewise. * maidag/lmtp.c: Likewise. * python/libmu_py/address.c: Likewise. * sql/odbc.c * examples/sfrom.c (main): Avoid unnecessary memory allocation. * libmailutils/mailbox/mailbox.c: Likewise. * frm/frm.h: Include mailutils/alloc.h, remove xalloc.h * mh/mh.h: Likewise. * imap4d/imap4d.h: Remove xalloc.h * mail/mail.h: Likewise. * mimeview/mimeview.h: Likewise. * mu/acl.c: Likewise. * readmsg/readmsg.c: Likewise. * include/mailutils/locker.h (mu_locker_set_default_external_program): Change returned type. * include/mailutils/mailbox.h (mu_set_folder_directory): Change returned type. * libmailutils/base/locker.c (mu_locker_set_default_external_program): Return int (error code). * libmailutils/base/tilde.c: Add extra checks * libmailutils/mime/mimehdr.c (_mime_header_parse): Bugfix. * mail/folders.c: Don't use alloca, use mu_alloc instead. It was the only use of that function in Mailutils, so this change allows to withdraw the alloca module. * gnulib.modules (alloca, malloc) (realloc, xalloc): Remove. * frm/common.c: Use mu_alloc and friends instead of xmalloc. * frm/from.c: Likewise. * imap4d/append.c: Likewise. * imap4d/auth_gsasl.c: Likewise. * imap4d/authenticate.c: Likewise. * imap4d/fetch.c: Likewise. * imap4d/imap4d.c: Likewise. * imap4d/io.c: Likewise. * imap4d/list.c: Likewise. * imap4d/namespace.c: Likewise. * imap4d/parsebuf.c: Likewise. * imap4d/preauth.c: Likewise. * imap4d/rename.c: Likewise. * imap4d/search.c: Likewise. * imap4d/util.c: Likewise. * libmu_argp/muinit.c: Likewise. * mail/alias.c: Likewise. * mail/alt.c: Likewise. * mail/copy.c: Likewise. * mail/decode.c: Likewise. * mail/escape.c: Likewise. * mail/file.c: Likewise. * mail/from.c: Likewise. * mail/mail.c: Likewise. * mail/mailline.c: Likewise * mail/mailvar.c: Likewise * mail/msgset.y: Likewise * mail/page.c: Likewise * mail/send.c: Likewise * mail/shell.c: Likewise * mail/unset.c: Likewise * mail/util.c: Likewise * mh/folder.c: Likewise * mh/mh_alias.l: Likewise * mh/mh_alias.y: Likewise * mh/mh_fmtgram.y: Likewise * mh/mh_format.c: Likewise * mh/mh_global.c: Likewise * mh/mh_init.c: Likewise * mh/mh_list.c: Likewise * mh/mh_whatnow.c: Likewise * mh/mh_whom.c: Likewise * mh/mhn.c: Likewise * mh/pick.y: Likewise * mh/prompter-rl.c: Likewise * mh/refile.c: Likewise * mh/repl.c: Likewise * mh/send.c: Likewise * mh/sortm.c: Likewise * mimeview/mimetypes.y: Likewise * mu/dbm.c: Likewise * mu/dispatch.c: Likewise * mu/imap.c: Likewise * mu/pop.c: Likewise * mu/shell.c: Likewise * pop3d/apop.c: Likewise * pop3d/bulletin.c: Likewise * pop3d/popauth.c: Likewise * pop3d/user.c: Likewise
2012-01-11Assorted fixes.Sergey Poznyakoff1
* libmailutils/mailer/mailer.c (mu_mailer_send_fragments): Fix 3rd argument to _set_to. * libproto/mailer/smtp.c (smtp_send_message): SIZE capability can appear alone, without specifying maximum size. * mh/mh_whom.c (mh_alias_expand): Recreate domain part for addresses missing it.
2012-01-05Happy GNU YearSergey Poznyakoff1
2011-11-19Rename mu_list_do to mu_list_foreach. Add comments to mailutils/list.hSergey Poznyakoff1
2011-01-02Update copyright years.Sergey Poznyakoff1
Happy GNU year!
2010-11-21mh: improve component reading (profile, context and whom).Sergey Poznyakoff1
* libmailutils/filter/header.c: New file. * libmailutils/filter/Makefile.am (libfilter_la_SOURCES): Add header.c. * libmailutils/filter/filter.c (mu_filter_get_list): Register mu_header_filter. * libmailutils/filter/inline-comment.c: (ilcmt_ws) (ilcmt_rollback): New states. (ILCMT_REMOVE_EMPTY_LINES,ILCMT_SQUEEZE_WS): New flags. (ilcmt_data)<buf,size,level,replay>: New members. (ilcmt_action): New enum (new_ilcmt_state): Return enum ilcmt_action. (_ilcmt_decoder): Optionally remove empty lines and squeeze leading white space. * libmailutils/property/mhprop.c (_mh_prop_read_stream): Remove empty lines from the input. * libmailutils/tests/Makefile.am (TESTSUITE_AT): Add hdrflt.at and inline-comment.at. * libmailutils/tests/testsuite.at: Include hdrflt.at and inline-comment.at. * libmailutils/tests/fltst.c: Pass optional arguments to the filter creation procedure. * mh/mh_whom.c (read_header): New function. (mh_whom): Rewrite using headers. * include/mailutils/filter.h: Fix a typo. * libmailutils/stream/fltstream.c: Likewise. * libmu_auth/gsasl.c: Likewise.
2010-11-20Move MH profile & context support to libproto.Sergey Poznyakoff1
* mh/mh_ctx.c: Remove. * mh/Makefile.am (libmh_a_SOURCES): Remove mh_ctx.c * mh/folder.c (read_seq_file): Use mu_property_t. * mh/mh.h (mh_context_iterator): Remove typedef. (mh_global_profile_get, mh_global_profile_set) (mh_global_profile_iterate) (mh_global_context_set,mh_global_context_set) (mh_global_context_iterate): Rewrite as macros. (mh_global_sequences_iterate): Change signature. (mh_read_property_file,mh_property_merge): New protos. (mh_context_create,mh_context_read,mh_context_write) (mh_context_get_value,mh_context_set_value,mh_context_iterate) (mh_context_destroy,mh_context_merge): Remove protos. * mh/mh_global.c (mh_global_profile_get, mh_global_profile_set) (mh_global_profile_iterate) (mh_global_context_set,mh_global_context_set) (mh_global_context_iterate): Remove. (mh_read_property_file,mh_property_merge): New functions. (_mh_init_global_context,mh_read_profile) (mh_set_current_folder,mh_global_sequences_iterate): Rewrite. (mh_global_save_state): Rewrite. * mh/mh_whom.c (mh_whom): Use mu_property_t. * mh/send.c: Use mu_property_t. * po/POTFILES.in: Add mh/mboxprop.c.
2010-10-09Fix copyleft notices to follow the GNU standards.Sergey Poznyakoff1
2010-01-05Update copyright years.Sergey Poznyakoff1
Happy GNU year!
2009-08-25Change error messages to comply with the GNU standards.Sergey Poznyakoff1
The string MESSAGE should not begin with a capital letter when it follows a program name and/or file name, because that isn't the beginning of a sentence. (The sentence conceptually starts at the beginning of the line.) Also, it should not end with a period. * include/mailutils/diag.h (mu_diag_funcall): New prototype. * mailbox/diag.c: New function. * comsat/action.c, comsat/comsat.c, comsat/oldcfg.c, config/mailutils-config.c, configure.ac, dotlock/dotlock.c, frm/common.c, frm/from.c, guimb/collect.c, guimb/main.c, guimb/util.c, imap4d/auth_gsasl.c, imap4d/auth_gss.c, imap4d/bye.c, imap4d/close.c, imap4d/imap4d.c, imap4d/login.c, imap4d/preauth.c, imap4d/signal.c, imap4d/starttls.c, imap4d/util.c, lib/mailcap.c, lib/tcpwrap.c, libmu_argp/mu_argp.c, libmu_auth/ldap.c, libmu_auth/radius.c, libmu_auth/sql.c, libmu_auth/tls.c, libmu_cfg/acl.c, libmu_cfg/common.c, libmu_cfg/init.c, libmu_cfg/ldap.c, libmu_cfg/sql.c, libmu_sieve/actions.c, libmu_sieve/comparator.c, libmu_sieve/extensions/moderator.c, libmu_sieve/prog.c, libmu_sieve/sieve.l, libproto/imap/folder.c, libproto/mbox/mbox.c, maidag/deliver.c, maidag/lmtp.c, maidag/maidag.c, maidag/mailquota.c, maidag/mailtmp.c, maidag/script.c, mail/alias.c, mail/cd.c, mailbox/cfg_lexer.l, mailbox/cfg_parser.y, mailbox/file_stream.c, mailbox/gocs.c, mailbox/msrv.c, mailbox/mutil.c, mailbox/registrar.c, messages/messages.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/mark.c, mh/mh_ctx.c, mh/mh_fmtgram.y, mh/mh_format.c, mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c, mh/mh_whatnow.c, mh/mh_whom.c, mh/mhl.c, mh/mhn.c, mh/pick.c, mh/refile.c, mh/repl.c, mh/rmf.c, mh/scan.c, mh/send.c, mimeview/mimetypes.l, mimeview/mimeview.c, movemail/movemail.c, pop3d/apop.c, pop3d/bulletin.c, pop3d/extra.c, pop3d/lock.c, pop3d/logindelay.c, pop3d/pop3d.c, pop3d/popauth.c, pop3d/quit.c, pop3d/signal.c, pop3d/user.c, readmsg/readmsg.c, sieve/sieve.c: Fix error messages.
2009-07-07Introduce locale-independent character type and string functions.Sergey Poznyakoff1
* include/mailutils/cctype.h: New file. * include/mailutils/cstr.h: New file. * include/mailutils/Makefile.am: Add new files. * mailbox/cstrcasecmp.c: New file. * mailbox/cstrlower.c: New file. * mailbox/cstrupper.c: New file. * mailbox/muctype.c: New file. * mailbox/strltrim.c: New file. * mailbox/strrtrim.c: New file. * mailbox/strskip.c: New file. * mailbox/Makefile.am: Add new files. * .gitignore: Update * gnulib.modules: Remove strcase. * comsat/comsat.h, imap4d/imap4d.h, include/mailutils/mailutils.h, include/mailutils/mutil.h, include/mailutils/sys/pop3.h, libmu_scm/mu_scm.h, mail/mail.h: Include cstr.h and cctype.h. * comsat/oldcfg.c, config/mailutils-config.c, examples/mimetest.c, examples/mta.c, examples/nntpclient.c, examples/pop3client.c, imap4d/append.c, imap4d/create.c, imap4d/delete.c, imap4d/fetch.c, imap4d/id.c, imap4d/idle.c, imap4d/list.c, imap4d/namespace.c, imap4d/rename.c, imap4d/search.c, imap4d/status.c, imap4d/store.c, imap4d/uid.c, imap4d/util.c, libmu_argp/compat.c, libmu_auth/ldap.c, libmu_auth/sql.c, libmu_scm/mu_message.c, libmu_sieve/actions.c, libmu_sieve/comparator.c, libmu_sieve/extensions/list.c, libmu_sieve/extensions/spamd.c, libmu_sieve/extensions/vacation.c, libmu_sieve/load.c, libmu_sieve/sieve.l, libmu_sieve/tests.c, libproto/imap/folder.c, libproto/mailer/smtp.c, libproto/mbox/mbox.c, libproto/mh/folder.c, libproto/mh/mbox.c, libproto/pop/folder.c, libproto/pop/mbox.c, libproto/pop/pop3_connect.c, maidag/forward.c, maidag/lmtp.c, maidag/maidag.c, maidag/maidag.h, maidag/mailquota.c, mail/alt.c, mail/copy.c, mail/decode.c, mail/escape.c, mail/followup.c, mail/mail.c, mail/mailline.c, mail/msgset.y, mail/print.c, mail/reply.c, mail/send.c, mail/shell.c, mail/util.c, mail/write.c, mailbox/address.c, mailbox/amd.c, mailbox/assoc.c, mailbox/attachment.c, mailbox/attribute.c, mailbox/cfg_lexer.l, mailbox/date.c, mailbox/filter.c, mailbox/gdebug.c, mailbox/header.c, mailbox/kwd.c, mailbox/locale.c, mailbox/mailcap.c, mailbox/mailer.c, mailbox/message.c, mailbox/message_stream.c, mailbox/mime.c, mailbox/msrv.c, mailbox/mutil.c, mailbox/parse822.c, mailbox/progmailer.c, mailbox/rfc2047.c, mailbox/syslog.c, mailbox/url.c, mailbox/version.c, mh/mh.h, mh/mh_alias.l, mh/mh_ctx.c, mh/mh_fmtgram.y, mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c, mh/mh_sequence.c, mh/mh_whatnow.c, mh/mh_whom.c, mh/mhn.c, mh/mhparam.c, mh/pick.y, mh/sortm.c, mimeview/mimetypes.y, pop3d/bulletin.c, pop3d/expire.c, pop3d/pop3d.c, pop3d/pop3d.h, pop3d/popauth.c, pop3d/user.c, readmsg/msglist.c, readmsg/readmsg.c, readmsg/readmsg.h, sql/mysql.c, sql/postgres.c: Use locale-independent cclass and str functions.
2009-05-11Bugfixes.Sergey Poznyakoff1
* mailbox/filter.c (filter_close): Do not close transport stream if the MU_STREAM_NO_CLOSE flag is set. * imap4d/fetch.c (fetch_io): Fix memory leak: open the filter with MU_STREAM_NO_CLOSE flag and destroy it after use. * include/mailutils/header.h (mu_header_set_stream): Comment out. There is no such function, but perhaps there should be? * libproto/mbox/folder.c (_folder_mbox_init): If there is no explicit path in the URL, use ".". This makes it possible to use URLs like: mbox:file. * mailbox/nls.c (mu_set_locale) [ENABLE_NLS]: Remove ifdef. Setlocale must be enabled whenever possible, otherwise we cannot relay on mu_strftime malfunctions in non-english locales. * mh/mh_whom.c (mh_alias_expand): Handle NULL or empty inputs.
2009-04-15Improve RFC822 address parsing.Sergey Poznyakoff1
* examples/addr.c: Allow to modify hints via command line (-v) and within the shell (\...). * include/mailutils/address.h (MU_ADDR_HINT_*): New defines. (struct _mu_address): Definition. (mu_address_create_hint): New prototype. * include/mailutils/parse822.h (mu_parse822_address_list) (mu_parse822_mail_box, mu_parse822_group) (mu_parse822_address, mu_parse822_route_addr) (mu_parse822_route, mu_parse822_addr_spec) (mu_parse822_unix_mbox, mu_parse822_local_part): Take hint and hint flags. * mailbox/parse822.c: Likewise. * libproto/include/Makefile.am (noinst_HEADERS): Remove address0.h * libproto/include/address0.h: Removed. * mailbox/address.c (mu_address_create_hint): New function. (mu_address_create): Rewrite using mu_address_create_hint. * mh/mh_init.c (mh_expand_aliases): Use mu_header_sget_field_name * mh/mh_whom.c (mh_alias_expand): Rewrite using mu_address_create_hint. This fixes parsing addresses similar to "a@b <a@b>". * mh/send.c: New command line option --preserve (--keep)
2008-02-29(mh_whom): Improve diagnostics.Sergey Poznyakoff1
2007-11-17Move rc file and argp parsing into separate abstract layers.Sergey Poznyakoff1
* 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-06-27Prepare for the GPL v.3 release. Relicense programs under GPL v.3, libraries ↵Sergey Poznyakoff1
under LPGL v.3
2007-06-26Use mu_header_sget to retrieve context and configuration settings. Update ↵Sergey Poznyakoff1
all callers.
2006-06-27Minor fixes to get rid of the spurious gcc warningsSergey Poznyakoff1
2006-05-17Remove mh_error function, use mu_error instead.Sergey Poznyakoff1
2006-04-26(mh_alias_expand): Initialize inclSergey Poznyakoff1
2005-08-27Normalize global namespace. Part 2Wojciech Polak1
2005-08-26Normalize global namespace. Part 1Sergey Poznyakoff1
2005-05-17Updated FSF addressalpha_0_6_90Sergey Poznyakoff1
2005-01-04Revise error messages for accordance with GNU standards:Sergey Poznyakoff1
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.
2003-08-22(mh_alias_expand): New functionSergey Poznyakoff1
(scan_addrs): Expand aliases
2003-08-21(scan_addrs): Added support for aliasesSergey Poznyakoff1
2003-03-14(scan_addrs): Bugfix.Sergey Poznyakoff1
2003-03-11Added to the repositorySergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.