1. 19 Aug, 2008 2 commits
    • 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
  2. 18 Aug, 2008 5 commits
  3. 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
  4. 16 Aug, 2008 2 commits
    • * imap4d/status.c (imap4d_status): Remove extra whitespace
      before closing parenthesis in untagged reply.
      Sergey Poznyakoff authored
    • Bugfixes. · 34a9b541
      * 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
  5. 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
  6. 13 Aug, 2008 1 commit
  7. 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
  8. 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
    • * 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
  9. 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
  10. 08 Aug, 2008 1 commit
  11. 07 Aug, 2008 2 commits
  12. 04 Aug, 2008 2 commits
  13. 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
  14. 19 Jul, 2008 1 commit
    • * mh/mhn.c (normalize_path): First arg is const char *.
      (store_handler): Avoid unnecessary allocations (and coredumps,
      if mhn-storage profile is not set.
      Sergey Poznyakoff authored
  15. 18 Jul, 2008 3 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
    • * libsieve/comparator.c, libsieve/prog.c, libsieve/require.c,
      libsieve/runtime.c, libsieve/sieve.h, libsieve/sieve.l,
      libsieve/sieve.y, libsieve/util.c: Prefix instr_ functions with
      mu_.
      (sieve_filename, sieve_line_num): Removed.  Use new global
      mu_sieve_locus instead.
      Sergey Poznyakoff authored
  16. 04 Jul, 2008 1 commit
    • * mailbox/message_stream.c (_mu_rfc822_stream): New members
      envelope, and envelope_length.
      (_mu_rfc822_read, _mu_rfc822_readline, _mu_rfc822_size): Skip
      eventual envelope string.
      (_mu_rfc822_open): Save envelope.
      (_mu_rfc822_destroy): Free envelope.
      (restore_envelope): Use message envelope, if it is present.
      Sergey Poznyakoff authored
  17. 17 Jun, 2008 2 commits
  18. 16 Jun, 2008 3 commits
  19. 03 Jun, 2008 1 commit
  20. 31 May, 2008 1 commit
    • field.
      * mailbox/amd.c (amd_append_message): Cache information about
      mailbox size in file .mu-size.
      (make_size_file_name, read_size_file, write_size_file): New
      functions.
      (amd_expunge, amd_sync): Update size cache file.
      (amd_get_size): Use size cache file if no mailbox_size method is
      provided.
      * mailbox/mbx_default.c (mu_normalize_mailbox_url): Accept `='
      suffix for all mailbox types.
      * movemail/movemail.c (main): Call mu_mailbox_sync before closing
      destination mailbox.
      Sergey Poznyakoff authored
  21. 28 May, 2008 1 commit