1. 16 Dec, 2010 1 commit
  2. 13 Dec, 2010 1 commit
    • 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/Makefile.am (libfilter_la_SOURCES): Remove
      filter_iconv.c
      * libmu_compat/filter_iconv.c: New file.
      * libmu_compat/Makefile.am (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.
      Sergey Poznyakoff authored
  3. 07 Dec, 2010 1 commit
    • 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/Makefile.am (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/Makefile.am (libmuaux_a_SOURCES): Remove userprivs.c
      * libmailutils/base/Makefile.am (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/mhn.at: 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/POTFILES.in: Add libmailutils/base/userprivs.c.
      Sergey Poznyakoff authored
  4. 05 Dec, 2010 1 commit
    • 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/Makefile.am (BUILT_SOURCES,EXTRA_DIST): Remove debug.h,
      debug.hm4.
      
      * mu-aux/debugdef.m4: Remove.
      * mu-aux/debcat.awk: New file.
      * mu-aux/Makefile.am (EXTRA_DIST): Replace debugdef.m4 with debcat.awk.
      
      * include/mailutils/sys/dbgstream.h: Remove.
      * include/mailutils/sys/debug.h: Remove.
      * include/mailutils/sys/Makefile.am (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/Makefile.am (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/Makefile.am (libstream_la_SOURCES): Remove dbgstream.c..
      * libmailutils/stdstream/Makefile.am (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/POTFILES.in: Update.
      * TODO: Update.
      Sergey Poznyakoff authored
  5. 04 Dec, 2010 1 commit
    • * include/mailutils/log.h: New file.
      * include/mailutils/stdstream.h: New file.
      * include/mailutils/Makefile.am (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/Makefile.am: New file.
      * libmailutils/stdstream/basestr.c: New file.
      * libmailutils/stdstream/strerr.c: New file.
      * libmu_compat/Makefile.am: New file.
      * libmu_compat/tests/.gitignore: New file.
      * libmu_compat/tests/Makefile.am: New file.
      * libmu_compat/tests/atlocal.in: New file.
      * libmu_compat/tests/testsuite.at: New file.
      * libmailutils/base/Makefile.am (noinst_LTLIBRARIES): Remove
      argcv.c and vartab.c.
      * libmailutils/Makefile.am (SUBDIRS): Add stdstream.
      (libmailutils_la_LIBADD): Add stdstream/libstdstream.la.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Remove argcv
      (TESTSUITE_AT): Remove argcv.at
      * libmailutils/tests/testsuite.at: Do not include argcv.at.
      
      * libmailutils/base/argcv.c: Move to libmu_compat/argcv.c
      * libmailutils/tests/argcv.at: Move to libmu_compat/tests/argcv.at
      * libmailutils/tests/argcv.c: Move to libmu_compat/tests/argcv.c
      * libmailutils/base/vartab.c: Move to libmu_compat/vartab.c
      
      * Makefile.am (SUBDIRS): Add libmu_compat.
      * configure.ac: 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/POTFILES.in: Add libmailutils/stream/logstream.c,
      libmailutils/stdstream/baseio.c, libmailutils/stdstream/strerr.c
      and mu/logger.c.
      Sergey Poznyakoff authored
  6. 29 Nov, 2010 1 commit
  7. 20 Nov, 2010 1 commit
    • * 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.
      Sergey Poznyakoff authored
  8. 18 Nov, 2010 1 commit
    • * configure.ac (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/Makefile.am: Build prompter.
      
      * doc/texinfo/mu-mh.texi: Document prompter
      * po/POTFILES.in: Update.
      Sergey Poznyakoff authored
  9. 03 Nov, 2010 1 commit
    • * mu/Makefile.am (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/POTFILES.in: Add mu/dispatch.c and mu/help.c.
      Sergey Poznyakoff authored
  10. 02 Nov, 2010 1 commit
  11. 30 Oct, 2010 1 commit
    • * 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/POTFILES.in: Add more files.
      Sergey Poznyakoff authored
  12. 28 Oct, 2010 1 commit
    • 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/Makefile.am (pkginclude_HEADERS): Add wordsplit.h
      * libmailutils/string/wordsplit.c: New file.
      * libmailutils/string/Makefile.am (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/wordsplit.at: New file.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Add wsp
      (TESTSUITE_AT): Add wordsplit.at.
      * libmailutils/tests/argcv.c: Define MU_ARCGV_DEPRECATED to
      avoid deprecation warnings.
      * libmailutils/tests/testsuite.at: Include wordsplit.at.
      
      * libmailutils/base/argcvfree.c: New file.
      * libmailutils/base/argcvjoin.c: New file.
      * libmailutils/base/argcvrem.c: New file.
      * libmailutils/base/Makefile.am (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/Makefile.am: Remove pop3client.
      
      * po/POTFILES.in: Add new files.
      Sergey Poznyakoff authored
  13. 24 Oct, 2010 1 commit
    • …ckward compatibility.
      
      * config/.gitignore: Remove.
      * config/Makefile.am: Remove.
      * config/mailutils-config.c: Remove.
      * config/maint.mk: Remove.
      * config/mailutils.m4: Move to mu-aux/mailutils.m4
      * mu-aux/Makefile.am (m4datadir, dist_m4data_DATA): New variables.
      
      * Makefile.am (SUBDIRS) <config>: Remove.
      * configure.ac (AC_CONFIG_FILES): Remove config.
      
      * mu/mailutils-config: New file.
      * mu/cflags.c: New file.
      * mu/ldflags.c: New file.
      * mu/Makefile.am (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/POTFILES.in: Update.
      Sergey Poznyakoff authored
  14. 10 Oct, 2010 1 commit
    • * 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/Makefile.am: Add new files.
      
      * libmailutils/filter/decode.c: New file.
      * libmailutils/filter/Makefile.am: 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/Makefile.am: Add new files.
      
      * lib/argp_base.c: New file.
      * lib/Makefile.am: 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.
      Sergey Poznyakoff authored
  15. 09 Oct, 2010 1 commit
    • * configure.ac (AC_CONFIG_FILES): Add libmailutils/ subdirs.
      * include/mailutils/Makefile.am: Update references to libmailutils.
      * po/POTFILES.in: Likewise.
      * libmailutils/.gitignore: Update.
      * libmailutils/Makefile.am: Use convenience libraries in subdirs.
      
      * libmailutils/string/Makefile.am: 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/Makefile.am: 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/Makefile.am: 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/Makefile.am: 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/Makefile.am: New file.
      * libmailutils/address.c: Move to libmailutils/address.
      * libmailutils/parse822.c: Likewise.
      
      * libmailutils/mailbox/Makefile.am: 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/Makefile.am: New file.
      * libmailutils/mailer.c: Move to libmailutils/mailer.
      * libmailutils/progmailer.c: Likewise.
      
      * libmailutils/mime/Makefile.am: New file.
      * libmailutils/attachment.c: Move to libmailutils/mime.
      * libmailutils/mime.c: Likewise.
      * libmailutils/mimehdr.c: Likewise.
      
      * libmailutils/server/Makefile.am: New file.
      * libmailutils/acl.c: Move to libmailutils/server.
      * libmailutils/server.c: Likewise.
      * libmailutils/msrv.c: Likewise.
      * libmailutils/ipsrv.c: Likewise.
      
      * libmailutils/auth/Makefile.am: New file.
      * libmailutils/auth.c: Move to libmailutils/auth.
      * libmailutils/mu_auth.c: Likewise.
      * libmailutils/system.c: Likewise.
      
      * libmailutils/base/Makefile.am: 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.
      Sergey Poznyakoff authored
  16. 06 Oct, 2010 1 commit
    • * 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/Makefile.am (maidag_SOURCES): Remove mailtmp.c
      * po/POTFILES.in: 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.
      Sergey Poznyakoff authored
  17. 05 Oct, 2010 1 commit
    • * mu/shell.c (input_line_script): Use mu_getline.
      * libmu_argp/compat.c: Remove.
      * libmu_argp/Makefile.am: Remove compat.c
      * po/POTFILES.in: Likewise.
      Sergey Poznyakoff authored
  18. 04 Oct, 2010 1 commit
  19. 03 Oct, 2010 1 commit
    • The `mu' program is a multi-purpose tool for doing various mail-
      and mailutils-related operations.  It includes a pop3 shell,
      a coder/decoder for all filter formats supported by Mailutils,
      a utility to extract arbitrary values from the MU configuration
      files, a configuration information utility and many more, in the
      short run.  It supercedes examples/pop3client and (partially)
      mailutils-config, both of which will be removed in the future.
      
      * Makefile.am (SUBDIRS): Add mu.
      * configure.ac: Likewise.
      * po/POTFILES.in: Add new files.
      * mu/.gitignore: New file.
      * mu/Makefile.am: New file.
      * mu/filter.c: New file.
      * mu/flt2047.c: New file.
      * mu/info.c: New file.
      * mu/mu.c: New file.
      * mu/mu.h: New file.
      * mu/pop.c: New file.
      * mu/query.c: New file.
      * mu/shell.c: New file.
      Sergey Poznyakoff authored
  20. 25 Sep, 2010 1 commit
    • * configure.ac: Use libmuaux.a instead of libmuaux.la.
      * examples/Makefile.am: Likewise.
      * examples/cpp/Makefile.am: Likewise.
      * imap4d/Makefile.am: Likewise.
      * mapi/Makefile.am: Likewise.
      * mh/Makefile.am: Likewise.
      * pop3d/Makefile.am: Likewise.
      
      Remove old files from POTFILES.in (see c42bddb0).
      
      * po/POTFILES.in: Remove comsat/oldcfg.c.
      
      Build testsuites after the programs they are to test.
      
      * frm/Makefile.am (SUBDIRS): Put . before tests.
      * messages/Makefile.am: Likewise.
      * readmsg/Makefile.am: Likewise.
      * sieve/Makefile.am: Likewise.
      
      Remove leftovers from CVS times:
      
      * .cvsignore: Remove.
      * am/.cvsignore: Remove.
      * lib/.cvsignore: Remove.
      * po/.cvsignore
      Sergey Poznyakoff authored
  21. 16 Sep, 2010 1 commit
    • That's the first commit since the merge six days ago that passes
      distcheck (with python, cxx, imap and nntp disabled, of course).
      
      * testsuite/folder/DISTFILES: Restore. It is needed for some
      of the remaining DejaGNU tests.
      * testsuite/spool/DISTFILES: Likewise.
      * testsuite/testsuite.at: New file.
      * testsuite/atlocal.in: New file.
      * libmailutils/tests/mbdel.at: Move to testsuite/.
      * libmailutils/tests/mbdel.c: Likewise.
      * libmailutils/tests/mime.at: Likewise.
      * libmailutils/tests/mimetest.c: Likewise.
      
      * Makefile.am (SUBDIRS): Place testsuite after libproto.
      * configure.ac (AM_INIT_AUTOMAKE): Remove dist-lzma.
      (AC_CONFIG_FILES): Add testsuite/atlocal.
      * libmailutils/base64.c (_base64_decoder)
      (_base64_encoder): Fix the use of uninitialized variables.
      * libmailutils/tests/.gitignore: Remove mbdel and mimetest.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Remove mbdel and mimetest.
      (LDADD): Leave only MU_LIB_MAILUTILS.
      (TESTSUITE_AT): Remove mbdel.at and mime.at
      * libmailutils/tests/atlocal.in (PATH): Bugfix.
      * libmailutils/tests/testsuite.at: Remove inclusion of mbdel.at and mime.at.
      * po/POTFILES.in: Replace mailbox/ with libmailutils/.
      
      * testsuite/.gitignore: Rewrite.
      * testsuite/Makefile.am: Rewrite.
      * testsuite/mbdel.at: Set +w on all copied mailboxes.
      * testsuite/mimetest.c (main): Open mailbox for reading only.
      
      * sieve/Makefile.am: Add examples/ to the distribution.
      
      * libproto/mbox/mbox.c (mbox_open): Create locker only
      if the mailbox is open for modification.
      All users updated to check for mailbox->locker!=NULL before
      using it.
      Sergey Poznyakoff authored
  22. 05 Jan, 2010 1 commit
  23. 27 Dec, 2009 1 commit
    • Remove obsolete options (these have been made hidden in
      v. 2.0).  Handle "include" and "program" after parsing
      the sources, not while reducing the tree, as was
      previously.  Retain, however, old functions for compatibility,
      making them deprecated.  Add "query" mode to mailutils-config.
      
      * include/mailutils/cfg.h (mu_cfg_node_tag): Remove
      (mu_cfg_statement): Rename to mu_cfg_node_statement.
      (mu_cfg_tree): New member: tail.
      (mu_cfg_perror): Change signature.
      (mu_cfg_vperror, mu_cfg_parse_error): New protos.
      (MU_CFG_PATH_DELIM, MU_CFG_PATH_DELIM_STR): New defines.
      (MU_PARSE_CONFIG_PLAIN,MU_CFG_FMT_LOCUS): New constant.
      (MU_CFG_DEPRECATED): New macro.
      (mu_parse_config,mu_get_config): Deprecated.
      (mu_cfg_format_parse_tree): Change signature.
      (mu_cfg_format_node, mu_cfg_parse_file): New protos.
      (mu_cfg_tree_free): Remove stale proto.
      (mu_cfg_find_node, mu_cfg_create_subtree): New protos.
      * include/mailutils/libcfg.h (mu_libcfg_parse_config): New proto.
      (mu_parse_config_files): Deprecated.
      
      * include/mailutils/mutil.h (mu_make_file_name): New proto.
      (mu_retrieve_fp, mu_register_retriever)
      (mu_retrieve): Remove unused prototypes.
      * include/mailutils/opool.h (mu_opool_union): New proto.
      
      * libmu_argp/Makefile.am (libmu_argp_a_SOURCES): Remove
      sources (see below):
      * po/POTFILES.in: Likewise.
      * libmu_argp/gsasl.c: Remove.
      * libmu_argp/pam.c: Remove.
      * libmu_argp/radius.c: Remove.
      * libmu_argp/sql.c: Remove.
      * libmu_argp/tls.c: Remove.
      * libmu_argp/virtdomain.c: Remove.
      
      * config/mailutils-config.c: New option --query (-q)
      (main): Handle query mode.
      
      * comsat/comsat.c: Define MU_CFG_COMPATIBILITY to suppress
      deprecation warnings.
      
      * bootstrap.conf (XGETTEXT_OPTIONS): Add mu_cfg
      error reporting functions.
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add
      mkfilename.c
      * mailbox/mkfilename.c: New file.
      
      * imap4d/imap4d.c: Remove obsolete option (hidden since 2.0)
      * libmu_argp/auth.c: Likewise.
      * libmu_argp/cmdline.c: Likewise.
      * libmu_argp/tls.c: Likewise.
      * pop3d/pop3d.c: Likewise.
      * libmu_argp/common.c: Likewise.
      (mu_common_argp_options): New option --set.
      
      * libmu_argp/muinit.c (mu_app_init): Rewrite using parse
      tree as a principal entity.
      * libmu_cfg/init.c (mu_libcfg_parse_config): New function.
      * mailbox/cfg_driver.c (make_file_name): Remove.
      (_cb_include): Use mu_make_file_name.
      (mu_build_container): Use deprecated code only unless MU_PARSE_CONFIG_PLAIN
      flag is set.
      (mu_cfg_tree_reduce): Do nothing if the tree is NULL.
      * mailbox/cfg_format.c (format_node): Print locus optionally.
      (mu_cfg_format_parse_tree): Take additional argument.
      (mu_cfg_format_node): New function.
      * mailbox/cfg_lexer.l: Update calls to diagnostic functions.
      (mu_cfg_parse_file): New function.
      (mu_get_config): Rewrite.
      * mailbox/cfg_parser.y (parse_tree): Replace with
      parse_head, parse_tail. All usages updated.
      (mu_cfg_free_node): New function.
      (mu_cfg_vperror): New function.
      (mu_cfg_perror,mu_cfg_parse_error): New function.
      (mu_cfg_tree_union): New function.
      (mu_cfg_tree_postprocess): New function.
      (mu_cfg_find_section): Use MU_CFG_PATH_DELIM instead
      of hardcoded slash.
      (mu_cfg_value_eq): New function.
      (mu_cfg_find_node): New function. Redesign of an old idea.
      (mu_cfg_create_subtree): New function.
      * mailbox/opool.c (mu_opool_union): New function.
      
      * frm/testsuite/frm/test.exp: use --set option instead of
      the obsolete --mail-folder.
      * messages/testsuite/messages/test.exp: Likewise.
      * sieve/testsuite/sieve/action.exp: Likewise.
      * mail/testsuite/lib/mail.exp: use --set option instead of
      the obsolete --mail-spool.
      * mailbox/testsuite/lib/mailbox.exp: Likewise.
      * testsuite/lib/mailutils.exp: Likewise.
      * mailbox/mutil.c (mu_register_retriever)
      (mu_retrieve): Remove unused functions.
      
      Minor fix:
      
      * frm/common.c (frm_abort): Initialize URL
      before usage.
      (frm_scan): Don't call frm_abort on a mailbox
      that was not opened successfully.
      Sergey Poznyakoff authored
  24. 24 Sep, 2009 1 commit
    • * libproto/mbox/mboxscan.c (mbox_scan_internal): Fix
      body size calculation: -1 was returned for empty body.
      Bug reported by Con Tassios <ct@swin.edu.au>.
      * po/POTFILES.in: Add mail/mailvar.c
      Sergey Poznyakoff authored
  25. 27 Mar, 2009 1 commit
  26. 14 Feb, 2009 1 commit
    • Update docs · 7824f73f
      * doc/texinfo/libmuauth.texi: Move to libmu_auth.texi
      * doc/texinfo/libsieve.texi: Move to libmu_sieve.texi
      Wojciech Polak authored
  27. 08 Dec, 2008 1 commit
  28. 15 Oct, 2008 1 commit
  29. 03 Mar, 2008 1 commit
    • * bootstrap.conf (avoided_gnulib_modules): Remove size_max
      (excluded_files): Remove m4/size_max.m4.
      (gnulib_extra_files): Add m4/inttostr.m4
      * gnulib.modules: Add intprops and stdint.
      
      * m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4, m4/inttypes-h.m4,
      m4/inttypes-pri.m4, m4/inttypes.m4, m4/inttypes_h.m4: Remove
      Sergey Poznyakoff authored
  30. 02 Mar, 2008 1 commit
  31. 09 Feb, 2008 1 commit
  32. 06 Feb, 2008 1 commit
    • * imap4d/bye.c, imap4d/starttls.c, imap4d/util.c: Use exit codes
      from sysexits.h
      * imap4d/imap4d.c: Use mu_set_signals to install signals.
      Use exit codes from sysexits.h.
      * imap4d/imap4d.h: Include sysexits.h and muaux.h
      (ERR_TERMINATE): New define.
      (imap4d_sigchld,imap4d_signal): Remove.
      (imap4d_master_signal,imap4d_child_signal): New prototypes.
      * imap4d/signal.c (imap4d_master_signal,imap4d_child_signal): New
      functions.
      
      * pop3d/pop3d.h Include sysexits.h and muaux.h
      (ERR_TERMINATE): New define.
      (pop3d_signal): Remove.
      (pop3d_master_signal, pop3d_child_signal): New protos.
      * pop3d/signal.c (pop3d_master_signal, pop3d_child_signal): New
      functions.
      
      * pop3d/extra.c, pop3d/popauth.c
      * pop3d/pop3d.c: Use mu_set_signals to install signals.
      Use exit codes from sysexits.h.
      
      * include/mailutils/server.h (mu_m_server_set_strexit): New
      prototype.
      * include/mailutils/types.hin (MU_ARRAY_SIZE): New define.
      
      * lib/Makefile.am (libmuaux_la_SOURCES): Add signal.c, strexit.c.
      (noinst_HEADERS): Add muaux.h
      * lib/muaux.h: New file.
      
      * libsieve/extensions/spamd.c: Add NLS markers.
      
      * mailbox/header.c (header_readline): Minor rewrite.
      * mailbox/msrv.c (struct _mu_m_server): New member `strexit'.
      (mu_m_server_begin): Call alloc_children.
      (mu_m_server_restore_signals): New function.
      (mu_m_server_end): Call mu_m_server_restore_signals.
      (m_srv_conn): Reset signals in child branch.
      
      * po/POTFILES.in: Update.
      Sergey Poznyakoff authored
  33. 05 Jan, 2008 2 commits
    • * mailbox/Makefile.am: Replace tcpsrv.c with ipsrv.c.
      * mailbox/tcpsrv.c: Replace with ...
      * mailbox/ipsrv.c: ... this file, which supports both TCP and UDP.
      
      * mailbox/msrv.c: Use mu_ip_server_t.
      * mailbox/server.c (mu_server_destroy): Bugfix.
      * comsat/comsat.c, comsat/comsat.h: Use m-server.
      
      * maidag/lmtp.c, maidag/maidag.h, pop3d/pop3d.c: Update to match
      changed m-server types.
      
      * include/mailutils/server.h (mu_tcp_*): Replace with mu_ip_*.
      Add new prototypes.
      * include/mailutils/types.hin: Likewise.
      
      * lib/tcpwrap.c, lib/tcpwrap.h (mu_tcp_wrapper_prefork): Update
      signature to match mu_m_server_prefork_fp.
      
      * examples/echosrv.c: Use mu_ip_server_t
      * imap4d/idle.c, imap4d/imap4d.c, imap4d/imap4d.h,
      imap4d/preauth.c, imap4d/util.c: Remove mu_gocs_daemon.
      * include/mailutils/gocs.h, include/mailutils/libargp.h,
      include/mailutils/libargp.h, libargp/cmdline.c,
      libargp/common.c, libcfg/common.c, libcfg/init.c,
      mailbox/daemon.c, mailbox/gocs.c: Remove mu_gocs_daemon.
      
      * mailbox/amd.c (amd_open): Provide a null-locker.
      * include/mailutils/locker.h, mailbox/locker.c
      (mu_locker_mod_flags): New function.
      
      * examples/config/mailutils.schema: LDAP schema for Mailutils.
      * examples/config/Makefile.am: Add mailutils.schema
      
      * dotlock/dotlock.c (main): Remove superfluous invocation of
      mu_locker_set_flags.
      
      * libproto/mbox/mbox.c (mbox_quick_get_message): Return
      MU_ERR_NOENT if mailbox is empty.
      
      * mailbox/tcpsrv.c (family_to_proto): Rename to
      mu_address_family_to_domain.
      * po/POTFILES.in: Update.
      * pop3d/lock.c (pop3d_lock): use mu_locker_mod_flags, instead of
      mu_locker_set_flags.
      Sergey Poznyakoff authored
    • function type.
      (mu_m_server_destroy, mu_m_server_set_prefork)
      (mu_m_server_configured_count, mu_m_server_end): New functions.
      * mailbox/msrv.c (struct _mu_m_server.prefork): New member.
      (mu_m_server_set_prefork): New function.
      (m_srv_conn): Use prefork to decide whether to proceed with a
      connection.
      
      * lib/tcpwrap.c, lib/tcpwrap.h (mu_tcp_wrapper_prefork): New
      function.
      
      * imap4d/imap4d.c, maidag/lmtp.c, maidag/maidag.c,
      pop3d/pop3d.c: Use m-server prefork to handle TCP wrappers.
      
      * po/POTFILES.in: Add more files.
      Sergey Poznyakoff authored
  34. 04 Dec, 2007 1 commit
    • has a docstring which is displayed as a comment before it.
      A docstring is also added to the configuration group structure,
      for use in future.
      
      * include/mailutils/cfg.h (struct mu_cfg_param): New members
      `docstring' and `argname'.
      (struct mu_cfg_section): New member `docstring'.
      (mu_cfg_format_docstring): New function.
      * include/mailutils/libargp.h (mu_help_config_mode): New
      declaration.
      * libargp/cmdline.h (mu_help_config_mode): Remove.
      * libargp/muinit.c (mu_app_init): Better format the initial
      comment.
      * mailbox/cfg_format.c (mu_cfg_data_type_string): Use NLS.
      (mu_cfg_format_docstring): New function.
      (format_param,format_section): Use mu_cfg_format_docstring.
      * mailbox/cfg_lexer.c (mu_config_create_container): Initialize
      allocated memory chunk with zeros.
      (dup_container): Duplicate docstring.
      (mu_build_container): Document include statement.
      
      * dotlock/dotlock.c, imap4d/imap4d.c, libargp/tls.c,
      libcfg/auth.c, libcfg/common.c, libcfg/gsasl.c, libcfg/ldap.c,
      libcfg/pam.c, libcfg/radius.c, libcfg/sieve.c, libcfg/sql.c,
      libcfg/tls.c, libcfg/virtdomain.c, maidag/maidag.c,
      mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c,
      movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
      sieve/sieve.c: Document configuration file statements.
      
      * pop3d/pop3d.h (expire): Change type to unsigned int.
      
      * po/POTFILES.in: Add missing files.
      Sergey Poznyakoff authored
  35. 20 Nov, 2007 2 commits
    • Add Makevars · 90948345
      Sergey Poznyakoff authored
    • * auth/pam.c (mu_pam_module_init): Use struct.
      * include/mailutils/gocs.h (struct mu_gocs_pam): New data type.
      * include/mailutils/libcfg.h (mu_sieve_cfg_capa)
      (mu_daemon_cfg_capa,mu_auth_cfg_capa): New declarations.
      * libargp/common.c (mu_daemon_argp_parser): Handle ARGP_KEY_INIT.
      * libargp/pam.c (service_name): Remove.
      (pam_settings): Add new variable.
      (mu_pam_argp_parser): Reflect this.
      * libcfg/auth.c (mu_auth_section_parser): New function.
      (mu_auth_cfg_capa): New variable.
      * libcfg/common.c (mu_daemon_section_parser): Handle
      mu_cfg_section_start.
      * libcfg/init.c (cfg_capa_table): Add auth, sieve, daemon.
      (reserved_name): Remove auth and daemon.
      * mailbox/Makefile.am (EXTRA_DIST): Remove @MU_EXTRA_DIST@.
      * mailbox/daemon.c (mu_gocs_daemon_init): Remove extra checks.
      * mailbox/mu_auth.c (_add_module_list): Skip delimiters.
      * po/POTFILES.in: Update.
      Sergey Poznyakoff authored
  36. 18 Nov, 2007 1 commit
    • from the repository. Bootstrap directly from the gnulib CVS.
      
      * configure.ac: Update.
      * lib/Makefile.am: Update.
      * mailbox/Makefile.am: Update.
      * include/mailutils/Makefile.am (SUBDIRS): Remove gnu
      * include/mailutils/gnu/Makefile.am: Remove
      * examples/argcv.c, examples/mta.c, guimb/guimb.h,
      imap4d/imap4d.h, libargp/mu_argp.c, libargp/tls.c,
      maidag/maidag.h, mail/mail.h, mail/send.c,
      mail.local/mail.local.h, mh/mh.h: Remove getline.h
      * libproto/nntp/mbox.c: Include mailutils/md5.h
      * libargp/cmdline.h: Include strings.h
      * m4/debug.m4, m4/enable.m4, m4/gsasl.m4, m4/guile.m4,
      m4/mu_libobj.m4: Minor fix
      * m4/intmax.m4,m4/inttypes-pri.m4,m4/inttypes_h.m4: Update
      * mailbox/alloca.h: Remove
      * mailbox/mailbox.c: Include string.h
      * mailbox/nls.c: Include locale.h
      * po/Makevars: Remove.
      
      * absolute-header.m4, alloca.m4, allocsa.m4, argp.m4, codeset.m4,
      d-type.m4, eealloc.m4, eoverflow.m4, error.m4, exitfail.m4,
      extensions.m4, fnmatch.m4, full-header-path.m4, getdelim.m4,
      getline.m4, getlogin_r.m4, getndelim2.m4, getopt.m4, getpass.m4,
      gettext.m4, glibc2.m4, glibc21.m4, glob.m4, gnulib.m4, iconv.m4,
      intdiv0.m4, isc-posix.m4, lcmessage.m4, lib-ld.m4, lib-link.m4,
      lib-prefix.m4, lock.m4, longdouble.m4, longlong.m4,
      mailbox-link.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, mbstate_t.m4,
      mbswidth.m4, memchr.m4, mempcpy.m4, minmax.m4, obstack.m4,
      onceonly.m4, po.m4, printf-posix.m4, progtest.m4, regex.m4,
      restrict.m4, setenv.m4, signed.m4, size_max.m4, snprintf.m4,
      ssize_t.m4, stat-macros.m4, stdbool.m4, stdint.m4, stdint_h.m4,
      strcase.m4, strchrnul.m4, strdup.m4, strerror_r.m4, strndup.m4,
      strnlen.m4, strtok_r.m4, sysexits.m4, uint32_t.m4, uintmax_t.m4,
      ulonglong.m4, unistd_h.m4, unlocked-io.m4, vasnprintf.m4,
      vasprintf.m4, visibility.m4, vsnprintf.m4, wchar_t.m4, wcwidth.m4,
      wint_t.m4, xalloc.m4, xsize.m4: Remove.
      
      * alloca.c, allocsa.c, allocsa.h, asprintf.c, basename.c, error.c,
      error.h, exit.h, exitfail.c, exitfail.h, fnmatch.c, fnmatch_.h,
      fnmatch_loop.c, getpass.c, getpass.h, intprops.h, malloc.c,
      mbswidth.c, mbswidth.h, md5.c, md5.h, obstack.c, obstack.h,
      realloc.c, setenv.c, setenv.h, snprintf.c, snprintf.h, stdbool.h,
      stdbool_.h, strcasecmp.c, strncasecmp.c, strsignal.c, strtok_r.c,
      unsetenv.c, utmp.c, vasprintf.c, vasprintf.h, vsyslog.c,
      xalloc-die.c, xalloc.h, xalloc_die.c, xmalloc.c, xsize.h,
      xstrdup.c: Remove.
      
      * alloca.c, alloca_.h, argp-ba.c, argp-eexst.c, argp-fmtstream.c,
      argp-fmtstream.h, argp-fs-xinl.c, argp-help.c, argp-namefrob.h,
      argp-parse.c, argp-pin.c, argp-pv.c, argp-pvh.c, argp-xinl.c,
      argp.h, asnprintf.c, fnmatch.c, fnmatch_.h, fnmatch_loop.c,
      getdelim.c, getdelim.h, getline.c, getline.h, getlogin_r.c,
      getlogin_r.h, getndelim2.c, getndelim2.h, getopt.c, getopt.h,
      getopt1.c, getopt_.h, getopt_int.h, gettext.h, glob-libc.h,
      glob.c, glob_.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h,
      memchr.c, mempcpy.c, mempcpy.h, minmax.h, pin.c, printf-args.c,
      printf-args.h, printf-parse.c, printf-parse.h, regcomp.c, regex.c,
      regex.h, regex_internal.c, regex_internal.h, regexec.c,
      stat-macros.h, stdbool_.h, stdint_.h, strcase.h, strcasecmp.c,
      strchrnul.c, strchrnul.h, strdup.c, strdup.h, strncasecmp.c,
      strndup.c, strndup.h, strnlen.c, strnlen.h, strnlen1.c,
      strnlen1.h, strtok_r.c, strtok_r.h, sysexit_.h, unlocked-io.h,
      vasnprintf.c, vasnprintf.h, vsnprintf.c, vsnprintf.h, wcwidth.h,
      xsize.h: Remove.
      Sergey Poznyakoff authored
  37. 17 Nov, 2007 1 commit
    • * 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.
      Sergey Poznyakoff authored
  38. 10 Nov, 2007 1 commit
    • * frm/common.c, imap4d/sync.c, libsieve/runtime.c,
      mh/scan.c: Update declaration of observable actions  .
      * imap4d/select.c, imap4d/status.c, mh/anno.c, mh/forw.c,
      mh/repl.c: Use mu_mailbox_sync instead of
      mu_mailbox_save_attributes.
      * include/mailutils/mailbox.h (mu_mailbox_sync): New function.
      (mu_mailbox_save_attributes): Deprecated.
      * include/mailutils/message.h (mu_message_get_qid)
      (mu_message_set_qid): New functions.
      * include/mailutils/observer.h (MU_EVT_MESSAGE_APPEND): New event.
      (mu_observer_set_action_data): New function. Registers
      action-specific data.
      (mu_observable_notify): Get call-specific data as the third
      argument.
      * include/mailutils/types.hin (mu_message_qid_t): New data type.
      * libproto/imap/folder.c, libproto/imap/mbox.c,
      libproto/include/amd.h, libproto/maildir/mbox.c,
      libproto/mailer/sendmail.c, libproto/mailer/smtp.c,
      libproto/mbox/mboxscan.c, libproto/mh/mbox.c,
      libproto/nntp/mbox.c, libproto/pop/mbox.c, mailbox/folder.c,
      mailbox/mailer.c : Update calls to mu_observable_notify.
      * libproto/include/mailbox0.h (struct _mu_mailbox): Rename
      _save_attributes to _sync.
      * mailbox/amd.c: Likewise
      (_quick_get_message): New member.
      (MAILBOX_NOTIFY): Remove.
      * libproto/include/message0.h (struct _mu_message): New member
      _get_qid.
      * libproto/include/observer0.h (struct _mu_observer): New member
      _action_data.
      * libproto/mbox/mbox.c: Implement mbox_message_qid. Update calls
      to mu_observable_notify.
      (mbox_append_message): Report MU_EVT_MESSAGE_APPEND
      * mailbox/observer.c (mu_observer_destroy): Call _destroy with
      _action_data as its third argument.
      (mu_observer_action, mu_observable_notify): Takes third argument
      (call data)
      (mu_observer_set_action, mu_observer_set_destroy): Update signature.
      (mu_observer_set_action_data): New function.
      
      * libproto/mbox/mbox0.h, mail.local/main.c: Minor change.
      
      * mail.local/Makefile.am (mail_local_LDADD): Add MU_LIB_MAILER
      
      * mailbox/file_stream.c (_file_open): Fix handling of
      MU_STREAM_APPEND. Remove assertion.
      
      * mailbox/mailbox.c (mu_mailbox_quick_get_message): New function
      (mu_mailbox_sync): New function
      (mu_mailbox_get_size): Implement brute-force approach in case the
      mailbox does not provide a method.
      
      * mailbox/message.c (mu_message_get_qid, mu_message_set_qid): New
      function.
      
      * maildag/: New directory. A general-purpose mail delivery agent.
      * maildag/deliver.c: New file.
      * maildag/lmtp.c: New file.
      * maildag/maidag.c: New file.
      * maildag/maidag.h: New file.
      * maildag/mailtmp.c: New file.
      * maildag/mailquota.c: New file.
      * maildag/script.c: New file.
      * maildag/util.c: New file.
      * maildag/Makefile.am: New file.
      * maildag/.cvsignore: New file.
      Sergey Poznyakoff authored