1. 25 Aug, 2011 1 commit
  2. 04 Aug, 2011 1 commit
    • * libmailutils/base/assoc.c (first): Set index to max value
      if tab is NULL to indicate immediate end of iteration.
      * libmu_auth/sql.c (mu_auth_sql_by_name)
      (mu_auth_sql_by_uid): Check the return from mu_sql_num_tuples.
      (mu_sql_getpass): Check the number of returned tuples.
      Return failure if returned a NULL password.
      * libmu_scm/mu_message.c (string_sloppy_member): Remove.
      (mu-message-get-header-fields): Use scm_member instead of
      string_sloppy_member.
      * sql/postgres.c (chop): Handle NULL argument.
      Sergey Poznyakoff authored
  3. 27 Jul, 2011 1 commit
  4. 19 Jul, 2011 1 commit
  5. 17 Jul, 2011 1 commit
    • Bugfixes. · b586670e
      * libmailutils/base/rfc2047.c (mu_rfc2047_decode): Break if
      reading from the filter fails.
      * libmailutils/stream/fltstream.c (filter_read): Treat
      mu_filter_moreinput in the lastbuf state as error.
      Sergey Poznyakoff authored
  6. 14 Jul, 2011 2 commits
    • * NEWS: Update.
      * configure.ac: Update.
      * po/POTFILES.in: Update.
      Sergey Poznyakoff authored
    • * lib/manlock.c: New file.
      * lib/Makefile.am (libmuaux_a_SOURCES): Add manlock.c.
      * lib/muaux.h (manlock_mandatory_locking)
      (manlock_lock_dir): New externs.
      (manlock_open_mailbox, manlock_lock)
      (manlock_touchlock, manlock_unlock): New protos.
      
      * libmailutils/base/amd.c (amd_cleanup): Remove unbalanced
      call to mu_locker_unlock.
      * libmailutils/base/locker.c (mu_locker_create): Bugfixes.
      
      * imap4d/imap4d.c (imap4d_cfg_param): Add mandatory-locking
      construct.
      (main): Call manlock_cfg_init.
      * imap4d/select.c (imap4d_select0): Use mandatory locking if
      the mailbox is to be opened r/w.
      
      * imap4d/rename.c (imap4d_rename): Note FIXME!
      
      * imap4d/bye.c: Call manlock_unlock after closing the mailbox.
      * imap4d/close.c: Likewise.
      * imap4d/sync.c (imap4d_sync): Call manlock_touchlock.
      
      * pop3d/lock.c: Remove.
      * pop3d/Makefile.am (pop3d_SOURCES): Remove lock.c
      * pop3d/extra.c (pop3d_abquit): Unlock mailbox.
      * pop3d/pop3d.c (pop3d_cfg_param): Add mandatory-locking
      construct.
      (main): Call manlock_cfg_init.
      (pop3d_mainloop): Call manlock_touchlock.
      * pop3d/pop3d.h (pop3d_lock)
      (pop3d_touchlock, pop3d_unlock): Remove.
      * pop3d/quit.c (pop3d_quit): Unlock the mailbox.
      * pop3d/user.c (pop3d_begin_session): Use manlock_open_mailbox.
      Sergey Poznyakoff authored
  7. 07 Jul, 2011 1 commit
    • Bugfix. · a9667edc
      * libmailutils/string/vasnprintf.c (mu_vasnprintf): Operate on
      a fresh copy of va_alist in each new iteration.
      * libproto/imap/folder.c: Likewise.
      * libproto/nntp/nntp_sendline.c: Likewise.
      Sergey Poznyakoff authored
  8. 04 Jul, 2011 3 commits
    • * include/mailutils/stdstream.h (MU_STDSTREAM_RESET_STRIN)
      (MU_STDSTREAM_RESET_STROUT,MU_STDSTREAM_RESET_STRERR)
      (MU_STDSTREAM_RESET_NONE,MU_STDSTREAM_RESET_ALL): New flags.
      (mu_stdstream_setup): Change signature. All uses updated.
      * libmailutils/stdstream/basestr.c (mu_stdstream_setup):
      Use the flags argument to decide whether to close existing
      streams.
      Make sure stdstream_flushall enters the onexit queue only once.
      * libmu_argp/muinit.c (mu_app_init): Don't override variables
      that may be set by the caller (program_name, tag, streams).
      Sergey Poznyakoff authored
    • * libmailutils/diag/errors: Fix typo.
      * libproto/imap/connect.c: Add missing includes.
      * mh/tests/mhn.at: Add extra argument quoting.
      Sergey Poznyakoff authored
    • * libmailutils/diag/wd.c (mu_wd): Revamp the loop to ensure the proposed
      way of connecting with gdb works in case of a non-zero timeout.
      Sergey Poznyakoff authored
  9. 20 Jun, 2011 1 commit
  10. 08 Jun, 2011 1 commit
    • * include/mailutils/diag.h (mu_full_program_name): New extern.
      * libmailutils/diag/diag.c (mu_full_program_name): New global.
      (mu_set_program_name): Set mu_full_program_name.
      (mu_diag_at_locus): Fix format specifier.
      * libmailutils/diag/bt.c: Use mu_full_program_name instead of
      program_invocation_name.
      * libmailutils/diag/wd.c (mu_wd): Likewise.
      
      * comsat/comsat.c: Fix format specifiers.
      * lib/mailcap.c: Likewise.
      * libmu_sieve/util.c: Cast formatted arguments to match format specs.
      * mh/mh_getopt.c: Likewise.
      
      * libmailutils/cidr/fromstr.c: Add missing includes.
      * libproto/mailer/smtp.c: Likewise.
      * libproto/pop/mbox.c: Likewise.
      * testsuite/smtpsend.c: Likewise.
      * mu/getarg.c: Likewise.
      * mu/imap.c: Likewise.
      * mu/pop.c (com_connect): Protect TLS code with #ifdef.
      * mu/Makefile.am (EXTRA_DIST): Add mu-setup.awk.
      
      * mail/summary.c (mail_summary): Fix data types of the counters.
      Sergey Poznyakoff authored
  11. 16 May, 2011 1 commit
    • Bugfixes. · 73be707d
      * libmailutils/cfg/parser.y (STRTONUM, STRxTONUM)
      (GETSNUM, GETUNUM): Remove unused arguments.
      * libmailutils/stream/tcp.c (mu_tcp_stream_create_from_sa): Take
      care not to destroy sockaddr arguments in case of failure.
      Sergey Poznyakoff authored
  12. 31 Mar, 2011 2 commits
    • Bugfixes · d1e06eeb
      * libmailutils/filter/base64.c (_base64_encoder): Fix for the case
      when cmd==mu_filter_lastbuf and isize==0.
      
      * libmailutils/stream/tcp.c (mu_tcp_stream_create_with_source_ip)
      (mu_tcp_stream_create_with_source_host): Don't treat EAGAIN and
      EINPROGRESS as errors.
      * libproto/mailer/smtp.c (smtp_open): Free sockaddr if
      mu_tcp_stream_create_from_sa failed.
      * libproto/pop/mbox.c (pop_open): Likewise.
      * mu/imap.c (com_connect): Likewise.
      * mu/pop.c (com_connect): Likewise.
      Sergey Poznyakoff authored
    • * include/mailutils/cidr.h (MU_CIDR_FMT_SIMPLIFY): New format flag.
      * libmailutils/cidr/tostr.c (format_ipv6_bytes): Take additional
      argument, indicating whether to simplify the output.
      (format_ipv6_bytes_normal)
      (format_ipv6_bytes_simplified): New static functions.
      (mu_cidr_to_string): Select appropriate ipv6 printer depending on
      the MU_CIDR_FMT_SIMPLIFY bit.
      * libmailutils/tests/cidr.c (main): New options -s and -S
      Sergey Poznyakoff authored
  13. 30 Mar, 2011 5 commits
    • Sergey Poznyakoff authored
    • * am/enable.m4 (MU_ENABLE_BUILD): Take optional 6th argument.  If
      given, append $1 to it.
      * configure.ac: New options: --enable-build-servers and
      --enable-build-clients.
      Print a list of selected utilities at the end of the run.
      * README: Document new options.
      Sergey Poznyakoff authored
    • Bugfix · fca5c9e3
      * libmailutils/sockaddr/fromnode.c [!MAILUTILS_IPV6] Handle
      AF_UNSPEC same way as AF_INET.
      Do not bail out if service is not given, assume port = 0 instead.
      * mailutils/base/version.c (mu_conf_option): Reflect IPv6 support.
      Sergey Poznyakoff authored
    • * am/ipv6.m4: New file.
      * examples/sa.c: New file.
      * include/mailutils/cidr.h: New file.
      * include/mailutils/sockaddr.h: New file.
      * libmailutils/cidr/Makefile.am: New file.
      * libmailutils/cidr/fromsa.c: New file.
      * libmailutils/cidr/fromstr.c: New file.
      * libmailutils/cidr/match.c: New file.
      * libmailutils/cidr/tosa.c: New file.
      * libmailutils/cidr/tostr.c: New file.
      * libmailutils/sockaddr/Makefile.am: New file.
      * libmailutils/sockaddr/copy.c: New file.
      * libmailutils/sockaddr/create.c: New file.
      * libmailutils/sockaddr/free.c: New file.
      * libmailutils/sockaddr/fromnode.c: New file.
      * libmailutils/sockaddr/insert.c: New file.
      * libmailutils/sockaddr/ipaddr.c: New file.
      * libmailutils/sockaddr/str.c: New file.
      * libmailutils/sockaddr/unlink.c: New file.
      * libmailutils/sockaddr/url.c: New file.
      * libmailutils/tests/cidr.c: New file.
      
      * configure.ac: Call MU_ENABLE_IPV6.
      Build libmailutils/sockaddr and libmailutils/cidr.
      * examples/.gitignore: Add mblconv and sa
      * examples/Makefile.am: (noinst_PROGRAMS): Add sa.
      * examples/aclck.c: Use new ACL API.
      * examples/echosrv.c: Use new mserv API.
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add cidr.h
      and sockaddr.h
      
      * include/mailutils/acl.h (mu_acl_append, mu_acl_prepend)
      (mu_acl_insert): Change signatures.
      * include/mailutils/debug.h (mu_sockaddr_to_str): Remove proto.
      * include/mailutils/mailutils.h: Include cidr.h and sockaddr.h
      * include/mailutils/server.h (mu_ip_server_create): Change signature.
      (mu_ip_server_get_sockaddr): Likewise.
      (mu_m_server_set_default_address)
      (mu_m_server_get_default_address): Remove.
      * include/mailutils/stream.h (mu_tcp_stream_create_from_sa): New proto.
      * include/mailutils/types.hin (mu_cidr, mu_sockaddr): New structs.
      
      * include/mailutils/url.h (MU_URL_IPV6): New flag.
      (MU_URL_PARSE_DSLASH_OPTIONAL): New parse flag.
      
      * libmailutils/Makefile.am: Descend into cidr and sockaddr. Link in
      libcidr and libsockaddr.
      * libmailutils/diag/debug.c (mu_debug_log_begin): Flush mu_strerr.
      * libmailutils/diag/errors (MU_ERR_NONAME)
      (MU_ERR_BADFLAGS,MU_ERR_SOCKTYPE)
      (MU_ERR_FAMILY,MU_ERR_SERVICE): New errors.
      
      * libmailutils/server/acl.c: Rewrite API using mu_cidr.
      * libmailutils/server/ipsrv.c: Rewrite AI using mu_sockaddr.
      * libmailutils/server/msrv.c: Likewise.
      * libmailutils/stream/tcp.c: Likewise.
      
      * libmailutils/tests/.gitignore: Add cidr.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Add cidr.
      * libmailutils/tests/url-parse.c: Support command line options
      to tune the parsing.
      * libmailutils/tests/url.at: Pass options to url-parse.
      * libmailutils/url/create.c (getkn): Return meaningful error code.
      (_mu_url_ctx_parse_host): Accept IPv6 addresses. Set the MU_URL_IPV6
      flag if one is given.
      (_mu_url_ctx_parse): Unless MU_URL_PARSE_DSLASH_OPTIONAL flag is
      given, request :// after scheme part.
      (mu_url_create): Add MU_URL_PARSE_DSLASH_OPTIONAL flag.
      
      * libmu_cfg/acl.c: Use new ACL API.
      * mu/acl.c: Likewise.
      
      * libproto/mailer/smtp.c (smtp_open): Use mu_tcp_stream_create_from_sa
      * libproto/pop/mbox.c (pop_open): Likewise.
      * mu/imap.c (com_connect): Likewise.
      * mu/pop.c (com_connect): Likewise.
      * testsuite/smtpsend.c (main): Likewise.
      Sergey Poznyakoff authored
    • * mh/tests/comp.at: Remove trailing whitespace before comparisons
      Sergey Poznyakoff authored
  14. 23 Mar, 2011 1 commit
    • * libmailutils/filter/c-escape.c: New file.
      * include/mailutils/filter.h (mu_c_escape_filter): New extern.
      * libmailutils/filter/Makefile.am (libfilter_la_SOURCES): Add c-escape.c
      * libmailutils/filter/filter.c (mu_filter_get_list): Add
      mu_c_escape_filter to the list.
      Sergey Poznyakoff authored
  15. 17 Mar, 2011 1 commit
    • * examples/mblconv.c (main): Return 0.
      * examples/murun.c (main): Fix iteration body.
      * imap4d/append.c: Do not pass constructed string as format
      argument to io_completion_response, use %s instead.
      * imap4d/close.c: Likewise.
      * imap4d/create.c: Likewise.
      * imap4d/delete.c: Likewise.
      * imap4d/rename.c: Likewise.
      * imap4d/status.c: Likewise.
      * libmailutils/base/mutil.c (mutil_parse_field_map): Fix return
      code in case of wordsplit failure.
      * libmailutils/cfg/parser.y (GETSNUM): Initialize sign.
      * libmailutils/stream/streamref.c (_streamref_ctl)
      <MU_IOCTL_SEEK_LIMITS>: Initialize lim.
      * libmailutils/string/wordsplit.c: Typecast format width arguments
      to int.
      * libmu_sieve/extensions/vacation.c (check_db): Initialize days.
      Pass correct time value to test_and_update_prop.
      * libproto/pop/mbox.c (pop_create_pop3_message): Fix return code.
      * mail/mail.c (do_and_quit): Pass the command to util_do_command
      via the %s format.
      * mail/unset.c (mail_unset): Likewise.
      * mh/mh_fmtgram.y (function production): LIkewise for mu_error.
      * mu/logger.c (mutool_logger): Fix return code in case
      of mu_stdstream_strerr_create failure.
      Sergey Poznyakoff authored
  16. 16 Mar, 2011 1 commit
    • Bugfixes. · 02634d3b
      * comsat/action.c (action_echo): Set omit_newline.
      * libmailutils/mailbox/mbx_default.c: Return 0 on success.
      Fix memory overrun.
      
      * libproto/mailer/smtp.c (smtp_open): Protect tls-related
      code with #ifdef WITH_TLS.
      * libproto/pop/mbox.c (pop_open): Likewise.
      * mu/imap.c (com_connect): Likewise.
      
      * mh/mhn.c (split_args): Preserve quotes.
      (mhn_compose_command): Handle type arguments (%a escape).
      (mhn_show_command): Likewise.
      (store_handler): Fix call to mh_getyn.
      (edit_mime): Pass typeargs to mhn_compose_command.
      Fix test for missing filename.
      * mh/tests/ali.at (ali04): The test wrongly assumed that the
      `root' group has some members.
      * mh/tests/folder.at: Always sort the output from find.
      * mh/tests/rmf.at: Likewise.
      * mh/tests/mhn.at: Likewise.
      Filter out timestamps from the tar output produced by mhn.
      
      * tests/testsuite.at (MH_SETUP): Define moreproc.
      * mh/tests/mhparam.at: Account for changes in mh_profile
      Sergey Poznyakoff authored
  17. 10 Mar, 2011 1 commit
  18. 09 Mar, 2011 1 commit
  19. 07 Mar, 2011 1 commit
    • * include/mailutils/gocs.h (mu_site_rcfile): New extern.
      * include/mailutils/libcfg.h (MU_CONFIG_FILE): Remove.
      (mu_register_cfg_capa): Remove proto.
      (mu_libcfg_register_capa): New proto.
      * libmailutils/cfg/gocs.c (mu_site_rcfile): New variable.
      
      * libmu_argp/muinit.c (mu_app_init): Use mu_site_rcfile instead
      of MU_CONFIG_FILE.
      Destroy parse_tree when no longer needed.
      * libmu_cfg/init.c (cfg_capa_table): Static.
      (find_cfg_capa): Likewise.
      (reserved_name): Treat names starting with dot as reserved.
      (mu_libcfg_register_capa): New function.
      (mu_libcfg_parse_config): Use mu_site_rcfile instead
      of MU_CONFIG_FILE.
      * mu/query.c (mutool_query): Use mu_site_rcfile instead
      of MU_CONFIG_FILE.
      Sergey Poznyakoff authored
  20. 05 Mar, 2011 2 commits
    • This function used to handle include/program statements, which
      is useless now, as these are expanded by mu_cfg_tree_postprocess.
      
      * include/mailutils/cfg.h (mu_cfg_tree_reduce): Change signature.
      (mu_format_config_tree): Change signature.
      (mu_config_clone_root_container): New proto.
      (mu_config_register_section): Rename to mu_config_root_register_section.
      mu_config_container_register_section. All uses changed.
      (mu_config_root_register_section): New proto.
      
      * libmailutils/cfg/driver.c (prog_parser)
      (_cb_include): Remove unnecessary code.
      (mu_build_container): Simplify. All uses updated.
      (mu_cfg_tree_reduce): Simplify invocation. All uses updated.
      
      * libmu_argp/muinit.c (mu_app_init): Re-implement --config-help support.
      
      * sieve/sieve.c (sieve_cfg_param): Fix docstring for "debug".
      * sieve/tests/testsuite.at (MUT_SIEVE_DEFAULT_OPTIONS): New variable.
      (MUT_SIEVE_CMDLINE): Include MUT_SIEVE_DEFAULT_OPTIONS.
      (MUT_SIEVE_COMPILE): Pass MUT_SIEVE_DEFAULT_OPTIONS to sieve.
      Sergey Poznyakoff authored
    • * include/mailutils/cfg.h (mu_cfg_parse_hints): New struct.
      (mu_cfg_tree_postprocess): Change signature.  Last argument is
      struct mu_cfg_parse_hints *.
      (MU_CFG_PARSE_SITE_RCFILE,MU_CFG_PARSE_CUSTOM_RCFILE)
      (MU_CFG_PARSE_PROGRAM): New flags.
      (mu_cfg_parse_config): New proto.
      * libmailutils/cfg/lexer.l (mu_get_config): Fix call to
      mu_cfg_tree_postprocess.
      
      * libmailutils/cfg/parser.y (do_include): Takes hints as 2nd argument.
      (mu_cfg_tree_postprocess): Likewise.
      (mu_cfg_parse_config): New function.
      
      * libmu_cfg/init.c (mu_libcfg_parse_config): Rewrite as a wrapper
      over mu_cfg_parse_config.
      * libmu_argp/muinit.c (mu_app_init): Update.
      
      * mu/query.c: New option --program.
      (mutool_query): Use mu_cfg_parse_config interface.
      Sergey Poznyakoff authored
  21. 04 Mar, 2011 2 commits
    • * include/mailutils/cfg.h (mu_cfg_node) <parent>: New member.
      (MU_CFG_FMT_VALUE_ONLY)
      (MU_CFG_FMT_PARAM_PATH): New flags.
      * libmailutils/cfg/format.c (format_path): New static.
      (format_node,format_node_end): Handle new flags.
      (mu_cfg_format_node): Clear MU_CFG_FMT_VALUE_ONLY if the
      requested node is mu_cfg_node_statement.
      * libmailutils/cfg/parser.y: Set node parents.
      (mu_cfg_find_node): Fix coredump.
      * mu/query.c: New options --value and --path.
      Sergey Poznyakoff authored
    • * libmailutils/server/acl.c (_run_entry): Fix log output.
      * mu/shell.c: Fix compilation without readline.
      Sergey Poznyakoff authored
  22. 19 Feb, 2011 1 commit
    • * libmu_scm/Makefile.am (DOT_X_FILES, DOT_DOC_FILES): Add mu_debug.x and
      mu_debug.doc.
      * mail/send.c (fill_body): Remove extra \n after null message
      body diagnostics.
      Sergey Poznyakoff authored
  23. 21 Jan, 2011 1 commit
  24. 19 Jan, 2011 1 commit
    • Bugfix · d9044ffe
      * libmailutils/base/amd.c: Add more debugging info.  Always check the
      return from amd_pool_open and amd_check_message (which returns int now)
      and act accordingly.
      Sergey Poznyakoff authored
  25. 16 Jan, 2011 1 commit
    • * libmailutils/diag/bt.c: New file.
      * libmailutils/diag/wd.c: New file.
      * libmailutils/diag/Makefile.am (libdiag_la_SOURCES): Add bt.c and wd.c
      
      * include/mailutils/debug.h (mu_gdb_bt, mu_wd): New protos.
      * include/mailutils/util.h (mu_getmaxfd): New protos.
      * libmailutils/base/getmaxfd.c: New file.
      * libmailutils/base/Makefile.am (libbase_la_SOURCES): Add getmaxfd.c
      
      * libmailutils/server/acl.c: Use mu_getmaxfd.
      * libmailutils/stream/prog_stream.c: Likewise.
      * mh/mh_whatnow.c: Likewise.
      
      * libmu_scm/mu_body.c (mu-body?): Bugfix.
      Sergey Poznyakoff authored
  26. 15 Jan, 2011 2 commits
    • * libmailutils/mime/attachment.c (_attachment_setup): Remove improper
      initialization of msg.
      (mu_message_encapsulate): Initialize info->msg.
      Sergey Poznyakoff authored
    • Previously implemented way of signal handling was unsafe because of
      the use of unsafe functions in signal handlers. It also allowed for
      recursive invocations of MU calls not supposed to handle recursion
      (such as mu_mailbox_expunge, for example). This changeset fixes it.
      
      * imap4d/imap4d.c (imap4d_child_signal_setup): Change signal set.
      (imap4d_mainloop): Set a jump point for signal handling.
      Restore default handling for SIGILL, SIGBUS, SIGFPE, SIGSEGV, SIGSTOP.
      (master_jmp): New variable.
      (imap4d_master_signal): New function.
      (main): Redo signal handling.
      * imap4d/imap4d.h (child_jmp): New extern.
      (imap4d_enter_critical,imap4d_leave_critical): New protos.
      * imap4d/signal.c (imap4d_master_signal): Move to imap4d.c
      (imap4d_enter_critical,imap4d_leave_critical): New functions.
      (imap4d_child_signal): Rewrite.
      
      * imap4d/append.c: Protect critical sections.
      * imap4d/bye.c: Likewise.
      * imap4d/close.c: Likewise.
      * imap4d/copy.c: Likewise.
      * imap4d/delete.c: Likewise.
      * imap4d/expunge.c: Likewise.
      * imap4d/rename.c: Likewise.
      * imap4d/select.c: Likewise.
      * imap4d/status.c: Likewise.
      
      * scheme/Makefile.am (sievemod_DATA): Add guimb.scmi.
      Sergey Poznyakoff authored
  27. 14 Jan, 2011 1 commit
  28. 09 Jan, 2011 1 commit
  29. 07 Jan, 2011 1 commit
    • * libmu_scm/mu_body.c (mu-body?): New function.
      * libmu_scm/mu_mailbox.c (mu-mailbox?): New function.
      * libmu_scm/mu_message.c (mu-message?): New function.
      * libmu_scm/mu_mime.c (mu-mime?): New function.
      * scheme/guimb.scmi (guimb-process-mailbox): guimb-message returns
      a message to be appended to the output mailbox.
      Sergey Poznyakoff authored