path: root/po
AgeCommit message (Collapse)AuthorFiles
2021-06-09mail: fix semantics of mail sending and saving commandsSergey Poznyakoff1
* NEWS: Document changes. * doc/texinfo/programs/mail.texi: Document changes. * mail/ (mail_SOURCES): Remove followup.c * mail/followup.c: Remove. * mail/mail.c: Fix the -F option. Rewrite send mode by calling mail_send directly. * mail/mail.h (mailvar_name_byname): Remove. (mail_send0): Rename to mail_compose_send. All uses changed. (util_message_sender): New function. * mail/mailvar.c (mailvar_tab): Remove the "byname" variable. "outfolder": Accept string and boolean values. (print_descr): Handle hard newlines. (mailvar_get): Use mailvar_type_whatever to test whether a variable is set, regardless of its type. * mail/reply.c: Rewrite to match POSIX standard. This affects the following commands: "reply", "Reply", "followup", "Followup". * mail/send.c (compose_header_set): Use util_merge_addresses when operating on address headers. (send_message): In mailx compatibility mode, assume the sendmail:// scheme. (mail_send0): Rename to mail_compose_send. Add Date header before saving the message, to make sure mu_mailbox_append_message won't bail out. * mail/table.c: New command: "Mail". * mail/testsuite/mail/send.exp: Fix expected output. * mail/testsuite/mail/write.exp: Likewise. * mail/util.c (util_message_sender): New function. (util_get_sender): Rewrite using util_message_sender. (util_outfolder_name,util_save_outgoing): Rewrite from scratch, Ensure mailx compatibility, * mail/write.c (mail_write): Don't use outfolder. * testsuite/mockmail.c: Support -i and -v options. * testsuite/ Unset MAIL_DUMP when testing.
2021-01-05Update copyright yearsSergey Poznyakoff1
2020-12-30Use well-known mboxrd format name everywhereSergey Poznyakoff1
2020-11-25Replace mbox format driver with mboxrbSergey Poznyakoff1
* NEWS: update * Revert 9763fd4a. * include/mailutils/registrar.h: Likewise. * libproto/ Likewise. * libmailutils/stream/stream.c (mu_stream_size): Fix size calculation in case of line and full buffering scheme. * libmailutils/stream/streamcpy.c (mu_stream_copy_nl): Change semantics. Ensure that the copied data ends with two newline characters. Append them if necessary. * testsuite/mbop.c: New commands: message_lines and message_size. * libproto/mbox/mboxrb.c (mboxrb_mailbox_init_stream): Always add MU_STREAM_READ permission. Use the same flags for mu_mapfile_stream_create and mu_file_stream_create. (mboxrb_rescan_unlocked): Count terminating newline as part of the message. (mailbox_append_message): Make sure each message ends with an empty line. (mboxrb_tracker_sync): Update mailbox mesg_count. (mboxrb_flush_temp): Truncate the temporary stream to the new size. (mboxrb_flush_unlocked): Clear all modifications only in FLUSH_UIDVALIDITY mode. (mboxrb_message_copy_with_uid): Fix message_end computation. Use mu_stream_copy_nl to copy message body. (mu_mboxrb_message_reconstruct): Update ref on return. * po/ Update. * mail/copy.c (append_to_file): Use mu_stream_stat_buffer to compute statistics. * mail/mail.c: Allow for opening read-only mailboxes. * libproto/mbox/tests/ Fix the expected byte count. * libproto/mbox/tests/ Likewise. * libproto/mbox/tests/ Add more tests. * mail/tests/ Fix the expected byte and line count. * mail/tests/ Likewise. * mail/testsuite/mail/read.exp: Likewise. * mail/testsuite/mail/tag.exp: Likewise. * mail/testsuite/mail/z.exp: Likewise. * mail/tests/ Don't use line count and size in comparison. * mail/testsuite/mail/write.exp: Use regexps instead of exact strings for the same reason. * pop3d/testsuite/pop3d/read.exp: Fix the expected byte count. * readmsg/tests/ Expect extra newline in output. * readmsg/tests/ Likewise. * readmsg/tests/ Likewise. * readmsg/tests/ Likewise. * readmsg/tests/ Likewise. * sieve/tests/ Fix the expected byte count. * sieve/tests/ Expect extra newline in output. * mh/inc.c (incmbx): Parse truncate and nomoveto URL parameters prior to opening the mailbox. If notruncate is requested, open the mailbox read-only. * mh/mh_format.c (str_compress_ws): Fix copying between overlapping memory regions. * libtests/ Remove lstuid tests. * libtests/ Likewise. * libtests/lstuid.c: Remove. * libtests/ Remove. * libtests/ Remove. * libtests/ Remove. * libtests/ Fix the expected byte count. * imap4d/tests/ Fix the expected byte count. * map4d/tests/ Likewise. * imap4d/tests/ Remove X-* headers and Status from the mbox prior to comparison. * imap4d/tests/ Likewise. * libproto/mbox: Remove old code. Replace it with mboxrb. * mail/tests/ Update lines/sizes. * mail/testsuite/mail/folder.exp: Likewise. * mail/testsuite/mail/tag.exp: Likewise. * mail/testsuite/mail/z.exp: Likewise. * mda/mda/tests/ Fix shell quoting. * mda/putmail/tests/ Remove extra newline from the expectation. Eliminate X-IMAPbase and X-UID from the resulting mailbox. * mda/tests/ Eliminate X-IMAPbase and X-UID from the output. * pop3d/testsuite/pop3d/read.exp: Fix expected lines/sizes * readmsg/tests/ Fix extra whitespace. * sieve/tests/ Eliminate X-IMAPbase and X-UID. Fix extra whitespace in the expected From_ line. * sieve/tests/ Likewise. * sieve/tests/ Likewise.
2020-02-08Update copyright yearsSergey Poznyakoff1
2019-11-09Reorganize testsuiteSergey Poznyakoff1
Simplify's in tests subdirectories by moving the common part in a separate file and including it where necessary. Build only one copy of package.m4. Both package.m4 and include file reside in the testsuite directory. Also provide configure options for selecting mda components to build: --disable-build-mda do not build mda --disable-build-lmtpd do not build lmtpd --disable-build-putmail do not build putmail * .gitignore: Update. * [MU_COND_MDA]: Change to MU_COND_MDA_TOOLS * Provide a way to enable/disable building of mda, lmtpd and putmail separately. Build testsuite/package.m4 * testsuite/ * testsuite/ Distribute both and package.m4. Include main part from * testsuite/ New file. * comsat/tests/ Include main part from * frm/tests/ Likewise. * imap4d/tests/ Likewise. * libmailutils/tests/ Likewise. * libmu_scm/tests/ Likewise. * libproto/dotmail/tests/ Likewise. * mail/tests/ Likewise. * messages/tests/ Likewise. * mh/tests/ Likewise. * mimeview/tests/ Likewise. * readmsg/tests/ Likewise. * sieve/tests/ Likewise. * mda/.gitignore: Remove. * mda/tests/ Remove. * mda/tests/ Remove. * mda/tests/.gitignore: Remove. * mda/tests/ Remove. * mda/tests/ New file. * mda/ Add extra directory level. Add subdirs depending on whether the corresponding component is selected for building. * mda/lmtpd/.gitignore: New file. * mda/lmtpd/ New file. * mda/lmtpd.c: Move to mda/lmtpd/lmtpd.c * mda/lmtpd/tests/.gitignore: New file. * mda/lmtpd/tests/ New file. * mda/lmtpd/tests/ New file. * mda/tests/ Move to mda/lmtpd/tests/ * mda/lmtpd/tests/ New file. * mda/mda/.gitignore: New file. * mda/mda/ New file. * mda/mda.c: Move to mda/mda/mda.c * mda/mda/tests/.gitignore: New file. * mda/mda/tests/ New file. * mda/mda/tests/ New file. * mda/tests/ Move to mda/mda/tests/ * mda/tests/ Move to mda/mda/tests/ * mda/mda/tests/ New file. * mda/putmail/.gitignore: New file. * mda/putmail/ New file. * mda/putmail.c: Move to mda/putmail/putmail.c * mda/putmail/tests/.gitignore: New file. * mda/putmail/tests/ New file. * mda/putmail/tests/ New file. * mda/tests/ Move to mda/putmail/tests/ * mda/putmail/tests/ New file * po/ Update pathnames * maint/ Minor fixes.
2019-10-13Fix distcheckSergey Poznyakoff1
2019-01-03Update copyright yearsSergey Poznyakoff1
2018-06-02Switch to Guile 2.2.0Sergey Poznyakoff1
*" Set minimum supported Guile version to 2.2.0 * libmu_scm/mu_body.c: Rewrite. * libmu_scm/mu_dbgport.c: Rewrite. * libmu_scm/mu_mailbox.c: Update types. * libmu_scm/mu_message.c: Likewise. * libmu_scm/mu_mime.c: Likewise. * libmu_scm/mu_port.c: Likewise.
2018-01-19Version 3.4.90; update copyright yearsSergey Poznyakoff1
2017-07-05Merge branch 'mhfmt'Sergey Poznyakoff1
2017-06-13Rewrite Makefile rules for lex and bisonSergey Poznyakoff1
The aim is to get rid of the explicit rules and use the Autmake framework as much as possible, without hurting the flexibility. To this effect, the gylwrap tool is rewritten from scratch (in Perl). In compatibility mode it takes the same arguments as the standard ylwrap. Additional configuration is supplied in the configuration file gylwrap.conf, located in the directory where the input file resides. * mu-aux/gylwrap: Rewrite from scratch. * (MU_YLWRAP): New subst variable. * libmailutils/base/.gitignore: Update. * libmailutils/base/ Update. * libmailutils/base/gylwrap.conf: New file. * libmailutils/cfg/.gitignore: Update. * libmailutils/cfg/ Use new YLWRAP * libmailutils/cfg/cfg.h: Remove. * libmailutils/cfg/gylwrap.conf: New file. * libmailutils/cfg/lexer.l: Include mailutils/yyloc.h directly. * libmailutils/cfg/parser.y: Likewise. * libmu_sieve/ Use new YLWRAP * libmu_sieve/gylwrap.conf: New file. * libmu_sieve/sieve.y: Rename to libmu_sieve/sieve-gram.y * libmu_sieve/sieve.l: Rename to libmu_sieve/sieve-lex.l * mail/ Use new YLWRAP * mh/.gitignore: Update. * mh/ Use new YLWRAP * mh/gylwrap.conf: New file. * mh/mh_alias.y: Rename to mh/mh_alias_gram.y * mh/mh_alias.l: Rename to mh/mh_alias_lex.l * mh/pick.y: Rename to mh/pick-gram.y * mimeview/.gitignore: Update. * mimeview/ Use new YLWRAP * mimeview/mimetypes.y: Rename to mimeview/grammar.y * mimeview/gylwrap.conf: New file. * mimeview/mimetypes.l: Rename to mimeview/lexer.l * po/ Update
2017-05-31Improve mimeviewSergey Poznyakoff1
Old short option '-t' renamed to '-f' for consistency (-f stands for --file in most other utilities). Thus, 'mimevief -f my.types' reads the file 'my.types'. The '-t' option is reused as a short equivalent of the new '--lint' option, which instructs the tool to check the syntax of the mime.types file and exit, ignoring any surplus command line arguments. Added support for priority and regex functions. Improved debugging output. * mimeview/mimetypes.l: Rewrite lexer in a cleaner way. * mimeview/mimetypes.y: Rewrite parser. Track locations. Add line information to nodes and rules. Improve debugging * mimeview/mimeview.c: Remove the debug configuration statement. Using debug { level } provides the same functionality. Use mu_debug for debugging. New option -t (--lint). Rename the -t short option to -f. * mimeview/mimeview.h: Define lexer and parser macros for location tracking. * NEWS: Document changes to mimeview utility. * doc/texinfo/programs.texi: Document changes to mimeview utility. * lib/mailcap.c: Use standart mu_debug calls for debugging. * lib/mailcap.h (display_stream_mailcap): Change last argument: take a mu_debug_handle_t * libmailutils/diag/debcat (app): New category. Application-specific debug * mail/decode.c (display_submessage): Change invocation of display_stream_mailcap. * mail/mailvar.c: Setting "verbose" enables app.trace7, unsetting it clears app.*
2017-04-11Rewrite the mailutils toolSergey Poznyakoff1
The subcommands are re-implemented as standalone binaries installed to pkglibexecdir. The main binary acts as a dispatcher. * Build mu/libexec/Makefile * include/mailutils/.gitignore: Ignore gitinfo.h * include/mailutils/opt.h (mu_parseopt_help_stream_create): New proto. * libmailutils/cli/cli.c (mu_cli_ext): Honor MU_PARSEOPT_PROG_NAME setting. * libmailutils/opt/help.c (mu_parseopt_create_help_stream): New function. (mu_program_help,mu_program_usage) (mu_program_version): Use it. * mu/ Move commands to separate executables under libexec. * mu/mu.c: Rewrite. * mu/dispatch.c: Remove. * mu/help.c: Remove. * mu/libexec/.gitignore: New file. * mu/libexec/ New file. * mu/libexec/getopt.c: New file. * mu/getans.c: Move to mu/libexec. * mu/getarg.c: Likewise. * mu/getyn.c: Likewise. * mu/util.c: Likewise. * mu/verbose.c: Likewise. * mu/shell.c: Likewise. * mu/mu.h: Remove. * mu/libexec/mu.h: New file. * mu/acl.c: Move to mu/libexec; Rewrite as a standalone program. * mu/cflags.c: Likewise. * mu/dbm.c: Likewise. * mu/filter.c: Likewise. * mu/flt2047.c: Likewise. * mu/imap.c: Likewise. * mu/info.c: Likewise. * mu/ldflags.c: Likewise. * mu/logger.c: Likewise. * mu/pop.c: Likewise. * mu/query.c: Likewise. * mu/send.c: Likewise. * mu/smtp.c: Likewise. * mu/stat.c: Likewise. * mu/wicket.c: Likewise. * mu/mu-setup.awk: Remove. * po/ Update.
2017-01-01Happy GNU YearSergey Poznyakoff1
2016-12-13Version 3.1Sergey Poznyakoff1
* version 3.1 * NEWS: Likewise. * libmu_sieve/comparator.c: Attend to FIXMEs. * libmu_sieve/conf.c: Likewise. * libmu_sieve/prog.c: Likewise. * libmu_sieve/runtime.c: Likewise. * libmu_sieve/sieve.y: Likewise. * libmu_sieve/util.c: Likewise. * libmu_sieve/variables.c: Likewise. * po/ Add new files.
2016-10-22BugfixesSergey Poznyakoff1
* libmailutils/cli/cli.c (mu_cli_ext): Initialize (accidentally deleted). * libmailutils/opt/help.c (mu_option_describe_options): Don't display dup_args_note in single-dash mode. * libmailutils/opt/progname.c (mu_set_program_name): Free the old value after allocating new copy. This allows to pass mu_full_program_name as argument. Set mu_program_name to point to a segment of mu_full_program_name, not the original arg. * mh/mh_getopt.c: Remove duplicate version option. * po/ Add missing files.
2016-10-22Finish conversion of MH utilities to mh_parseoptSergey Poznyakoff1
This finishes work started at commit bc73fc65. * include/mailutils/opt.h (mu_option_cache) <cache_arg>: Made const. * libmailutils/opt/opt.c (mu_option_cache_destroy): Don't free cache_arg. * doc/texinfo/mu-mh.texi: Update. * po/ Remove obsolete files. * mh/tests/ Don't use double-dash options. * mh/mh_getopt.c (mh_opt_set_folder): New function. * mh/mh_getopt.h: Likewise. * mh/mhn.c: Convert to mh_getopt. * mh/mhparam.c: Likewise. * mh/mhpath.c: Likewise. * mh/mhseq.c: Likewise. * mh/msgchk.c: Likewise. * mh/pick.c: Likewise. * mh/pick.h: Likewise. * mh/pick.y: Likewise. * mh/prompter.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/rmf.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise. * mh/show.c: Likewise. * mh/sortm.c: Likewise. * mh/whatnow.c: Likewise. * mh/whom.c: Likewise.
2016-10-19Rename MU_APP_NEW_LIBRARIES back to MU_APP_LIBRARIES. Version 2.99.991.Sergey Poznyakoff1
2016-10-19Convert remaining utilities (except mh) to mu_cli.Sergey Poznyakoff1
* Remove libmu_argp and libmu_cfg * Likewise. * libmu_argp/: Remove. * libmu_cfg/: Remove. * include/mailutils/ (pkginclude_HEADERS): Remove gocs.h, libargp.h, libcfg.h * frm/frm.c: Register tls auth module * frm/from.c: Likewise. * maidag/maidag.c: Likewise. * mail/mail.c: Likewise. * messages/messages.c: Likewise. * movemail/movemail.c: Likewise. * readmsg/readmsg.c: Likewise. * sieve/sieve.c: Likewise. * frm/frm.h: Remove obsolete includes * imap4d/ Update. * imap4d/imap4d.c: Use mu_cli for command line and configuration parsing. * imap4d/imap4d.h: Update. * include/mailutils/gocs.h: Remove. * libmailutils/cfg/gocs.c: Remove. * libmailutils/cfg/ Remove gocs.c * include/mailutils/cli.h (mu_cli_capa_apply): Rename to mu_cli_capa_extend_settings (mu_cli_setup) <inorder, prog_doc_hook>: New fields. * include/mailutils/daemon.h: Remove obsolete includes. * include/mailutils/gsasl.h: Likewise. * include/mailutils/mailutils.h: Update. * include/mailutils/mu_auth.h (mu_auth_mode): New enum (mu_auth_module): Redo structure. * include/mailutils/opt.h (mu_parseopt) <po_prog_doc_hook>: New field. * include/mailutils/sql.h (mu_sql_module_config): New extern. (mu_sql_interface_index): Change proto. * libmailutils/auth/mu_auth.c: Rewrite. * libmailutils/auth/system.c (mu_auth_system_module): Update structure * libmailutils/cli/capa.c (mu_cli_capa_apply): Rename to mu_cli_capa_extend_settings * libmailutils/cli/cli.c: Extend settings from auth modules as well. * libmailutils/opt/help.c (mu_program_help): Invoke po_prog_doc_hook if defined. * libmailutils/opt/opt.c (parseopt_init): Check the MU_PARSEOPT_PROG_DOC_HOOK flag. (find_long_option): Fix recognition of ambiguous options in case of exact match. * libmu_auth/gsasl.c: Add configuration. * libmu_auth/ldap.c: Likewise. * libmu_auth/pam.c: Likewise. * libmu_auth/radius.c: Likewise. * libmu_auth/sql.c: Likewise. * libmu_auth/tls.c: Likewise. * libmu_auth/virtual.c: Likewise. * mu/ Update. * mu/mu.c: Rewrite using mu_cli * mu/mu.h: Likewise. * mu/acl.c: Likewise. * mu/cflags.c: Likewise. * mu/dbm.c: Likewise. * mu/dispatch.c: Likewise. * mu/filter.c: Likewise. * mu/flt2047.c: Likewise. * mu/getans.c: Likewise. * mu/getarg.c: Likewise. * mu/getyn.c: Likewise. * mu/help.c: Likewise. * mu/imap.c: Likewise. * mu/info.c: Likewise. * mu/ldflags.c: Likewise. * mu/logger.c: Likewise. * mu/pop.c: Likewise. * mu/query.c: Likewise. * mu/send.c: Likewise. * mu/shell.c: Likewise. * mu/smtp.c: Likewise. * mu/util.c: Likewise. * mu/verbose.c: Likewise. * mu/wicket.c: Likewise. * pop3d/ Update. * pop3d/pop3d.c: Convert to mu_cli interface. * pop3d/pop3d.h: Likewise. * sql/sql.c (mu_sql_interface_index): Change argument qualifiers.
2016-10-10Raise shared library version numberSergey Poznyakoff1
* (VI_CURRENT): Set to 5 Don't link intprops.h * gnulib: Upgrade. * gnulib.modules (intprops) Remove. * libmailutils/cfg/parser.y: Don't incluse intprops.h * po/ Add new files.
2016-01-22Update copyright yearsSergey Poznyakoff1
2015-10-27Minor fixes.Sergey Poznyakoff1
* libproto/mailer/sendmail.c: Fix typo in debugging message. * po/.gitignore: Update.
2015-03-02Update copyright yearsSergey Poznyakoff1
2014-07-26Move gnulib into a subdir.Sergey Poznyakoff1
* bootstrap.conf: Create and populate lib/gnu, if necessary. * (MU_APP_COMMON_INCLUDES): Update. (AC_CONFIG_FILES): Build lib/gnu/Makefile * lib/ (libmuaux_a_SOURCES): Add all objects from gnu/ * po/ Update. * examples/.gitignore: Update.
2014-02-05Update copyright years.Sergey Poznyakoff1
2012-04-27Minor fixSergey Poznyakoff1
* po/ Remove xmalloc.c
2012-01-05Happy GNU YearSergey Poznyakoff1
2011-12-08Bugfixes.Sergey Poznyakoff1
* imap4d/append.c: Don't reuse msg variable. * po/ Remove unneeded file.
2011-11-06Version 2.99.94.Sergey Poznyakoff1
2011-07-14Version 2.99.92Sergey Poznyakoff1
* NEWS: Update. * Update. * po/ Update.
2011-01-02Update copyright years.Sergey Poznyakoff1
Happy GNU year!
2010-12-31Remove guimb.Sergey Poznyakoff1
It was inoperational since 2009-03-27 and nobody complained, so it seems to not be reclaimed at all. FWIW, it will be easy to recreate it entirely in Scheme, should the need be. * guimb/.gitignore: Remove. * guimb/ Remove. * guimb/collect.c: Remove. * guimb/guimb.h: Remove. * guimb/main.c: Remove. * guimb/util.c: Remove. * (GUIMB_DIR): Remove. [MU_COND_LIBMU_SCM] (SCHEME_DIR): New variable. (SUBDIRS): Add SCHEME_DIR instead of GUIMB_DIR. * (MU_GUILE_SIEVE_MOD_DATA): Remove substitution. (AC_CONFIG_FILES): Remove guimb and guimb/scm, add scheme * guimb/scm/.gitignore: move to scheme/.gitignore * guimb/scm/ move to scheme/ * guimb/scm/README: move to scheme/README * guimb/scm/mimeheader.scm: move to scheme/mimeheader.scm * guimb/scm/numaddr.scm: move to scheme/numaddr.scm * guimb/scm/redirect.scm: move to scheme/redirect.scm * guimb/scm/reject.scm: move to scheme/reject.scm * guimb/scm/sieve-core.scm: move to scheme/sieve-core.scm * guimb/scm/ move to scheme/sieve2scm.scmi * guimb/scm/vacation.scm: move to scheme/vacation.scm
2010-12-19maildir: speed up mailbox scanningSergey Poznyakoff1
* include/mailutils/sys/amd.h (_amd_message_lookup_or_insert): New proto. * libmailutils/base/amd.c (_amd_message_lookup_or_insert): New function. (_amd_message_insert): Rewrite using _amd_message_lookup_or_insert. * libproto/maildir/mbox.c (maildir_message_cmp): Stop comparison on ':'. (maildir_message_lookup): Remove. (maildir_scan_dir): Use _amd_message_lookup_or_insert. * po/ Update.
2010-12-16Mark unfinished interfaces as experimental so they're not built by default.Sergey Poznyakoff1
* am/enable.m4 (MU_ENABLE_SUPPORT): Fix the usage of the last argument. * Check for --enable-experimental before any other checks. Mark cxx, python and nntp as experimental. * mh/tests/ Make sure all mailboxes are writable. * mh/tests/ (MTSTAILOR): Fix mailer URL. * po/ Comment out unused sources.
2010-12-13Remove mu_filter_iconv_create.Sergey Poznyakoff1
Callers should use mu_filter_create_args instead. * examples/iconv.c: Rewrite using mu_filter_create_args. * libmailutils/mime/mimehdr.c (mu_mimehdr_decode_param): Use mu_decode_filter. * imap4d/imap4d.h: Include prog.h * include/mailutils/filter.h (mu_filter_iconv_create): Mark as deprecated. * include/mailutils/util.h (mu_decode_filter_args): New proto. * libmailutils/base/msgid.c (mu_rfc2822_in_reply_to): Silence a cast warning. * libmailutils/tests/wicket.c (match_string): Likewise. * libmailutils/filter/decode.c (mu_decode_filter_args): New function. (mu_decode_filter): Rewrite as an alternative entry point to mu_decode_filter_args. * ibmailutils/filter/filter_iconv.c: Remove. * libmailutils/filter/ (libfilter_la_SOURCES): Remove filter_iconv.c * libmu_compat/filter_iconv.c: New file. * libmu_compat/ (libmu_compat_la_SOURCES): Add filter_iconv.c * libmailutils/filter/iconvflt.c (_icvt_decoder): Set errcode before returning failure. * libmailutils/stream/fltstream.c (init_iobuf, filter_stream_init): Provide a default value for io->errcode.
2010-12-07Rewrite prog stream support.Sergey Poznyakoff1
Two interfaces are provided: mu_prog_stream_create offers full control over the program execution environment (i.e. running privileges, cwd, resource limits) via a set of hints. A simpler interface, mu_command_stream_create, runs the command in the current environment. mu_filter_prog_stream_create is removed, because its functionality can be achieved by a correspondingly crafted set of hints to mu_prog_stream_create. * include/mailutils/prog.h: New file. * include/mailutils/mailutils.h: Include mailutils/prog.h * include/mailutils/ (pkginclude_HEADERS): Add prog.h * include/mailutils/stream.h (mu_prog_stream_create) (mu_filter_prog_stream_create): Remove prototypes. * include/mailutils/sys/prog_stream.h (_mu_prog_stream): Change structure. (_mu_prog_limit_codes, _mu_prog_limit_flags): New externs. * include/mailutils/util.h (mu_set_user_privileges) (mu_switch_to_privs): New prototypes. * lib/userprivs.c: Move to libmailutils/base. * lib/ (libmuaux_a_SOURCES): Remove userprivs.c * libmailutils/base/ (libbase_la_SOURCES): Add userprivs.c * libmailutils/base/userprivs.c (mu_set_user_privileges): New function. (mu_switch_to_privs): Rewrite as another entry point to mu_set_user_privileges. * libmailutils/stream/prog_stream.c (_mu_prog_limit_flags) (_mu_prog_limit_codes): New global variables. (start_program_filter): Use hints to control execution environment. (_prog_stream_create): Save hints. (mu_prog_stream_create): Change signature. (mu_command_stream_create): New function (corresponds to the prior mu_prog_stream_create). (mu_filter_prog_stream_create): Remove function. * comsat/action.c (action_exec): Use new mu_prog_stream_create calling convention. * examples/murun.c: Rewrite. * mh/mhn.c (show_internal): Use new mu_prog_stream_create calling convention. * mh/tests/ Reflect changes to mhn. * imap4d/preauth.c: Use mu_command_stream_create. * libmu_sieve/extensions/pipe.c * mail/decode.c * mail/pipe.c * mail/send.c * mh/mhl.c * mu/shell.c * mail/mail.h: Include mailutils/prog.h * mh/mh.h * po/ Add libmailutils/base/userprivs.c.
2010-12-06Rewrite debugging and logging support.Sergey Poznyakoff1
The mu_debug_t object and associated functions have been removed. New debugging functions are based on the logstream interface. * include/mailutils/debug.hm4: Remove. * include/mailutils/debug.h: New file. * include/mailutils/ (BUILT_SOURCES,EXTRA_DIST): Remove debug.h, debug.hm4. * mu-aux/debugdef.m4: Remove. * mu-aux/debcat.awk: New file. * mu-aux/ (EXTRA_DIST): Replace debugdef.m4 with debcat.awk. * include/mailutils/sys/dbgstream.h: Remove. * include/mailutils/sys/debug.h: Remove. * include/mailutils/sys/ (sysinclude_HEADERS): Remove debug.h and dbgstream.h, add debcat.h * include/mailutils/sys/.gitignore: Add debcat.h. * libmailutils/diag/dbgstderr.c: Remove. * libmailutils/diag/dbgsyslog.c: Remove. * libmailutils/diag/gdebug.c: Remove. * libmailutils/diag/debcat: New file. * libmailutils/diag/ (libdiag_la_SOURCES): Remove these sources. * libmailutils/diag/debug.c: Rewrite from scratch. * libmailutils/diag/diag.c: Rewrite from scratch. * libmailutils/diag/syslog.c (mu_diag_syslog_printer): Remove function. (mu_log_syslog, mu_log_print_severity): New variables. * libmailutils/stream/dbgstream.c: Remove. * libmailutils/stream/ (libstream_la_SOURCES): Remove dbgstream.c.. * libmailutils/stdstream/ (libstdstream_la_SOURCES): Add dbgstream.c. * libmailutils/stream/logstream.c (_mu_severity_str): Change strings to lower case. (_log_write): Improve handling of unrecognized escapes. (_log_ctl): Handle MU_LOGSTREAM_ADVANCE_LOCUS_LINE and MU_LOGSTREAM_ADVANCE_LOCUS_COL. * libmailutils/mailbox/folder.c (mu_folder_has_debug) (mu_folder_get_debug, mu_folder_set_debug): Remove functions. * mu-aux/debcat.awk: New file. * libmailutils/stdstream/dbgstream.c: New file. * comsat/action.c: Use new debug/log functions. * comsat/comsat.c: Likewise. * examples/aclck.c: Likewise. * examples/echosrv.c: Likewise. * examples/msg-send.c: Likewise. * examples/nntpclient.c: Likewise. * examples/numaddr.c: Likewise. * frm/common.c: Likewise. * imap4d/imap4d.c: Likewise. * imap4d/io.c: Likewise. * imap4d/util.c: Likewise. * libmailutils/auth/mu_auth.c: Likewise. * libmailutils/base/amd.c: Likewise. * libmailutils/cfg/driver.c: Likewise. * libmailutils/cfg/format.c: Likewise. * libmailutils/cfg/lexer.l: Likewise. * libmailutils/cfg/parser.y: Likewise. * libmailutils/mailbox/mailbox.c: Likewise. * libmailutils/mailbox/mbx_default.c: Likewise. * libmailutils/mailer/mailer.c: Likewise. * libmailutils/mailer/progmailer.c: Likewise. * libmailutils/server/acl.c: Likewise. * libmailutils/server/ipsrv.c: Likewise. * libmailutils/server/msrv.c: Likewise. * libmailutils/tests/wicket.c: Likewise. * libmu_argp/auth.c: Likewise. * libmu_argp/cmdline.c: Likewise. * libmu_argp/common.c: Likewise. * libmu_auth/ldap.c: Likewise. * libmu_cfg/acl.c: Likewise. * libmu_cfg/auth.c: Likewise. * libmu_cfg/common.c: Likewise. * libmu_cfg/ldap.c: Likewise. * libmu_cfg/sieve.c: Likewise. * libmu_cfg/sql.c: Likewise. * libmu_scm/mu_message.c: Likewise. * libmu_sieve/prog.c: Likewise. * libmu_sieve/runtime.c: Likewise. * libproto/imap/trace.c: Likewise. * libproto/mailer/mbox.c: Likewise. * libproto/mailer/prog.c: Likewise. * libproto/mailer/sendmail.c: Likewise. * libproto/mailer/smtp.c: Likewise. * libproto/mailer/smtp_trace.c: Likewise. * libproto/mbox/folder.c: Likewise. * libproto/mbox/mbox.c: Likewise. * libproto/nntp/folder.c: Likewise. * libproto/nntp/nntp_debug.c: Likewise. * libproto/pop/mbox.c: Likewise. * libproto/pop/pop3_trace.c: Likewise. * maidag/guile.c: Likewise. * maidag/lmtp.c: Likewise. * maidag/maidag.c: Likewise. * maidag/util.c: Likewise. * mail/mail.c: Likewise. * mail/mailvar.c: Likewise. * mail/send.c: Likewise. * mail/source.c: Likewise. * mh/mh_argp.c: Likewise. * mh/send.c: Likewise. * mimeview/mimeview.c: Likewise. * movemail/movemail.c: Likewise. * mu/wicket.c: Likewise. * pop3d/extra.c: Likewise. * pop3d/pop3d.c: Likewise. * readmsg/readmsg.c: Likewise. * sieve/sieve.c: Likewise. * testsuite/mimetest.c: Likewise. * libmu_sieve/sieve-priv.h (mu_sieve_machine) <parse_error_printer> <error_printer, debug_printer, debug>: Remove. <errstream>: New member. (mu_sv_compile_error, mu_sv_print_value_list) (mu_sv_print_tag_list): Change prototypes. * libmu_sieve/actions.c: Use new sieve debug functions. * libmu_sieve/extensions/list.c: Likewise. * libmu_sieve/extensions/moderator.c: Likewise. * libmu_sieve/extensions/pipe.c: Likewise. * libmu_sieve/extensions/spamd.c: Likewise. * libmu_sieve/extensions/timestamp.c: Likewise. * libmu_sieve/extensions/vacation.c: Likewise. * libmu_sieve/sieve.y : Likewise. * libmu_sieve/sieve.l: Likewise. * libmu_sieve/tests.c: Likewise. * libmu_sieve/util.c: Rewrite diagnostic support. * /maidag/sieve.c: Use new debug/log and sieve diagnostic functions. * mu/mu.c (main): Remove call to mu_stdstream_setup. It is called by mu_app_init now. * libmailutils/base/wicket.c (mu_wicket_stream_match_url): Change signature. * libmailutils/cfg/gocs.c (mu_gocs_logging_init): Rewrite. * libmailutils/mailbox/message.c (mu_message_save_to_mailbox): Remove mu_debug_t argument. * libmailutils/stdstream/basestr.c (mu_stdstream_setup): Minor fixes. * libmailutils/stdstream/strerr.c (mu_stdstream_strerr_create): Do not install filter stream if tag is NULL. (mu_stdstream_strerr_setup): New function. * libmu_argp/muinit.c (mu_app_init): Set mu_log_tag. Call mu_stdstream_setup. * libmu_scm/mu_dbgport.c: Rewrite port support. * include/mailutils/acl.h (mu_acl_get_debug) (mu_acl_set_debug): Remove prototypes. * include/mailutils/auth.h (mu_wicket_stream_match_url): Change signature. * include/mailutils/cfg.h (mu_cfg_locus_t): Remove typedef, use struct mu_locus instead. (mu_cfg_locus): Remove declaration. (mu_cfg_node)<locus>: Change type. (mu_cfg_node)<debug>: Remove. (mu_cfg_vperror,mu_cfg_perror) (mu_cfg_parse_error,mu_cfg_format_error): Remove prototypes. (mu_cfg_callback_t): Change signature. All uses updated. (mu_cfg_get_debug): Remove prototype. (mu_cfg_assert_value_type, mu_cfg_string_value_cb): Change signature. (mu_cfg_tree_set_debug): Remove prototype. (mu_cfg_tree_create_node): Change signature. * include/mailutils/diag.h (MU_DIAG_): Redefine via MU_LOG_ constants. (mu_diag_get_debug,mu_diag_set_debug): Remove. (mu_diag_cont_vprintf, mu_diag_cont_printf) (mu_diag_at_locus): New functions. * include/mailutils/folder.h (mu_folder_has_debug) (mu_folder_get_debug, mu_folder_set_debug): Remove prototypes. * include/mailutils/gocs.h (mu_gocs_logging): Remove structure. (mu_gocs_debug)<errpfx>: Remove. * include/mailutils/guile.h (mu_scm_make_debug_port): Change prototype. * include/mailutils/mailbox.h (mu_mailbox_has_debug) (mu_mailbox_get_debug,mu_mailbox_set_debug): Remove. * include/mailutils/mailer.h (mu_mailer_get_debug) (mu_mailer_set_debug): Remove. * include/mailutils/message.h (mu_message_save_to_mailbox): Change signature. * include/mailutils/mu_auth.h (mu_auth_set_debug): Remove proto. * include/mailutils/nntp.h (mu_nntp_set_debug): Remove. * include/mailutils/progmailer.h (mu_progmailer_set_debug): Remove proto. * include/mailutils/server.h (mu_ip_server_set_debug) (mu_ip_server_get_debug): Remove proto. * include/mailutils/sieve.h (mu_sieve_locus_t): Remove. Use struct mu_locus instead. (mu_sieve_printf_t, mu_sieve_parse_error_t): Remove. (mu_sieve_action_log_t): Change signature. (mu_sieve_machine_init): Change signature. (mu_sieve_machine_init_ex): New function. (mu_sieve_get_diag_stream) (mu_sieve_set_diag_stream): New functions. (mu_sieve_set_data): New function. (mu_sieve_get_locus): Change signature. (mu_sieve_set_error,mu_sieve_set_parse_error) (mu_sieve_set_debug,mu_sieve_set_debug_object): Remove protos. * include/mailutils/stdstream.h (mu_stdstream_strerr_setup): New proto. * include/mailutils/stream.h (MU_LOGSTREAM_ADVANCE_LOCUS_LINE) (MU_LOGSTREAM_ADVANCE_LOCUS_COL): New ioctls. (mu_dbgstream_create): Change signature. * include/mailutils/sys/folder.h (_mu_folder) <debug>: Remove. * include/mailutils/sys/mailbox.h (_mu_mailbox) <debug>: Remove. * include/mailutils/sys/mailer.h (_mu_mailer) <debug>: Remove. * include/mailutils/sys/nntp.h (_mu_nntp) <debug>: Remove. * include/mailutils/syslog.h (mu_log_syslog) (mu_log_print_severity): New externs. * include/mailutils/types.hin (_mu_debug, mu_debug_t): Remove. * lib/tcpwrap.h: Remove unused prototypes. * imap4d/imap4d.h: Include mailutils/stdstream.h * mail/mail.h: Likewise. * pop3d/pop3d.h: Likewise. * mh/comp.c (main): Bugfix. * po/ Update. * TODO: Update.
2010-12-04Introduce stdstream module; move deprecated functions to libmu_compat.Sergey Poznyakoff1
* include/mailutils/log.h: New file. * include/mailutils/stdstream.h: New file. * include/mailutils/ (pkginclude_HEADERS): Add stdstream.h and log.h. * include/mailutils/argcv.h: Include mailutils/types.h * include/mailutils/mailutils.h: Include stdstream.h Remove vartab.h * include/mailutils/types.hin (MU_DEPRECATED): New define. * include/mailutils/vartab.h: Mark this header and all prototypes it defines as deprecated. * libmailutils/stdstream/ New file. * libmailutils/stdstream/basestr.c: New file. * libmailutils/stdstream/strerr.c: New file. * libmu_compat/ New file. * libmu_compat/tests/.gitignore: New file. * libmu_compat/tests/ New file. * libmu_compat/tests/ New file. * libmu_compat/tests/ New file. * libmailutils/base/ (noinst_LTLIBRARIES): Remove argcv.c and vartab.c. * libmailutils/ (SUBDIRS): Add stdstream. (libmailutils_la_LIBADD): Add stdstream/ * libmailutils/tests/ (noinst_PROGRAMS): Remove argcv (TESTSUITE_AT): Remove * libmailutils/tests/ Do not include * libmailutils/base/argcv.c: Move to libmu_compat/argcv.c * libmailutils/tests/ Move to libmu_compat/tests/ * libmailutils/tests/argcv.c: Move to libmu_compat/tests/argcv.c * libmailutils/base/vartab.c: Move to libmu_compat/vartab.c * (SUBDIRS): Add libmu_compat. * Add libmu_compat/tests, libmu_compat/tests/Makefile, libmu_compat/tests/atlocal, libmu_compat/Makefile and libmailutils/stdstream/Makefile to config file list. * mu/ldflags.c (lib_descr): Add mu_compat. * mu/logger.c (logger_parse_opt): -t does not imply --syslog. (mutool_logger): Use inline-comment filter to insert "tag: " prefix. Flush and destroy both streams before returning. * po/ Add libmailutils/stream/logstream.c, libmailutils/stdstream/baseio.c, libmailutils/stdstream/strerr.c and mu/logger.c.
2010-11-29Minor fixes.Sergey Poznyakoff1
2010-11-20Move MH profile & context support to libproto.Sergey Poznyakoff1
* mh/mh_ctx.c: Remove. * mh/ (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/ Add mh/mboxprop.c.
2010-11-18mh: implement prompterSergey Poznyakoff1
* (MU_COND_READLINE): New cond. * mh/prompter.c: New file. * mh/prompter-rl.c: New file. * mh/prompter-tty.c: New file. * mh/prompter.h: New file. * mh/TODO: Update. * mh/ Build prompter. * doc/texinfo/mu-mh.texi: Document prompter * po/ Update.
2010-11-03Improve command module system in mu. Add a `help' command.Sergey Poznyakoff1
* mu/ (MODULES): New variable. Put all commands there. (mu_SOURCES): Include $(MODULES). (EXTRA_DIST): Add mu-setup.h mu-setup.c mu-setup.awk (BUILT_SOURCES): New variable. (mu-setup.h, mu-setup.c): New goals. * mu/mu.c (doc): Remove command description: it is generated automatically. (mu_help_filter): New function. (argp): Use mu_help_filter. (mutool_action_tab): Remove. (mutool_nosys,find_action): Remove. (mu_help): New function. (main): Use dispatch_find_action. * mu/mu.h: Include mailutils/types.h (mutool_pop, mutool_filter, mutool_flt2047) (mutool_info, mutool_query, mutool_acl) (mutool_wicket, mutool_ldflags, mutool_cflags): Remove protos. (mu_help, dispatch_find_action, dispatch_docstring): New protos. * mu/acl.c: Add MU Setup comment. * mu/cflags.c: Likewise. * mu/filter.c: Likewise. * mu/flt2047.c: Likewise. * mu/info.c: Likewise. * mu/ldflags.c: Likewise. * mu/pop.c: Likewise. * mu/query.c: Likewise. * mu/wicket.c: Likewise. * mu/mu-setup.awk: New file. * mu/help.c: New file. * mu/dispatch.c: New file. * mu/.gitignore: Add mu-status.[ch] * po/ Add mu/dispatch.c and mu/help.c.
2010-11-02Minor change.Sergey Poznyakoff1
* po/ Fix erroneous filenames.
2010-10-30Remove all uses of vartab, replacing them with wordsplit.Sergey Poznyakoff1
* libmailutils/string/wordsplit.c (mu_wordsplit_init): Call mu_wordsplit_free_words to reclaim the memory. (mu_wordsplit_free_words): New function. (mu_wordsplit_free): Use mu_wordsplit_free_words. * imap4d/imap4d.c (imap4d_session_setup0): Use wordsplit instead of vartab. * imap4d/imap4d.h: Don't include vartab.h. * imap4d/preauth.c (do_preauth_ident): Use mu_str_stripws instead of the static trimcrlf, which is removed. (do_preauth_program): Use wordsplit instead of vartab and mu_prog_stream_create instead of popen. * libmailutils/mailbox/mbx_default.c: Include nls.h Don't include vartab.h (mu_construct_user_mailbox_url): Use wordsplit instead of vartab. * libmailutils/server/acl.c (expand_arg): Use wordsplit instead of vartab. * libmu_auth/ldap.c (_mu_ldap_search):L Likewise. * libmu_auth/radius.c (_expand_query): Likewise. * libmu_auth/sql.c (mu_sql_expand_query): Likewise. * libproto/mailer/prog.c (_expand_sender, _expand_rcpt): Rewrite. (url_to_argv): : Use wordsplit instead of vartab. * po/ Add more files.
2010-10-28Add wordsplit module.Sergey Poznyakoff1
The wordsplit module (borrowed from another project of mine, called 'grecs') provides a flexible and powerful mechanism for parsing input in a way similar to posix-shell. In particular, the POSIX function wordexp is a subset of the wordsplit functionality. The argcv module is now deprecated. * include/mailutils/wordsplit.h: New file. * include/mailutils/ (pkginclude_HEADERS): Add wordsplit.h * libmailutils/string/wordsplit.c: New file. * libmailutils/string/ (libstring_la_SOURCES): Add wordsplit.c. * include/mailutils/argcv.h (mu_argcv_join): New proto. (mu_argcv_get, mu_argcv_get_n, mu_argcv_get_np) (mu_argcv_unquote_char, mu_argcv_quote_char) (mu_argcv_quoted_length, mu_argcv_unquote_copy) (mu_argcv_quote_copy): Mark as deprecated. * include/mailutils/mailutils.h: Include wordsplit.h. * libmailutils/tests/wsp.c: New file. * libmailutils/tests/.gitignore: List wsp. * libmailutils/tests/ New file. * libmailutils/tests/ (noinst_PROGRAMS): Add wsp (TESTSUITE_AT): Add * libmailutils/tests/argcv.c: Define MU_ARCGV_DEPRECATED to avoid deprecation warnings. * libmailutils/tests/ Include * libmailutils/base/argcvfree.c: New file. * libmailutils/base/argcvjoin.c: New file. * libmailutils/base/argcvrem.c: New file. * libmailutils/base/ (libbase_la_SOURCES): Add new files. * libmailutils/base/argcv.c: Define MU_ARCGV_DEPRECATED to avoid deprecation warnings. (argcv_string, argcv_free, argv_free) (mu_argcv_remove): Rewrite in separate modules. * comsat/comsat.h: Include wordsplit.h. * imap4d/imap4d.h: Likewise. * mail/mail.h: Likewise. * mh/mh.h: Likewise. * readmsg/readmsg.h: Likewise. * comsat/action.c: Use wordsplit. * imap4d/fetch.c: Likewise. * lib/mailcap.c: Likewise. * libmailutils/auth/mu_auth.c: Likewise. * libmailutils/base/mutil.c: Likewise. * libmailutils/cfg/format.c: Likewise. * libmailutils/cfg/lexer.l: Likewise. * libmailutils/cfg/parser.y: Likewise. * libmailutils/diag/gdebug.c: Likewise. * libmailutils/mailer/mailer.c: Likewise. * libmailutils/server/acl.c: Likewise. * libmailutils/stream/prog_stream.c: Likewise. * libmailutils/tests/listop.c: Likewise. * libmailutils/url/create.c: Likewise. * libmu_auth/ldap.c: Likewise. * libmu_auth/radius.c: Likewise. * libmu_sieve/sieve.l: Likewise. * libproto/mailer/mbox.c: Likewise. * libproto/mailer/smtp.c: Likewise. * libproto/mailer/smtp_gsasl.c: Likewise. * mail/mailline.c: Likewise. * mail/mailvar.c: Likewise. * mail/send.c: Likewise. * mail/util.c: Likewise. * mh/folder.c: Likewise. * mh/mh_alias.y: Likewise. * mh/mh_argp.c: Likewise. * mh/mh_init.c: Likewise. * mh/mh_list.c: Likewise. * mh/mh_msgset.c: Likewise. * mh/mh_sequence.c: Likewise. * mh/mh_whatnow.c: Likewise. * mh/mh_sequence.c: Likewise. * mh/mh_whatnow.c: Likewise. * mh/mhn.c: Likewise. * mh/send.c: Likewise. * movemail/movemail.c: Likewise. * mu/shell.c: Likewise. * readmsg/readmsg.c: Likewise. * testsuite/smtpsend.c: Likewise. * pop3d/popauth.c: Use wordsplit. Use simplified input format (username and password delimited by any amount of whitespace). Read/produce old format if invoked with the --compatibility option. * examples/aclck.c: Use wordsplit instead of argcv. * examples/header.c: Likewise. * examples/mta.c: Likewise. * examples/.gitignore: Remove pop3client. * examples/ Remove pop3client. * po/ Add new files.
2010-10-24Move `mailutils-config' functionality to `mu'. Retain `mailutils-config' ↵Sergey Poznyakoff1
for backward compatibility. * config/.gitignore: Remove. * config/ Remove. * config/mailutils-config.c: Remove. * config/ Remove. * config/mailutils.m4: Move to mu-aux/mailutils.m4 * mu-aux/ (m4datadir, dist_m4data_DATA): New variables. * (SUBDIRS) <config>: Remove. * (AC_CONFIG_FILES): Remove config. * mu/mailutils-config: New file. * mu/cflags.c: New file. * mu/ldflags.c: New file. * mu/ (dist_bin_SCRIPTS, EXTRA_DIST): Add mailutils-config. (mu_SOURCES): Add cflags.c and ldflags.c. (AM_CPPFLAGS): New variable. * mu/mu.c: Add new modes: cflags and ldflags. * mu/mu.h (mutool_ldflags, mutool_cflags): New protos. * po/ Update.
2010-10-10Split the mess in mutil.c into logically separated units.Sergey Poznyakoff1
* libmailutils/base/mutil.c (mu_hex2ul, mu_hexstr2ul): Move to string/hexstr.c. (mu_get_homedir, mu_get_full_path) (mu_expand_path_pattern): Move to base/filename.c. (mu_getcwd): Move to base/getcwd.c. (mu_tilde_expansion): Move to base/tilde.c (mu_cpystr): Move to string/cpystr.c. (mu_get_host_name): Move to base/hostname.c. (mu_set_user_email,mu_set_user_email_domain) (mu_get_user_email_domain,mu_aget_user_email_domain) (mu_get_user_email,mu_normalize_path): Move to base/usremail.c. (mu_tempfile,mu_tempname): Move to base/tempfile.c. (mu_spawnvp): Move to base/spawnvp.c. (mu_qualify_link,mu_unroll_symlink): Move to base/symlink.c. (mu_rfc2822_references,mu_rfc2822_msg_id) (mu_rfc2822_in_reply_to): Move to base/msgid.c. (mu_strcasestr): Move to string/cstrcasestr.c. (mu_string_unfold): Move to string/unfold.c. (mu_true_answer_p): Move to string/trueans.c. (mu_scheme_autodetect_p): Move to base/schemeauto.c. (mu_fd_wait): Move to base/fdwait.c. (mu_set_default_fallback,mu_decode_filter): Move to filter/decode.c. (__argp_base_name): Move to lib/argp_base.c. * libmailutils/base/fdwait.c: New file. * libmailutils/base/filename.c: New file. * libmailutils/base/getcwd.c: New file. * libmailutils/base/hostname.c: New file. * libmailutils/base/msgid.c: New file. * libmailutils/base/schemeauto.c: New file. * libmailutils/base/spawnvp.c: New file. * libmailutils/base/symlink.c: New file. * libmailutils/base/tempfile.c: New file. * libmailutils/base/tilde.c: New file. * libmailutils/base/usremail.c: New file. * libmailutils/base/ Add new files. * libmailutils/filter/decode.c: New file. * libmailutils/filter/ Add new files. * libmailutils/string/cpystr.c: New file. * libmailutils/string/cstrcasestr.c: New file. * libmailutils/string/hexstr.c: New file. * libmailutils/string/trueans.c: New file. * libmailutils/string/unfold.c: New file. * libmailutils/string/ Add new files. * lib/argp_base.c: New file. * lib/ Add new files. * include/mailutils/io.h: Include stdarg.h * include/mailutils/mutil.h: Rename to util.h. Reorder prototypes and declarations in logical groups. All uses changed. * include/mailutils/cstr.h (mu_strcasestr): New proto, moved from include/mailutils/mutil.h.
2010-10-09Reorganize libmailutils directory structure.Sergey Poznyakoff1
* (AC_CONFIG_FILES): Add libmailutils/ subdirs. * include/mailutils/ Update references to libmailutils. * po/ Likewise. * libmailutils/.gitignore: Update. * libmailutils/ Use convenience libraries in subdirs. * libmailutils/string/ New file. * libmailutils/cstrcasecmp.c: Move to libmailutils/string. * libmailutils/cstrlower.c: Likewise. * libmailutils/cstrupper.c: Likewise. * libmailutils/strltrim.c: Likewise. * libmailutils/strskip.c: Likewise. * libmailutils/stripws.c: Likewise. * libmailutils/strrtrim.c: Likewise. * libmailutils/asnprintf.c: Likewise. * libmailutils/asprintf.c: Likewise. * libmailutils/muctype.c: Likewise. * libmailutils/vasnprintf.c: Likewise. * libmailutils/mkfilename.c: Likewise. * libmailutils/stream/ New file. * libmailutils/dbgstream.c: Move to libmailutils/stream. * libmailutils/file_stream.c: Likewise. * libmailutils/fltstream.c: Likewise. * libmailutils/iostream.c: Likewise. * libmailutils/mapfile_stream.c: Likewise. * libmailutils/memory_stream.c: Likewise. * libmailutils/message_stream.c: Likewise. * libmailutils/prog_stream.c: Likewise. * libmailutils/rdcache_stream.c: Likewise. * libmailutils/socket_stream.c: Likewise. * libmailutils/stdio_stream.c: Likewise. * libmailutils/stream.c: Likewise. * libmailutils/stream_printf.c: Likewise. * libmailutils/stream_vprintf.c: Likewise. * libmailutils/streamcpy.c: Likewise. * libmailutils/streamref.c: Likewise. * libmailutils/tcp.c: Likewise. * libmailutils/temp_file_stream.c: Likewise. * libmailutils/xscript-stream.c * libmailutils/cfg/ New file. * libmailutils/cfg/.gitignore: New file. * libmailutils/cfg_driver.c: Move to libmailutils/cfg/driver.c. * libmailutils/cfg_format.c: Move to libmailutils/cfg/format.c. * libmailutils/cfg_lexer.l: Move to libmailutils/cfg/lexer.l. * libmailutils/cfg_parser.y: Move to libmailutils/cfg/parser.y. * libmailutils/gocs.c: Move to libmailutils/cfg/gocs.c. * libmailutils/diag/ New file. * libmailutils/diag/.gitignore: New file. * libmailutils/debug.c: Move to libmailutils/diag. * libmailutils/diag.c: Likewise. * libmailutils/gdebug.c: Likewise. * libmailutils/errors: Likewise. * libmailutils/muerrno.cin: Likewise. * libmailutils/syslog.c: Likewise. * libmailutils/dbgstderr.c: Likewise. * libmailutils/dbgsyslog.c: Likewise. * libmailutils/address/ New file. * libmailutils/address.c: Move to libmailutils/address. * libmailutils/parse822.c: Likewise. * libmailutils/mailbox/ New file. * libmailutils/mailbox.c: Move to libmailutils/mailbox. * libmailutils/mbx_default.c: Likewise. * libmailutils/mbxitr.c: Likewise. * libmailutils/attribute.c: Likewise. * libmailutils/body.c: Likewise. * libmailutils/envelope.c: Likewise. * libmailutils/folder.c: Likewise. * libmailutils/hdritr.c: Likewise. * libmailutils/header.c: Likewise. * libmailutils/message.c: Likewise. * libmailutils/msgscan.c: Likewise. * libmailutils/mailer/ New file. * libmailutils/mailer.c: Move to libmailutils/mailer. * libmailutils/progmailer.c: Likewise. * libmailutils/mime/ New file. * libmailutils/attachment.c: Move to libmailutils/mime. * libmailutils/mime.c: Likewise. * libmailutils/mimehdr.c: Likewise. * libmailutils/server/ New file. * libmailutils/acl.c: Move to libmailutils/server. * libmailutils/server.c: Likewise. * libmailutils/msrv.c: Likewise. * libmailutils/ipsrv.c: Likewise. * libmailutils/auth/ New file. * libmailutils/auth.c: Move to libmailutils/auth. * libmailutils/mu_auth.c: Likewise. * libmailutils/system.c: Likewise. * libmailutils/base/ New file. * libmailutils/base/.gitignore: New file. * libmailutils/alloc.c: Move to libmailutils/base. * libmailutils/amd.c: Likewise. * libmailutils/argcv.c: Likewise. * libmailutils/assoc.c: Likewise. * libmailutils/daemon.c: Likewise. * libmailutils/date.c: Likewise. * libmailutils/fgetpwent.c: Likewise. * libmailutils/freeitem.c: Likewise. * libmailutils/getpass.c: Likewise. * libmailutils/iterator.c: Likewise. * libmailutils/kwd.c: Likewise. * libmailutils/list.c: Likewise. * libmailutils/listlist.c: Likewise. * libmailutils/locale.c: Likewise. * libmailutils/locker.c: Likewise. * libmailutils/mailcap.c: Likewise. * libmailutils/md5.c: Likewise. * libmailutils/monitor.c: Likewise. * libmailutils/munre.c: Likewise. * libmailutils/mutil.c: Likewise. * libmailutils/nls.c: Likewise. * libmailutils/nullrec.c: Likewise. * libmailutils/observer.c: Likewise. * libmailutils/opool.c: Likewise. * libmailutils/parsedate.y: Likewise. * libmailutils/permstr.c: Likewise. * libmailutils/property.c: Likewise. * libmailutils/registrar.c: Likewise. * libmailutils/refcount.c: Likewise. * libmailutils/rfc2047.c: Likewise. * libmailutils/sha1.c: Likewise. * libmailutils/secret.c: Likewise. * libmailutils/ticket.c: Likewise. * libmailutils/url.c: Likewise. * libmailutils/vartab.c: Likewise. * libmailutils/version.c: Likewise. * libmailutils/wicket.c: Likewise.
2010-10-07Fixes in stream subsystem. Rewrite and optimize maidag lmtp mode using streams.Sergey Poznyakoff1
* libmailutils/file_stream.c (mu_fd_stream_create): Mark stream as open, do not call mu_stream_open explicitly. * libmailutils/message_stream.c (mu_stream_to_message): Bugfixes, wrong owner given to mu_envelope_set_ calls. * libmailutils/stream.c (_MU_STR_FLUSH_ALL) (_MU_STR_FLUSH_KEEP): New macros for _stream_flush_buffer. (_stream_flush_buffer): Change the meaning of the last argument. All callers updated. (mu_stream_seek): Fix operation with MU_SEEK_END. Call _mu_stream_cleareof on success. (mu_stream_read): Call _stream_flush_buffer in buffered mode. (mu_stream_getdelim, mu_stream_readdelim): Call _stream_flush_buffer. * libmailutils/streamcpy.c (mu_stream_copy): Reset size if mu_stream_seek fails. * libmailutils/temp_file_stream.c (mu_temp_file_stream_create): Set full buffering mode by default. * maidag/mailtmp.c: Remove. * maidag/ (maidag_SOURCES): Remove mailtmp.c * po/ Likewise. * maidag/deliver.c (make_tmp): Rewrite. Return mu_mailbox_t. All callers changed. * maidag/lmtp.c (lmtp_transcript): Remove static. (lmpt_transcript): New function. (lmtp_reply): Use mu_stream_t instead of FILE. (xlatnl): Remove. Superseded by mu_rtrim_cset and family. (mtmp, mbox): Remove globals. (mesg): New global. (cfun_unknown, cfun_mail_from, cfun_rcpt_to) (dot_temp_fail, dot_deliver, cfun_rset) (cfun_lhlo, cfun_quit, cfun_help): Use mu_stream_t instead of FILE. (cfun_data): Rewrite. (cfun_dot): Remove. (to_fgets): Rewrite using mu_stream_t. (lmtp_loop): Change signature. Rewrite using mu_stream_t. (lmtp_connection, maidag_lmtp_server): Update accordingly. * maidag/maidag.c (maidag_transcript): New global. (options, parse_opt): New option --transcript. * maidag/maidag.h (maidag_transcript): New extern. (mail_tmp_begin, mail_tmp_add_line, mail_tmp_finish) (mail_tmp_destroy): Remove.

Return to:

Send suggestions and report system problems to the System administrator.