1. 03 Dec, 2016 1 commit
  2. 24 Nov, 2016 2 commits
    • * include/mailutils/sieve.h (mu_sieve_action_log_t): Change proto.
      * lib/sieve.c (_sieve_action_log): Rewrite.
      * libmu_sieve/util.c (mu_sieve_log_action): Rewrite.
      * python/libmu_py/sieve.c (_sieve_action_printer): Rewrite.
      * sieve/sieve.c (_sieve_action_log): Rewrite.
      Sergey Poznyakoff authored
    • * include/mailutils/sieve.h (MU_SIEVE_DEBUG_TRACE)
      (MU_SIEVE_DEBUG_INSTR,MU_SIEVE_DEBUG_DISAS)
      (MU_SIEVE_DRY_RUN): Remove.
      (mu_sieve_machine_init_ex): Remove proto.
      (mu_sieve_set_dbg_stream,mu_sieve_get_dbg_stream)
      (mu_sieve_stream_save)
      (mu_sieve_stream_restore): New protos.
      * libmu_sieve/runtime.c (INSTR_DISASS,INSTR_DEBUG): Reimplement.
      * libmu_sieve/sieve-priv.h (MU_SV_SAVED_ERR_STATE)
      (MU_SV_SAVED_DBG_STATE,MU_SV_SAVED_STATE): New bitflags.
      (mu_sieve_state_disass): New constant.
      (mu_sieve_machine)<state_flags, err_mode>
      <err_locus,dbg_mode,dbg_locus>: New members.
      <dbgstream>: New member.
      * libmu_sieve/sieve.y (mu_sieve_machine_init_ex): Remove.
      (mu_sieve_machine_dup, mu_sieve_machine_inherit): Fix.
      (mu_sieve_set_dbg_stream)
      (mu_sieve_get_dbg_stream): New functions.
      (mu_sieve_machine_destroy): Destroy dbgstream.
      (with_machine): Preserve stream state (mode & locus).
      * libmu_sieve/util.c (mu_i_sv_debug,mu_i_sv_debug_command): Use ioctl
      instead of format strings.
      (mu_sieve_stream_save, mu_sieve_stream_restore): New functions.
      * python/libmu_py/sieve.c (api_sieve_machine_init): Use
      mu_sieve_machine_init.
      * sieve/sieve.c: Improve help output.
      (main): Dump disassembled code to standard output.
      Sergey Poznyakoff authored
  3. 22 Jan, 2016 1 commit
  4. 27 Jun, 2015 3 commits
    • * python/libmu_py/libmu_py.c (_ro): Remove inline qualifier.
      * python/libmu_py/libmu_py.h: Likewise.
      Sergey Poznyakoff authored
    • * python/libmu_py/address.c: Use PyInt_FromSize_t to return size_t
      and similar values.
      * python/libmu_py/auth.c: Likewise.
      * python/libmu_py/body.c: Likewise.
      * python/libmu_py/header.c: Likewise.
      * python/libmu_py/mailbox.c: Likewise.
      * python/libmu_py/mailcap.c: Likewise.
      * python/libmu_py/message.c: Likewise.
      * python/libmu_py/mime.c: Likewise.
      * python/libmu_py/sieve.c: Likewise.
      * python/libmu_py/stream.c: Likewise.
      Sergey Poznyakoff authored
    • * lib/python.c (python_proc): Pass a copy of mu_program_name
      as argv[0].
      * python/libmu_py/libmu_py.h (ASSERT_INDEX_RANGE): New macro.
      * python/libmu_py/address.c: Use Py_ssize_t and check returned
      value range when getting size_t arguments.
      * python/libmu_py/auth.c: Likewise.
      * python/libmu_py/folder.c: Likewise.
      * python/libmu_py/header.c: Likewise.
      * python/libmu_py/mailbox.c: Likewise.
      * python/libmu_py/mailcap.c: Likewise.
      * python/libmu_py/message.c: Likewise.
      * python/libmu_py/mime.c: Likewise.
      * python/libmu_py/secret.c: Likewise.
      * python/libmu_py/stream.c: Likewise.
      Sergey Poznyakoff authored
  5. 02 Mar, 2015 1 commit
  6. 26 Feb, 2014 1 commit
  7. 05 Feb, 2014 1 commit
  8. 17 Jul, 2012 1 commit
    • * include/mailutils/prog.h: Add extern "C".
      * include/mailutils/wordsplit.h: Likewise.
      * libmu_cpp/address.cc (Address::to_string): Use mu_address_sget_printable.
      * libmu_cpp/filter.cc (FilterIconvStream): Use mu_filter_create_args.
      * python/mailutils/folder.py (get_stream, set_stream): Remove.
      Wojciech Polak authored
  9. 09 May, 2012 1 commit
    • * doc/texinfo/folder.texi: Update
      * include/mailutils/cpp/folder.h (Folder) <set_stream>
      <get_stream>: Remove.
      * include/mailutils/folder.h (mu_folder_get_stream)
      (mu_folder_get_streamref)
      (mu_folder_set_stream): Remove.
      * include/mailutils/mailbox.h (mu_folder_get_stream)
      (mu_folder_get_streamref)
      (mu_folder_set_stream): Remove protos.
      * include/mailutils/sys/folder.h (_mu_folder)<stream>: Remove.
      All uses updated.
      * libmailutils/mailbox/folder.c (mu_folder_set_stream)
      (mu_folder_get_stream,mu_folder_get_streamref): Remove.
      * libmailutils/mailbox/mailbox.c (mu_mailbox_get_stream)
      (mu_mailbox_get_streamref): Remove.
      * libmu_cpp/folder.cc (get_stream, set_stream): Remove.
      * libmu_scm/mu_mailbox.c (mu-mailbox-get-port): Remove.
      * python/libmu_py/folder.c (get_stream): Remove.
      Sergey Poznyakoff authored
  10. 25 Mar, 2012 1 commit
    • * examples/aclck.c: Check return values from strdup.
      * libmailutils/base/usremail.c: Likewise.
      * libmailutils/mailbox/bodystruct.c: Likewise.
      * lib/mailcap.c: Likewise.
      * libmailutils/mailbox/mbx_default.c: Likewise.
      * libmailutils/server/acl.c: Likewise.
      * libmailutils/stream/logstream.c: Likewise.
      * libmailutils/stream/message_stream.c: Likewise.
      * libmu_argp/mu_argp.c: Likewise.
      * libmu_auth/ldap.c: Likewise.
      * libmu_auth/pam.c: Likewise.
      * libmu_auth/sql.c: Likewise.
      * libmu_sieve/comparator.c: Likewise.
      * libmu_sieve/conf.c: Likewise.
      * libmu_sieve/extensions/list.c: Likewise.
      * libmu_sieve/extensions/vacation.c: Likewise.
      * libproto/mailer/prog.c: Likewise.
      * libproto/mailer/smtp_io.c: Likewise.
      * maidag/lmtp.c: Likewise.
      * python/libmu_py/address.c: Likewise.
      * sql/odbc.c
      
      * examples/sfrom.c (main): Avoid unnecessary memory allocation.
      * libmailutils/mailbox/mailbox.c: Likewise.
      
      * frm/frm.h: Include mailutils/alloc.h, remove xalloc.h
      * mh/mh.h: Likewise.
      
      * imap4d/imap4d.h: Remove xalloc.h
      * mail/mail.h: Likewise.
      * mimeview/mimeview.h: Likewise.
      * mu/acl.c: Likewise.
      * readmsg/readmsg.c: Likewise.
      
      * include/mailutils/locker.h (mu_locker_set_default_external_program):
      Change returned type.
      * include/mailutils/mailbox.h (mu_set_folder_directory): Change
      returned type.
      * libmailutils/base/locker.c (mu_locker_set_default_external_program):
      Return int (error code).
      * libmailutils/base/tilde.c: Add extra checks
      * libmailutils/mime/mimehdr.c (_mime_header_parse): Bugfix.
      * mail/folders.c: Don't use alloca, use mu_alloc instead. It
      was the only use of that function in Mailutils, so this change
      allows to withdraw the alloca module.
      
      * gnulib.modules (alloca, malloc)
      (realloc, xalloc): Remove.
      
      * frm/common.c: Use mu_alloc and friends instead of xmalloc.
      * frm/from.c: Likewise.
      * imap4d/append.c: Likewise.
      * imap4d/auth_gsasl.c: Likewise.
      * imap4d/authenticate.c: Likewise.
      * imap4d/fetch.c: Likewise.
      * imap4d/imap4d.c: Likewise.
      * imap4d/io.c: Likewise.
      * imap4d/list.c: Likewise.
      * imap4d/namespace.c: Likewise.
      * imap4d/parsebuf.c: Likewise.
      * imap4d/preauth.c: Likewise.
      * imap4d/rename.c: Likewise.
      * imap4d/search.c: Likewise.
      * imap4d/util.c: Likewise.
      * libmu_argp/muinit.c: Likewise.
      * mail/alias.c: Likewise.
      * mail/alt.c: Likewise.
      * mail/copy.c: Likewise.
      * mail/decode.c: Likewise.
      * mail/escape.c: Likewise.
      * mail/file.c: Likewise.
      * mail/from.c: Likewise.
      * mail/mail.c: Likewise.
      * mail/mailline.c: Likewise
      * mail/mailvar.c: Likewise
      * mail/msgset.y: Likewise
      * mail/page.c: Likewise
      * mail/send.c: Likewise
      * mail/shell.c: Likewise
      * mail/unset.c: Likewise
      * mail/util.c: Likewise
      * mh/folder.c: Likewise
      * mh/mh_alias.l: Likewise
      * mh/mh_alias.y: Likewise
      * mh/mh_fmtgram.y: Likewise
      * mh/mh_format.c: Likewise
      * mh/mh_global.c: Likewise
      * mh/mh_init.c: Likewise
      * mh/mh_list.c: Likewise
      * mh/mh_whatnow.c: Likewise
      * mh/mh_whom.c: Likewise
      * mh/mhn.c: Likewise
      * mh/pick.y: Likewise
      * mh/prompter-rl.c: Likewise
      * mh/refile.c: Likewise
      * mh/repl.c: Likewise
      * mh/send.c: Likewise
      * mh/sortm.c: Likewise
      * mimeview/mimetypes.y: Likewise
      * mu/dbm.c: Likewise
      * mu/dispatch.c: Likewise
      * mu/imap.c: Likewise
      * mu/pop.c: Likewise
      * mu/shell.c: Likewise
      * pop3d/apop.c: Likewise
      * pop3d/bulletin.c: Likewise
      * pop3d/popauth.c: Likewise
      * pop3d/user.c: Likewise
      Sergey Poznyakoff authored
  11. 05 Jan, 2012 1 commit
  12. 21 Dec, 2011 1 commit
    • Old API relied on passing a pointer to the buffer string and its size,
      which is defective.  The new API, in addtion to that, provides functions
      for obtaining a pointer to the statically allocated original value, a
      pointer to dynamically allocated copy, and a function for formatting the
      address directly to a MU stream.
      
      Two functions are marked as deprecated: mu_address_to_string and
      mu_address_format_string.  Both assume a pointer to an allocated string
      of a fixed size, which is far from being convenient nor reliable enough.
      
      * include/mailutils/address.h (MU_ADDR_HINT_ADDR): Rename to
      MU_ADDR_HINT_PRINTABLE
      (mu_address)<addr>: Rename to printable.
      (mu_address_sget_printable,mu_address_aget_printable)
      (mu_address_get_printable): New protos.
      (mu_stream_format_address): New proto.
      (mu_address_to_string)
      (mu_address_format_string): Mark as deprecated.
      (mu_validate_email): New proto.
      * examples/mta.c: Use mu_address_sget_printable instead
      of (mu_address_to_string)
      * libmailutils/address/addrstream.c: New file.
      * libmailutils/address/Makefile.am (libaddress_la_SOURCES): Add
      addrstream.c
      * libmailutils/address/address.c (mu_address_format_string): Rewrite using
      streams.
      (mu_address_to_string): Rewrite as a wrapper over
      mu_address_get_printable.
      (mu_address_sget_printable,mu_address_aget_printable)
      (mu_address_get_printable): New functions.
      * libmailutils/mime/mimehdr.c (_mime_header_parse): Initialize rc.
      * mail/util.c (util_merge_addresses): Use mu_address_aget_printable.
      * mh/mh.h (mh_annotate): Both string args are const.
      * mh/mh_init.c (mh_annotate): Likewise.
      * mh/mh_format.c (builtin_formataddr): Use mu_address_sget_printable.
      * mh/mh_whatnow.c (anno_data)<field,value>: Both are consts.
      (annotate): Use mu_address_sget_printable.
      * mh/send.c (set_address_header): Use mu_address_sget_printable.
      * mu/imap.c (format_email): Use mu_stream_format_address.
      * python/libmu_py/address.c (api_address_to_string): Likewise.
      Sergey Poznyakoff authored
  13. 16 Dec, 2011 1 commit
  14. 13 Dec, 2011 2 commits
    • Bugfixes. · 85c5f9a8
      * libmu_sieve/sieve.y (mu_sieve_compile): Initialize rc.
      * python/libmu_py/sieve.c (api_sieve_machine_error_text): Fix
      type of length.
      Sergey Poznyakoff authored
    • * python/libmu_py/sieve.c (api_sieve_machine_init): Improve.
      (api_sieve_machine_error_text): Add new function.
      * python/libmu_py/stream.c (api_memory_stream_create): Likewise.
      (api_stream_to_message): Likewise.
      * python/mailutils/error.py (Error): Add optional str_error argument.
      * python/mailutils/sieve.py: Update.
      * python/mailutils/stream.py (to_message): Add new method.
      (MemoryStream): Add new class.
      Wojciech Polak authored
  15. 15 Nov, 2011 1 commit
    • * python/libmu_py/Makefile.am (libmu_py_la_SOURCES): Add errno.c
      * python/libmu_py/errno.c: New file.
      * python/libmu_py/libmu_py.c (_mu_py_module_name): New function.
      (_mu_py_attach_module): Use _mu_py_module_name to allocate FQ
      module name instead of taking the risk of using fixed size buffer.
      Don't call Py_InitModule if methods is NULL.
      (mu_py_attach_modules): Call _mu_py_attach_errno.
      * python/libmu_py/libmu_py.h (_mu_py_attach_errno): New proto.
      * python/mailutils/error.py: Re-export everything from c_api.errno.
      Remove hardcoded definitions of error codes.
      Sergey Poznyakoff authored
  16. 10 Nov, 2011 1 commit
    • * python/libmu_py/filter.c: Bugfix.
      * python/libmu_py/url.c (api_url_parse): Remove.
      * python/mailutils/error.py: Update MU_ERR_* values.
      * python/mailutils/url.py (Url): Remove parse() method.
      * examples/python/iconv.py: Remove open/close method calls.
      * examples/python/mailcap.py: Likewise.
      * examples/python/url-parse.py: Remove parse() call.
      Wojciech Polak authored
  17. 04 Nov, 2011 1 commit
    • Remove --tls option.  Make TLS stream open methods call mu_init_tls_libs.
      It is now not necessary to call this function explicitly, unless the
      application wishes to ensure TLS is initialized (e.g. pop3d or imap4d).
      
      * include/mailutils/libargp.h (mu_tls_cmdline): Remove.
      * libmu_argp/tls.c
      * libmu_argp/Makefile.am (libmu_argp_a_SOURCES): Remove tls.c
      * libmu_argp/cmdline.c (all_cmdline_capa): Remove tls.c
      * libmu_auth/tls.c [WITH_TLS] (mu_tls_module_config): Enable by default.
      (mu_check_tls_environment): Return 0 if TLS is disabled.
      (mu_init_tls_libs): Always call gnutls_global_init, otherwise any call
      to TLS library (especially, handshake) can produce a coredump.
      * libmu_cfg/tls.c: Fix description string for tls.enable.
      * mh/mh_init.c (mh_init): Remove call to mu_init_tls_libs, now unnecessary.
      * python/libmu_py/registrar.c: Likewise.
      * testsuite/smtpsend.c: Likewise.
      Sergey Poznyakoff authored
  18. 29 Oct, 2011 1 commit
    • * libmailutils/diag/errors (MU_ERR_TCP_NO_HOST)
      (MU_ERR_TCP_NO_PORT): Change wording.
      (MU_ERR_UNSAFE_PERMS): Remove error code.
      (MU_ERR_NO_HANDLER): Remove. All uses replaced by ENOSYS.
      (MU_ERR_OUT_NULL): Remove. MU_ERR_OUT_PTR_NULL is used instead.
      (MU_ERR_MBX_NULL): Remove. Use EINVAL instead.
      (MU_ERR_BAD_822_FORMAT): Rename to MU_ERR_INVALID_EMAIL. Change wording.
      (MU_ERR_REPLY): Change wording.
      
      * libmailutils/url/create.c: Remove misguiding comments
      * libmailutils/url/set-service.c: Likewise.
      
      * libmailutils/mailbox/mailbox.c (mu_mailbox_open): Return EACCES
      if trying to update quick-access mailboxes.
      (mu_mailbox_get_stream): Mark for deletion.
      * libmailutils/stream/fltstream.c (filter_read)
      (filter_write_internal): Return MU_ERR_BUFSPACE if requested more
      space than available in I/O buffers.
      * libproto/mbox/mbox.c (mbox_expunge_unlocked): Send MU_EVT_MAILBOX_CORRUPT
      event if the mailbox shrunk.
      * libproto/mbox/mboxscan.c (mbox_scan_internal): Return MU_ERR_NOENT if
      unable to locate message in quick-access mode.
      Sergey Poznyakoff authored
  19. 02 Jan, 2011 1 commit
  20. 19 Dec, 2010 1 commit
  21. 16 Dec, 2010 1 commit
    • * include/mailutils/cpp/debug.h: Remove.
      * include/mailutils/cpp/Makefile.am (cppinclude_HEADERS): Remove debug.h
      * libmu_cpp/debug.cc: Remove
      * libmu_cpp/Makefile.am (libmu_cpp_la_SOURCES): Remove debug.cc.
      * python/libmu_py/debug.c: Remove.
      * python/libmu_py/Makefile.am (libmu_py_la_SOURCES): Remove debug.c
      * include/mailutils/cpp/mailbox.h: Remove objects and methods derived
      from mu_debug_t.
      * include/mailutils/cpp/mailer.h: Likewise.
      * include/mailutils/cpp/stream.h: Likewise.
      * libmu_cpp/mailbox.cc: Likewise.
      * libmu_cpp/mailer.cc: Likewise.
      * libmu_cpp/sieve.cc: Likewise.  Ditto for mu_sieve_printf_t,
      mu_sieve_parse_error_t.
      * include/mailutils/cpp/sieve.h: Likewise.
      
      * libmu_cpp/stream.cc: Remove objects and methods derived
      from mu_debug_t.
      (ProgStream::ProgStream): Use mu_command_stream_create (see FIXME).
      (FilterProgStream::FilterProgStream): Rewrite.
      
      * include/mailutils/python.h: Remove objects and methods derived
      from mu_debug_t.
      * python/libmu_py/filter.c (api_filter_iconv_create): Rewrite using
      mu_filter_create_args.
      
      * python/libmu_py/libmu_py.c: Likewise.
      * python/libmu_py/libmu_py.h: Likewise.
      * python/libmu_py/mailbox.c: Likewise.
      * python/libmu_py/mailer.c: Likewise.
      * python/libmu_py/stream.c: Likewise.
      * python/libmu_py/url.c: Likewise.
      * python/libmu_py/sieve.c: Likewise.  Same for mu_sieve_printf_t,
      mu_sieve_parse_error_t.
      Sergey Poznyakoff authored
  22. 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
  23. 26 Oct, 2010 1 commit
    • The purpose is to make it modular and flexible.  URLs are
      parsed out as they are created.  Missing URL parts can be
      supplied via a "URL hint" at creation time (similar to
      the approach used in creating mu_address_t).  Ports
      can be specified either as numbers or as service names.
      Original port string representation can be retrieved from
      the URL, as well as its numeric value.
      
      * libmailutils/url/accessor.h: New file.
      * libmailutils/url/copy.c: New file.
      * libmailutils/url/create.c: New file.
      * libmailutils/url/decode.c: New file.
      * libmailutils/url/destroy.c: New file.
      * libmailutils/url/dup.c: New file.
      * libmailutils/url/expand.c: New file.
      * libmailutils/url/flag.c: New file.
      * libmailutils/url/get-auth.c: New file.
      * libmailutils/url/get-host.c: New file.
      * libmailutils/url/get-param.c: New file.
      * libmailutils/url/get-path.c: New file.
      * libmailutils/url/get-portstr.c: New file.
      * libmailutils/url/get-query.c: New file.
      * libmailutils/url/get-scheme.c: New file.
      * libmailutils/url/get-secret.c: New file.
      * libmailutils/url/get-user.c: New file.
      * libmailutils/url/match.c: New file.
      * libmailutils/url/port.c: New file.
      * libmailutils/url/scheme.c: New file.
      * libmailutils/url/uplevel.c: New file.
      * libmailutils/url/urlstr.c: New file.
      
      * configure.ac (AC_CONFIG_FILES): Add libmailutils/url/Makefile
      * libmailutils/Makefile.am (SUBDIRS): Add url.
      (libmailutils_la_LIBADD): Link with liburl.
      * libmailutils/base/Makefile.am (libbase_la_SOURCES): Remove url.c
      * libmailutils/base/url.c: Remove.
      
      * libmailutils/string/Makefile.am (libstring_la_SOURCES): Add xdecode.c
      * libmailutils/string/xdecode.c: New file.
      
      * include/mailutils/sys/url.h (_mu_url): Change type to short.
      <_get_port>: Change second argument to unsigned.
      <_get_portstr>: New method.
      * include/mailutils/url.h (MU_URL_SCHEME): New flag.
      (MU_URL_PARSE_HEXCODE, MU_URL_PARSE_HIDEPASS)
      (MU_URL_PARSE_PORTSRV, MU_URL_PARSE_PORTWC)
      (MU_URL_PARSE_PIPE, MU_URL_PARSE_SLASH): New flags.
      (mu_url_create_hint, mu_url_copy_hints): New prototypes.
      (mu_url_parse): Remove.
      (mu_url_get_port): Change second argument to unsigned.
      (mu_url_decode_len,mu_url_decode): Remove.
      (mu_url_decode): New proto.
      (mu_url_sget_portstr, mu_url_aget_portstr)
      (mu_url_get_portstr): New protos.
      
      * include/mailutils/util.h (mu_str_url_decode)
      (mu_str_url_decode_inline): New protos.
      * libproto/pop/mbox.c (pop_open): Port is unsigned.
      
      * libproto/imap/folder.c: Use MU_URL_SCHEME in url_may_have.
      * libproto/maildir/folder.c: Likewise.
      * libproto/mailer/prog.c: Likewise.
      * libproto/mailer/remote.c: Likewise.
      * libproto/mailer/sendmail.c: Likewise.
      * libproto/mailer/smtp.c: Likewise.
      * libproto/mbox/folder.c: Likewise.
      * libproto/mh/folder.c: Likewise.
      * libproto/nntp/folder.c: Likewise.
      * libproto/pop/folder.c: Likewise.
      
      * imap4d/imap4d.c: Remove calls to mu_url_parse.
      * libmailutils/base/registrar.c: Likewise.
      * libmailutils/base/wicket.c: Likewise.
      * libmailutils/mailbox/folder.c: Likewise.
      * libmailutils/mailbox/mailbox.c: Likewise.
      * libmailutils/mailer/mailer.c: Likewise.
      * libmailutils/tests/url-parse.c: Likewise.
      * libmailutils/tests/wicket.c: Likewise.
      * libproto/mailer/smtp_auth.c: Likewise.
      * maidag/deliver.c: Likewise.
      * mu/wicket.c: Likewise.
      
      * libmailutils/mime/mimehdr.c (mu_mimehdr_decode_param): Use
      mu_str_url_decode, instead of mu_url_decode.
      * libmailutils/stream/tcp.c (_tcp_instance)<port>: Change type
      to unsigned short. All uses updated.
      (mu_tcp_stream_create_with_source_ip)
      (mu_tcp_stream_create_with_source_host)
      (mu_tcp_stream_create): Port is unsigned.
      * include/mailutils/stream.h (mu_tcp_stream_create_with_source_ip)
      (mu_tcp_stream_create_with_source_host)
      (mu_tcp_stream_create): Port is unsigned.
      * include/mailutils/cpp/url.h (get_port): Return unsigned.
      * libmu_cpp/url.cc (get_port): Return unsigned.
      (parse): Empty function. Schedule for removal.
      * python/libmu_py/url.c (api_url_parse): Empty function.
      Schedule for removal.
      (api_url_get_port): Port is unsigned.
      
      * libmailutils/base/wicket.c (mu_wicket_file_match_url)
      (mu_wicket_file_match_url): New parameter: parse_flags.
      * mu/wicket.c (wicket_match): Use parse_flags to control
      whether or not to show the plaintext password.
      
      * doc/texinfo/url.texi: Update.
      Sergey Poznyakoff authored
  24. 17 Oct, 2010 1 commit
  25. 10 Oct, 2010 2 commits
    • * python/libmu_py/folder.c (api_folder_set_stream): Remove.
      * python/libmu_py/message.c (api_message_set_stream): Remove.
      * python/libmu_py/stream.c (api_stream_ref, api_stream_unref): Add.
      (api_stream_sequential_readline, api_stream_sequential_write): Remove.
      Wojciech Polak authored
    • * 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
  26. 09 Oct, 2010 1 commit
  27. 08 Apr, 2010 1 commit
    • * examples/python/mimetest.py: Update.
      * include/mailutils/cpp/message.h (get_attachment_name): Overload.
      * libmu_cpp/message.cc (Message::get_attachment_name): Overload.
      * python/libmu_py/message.c (api_message_get_attachment_name): Update.
      * python/mailutils/message.py (Message.get_attachment_name):
      Add optional charset parameter. Return (name, lang) tuple.
      Wojciech Polak authored
  28. 06 Apr, 2010 1 commit
    • * mailbox/mimehdr.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add
      mailbox/mimehdr.c.
      * mailbox/attachment.c (_header_get_param)
      (_get_attachment_name, mu_message_aget_attachment_name)
      (mu_message_get_attachment_name: Move to mailbox/mimehdr.c (with
      edits).
      (mu_message_save_attachment): Add a FIXME comment.
      * include/mailutils/message.h (MU_MIMEHDR_MULTILINE)
      (MU_MIMEHDR_CSINFO): New defines.
      (mu_mimehdr_get_disp,mu_mimehdr_aget_disp)
      (mu_mimehdr_get_param,mu_mimehdr_aget_param)
      (mu_mimehdr_decode_param)
      (mu_mimehdr_aget_decoded_param): New prototypes.
      (mu_message_aget_attachment_name): Change signature.
      (mu_message_aget_decoded_attachment_name): New prototype.
      
      * mailbox/mutil.c (mu_hex2ul): Fix a silly bug (have
      anybody ever tried to use that function?!?)
      * mailbox/testsuite/Urls: Update.
      
      * examples/mimetest.c (message_display_parts): Add a FIXME comment.
      * libmu_cpp/message.cc (Message::get_attachment_name): Likewise.
      * mh/mhn.c (store_handler): Likewise.
      * python/libmu_py/message.c (api_message_get_attachment_name): Likewise.
      Sergey Poznyakoff authored
  29. 05 Jan, 2010 1 commit
  30. 16 Dec, 2009 1 commit
    • Affected files:
      
      * comsat/comsat.c
      * examples/header.c
      * examples/mailcap.c
      * examples/pop3client.c
      * examples/url-parse.c
      * imap4d/fetch.c
      * imap4d/id.c
      * imap4d/list.c
      * imap4d/select.c
      * imap4d/status.c
      * imap4d/store.c
      * imap4d/sync.c
      * imap4d/util.c
      * include/mailutils/sieve.h
      * libmu_argp/common.c
      * libmu_argp/muinit.c
      * libmu_sieve/actions.c
      * libmu_sieve/extensions/pipe.c
      * libmu_sieve/extensions/vacation.c
      * libmu_sieve/prog.c
      * libmu_sieve/require.c
      * libmu_sieve/runtime.c
      * libmu_sieve/sieve-priv.h
      * libmu_sieve/sieve.y
      * libproto/imap/folder.c
      * libproto/imap/mbox.c
      * libproto/mailer/sendmail.c
      * libproto/mbox/mbox.c
      * libproto/pop/pop3_list.c
      * libproto/pop/pop3_stat.c
      * maidag/lmtp.c
      * maidag/sieve.c
      * mail/copy.c
      * mail/decode.c
      * mail/envelope.c
      * mail/eq.c
      * mail/escape.c
      * mail/from.c
      * mail/mail.h
      * mail/mailline.c
      * mail/mailvar.c
      * mail/size.c
      * mail/util.c
      * mail/write.c
      * mailbox/cfg_format.c
      * mailbox/folder.c
      * mailbox/parse822.c
      * mailbox/system.c
      * messages/messages.c
      * mh/folder.c
      * mh/forw.c
      * mh/inc.c
      * mh/mh.h
      * mh/mh_alias.l
      * mh/mh_fmtgram.y
      * mh/mh_getopt.h
      * mh/mh_init.c
      * mh/mh_msgset.c
      * mh/mh_whatnow.c
      * mh/mhn.c
      * mh/pick.y
      * mimeview/mimetypes.y
      * python/libmu_py/debug.c
      * sieve/sieve.c
      Sergey Poznyakoff authored
  31. 25 Oct, 2009 1 commit
    • * examples/base64.c, examples/mta.c,
      imap4d/auth_gss.c, imap4d/imap4d.c,
      imap4d/preauth.c, libmu_auth/ldap.c,
      libmu_auth/virtual.c, libmu_scm/mu_body.c,
      libmu_scm/mu_port.c, libproto/mailer/smtp.c,
      mailbox/acl.c, mailbox/secret.c, pop3d/pop3d.c,
      python/libmu_py/address.c, sql/odbc.c: Fix argument
      signedness.
      
      * imap4d/fetch.c, imap4d/store.c (closures):
      Change type of `count' to int, to match the
      signature of util_msgset.
      * include/mailutils/guile.h (mu_scm_message_get): Fix
      return type (const is useless here).
      * libmu_scm/mu_message.c (mu_scm_message_get): Likewise.
      (scm_mu_message_copy): Fix type of the `wr' automatic variable.
      * libmu_scm/mu_mime.c (mu_scm_mime_get): Remove const qualifier
      from the return type.
      * libmu_argp/cmdline.c: Include stdlib.h.
      Sergey Poznyakoff authored
  32. 08 Sep, 2009 1 commit
  33. 02 Sep, 2009 1 commit
  34. 29 Aug, 2009 1 commit
    • * python/mailutils/__init__.py: Update pydocs.
      * python/mailutils/mailbox.py: Likewise.
      * python/mailutils/mailcap.py: Likewise.
      * python/mailutils/registrar.py: Likewise.
      * python/mailutils/sieve.py: Likewise.
      Wojciech Polak authored
  35. 27 Aug, 2009 1 commit
    • * configure.ac: New option --with-pythondir
      (PYTHON_SITE_DIR, PYTHON_EXEC_DIR): New subst variables.
      * python/libmu_py/Makefile.am: use pythonexec_LTLIBRARIES,
      instead of pythonexec_LTLIBRARIES.
      (pythonexecdir): New variable.
      * python/mailutils/Makefile.am: use pythonsite_PYTHON,
      instead of pkgpython_PYTHON.
      (pythonsitedir): New variable.
      Sergey Poznyakoff authored