1. 24 Dec, 2008 2 commits
    • Sergey Poznyakoff authored
    • * include/mailutils/gocs.h (gocs_init_fp): Rename to mu_gocs_init_fp. Change
      signature.
      (mu_gocs_mailbox_init, mu_gocs_locking_init, mu_gocs_source_email_init)
      (mu_gocs_mailer_init, mu_gocs_logging_init)
      (mu_gocs_debug_init): Fix prototypes.
      * include/mailutils/gsasl.h (mu_gsasl_module_init): Update prototype.
      * include/mailutils/libsieve.h (mu_sieve_module_init): Update prototype.
      * include/mailutils/mu_auth.h (struct mu_auth_module.init): Update type
      to mu_gocs_init_fp.
      * include/mailutils/radius.h (mu_radius_module_init): Update prototype.
      
      * include/mailutils/tls.h (struct mu_tls_module_config.client_enable):
      Replace with .enable. It affects entire TLS subsystem, not only client
      part.
      (mu_tls_module_init): Update prototype.
      * include/mailutils/types.hin (mu_gocs_op): New enum.
      
      * mailbox/gocs.c (mu_gocs_dummy, mu_gocs_mailbox_init)
      (mu_gocs_locking_init, mu_gocs_source_email_init)
      (mu_gocs_mailer_init, mu_gocs_logging_init)
      (mu_gocs_debug_init): Take two arguments.
      (mu_gocs_flush): After running set stage, call all init callbacks with
      mu_gocs_op_flush.
      
      * auth/tls.c (mu_tls_module_config): Initialize .enable to 1.
      (mu_tls_module_init): Rewrite using new prototype.
      Use mu_gocs_op_flush to initialize the library.
      (mu_init_tls_libs): Initialize the library only if mu_tls_module_config.enable
      is set.
      * auth/gsasl.c (mu_gsasl_module_init): Update.
      * auth/ldap.c (mu_ldap_module_init): Update.
      * auth/pam.c (mu_pam_module_init): Update.
      * auth/radius.c (mu_radius_module_init): Update.
      * auth/sql.c (mu_sql_module_init): Update.
      * auth/virtual.c (mu_virtual_module_init): Update.
      * libcfg/tls.c (mu_tls_param): Update.
      * libsieve/conf.c (mu_sieve_module_init): Update.
      * doc/texinfo/programs.texi: Update.
      Sergey Poznyakoff authored
  2. 23 Dec, 2008 2 commits
  3. 09 Dec, 2008 1 commit
  4. 08 Dec, 2008 3 commits
  5. 04 Dec, 2008 2 commits
  6. 03 Dec, 2008 2 commits
    • * testsuite/etc/mailutils.rc.in: New file.
      * testsuite/etc/DISTFILES: Add mailutils.rc.in
      * testsuite/lib/mailutils.exp (mu_copy_file): Define $arg
      variable to simplify using $ in template files.
      
      * sieve/testsuite/lib/sieve.exp (SIEVE_ETC_DIR): New global
      (sieve_test): Explicitly pass -f.
      Use SIEVE_ETC_DIR/mailutils.rc as configuration file.
      
      * imap4d/testsuite/imap4d/list.exp: Update the '*' test to match
      new contents of $MU_DATA_DIR/etc
      * sieve/sieve.c (sieve_mailbox): Print actual mailbox URL in case
      of failure.
      Sergey Poznyakoff authored
  7. 27 Nov, 2008 2 commits
    • (mu_opool_get_bucket_size): New protos.
      * mailbox/opool.c (struct _mu_opool.bucket_size): New member.
      (alloc_pool, copy_chars): Use opool->bucket_size to set bucket
      size.
      (mu_opool_create): Initialize bucket_size with the default
      value.
      (mu_opool_set_bucket_size,mu_opool_get_bucket_size): New
      functions.
      Sergey Poznyakoff authored
    • * include/mailutils/opool.h (mu_opool_get_iterator): New function.
      * mailbox/opool.c (mu_opool_get_iterator): New function.
      * mailbox/hdritr.c (hdr_data_dup): Bugfix: notify owner about the
      new iterator.
      Sergey Poznyakoff authored
  8. 21 Nov, 2008 1 commit
  9. 17 Nov, 2008 1 commit
  10. 16 Nov, 2008 1 commit
  11. 15 Nov, 2008 1 commit
    • before scanning the tree.
      * mailbox/cfg_parser.y (block rule): Accept empty blocks.
      (parse_param): bail out if callback is not declared when it
      should.
      * mailbox/daemon.c (mu_daemon_create_pidfile)
      (mu_daemon_remove_pidfile): If running with UID=0 and EUID != 0,
      temporarily switch to EUID=0 for accessing pidfile (when
      creating or deleting).
      Sergey Poznyakoff authored
  12. 12 Nov, 2008 3 commits
  13. 10 Nov, 2008 2 commits
  14. 09 Nov, 2008 2 commits
    • Fix typos. · 8a6fdf20
      * doc/texinfo/mailcap.texi, doc/texinfo/mailutils.texi
      doc/texinfo/mom.texi, doc/texinfo/mu-mh.texi,
      doc/texinfo/mu_message.texi, doc/texinfo/programs.texi,
      doc/texinfo/sieve.texi: Fix typos.
      Wojciech Polak authored
    • …odetection. Improve the docs.
      
      * configure.ac (MU_DEFAULT_SCHEME): New configuration variable.
      * mailbox/version.c (mu_conf_opt): Include default scheme.
      
      * examples/mimetest.c, examples/mta.c, libmu_scm/mu_scm.c: Remove
      mu_path_record. Use mu_registrar_set_default_record.
      
      * libproto/mbox/folder.c (_path_is_scheme): Rename to
      _mbox_is_scheme. Minor changes as well.
      (_path_record, mu_path_record): Removed.
      (_mbox_record): Use _mbox_is_scheme.
      
      * libsieve/actions.c: Remove unused variable.
      
      * include/mailutils/Makefile.am (types.h rule): Replace
      _MU_DEFAULT_RECORD_. Change MU_OFF_TYPE replacement pattern to
      _MU_OFF_TYPE_.
      
      * include/mailutils/mailbox.h (mu_mailbox_set_default_proto)
      (mu_mailbox_get_default_proto): Remove. See below.
      * include/mailutils/registrar.h (mu_registrar_set_default_scheme)
      (mu_registrar_get_default_scheme)
      (mu_registrar_get_default_record)
      (mu_registrar_set_default_record)
      (mu_registrar_lookup_scheme): New prototypes.
      (mu_path_record): Remove.
      (mu_register_all_mbox_formats): Remove mu_path_record.
      Set default scheme using mu_registrar_set_default_record.
      (mu_register_local_mbox_formats): Likewise.
      * include/mailutils/types.hin (MU_OFF_TYPE): Rename to
      _MU_OFF_TYPE_.
      (MU_DEFAULT_RECORD): New define.
      
      * mailbox/mailbox.c (mu_mailbox_set_default_proto)
      (mu_mailbox_get_default_proto): Remove.
      (mu_mailbox_create): Remove default_proto kludge. mu_registrar
      stuff is responsible for finding the correct record.
      * mailbox/registrar.c (mu_registrar_set_default_record)
      (mu_registrar_get_default_record)
      (mu_registrar_set_default_scheme)
      (mu_registrar_get_default_scheme)
      (mu_registrar_lookup_scheme): New functions.
      (mu_registrar_lookup_url): Fall back to default record if no
      matching record is found and the URL was not set explicitly
      (i.e. does not begin with a scheme).
      
      * mailbox/gocs.c: Use mu_registrar_set_default_scheme instead of
      mu_mailbox_set_default_proto.
      * libsieve/extensions/pipe.c, libsieve/extensions/spamd.c,
      libsieve/extensions/vacation.c: Fix comments.
      
      * doc/texinfo/getdate.texi: New file (from gnulib).
      * doc/texinfo/Makefile.am (mailutils_TEXINFOS): Add getdate.texi
      (fix-sentence-spacing): New rule. Forces single-space
      inter-sentence spacing.
      (check-tabs, check-sentence-spacing): New rules.
      (check-format): Depend on the above two.
      (check-refs, check-fixmes, check-unrevised): Fix copy-paste
      errors. Print diagnostics to stderr.
      
      * doc/texinfo/auth.texi, doc/texinfo/fdl.texi,
      doc/texinfo/framework.texi, doc/texinfo/imap4.texi,
      doc/texinfo/libmuauth.texi, doc/texinfo/mailbox.texi,
      doc/texinfo/mailcap.texi, doc/texinfo/mailutils.texi,
      doc/texinfo/mbox.texi, doc/texinfo/message.texi,
      doc/texinfo/mom.texi, doc/texinfo/mu_message.texi,
      doc/texinfo/mu_mime.texi, doc/texinfo/mu_scm.texi,
      doc/texinfo/muint.texi, doc/texinfo/pop3.texi,
      doc/texinfo/rendition.texi, doc/texinfo/sieve.texi,
      doc/texinfo/url.texi, doc/texinfo/usage.texi: Use GNU instead of
      @sc{gnu}, because latter looks awful when typeset (especially when
      followed by a capitalized word). Fix format by running `make final'.
      
      * doc/texinfo/programs.texi: Document more config statements.
      * doc/texinfo/libsieve.texi: Document loadable actions and tests.
      Sergey Poznyakoff authored
  15. 07 Nov, 2008 2 commits
    • * mailbox/amd.c (_amd_message_save): Make sure message files have
      right permissions.
      (amd_message_stream_open): Remove useless flags addition.
      Permissions are taken care of in _amd_message_save.
      Sergey Poznyakoff authored
    • * mailbox/permstr.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add permstr.c.
      * imap4d/imap4d.c (parse_mode_spec): Remove function.
      (cb_mailbox_mode): Use mu_parse_stream_perm_string instead of
      parse_mode_spec.
      * imap4d/imap4d.h (namespace_getfullpath)
      (namespace_checkfullpath): First arg is const.
      * imap4d/namespace.c (namespace_getfullpath)
      (namespace_checkfullpath): First arg is const.
      * include/mailutils/message.h (mu_message_save_to_mailbox): Add
      5th argument (permissions).
      * mailbox/message.c: Likewise.
      * include/mailutils/mutil.h (mu_parse_stream_perm_string): New
      proto.
      (mu_stream_flags_to_mode): Add isdir argument.
      * libsieve/actions.c (sieve_action_fileinto): New tag :permissions
      allows to set permissions to the mailbox being created.
      * mailbox/mutil.c (mu_stream_flags_to_mode): Add 2nd argument
      (isdir). Any bits in [go] sets imply raising 'x' bit for
      directories (i.e. if isdir != 0).
      
      * libproto/maildir/mbox.c, mailbox/amd.c: Update calls to
      mu_stream_flags_to_mode.
      
      * NEWS, doc/texinfo/sieve.texi: Update.
      
      Allow to set file permissions of the local mailboxes during
      creation.
      Sergey Poznyakoff authored
  16. 06 Nov, 2008 1 commit
    • * include/mailutils/stream.h (MU_STREAM_IRGRP, MU_STREAM_IWGRP)
      (MU_STREAM_IROTH, MU_STREAM_IWOTH, MU_STREAM_IMASK): New defines.
      * include/mailutils/mutil.h (mu_stream_flags_to_mode): New
      prototype.
      * libproto/maildir/mbox.c (maildir_create, maildir_flush)
      (maildir_scan0): Consider mailbox flags	to determine its file
      mode.
      * mailbox/amd.c (amd_open, amd_message_stream_open): Likewise.
      * mailbox/file_stream.c (_file_open): Likewise.
      * mailbox/mutil.c (mu_stream_flags_to_mode): New file.
      
      * imap4d/namespace.c (namespace_getfullpath)
      (namespace_checkfullpath): Return the namespace number in the last
      argument (if not null).
      * imap4d/append.c, imap4d/copy.c, imap4d/delete.c, imap4d/list.c,
      imap4d/rename.c, imap4d/select.c, imap4d/status.c: Update calls to
      namespace_getfullpath.
      * imap4d/create.c (imap4d_create): Set mailbox flags depending on
      the namespace it is created in.
      * imap4d/imap4d.c (mailbox_mode): New variable.
      (parse_mode_spec): New function.
      (imap4d_cfg_param): New statements other-mailbox-mode and
      shared-mailbox-mode.
      * imap4d/imap4d.h (mailbox_mode): New proto.
      (namespace_getfullpath, namespace_checkfullpath): Add a parameter.
      
      * mailbox/progmailer.c (mu_progmailer_set_debug): Add missing
      return statement.
      Sergey Poznyakoff authored
  17. 05 Nov, 2008 2 commits
    • * maidag/forward.c: New file.
      * maidag/Makefile.am (maidag_SOURCES): Add forward.c.
      * maidag/deliver.c (deliver_url): Call maidag_forward for local
      users.
      * maidag/maidag.c (forward_file, forward_file_checks): New
      variables.
      (maidag_cfg_param): New keywords forward-file and
      forward-file-checks.
      * maidag/maidag.h (FWD_IWGRP, FWD_IWOTH, FWD_LINK, FWD_DIR_IWGRP)
      (FWD_DIR_IWOTH, FWD_ALL): New defines.
      (forward_file, forward_file_checks): New variables.
      (enum maidag_forward_result): New data type.
      (maidag_forward): New prototype.
      Sergey Poznyakoff authored
    • * maidag/deliver.c (mda): Pass msg as a 1st argument to deliver.
      (deliver_to_user): Remove 1st argument.
      (deliver): Change type of the 1st argument to mu_message_t.
      * maidag/lmtp.c (dot_deliver): Pass msg as a 1st argument to
      deliver.
      * maidag/maidag.c (sieve_test): Change type of the 2nd argument to
      mu_message_t.
      * maidag/maidag.h (sieve_test, deliver): Pass mu_message_t,
      instead of mu_message_t.
      
      * mailbox/mailer.c (mu_mailer_create_from_url): Set default debug
      level.
      * sql/mysql.c (mu_mysql_connect): Avoid coredumps if conn->server
      is NULL.
      Sergey Poznyakoff authored
  18. 28 Oct, 2008 4 commits
    • This makes it possible to `deliver' mails to mailers without
      explicitly specifying `remote+mailer' mailbox URLs.  In
      particular, it is handy for implementing mailing lists using
      `prog' mailers (as with Mailman).
      
      * maidag/deliver.c (notify_action): Do nothing if biff_user_name
      is empty.
      (deliver_to_user): Remove `name' argument.  Allow for auth==NULL.
      (is_remote_url): Use case-sensitive comparison.
      (is_mailer_url): New function.
      (deliver_url): Handle mailer URLs as if they were corresponding
      `remote+' mailbox URLs.  This allows to handle mailing lists.
      * maidag/lmtp.c (lmtp_groups): New global.
      (lmtp_set_privs): New function. Sets primary and
      supplementary group privileges.
      (maidag_lmtp_server): Call lmtp_set_privs.
      * maidag/maidag.c (lmtp_group): Remove.  It is superceded by
      lmtp_groups.
      (maidag_cfg_param): Allow to specify supplementary groups.
      * maidag/maidag.h (lmtp_group): Replace with lmtp_groups.
      Sergey Poznyakoff authored
    • * include/mailutils/mailer.h (mu_mailer_create_from_url): New
      proto.
      * mailbox/mailer.c (mu_mailer_create_from_url): New
      function.
      (mu_mailer_create): Rewrite using mu_mailer_create_from_url.
      * libproto/mailer/prog.c (_url_prog_init): Do not call
      mu_url_init.
      (url_to_argv): Reflect changes to mu_url functions.
      * libproto/mailer/url_sendmail.c (_url_sendmail_init): Do not call
      mu_url_init.
      * libproto/mailer/url_smtp.c (_url_smtp_init): Likewise.
      Sergey Poznyakoff authored
    • * mailbox/mailbox.c (_create_mailbox0): Take care not to destroy
      url, if creation of the mailbox failed.
      (_create_mailbox): Destroy url if unable to create mailbox.
      
      * mailbox/mutil.c (mu_is_proto): Take starting | as a protocol
      specification. A kludge.
      
      * include/mailutils/argcv.h: Fix indentation.
      Sergey Poznyakoff authored
    • Queries are now parsed into arguments and returned as arrays
      of arguments.
      
      * libproto/include/url0.h (struct _mu_url): Replace query with
      array of query arguments.
      * include/mailutils/url.h (mu_url_dup): New proto.
      (mu_url_get_query): Remove.
      (mu_url_sget_query, mu_url_aget_query): Return query split into
      arguments.
      (mu_url_set_scheme): New function.
      (mu_url_decode_len): New function.
      * mailbox/url.c (mu_url_dup): New function.
      (mu_url_get_query): Remove.
      (mu_url_sget_query, mu_url_aget_query): Return query split into
      arguments.
      (mu_url_set_scheme): New function.
      (mu_url_decode_len): New function.
      * libproto/remote/mbox.c (remote_mbox_init): Use parsed out URL,
      instead of the full URL string.
      
      * examples/url-parse.c: Change query output.
      * mailbox/testsuite/Urls: Reflect changes to url-parse.  Add new
      testcases.
      
      * libproto/imap/url.c, libproto/pop/url.c: Reflect changes to URL
      functions.
      Sergey Poznyakoff authored
  19. 24 Oct, 2008 4 commits
    • * configure.ac: Enable/disable prog mailer support.
      * include/mailutils/progmailer.h: New file.
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add
      progmailer.h
      * include/mailutils/mailutils.h: Include progmailer.h
      * include/mailutils/registrar.h (MU_PROG_PRIO): New define.
      (mu_prog_record): New extern.
      (mu_register_all_mailer_formats): Register mu_prog_record.
      * include/mailutils/types.hin (mu_progmailer_t): New typedef.
      * libproto/include/registrar0.h (MU_PROG_SCHEME)
      (MU_PROG_SCHEME_LEN): New defines.
      * libproto/mailer/prog.c: New file.
      * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Add
      prog.c
      * libproto/mailer/sendmail.c: Rewrite using mu_progmailer_t
      * libproto/remote/folder.c (_remote_is_scheme): Remove unused
      variable.
      * mailbox/progmailer.c: New file
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add progmailer.c
      
      * mailbox/acl.c (_expand_aclno): Add a fixme.
      * mail/send.c (msg_to_pipe): Bugfix: use pclose, instead of fclose.
      * examples/config/mailutils.schema: Update.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * examples/config/mailutils.dict: Use GNU OID number.
      * examples/config/mailutils.schema: Use sub-OID assigned to GNU
      Mailutils.
      Sergey Poznyakoff authored
    • * libsieve/prog.c (mu_sv_code_command): Ensure tag arguments have
      the proper type.
      Sergey Poznyakoff authored
  20. 23 Oct, 2008 2 commits
    • * libsieve/extensions/spamd.c (spamd_test): Fix typo.
      *  mailbox/file_stream.c (struct _file_stream): New members
      size and size_computed.
      (_stdin_file_read, _stdin_file_readline): Fix types of fs_offset.
      (_stdin_file_size): New function.
      (_stdout_file_write): Register _stdin_file_size as stream_size
      method if seekable flag is set.
      * mailbox/message_stream.c (struct _mu_rfc822_message): Remove
      unused member.
      * sieve/sieve.c (sieve_message): Create a seekable stream.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored