1. 29 Sep, 2008 1 commit
    • Bugfixes. · e0bf3a5e
      * config/mailutils-config.c (main): Do not print flag descriptions
      on --info, this breaks existing scripts.
      New option --verbose makes --info print verbose descriptions.
      * include/mailutils/version.h (mu_fprint_options)
      (mu_fprint_conf_option): Take additional argument.
      * mailbox/argcv.c (quote_transtab): Handle \".
      * mailbox/cfg_driver.c (mu_cfg_string_value_cb): Bugfix
      * mailbox/cfg_lexer.l: Allow * and = in non-quoted words.
      Improve 'stray character' diagnostics'.
      (unescape_to_line): Handle \\ and \".
      * mailbox/version.c (mu_fprint_options)
      (mu_fprint_conf_option): New argument `verbose' instructs whether
      to print textual descriptions.
      (mu_fprint_conf_option): Print single space after the flag to
      facilitate writing parser scripts.
      * testsuite/lib/mailutils.exp: Reflect this change.
      Sergey Poznyakoff authored
  2. 24 Sep, 2008 1 commit
  3. 22 Sep, 2008 1 commit
    • representation of syslog facility.
      * mailbox/cfg_lexer.l: Re-introduce pragmatic comment
      #debug=, for setting debugging level in config module.
      * mailbox/cfg_parser.y: Likewise.
      * mailbox/gdebug.c (mu_debug_level_from_string): Ignore trailing
      newline.
      * mailbox/version.c (mu_conf_option): Add SYSCONFDIR, MAILSPOOLDIR
      and LOG_FACILITY.
      
      * mh/mh_init.c (mh_list_format): Reformat to make it more
      readable. Use decode primitive on header fields that may be
      encoded.
      
      * doc/texinfo/mailutils.texi: Further update.
      * doc/texinfo/programs.texi: Likewise.
      Sergey Poznyakoff authored
  4. 21 Sep, 2008 2 commits
    • Sergey Poznyakoff authored
    • * configure.ac: Configure doc hints.
      * config/mailutils-config.c (main): Use mu_fprint_conf_option.
      * mailbox/version.c (mu_conf_option): Change type.
      (mu_fprint_conf_option): New function.
      (mu_fprint_options): Use mu_fprint_conf_option.
      (mu_print_options): Fix signature
      (mu_check_option): Change return type.
      * testsuite/lib/mailutils.exp (mu_version): Reflect changes in the
      output produced by --show-config-options.
      
      * include/mailutils/version.h (struct mu_conf_option): New data
      type.
      (mu_check_option): Change return type.
      (mu_fprint_conf_option): New prototype.
      * libargp/common.c (mu_common_argp): Rename --rcfile-* options
      to --config-*. Retain old names for a while.
      
      * doc/texinfo/Makefile.am (RENDITION_TEXI): New variable.
      (check-format, check-refs, check-fixmes, check-unrevised)
      (all-check-docs, check-docs): New rules.
      * doc/texinfo/rendition.texi: New file.
      * doc/texinfo/macros.texi: New file.
      * doc/texinfo/mailutils.texi: Start rewriting
      * doc/texinfo/programs.texi: Likewise.
      
      * doc/texinfo/c-api.texi: Reformat.
      * doc/texinfo/fdl.texi: Likewise.
      * doc/texinfo/libmuauth.texi: Likewise.
      * doc/texinfo/libsieve.texi: Likewise.
      * doc/texinfo/mu-mh.texi: Likewise.
      * doc/texinfo/sieve.texi: Likewise.
      
      * doc/texinfo/gendocs_template: Rewrite.
      Sergey Poznyakoff authored
  5. 23 Aug, 2008 1 commit
    • * imap4d/testsuite/imap4d.rcin: New file.
      * imap4d/testsuite/Makefile.am (EXTRA_DIST): Add imap4d.rcin
      * imap4d/testsuite/.cvsignore: Add imap4d.rc
      * imap4d/testsuite/lib/imap4d.exp: Use mu_makespool to prepare
      mailspools and mu_create_config to create test configuration
      file.  Specify the maximum amount of configuration data in the
      latter, instead of using command line options.
      * mail.local/testsuite/lib/mail.local.exp: Likewise.
      * pop3d/testsuite/lib/pop3d.exp: Likewise.
      
      * pop3d/testsuite/pop3d.rcin: New file.
      * pop3d/testsuite/Makefile.am (EXTRA_DIST): Add pop3d.rcin
      * pop3d/testsuite/.cvsignore: Add pop3d.rc.
      
      * testsuite/etc/passwd.in: Use Tcl variable for expansion.
      * testsuite/lib/mailutils.exp (mu_copy_file): New function.
      (mu_makespool, mu_create_config): New function.
      (mu_init): Remove unused variable MU_MAKESPOOL.
      (mu_prepare_spools): Use mu_makespool.
      (mu_cleanup_spools): Remove.
      
      * libcfg/init.c (mu_parse_config_files): Minor change.
      * mailbox/cfg_lexer.l (mu_get_config): Fix return value.
      Sergey Poznyakoff authored
  6. 21 Aug, 2008 2 commits
  7. 19 Aug, 2008 4 commits
    • * imap4d/id.c: New file.
      * imap4d/Makefile.am (imap4d_SOURCES): Add id.c, remove version.c.
      * imap4d/commands.c: Add ID command.
      Remove X-VERSION command.
      (SELECT,EXAMINE): Switch to authenticated mode on failure.
      * imap4d/imap4d.c (imap4d_argc, imap4d_argv): New variables.
      (imap4d_cfg_param): New keyword `id-fields'.
      (main): Save command line arguments.
      * imap4d/imap4d.h (imap4d_argc, imap4d_argv): New declarations.
      * imap4d/select.c (imap4d_select0): Do not reset state to auth on
      failure, this is done by util_finish.
      * imap4d/version.c: Remove.
      * imap4d/capability.c: Announce ID capability, remove X-VERSION.
      * imap4d/testsuite/imap4d/x.exp: Use ID instead of X-VERSION.
      
      * TODO, NEWS: Update.
      
      * mailbox/cfg_parser.y (_set_fun,parse_param): Bugfix.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Bugfixes. · 99742544
      * libcfg/acl.c (parsearg): Initialize size.
      * mailbox/cfg_driver.c (mu_cfg_assert_value_type): Bugfix.
      * mailbox/cfg_lexer.l (mu_get_config): Close file.
      * mailbox/cfg_parser.y: Fix array creation.
      Sergey Poznyakoff authored
    • * auth/gsasl.c: Remove deprecated data types.
      * imap4d/auth_gsasl.c (retrieve_password): Minor fix.
      
      * imap4d/imap4d.c, imap4d/imap4d.h, imap4d/namespace.c,
      lib/tcpwrap.c, libcfg/acl.c, libcfg/auth.c, libcfg/common.c,
      libcfg/ldap.c, libcfg/sieve.c, libcfg/sql.c, maidag/maidag.c,
      mail.local/main.c, mailbox/gdebug.c, mailbox/msrv.c,
      mimeview/mimeview.c, pop3d/bulletin.c, pop3d/pop3d.c,
      pop3d/pop3d.h, sieve/sieve.c: Reflect changes to the configuration
      system.
      
      * mailbox/Makefile.am (AM_LFLAGS): New variable.
      (EXTRA_DIST) Add cfg_lexer.l.
      (libmailutils_la_SOURCES): Add alloc.c and opool.c
      (BUILT_SOURCES): Add cfg_lexer.c.
      (cfg_lexer.c): New goal.
      * mailbox/alloc.c, mailbox/opool.c: New files.
      * mailbox/cfg_lexer.c: Remove.
      * mailbox/cfg_lexer.l: New file.
      * mailbox/.cvsignore: Add cfg_lexer.c.
      
      * include/mailutils/Makefile.am: Add alloc.h and opool.h
      * include/mailutils/alloc.h: New file.
      * include/mailutils/opool.h: New file.
      
      * include/mailutils/cfg.h (mu_cfg_lexer_t,mu_cfg_alloc_t)
      (mu_cfg_free_t): Remove types.
      (MU_CFG_STRING, MU_CFG_LIST, MU_CFG_ARRAY): New defines.
      (mu_config_value_t): New data type.
      (struct mu_cfg_node): Change type of `label'.
      (struct mu_cfg_tree): Remove `alloc', `free'.
      New member `pool'.
      (mu_cfg_parse): Simplify the signature by removing superfluous
      arguments.
      (mu_cfg_tie_in): Remove.
      (mu_cfg_lexer_pool): New function.
      (mu_cfg_find_node, mu_cfg_find_node_label): Remove.
      (mu_cfg_callback_t): Change signature.
      (MU_CFG_LIST_MASK): New define.
      (MU_CFG_LIST_OF, MU_CFG_TYPE, MU_CFG_IS_LIST): New defines.
      (mu_cfg_get_debug): New function.
      (mu_cfg_assert_value_type, mu_cfg_string_value_cb): New functions.
      (mu_cfg_tree_set_alloc, mu_cfg_tree_alloc): Remove.
      * mailbox/cfg_driver.c: Adapt for new node structure.
      (mu_cfg_assert_value_type, mu_cfg_string_value_cb): New function.
      * mailbox/cfg_format.c: Adapt for new node structure.
      * mailbox/cfg_parser.y: Adapt for changes in cfg data types and
      lexer.
      
      * include/mailutils/mailutils.h: Include alloc.h and opool.h
      * include/mailutils/mu_auth.h (mu_authorization_add_module)
      (mu_authentication_add_module): New prototypes.
      
      * include/mailutils/syslog.h (mu_string_to_syslog_facility)
      (mu_string_to_syslog_priority): First argument is const char *.
      * mailbox/syslog.c: Likewise.
      
      * include/mailutils/types.hin (mu_opool_t): New type.
      * mailbox/list.c (mu_list_get_comparator): Add missing return
      statement.
      Sergey Poznyakoff authored
  8. 18 Aug, 2008 5 commits
  9. 17 Aug, 2008 5 commits
    • * lib/tcpwrap.c (mu_tcp_wrapper_cb_hosts_deny_syslog):
      (mu_tcp_wrapper_cb_hosts_allow_syslog): Use syslog priorities,
      not facilities.
      (tcpwrapper_param): Rename allow-syslog-level and
      deny-syslog-level to allow-syslog-priority and
      deny-syslog-priority, correspondingly.
      Sergey Poznyakoff authored
    • * imap4d/list.c (imap4d_list): Fix addslash condition.
      Sergey Poznyakoff authored
    • * include/mailutils/registrar.h (_mu_record): New method
      `_list_p'.
      (mu_record_list_p): New function.
      * libproto/include/amd.h (MU_AMD_SIZE_FILE_NAME): New define.
      * libproto/maildir/folder.c (_maildir_is_scheme): Return
      MU_FOLDER_ATTRIBUTE_FILE|MU_FOLDER_ATTRIBUTE_DIRECTORY, on
      success.
      Implement _list_p method.
      * libproto/mbox/folder.c (list_helper): Change semantics of the
      2nd argument.  The record is used to determine whether or not
      to list a particular file.
      * libproto/mh/folder.c: Implement _list_p method.
      * mailbox/amd.c (SIZE_FILE_NAME): Replace with
      MU_AMD_SIZE_FILE_NAME from amd.h.
      * mailbox/registrar.c (mu_record_list_p): New function.
      Sergey Poznyakoff authored
    • * doc/rfc/Makefile.am: Add rfc3691.txt
      * doc/rfc/rfc3691.txt: New file.
      * imap4d/capability.c: Announce UNSELECT capability.
      * imap4d/close.c: Implement UNSELECT command.
      * imap4d/commands.c: Add UNSELECT command.
      * imap4d/imap4d.h (imap4d_unselect): New proto.
      * imap4d/testsuite/imap4d/anystate.exp: Reflect UNSELECT
      capability.
      * imap4d/testsuite/imap4d/examine.exp: Reflect yesterday's changes
      to STATUS output.
      Sergey Poznyakoff authored
  10. 16 Aug, 2008 2 commits
    • * imap4d/status.c (imap4d_status): Remove extra whitespace
      before closing parenthesis in untagged reply.
      Sergey Poznyakoff authored
    • * imap4d/fetch.c (parse_fetch_body): Bugfix, allow another tokens
      after BODY.
      * imap4d/util.c (util_msgset): Make sure returned number of
      elements in set is always correct.
      * mailbox/folder.c (is_known_folder): Compare paths as well.  It
      was commented out on 2001-04-10 (7 years ago!!!) for unknown
      reasons.
      * mailbox/url.c (DECL_CMP): Bugfix. The macro effectively created
      a scheme comparator, no matter what its second argument was.
      Sergey Poznyakoff authored
  11. 14 Aug, 2008 2 commits
    • * include/mailutils/list.h (mu_list_get_comparator)
      (mu_list_intersect_dup, mu_list_intersect): New prototypes.
      * mailbox/list.c (mu_list_get_comparator)
      (mu_list_intersect_dup, mu_list_intersect): New functions.
      Sergey Poznyakoff authored
    • * auth/gsasl.c (_gsasl_readline): Prevent stucking in
      blocking streams.
      * imap4d/auth_gsasl.c: Remove deprecated functions and data types.
      * imap4d/auth_gss.c (auth_gssapi): Fix signature.
      * imap4d/copy.c (imap4d_copy0): Fix return value.
      * imap4d/imap4d.c (imap4d_cfg_param): Fix type of login-disabled.
      * include/mailutils/gsasl.h (struct mu_gsasl_module_data): New
      members: service, realm, hostname, anon_user.
      * libcfg/gsasl.c (mu_gsasl_param): New keywords: service,
      realm, hostname, anonymous-user.
      Sergey Poznyakoff authored
  12. 13 Aug, 2008 1 commit
  13. 12 Aug, 2008 1 commit
    • Bugfixes. · a6dfcb46
      * imap4d/copy.c, imap4d/fetch.c, imap4d/store.c: Do not report
      error on non-existing message sets (RFC 3501, section 6.4.8).
      * imap4d/testsuite/imap4d/IDEF0955.exp: Reflect this behavior.
      * imap4d/testsuite/imap4d/fetch.exp: Header names in replies
      to BODY[HEADER.FIELDS...] are no longer quoted.
      Sergey Poznyakoff authored
  14. 11 Aug, 2008 2 commits
    • * imap4d/authenticate.c (_auth_try): Fix call to p->handler.
      * imap4d/fetch.c (fetch_send_section_part): New argument
      close_bracket.
      Never print .PEEK, it confuses some clients (notably Thunderbird).
      I need to verify RFC, though.
      All callers updated.
      * imap4d/idle.c: Use imap4d_getline to get the reply, to avod modifying
      tok and command.
      * imap4d/imap4d.h (util_send_bytes, util_trim_nl): New prototypes.
      * imap4d/util.c (util_trim_nl): New function.
      (imap4d_getline): Use util_trim_nl.
      Sergey Poznyakoff authored
    • Bugfixes. · 30f0097c
      * imap4d/fetch.c (fetch_send_section_part): Make sure the item tag
      always reflects peek status.  All callers updated.
      (fetch_io): Try to allocate as large a buffer as possible.
      Use util_send_bytes where fit.
      * imap4d/imap4d.h (imap4d_auth_handler_fp): Remove unused argument.
      * imap4d/store.c (imap4d_store0): Take into account eventual UID
      prefix.
      * imap4d/util.c (util_send_bytes): New function.
      (util_send): Comment out transcript.
      (util_do_command): Fix coredump on invalid commands.
      (imap4d_readline): Transcript only first line of the input.
      Ensure entire literal is read.
      Sergey Poznyakoff authored
  15. 10 Aug, 2008 1 commit
    • * imap4d/util.c (util_getword, util_getitem, util_token)
      (util_unquote): Remove.
      (imap4d_readline): Rewrite to reduce memory reallocation.  Add
      support for non-synchronizing literals (RFC 2088).
      (imap4d_readline_ex): Remove.
      (util_do_command): Rewrite using new imap4d_readline.
      (util_parse_internal_date0): Remove.
      (imap4d_tokbuf_init, imap4d_tokbuf_destroy, imap4d_tokbuf_argc)
      (imap4d_tokbuf_getarg, util_isdelim)
      (imap4d_tokbuf_from_string): New functions.
      * imap4d/append.c, imap4d/auth_gss.c, imap4d/authenticate.c,
      imap4d/check.c, imap4d/close.c, imap4d/commands.c, imap4d/copy.c,
      imap4d/create.c, imap4d/delete.c, imap4d/examine.c,
      imap4d/imap4d.h, imap4d/list.c, imap4d/login.c, imap4d/logout.c,
      imap4d/lsub.c, imap4d/expunge.c, imap4d/idle.c, imap4d/noop.c,
      imap4d/rename.c, imap4d/search.c, imap4d/select.c,
      imap4d/starttls.c, imap4d/status.c, imap4d/store.c,
      imap4d/subscribe.c, imap4d/uid.c, imap4d/unsubscribe.c,
      imap4d/version.c: Rewrite using new imap4d_readline.
      * imap4d/namespace.c: Use new imap4d_readline.  Ensure that
      each reported prefix ends with a hierarchy delimiter.
      * imap4d/imap4d.c (imap4d_mainloop): Use new imap4d_readline.
      * imap4d/fetch.c: Rewrite parser from scratch.
      * imap4d/capability.c (imap4d_capability_init): Report LITERAL+
      capability.
      
      * imap4d/testsuite/imap4d/anystate.exp: Account for the LITERAL+
      capability.
      * imap4d/testsuite/imap4d/append.exp: Fix APPEND arguments (imap4d
      requires exactly three arguments, as per RFC3501.
      Fix octet count in literals returned by fetch (previous versions
      failed to include the trailing CRLF).
      * imap4d/testsuite/imap4d/create.exp: Likewise.
      * imap4d/testsuite/imap4d/fetch.exp: Fix FETCH arguments (previous
      versions incorrectly accepted header-list without parentheses.
      Fix result of FETCH 4 BODY[2.2.1]: it returns entire part, in the
      contrast to previous versions, which treated it as
      BODY[2.2.1.TEXT].
      
      * maidag/mailtmp.c (mail_tmp_finish): Ensure /dev/null is treated
      as mailbox.
      Sergey Poznyakoff authored
  16. 08 Aug, 2008 1 commit
  17. 07 Aug, 2008 2 commits
  18. 04 Aug, 2008 2 commits
  19. 31 Jul, 2008 1 commit
    • * libproto/include/amd.h: Fix indentation.
      * libproto/maildir/mbox.c (maildir_scan_dir): Do not assign uids
      before inserting message, it breaks their ordering.
      (maildir_scan0): Assign uids here.  A temporary solution.
      Sergey Poznyakoff authored
  20. 19 Jul, 2008 1 commit
  21. 18 Jul, 2008 2 commits
    • * libsieve/actions.c, libsieve/comparator.c, libsieve/conf.c,
      libsieve/load.c, libsieve/prog.c, libsieve/register.c,
      libsieve/relational.c, libsieve/require.c, libsieve/runtime.c,
      libsieve/sieve.h, libsieve/sieve.l, libsieve/sieve.y,
      libsieve/tests.c, libsieve/util.c: Prefix all external
      identifiers, that are not intended for use by application
      programs, with mu_sv_.
      Sergey Poznyakoff authored
    • Minor fixes. · 69b1db83
      * NEWS, configure.ac: Raise version to 1.9.91
      * mail/mailline.c (ml_getc): Fix indentation.
      * mailbox/mime.c (mu_mime_get_part): Return MU_ERR_NOENT if part
      is out of range.
      Sergey Poznyakoff authored