1. 05 Dec, 2007 1 commit
    • * imap4d/Makefile.am, mu_daemon_argp_parser (LDADD): Add
      TCPWRAP_LIBRARIES.
      * imap4d/imap4d.c: Include tcpwrap.h
      (imap4d_mainloop): Check the connection using tcp wrappers.
      * imap4d/preauth.c: Fix a typo in the comment.
      * maidag/maidag.h: Include tcpwrap.h
      * maidag/maidag.c, maidag/lmtp.c: Add TCP wrappers support.
      * pop3d/pop3d.c: Include tcpwrap.h
      (pop3d_mainloop): Check the connection using tcp wrappers.
      * lib/Makefile.am: Add tcpwrap.c and tcpwrap.h
      * lib/tcpwrap.c: New file.
      * lib/tcpwrap.h: New file.
      * libargp/common.c (mu_daemon_argp_parser): Bugfix.
      Sergey Poznyakoff authored
  2. 04 Dec, 2007 2 commits
    • has a docstring which is displayed as a comment before it.
      A docstring is also added to the configuration group structure,
      for use in future.
      
      * include/mailutils/cfg.h (struct mu_cfg_param): New members
      `docstring' and `argname'.
      (struct mu_cfg_section): New member `docstring'.
      (mu_cfg_format_docstring): New function.
      * include/mailutils/libargp.h (mu_help_config_mode): New
      declaration.
      * libargp/cmdline.h (mu_help_config_mode): Remove.
      * libargp/muinit.c (mu_app_init): Better format the initial
      comment.
      * mailbox/cfg_format.c (mu_cfg_data_type_string): Use NLS.
      (mu_cfg_format_docstring): New function.
      (format_param,format_section): Use mu_cfg_format_docstring.
      * mailbox/cfg_lexer.c (mu_config_create_container): Initialize
      allocated memory chunk with zeros.
      (dup_container): Duplicate docstring.
      (mu_build_container): Document include statement.
      
      * dotlock/dotlock.c, imap4d/imap4d.c, libargp/tls.c,
      libcfg/auth.c, libcfg/common.c, libcfg/gsasl.c, libcfg/ldap.c,
      libcfg/pam.c, libcfg/radius.c, libcfg/sieve.c, libcfg/sql.c,
      libcfg/tls.c, libcfg/virtdomain.c, maidag/maidag.c,
      mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c,
      movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
      sieve/sieve.c: Document configuration file statements.
      
      * pop3d/pop3d.h (expire): Change type to unsigned int.
      
      * po/POTFILES.in: Add missing files.
      Sergey Poznyakoff authored
    • * frm/common.c, imap4d/imap4d.c: Shut compiler warnings.
      * include/mailutils/cfg.h (mu_cfg_format_tree): Rename to
      mu_cfg_format_parse_tree
      (mu_cfg_format_container,mu_format_config_tree): New functions.
      (mu_parse_config_tree): New prototype.
      (mu_cfg_tree_create_node): Change signature (const char* instead
      of char*).
      * include/mailutils/gocs.h (mu_gocs_register): First arg is const.
      * include/mailutils/libargp.h (mu_argp_node_list_new): Mark
      invariable arguments as const.
      * include/mailutils/libcfg.h (mu_libcfg_init): Remove const from
      the arg.
      * include/mailutils/mutil.h (mu_spawnvp): Remove const from the
      2nd arg.
      * libargp/cmdline.c (mu_argp_node_list_new): Mark invariable
      arguments as const.
      
      * lib/mailcap.h: New file.
      * lib/Makefile.am (libmuaux_la_SOURCES): Add mailcap.h
      * libargp/cmdline.h (mu_help_config_mode): New extern.
      * libargp/common.c: New option --config-help displays a
      configuration file summary.
      * libargp/muinit.c (mu_app_init): Handle --config-help.
      * libcfg/init.c (mu_libcfg_init): Remove const from the arg.
      * maidag/maidag.h (mda): New prototype.
      * mail/decode.c: Include mailcap.h
      * mail/mail.h: Define _GNU_SOURCE before including stdio.h
      * mail/send.c: Fix includes.
      * mail.remote/mail.remote.c: Include mu_umaxtostr.h
      
      * mailbox/cfg_format.c (mu_cfg_data_type_string)
      (mu_cfg_format_container): New function.
      * mailbox/cfg_lexer.c (mu_build_container): New function.
      (mu_parse_config_tree): Use mu_build_container.
      (mu_format_config_tree): New function.
      * mailbox/cfg_parser.y (mu_cfg_tree_create_node): Change proto.
      * mailbox/gocs.c (struct mu_gocs_entry): Name is const.
      (mu_gocs_register): 1st arg (capa) is const.
      * mailbox/mutil.c (mu_spawnvp): Remove const from the 2nd arg.
      * mh/mh_whatnow.c (invoke): Shut compiler warnings.
      * mimeview/mimetypes.l (mimetypes_open): Shut compiler warnings.
      * mimeview/mimeview.c: Include mailcap.h
      (display_file): Shut compiler warnings.
      * readmsg/readmsg.c: Include mu_umaxtostr.h
      * sieve/sieve.c (parser): Remove unused variable.
      Sergey Poznyakoff authored
  3. 03 Dec, 2007 3 commits
    • struct mu_gocs_virtual mu_virtual_module_config
      
      * include/mailutils/cfg.h (MU_PARSE_CONFIG_GLOBAL)
      (MU_PARSE_CONFIG_VERBOSE, MU_PARSE_CONFIG_DUMP): New defines.
      (mu_cfg_tree_create,mu_cfg_tree_set_debug,mu_cfg_tree_set_alloc)
      (mu_cfg_tree_alloc,mu_cfg_tree_free)
      (mu_cfg_tree_create_node,mu_cfg_tree_add_node): New functions.
      * include/mailutils/gocs.h (struct mu_gocs_virtual): New data
      type.
      * include/mailutils/libargp.h (struct mu_argp_node_list): New data
      type.
      (mu_argp_node_list_init, mu_argp_node_list_add)
      (mu_argp_node_list_new, mu_argp_node_list_finish): New functions.
      * libargp/cmdline.h: New header.
      * libargp/Makefile.am (libmuargp_a_SOURCES): Add cmdline.h.
      
      * dotlock/dotlock.c, imap4d/imap4d.c, libargp/auth.c,
      libargp/cmdline.c, libargp/common.c, libargp/compat.c,
      libargp/gsasl.c, libargp/mu_argp.c, libargp/muinit.c,
      libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c,
      libargp/tls.c, libargp/virtdomain.c, libcfg/common.c,
      libcfg/init.c, libcfg/virtdomain.c, maidag/maidag.c,
      mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c,
      movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
      sieve/sieve.c: Change option parsing, usig mu_cfg_tree_ functions.
      
      * mailbox/argcv.c: Fix a typo in comment.
      * mailbox/cfg_lexer.c (mu_parse_config_tree): New function.
      (_mu_parse_config): Rewrite using mu_parse_config_tree.
      * mailbox/cfg_parser.y (mu_cfg_format_error,_mu_cfg_vperror)
      (debug_print_node): Use default diag debug_t object, if the passed
      one is NULL. Reset locus after formatting.
      (mu_cfg_postorder): Return immediately if node == NULL.
      (mu_cfg_tree_create,mu_cfg_tree_set_debug,mu_cfg_tree_set_alloc)
      (mu_cfg_tree_alloc,mu_cfg_tree_free,mu_cfg_tree_create_node)
      (mu_cfg_tree_add_node): New functions.
      * mailbox/gocs.c (mu_gocs_store): Make sure no capa/data tuple
      gets registered twice.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * imap4d/Makefile.am (imap4d_SOURCES): Add preauth.c
      * imap4d/authenticate.c (imap4d_authenticate): Use
      imap4d_session_setup.
      * imap4d/imap4d.c (imap4d_session_setup)
      (imap4d_session_setup.0): New functions.
      (imap4d_mainloop): Implement PREAUTH mode.
      * imap4d/imap4d.h (RESP_PREAUTH): New define.
      (enum imap4d_preauth): New data type.
      (preauth_mode,preauth_program,preauth_only,ident_port): New
      globals.
      (imap4d_session_setup,imap4d_session_setup.0): New functions.
      * imap4d/login.c (imap4d_login): Use imap4d_session_setup0.
      * imap4d/util.c (sc2string): Handle RESP_PREAUTH
      
      * lib/.cvsignore, m4/.cvsignore: Update.
      
      * mailbox/tcp.c: Fix indentation.
      Sergey Poznyakoff authored
  4. 02 Dec, 2007 5 commits
  5. 01 Dec, 2007 2 commits
  6. 30 Nov, 2007 1 commit
    • * include/mailutils/types.hin: New type mu_log_level_t.
      * include/mailutils/debug.hm4, include/mailutils/diag.h,
      mailbox/cfg_lexer.c, mailbox/cfg_parser.y, mailbox/dbgstderr.c,
      mailbox/dbgsyslog.c, mailbox/debug.c, mailbox/diag.c,
      mailbox/gdebug.c, mailbox/muerror.c, mailbox/syslog.c,
      sieve/sieve.c: Use mu_log_level_t instead of size_t for debugging
      and logging levels.
      Sergey Poznyakoff authored
  7. 29 Nov, 2007 1 commit
    • imap4d/auth_gss.c, imap4d/authenticate.c, imap4d/bye.c,
      imap4d/close.c, imap4d/imap4d.c, imap4d/login.c, imap4d/search.c,
      imap4d/signal.c, imap4d/starttls.c, imap4d/util.c, maidag/lmtp.c,
      maidag/maidag.c, maidag/script.c, mail.local/main.c,
      mail.local/script.c, pop3d/apop.c, pop3d/bulletin.c,
      pop3d/extra.c, pop3d/lock.c, pop3d/logindelay.c, pop3d/pop3d.c,
      pop3d/quit.c, pop3d/signal.c, pop3d/user.c, libsieve/util.c: Use
      mu_diag_output instead of syslog.
      
      * sieve/sieve.c: New option --no-program-name, for testsuite.
      * sieve/testsuite/lib/sieve.exp: Call sieve with the
      --no-program-name option.
      
      * mailbox/cfg_lexer.c, mailbox/cfg_parser.y: Improve debugging.
      * mailbox/diag.c: New file.
      * mailbox/gdebug.c (mu_debug_level_from_string): New function.
      * mailbox/muerror.c (mu_verror, mu_error): Rewrite using mu_diag
      functions.
      * mailbox/syslog.c (mu_diag_level_to_syslog): New function.
      (mu_diag_syslog_printer): New function.
      
      * mh/mh_argp.c (mh_argp_parse): Set prigram name using
      mu_set_program_name.
      * mh/mh_init.c (mu_error_printer): No longer needed.
      * movemail/movemail.c (movemail_error_printer): No longer needed.
      
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add diag.h
      * include/mailutils/diag.h: New file.
      * include/mailutils/cfg.h (mu_cfg_lexer_t): Take mu_debug_t as its
      second argument.
      * include/mailutils/error.h: Include diag.h
      (mu_program_name,mu_set_program_name): Remove. Already declared in
      diag.h.
      (mu_error_set_print): Deprecated.
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add diag.c
      Sergey Poznyakoff authored
  8. 28 Nov, 2007 4 commits
    • mailbox/cfg_parser.y (mu_cfg_tree_t):
      New data type.
      (mu_cfg_perror_t): Remove
      (mu_cfg_parse): Change prototype.
      (mu_cfg_perror): Change type.
      (mu_cfg_format_error): New function.
      (mu_cfg_destroy_tree): Change signature.
      (mu_cfg_callback_t): Take mu_debug_t as its first argument,
      instead of mu_cfg_locus_t. The mu_debug_t is to be used for error
      reporting and debugging diagnostics. The cfg_lexer is responsible
      for storing the necessary locus data into it before calling
      callbacks.
      (mu_cfg_section_fp): Take an additional argument.
      (mu_cfg_scan_tree): Simplified prototype. The mu_cfg_tree_t passed
      as its first argument already contains all necessary data that
      were passed as arguments previously.
      (mu_parse_config): First two args are consts.
      
      * include/mailutils/libcfg.h, imap4d/imap4d.c, libcfg/auth.c,
      libcfg/common.c, libcfg/ldap.c, libcfg/sieve.c, libcfg/sql.c,
      maidag/maidag.c, mail.local/main.c, mimeview/mimeview.c,
      pop3d/pop3d.c, sieve/sieve.c: Reflect changes to the cfg
      framework.
      
      * mailbox/debug.c (mu_debug_vprintf): Make sure the locus info is
      formatted on the first call.
      Sergey Poznyakoff authored
    • * include/mailutils/debug.hm4 (struct mu_debug_locus): New data
      type.
      (mu_debug_set_locus, mu_debug_get_locus)
      (mu_debug_set_function, mu_debug_get_function): New prototypes.
      (mu_debug_printer_fp, mu_debug_syslog_printer)
      (mu_debug_stderr_printer): Change type of the first argument.
      (mu_debug_set_data): New function.
      (all proto): Remove argument names, use only types to avoid
      problems on some broken systems (FreeBSD comes to mind).
      * libproto/include/debug0.h (struct _mu_debug): printer: change
      type of the first argument.
      locus, function, data, destroy: New fields.
      
      * mailbox/dbgstderr.c (mu_debug_stderr_printer): Change type of
      the first argument.
      * mailbox/dbgsyslog.c (mu_debug_syslog_printer): Change type of
      the first argument.
      
      * mailbox/debug.c (mu_debug_destroy): Flush any left over data.
      Call destroy, if supplied.
      (mu_debug_set_data): New function.
      (mu_debug_vprintf): Print locus and function (if supplied) at the
      beginning of the buffer.
      (mu_debug_set_locus, mu_debug_get_locus, mu_debug_set_function)
      (mu_debug_get_function): New functions.
      
      * scripts/debugdef.m4 (MKDEBUG): Use mu_debug_set_locus and
      mu_debug_set_function to print source locations. This allows for
      easy i18n of the MU_DEBUG[0-9]* format strings.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • to set their default mu_debug_t objects basing on these settings.
      
      * include/mailutils/Makefile.am: Add debug.hin. Build debug.h from
      it.
      * include/mailutils/debug.hm4: New file.
      * include/mailutils/debug.h: Remove generated file.
      * scripts/Makefile.am (EXTRA_DIST): Add debugdef.m4
      * scripts/debugdef.m4: New file.
      
      * include/mailutils/gocs.h (struct mu_gocs_debug): New data type.
      (mu_gocs_register_std): Argument is const.
      (mu_gocs_debug_init): New function.
      * include/mailutils/libargp.h (mu_debug_cmdline): New extern.
      * include/mailutils/libcfg.h (mu_debug_cfg_capa): New extern.
      * libargp/cmdline.c: Add mu_debug_cmdline
      * libargp/common.c: Add debug settings.
      * libargp/mu_argp.c (struct cap_buf.capa): Remove const qualifier.
      * libcfg/common.c (mu_locking_param): Remove superfluous `lock-'
      prefix from the statement names.
      (mu_debug_param): New parameter group.
      * libcfg/init.c: Add mu_debug_param.
      * mailbox/gocs.c (mu_gocs_debug_init): New function.
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add gdebug.c
      * mailbox/gdebug.c: New file
      * mailbox/debug.c (mu_debug_printf, mu_debug_vprintf)
      (mu_debug_check_level): New functions.
      (mu_debug_printv, mu_debug_print): Rewrite using new basic calls.
      
      * comsat/comsat.c, dotlock/dotlock.c, examples/muauth.c,
      mail.remote/mail.remote.c: Add debug capability.
      * frm/frm.c, frm/from.c, guimb/main.c, imap4d/imap4d.c,
      mail/mail.c, mail.local/main.c, messages/messages.c,
      pop3d/pop3d.c, readmsg/readmsg.c: Add locking and debug capabilities.
      
      * examples/mimetest.c, examples/msg-send.c, frm/common.c,
      libargp/auth.c, libmu_scm/mu_message.c, mail/send.c, mh/send.c,
      mimeview/mimeview.c, movemail/movemail.c, sieve/sieve.c: Update
      invocation of mu_debug_set_level.
      
      * libproto/imap/folder.c, libproto/imap/mbox.c,
      libproto/include/folder0.h, libproto/include/mailbox0.h,
      libproto/include/mailer0.h, libproto/mailer/sendmail.c,
      libproto/mailer/smtp.c, libproto/mbox/mbox.c,
      libproto/nntp/folder.c, libproto/nntp/nntp_debug.c,
      libproto/pop/mbox.c, libproto/pop/pop3_debug.c, mailbox/amd.c,
      mailbox/mailer.c, mailbox/message.c, mailbox/mu_auth.c: Use
      MU_DEBUG[0-9] for debugging.
      
      * mailbox/muerror.c: Include string.h
      * mailbox/syslog.c (syslog_to_n): Remove unused variable.
      * mailbox/assoc.c (struct _mu_assoc_elem): name is not const.
      * mailbox/cfg_lexer.c: Quoted strings can be continued to the
      following line either by using a trailing backslash or by
      concatenating strings together, as in C.
      * mailbox/mailbox.c (_create_mailbox): Initialize debug object
      using global "mailbox" level.
      (mu_mailbox_create): Fix bug introduced on 2007-11-26.
      
      * include/mailutils/libsieve.h (mu_sieve_set_debug_level): Change
      prototype.
      (mu_sieve_set_debug_object): New prototype.
      * libsieve/sieve.y (mu_sieve_machine_init): Initialize debug
      object from "sieve" global level.
      (mu_sieve_set_debug_level): Set only debug_level.
      (mu_sieve_set_debug_object): New function.
      
      * maidag/maidag.c: Remove explicit setting of debug object. Add
      "debug" group, which provides the required functionality.
      (set_debug_flags): Likewise. This function and the corresponding
      command line option are fading out in favor of global debug
      settings.
      Sergey Poznyakoff authored
  9. 26 Nov, 2007 5 commits
    • Sergey Poznyakoff authored
    • and libcfg.
      (fgetpwent): Use AC_CHECK_FUNCS
      * auth/virtual.c: Use mu_fgetpwent if fgetpwent is not available.
      
      * lib/Makefile.am: Add back utmp.c
      * lib/utmp.c: Restore after unintended remove.
      * m4/utmp.m4: Fix quoting.
      
      * libcfg/gsasl.c, libcfg/ldap.c, libcfg/pam.c, libcfg/radius.c,
      libcfg/sieve.c, libcfg/sql.c, libcfg/tls.c, libcfg/virtdomain.c:
      Include stdlib.h
      
      * libproto/imap/folder.c, libproto/mbox/mbox.c,
      libproto/mbox/mbox0.h, libproto/pop/mbox.c, mailbox/attachment.c,
      mailbox/mailbox.c, mailbox/parsedate.y:	Do not use alloca.
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add fgetpwent.c
      and intprops.h.
      * mailbox/fgetpwent.c (fgetpwent): Rename to mu_fgetpwent.
      * mailbox/gocs.c: Revert recent change. It broke the testsuite in
      sieve.
      * mailbox/syslog.c (log_facility): Initialize to LOG_FACILITY.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * auth/Makefile.am (libmuauth_la_SOURCES): Add ldap.c.
      * auth/ldap.c: New file.
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add ldap.h.
      * include/mailutils/ldap.h: New file.
      * include/mailutils/libcfg.h (mu_ldap_cfg_capa): New extern.
      * include/mailutils/mu_auth.h (mu_auth_ldap_module): New extern.
      (MU_AUTH_REGISTER_ALL_MODULES): Register ldap.
      * libcfg/Makefile.am (libmucfg_la_SOURCES): Add ldap.
      * libcfg/ldap.c: New file.
      * libcfg/init.c (cfg_capa_table): Add ldap.
      * mailbox/gocs.c (mu_gocs_logging_init): Initialize log_facility
      to default if not specified otherwise. Need to revise this later.
      * mailbox/version.c (mu_conf_option): Reveal ldap, if supported.
      
      * mailbox/mu_auth.c (mu_auth_data_alloc): Add safety
      checks. Provide reasonable defaults for missing arguments.
      * mailbox/mutil.c (mutil_parse_field_map): Bugfix - increment by 2
      on each loop.
      
      * libargp/mu_argp.c (mu_build_argp): Do not bail out if an unknown
      capability is requested.
      
      * include/mailutils/assoc.h (mu_assoc_count): New function.
      * mailbox/assoc.c: Likewise.
      
      * auth/radius.c (_expand_query): Static
      
      * mailbox/cfg_lexer.c: Fixed memory management during cloning.
      Sergey Poznyakoff authored
  10. 24 Nov, 2007 1 commit
    • * imap4d/login.c, pop3d/user.c: Print user db source along with
      the login name.
      * include/mailutils/debug.h (mu_debug_set_print): Change
      prototype.
      (mu_debug_printer_fp): New data type.
      (mu_debug_default_printer): New extern.
      (mu_debug_syslog_printer,mu_debug_stderr_printer): New prototypes.
      
      * libproto/include/debug0.h (struct _mu_debug): Remove unused
      `buffer' and `buflen'. Add `stream'. Change signature of `_print' and
      rename it to `printer'.
      * mailbox/debug.c: Rewrite debugging support.
      (mu_debug_default_printer): New global.
      
      * mailbox/gocs.c (mu_gocs_logging_init): Initialize
      mu_debug_default_printer.
      
      * mailbox/memory_stream.c (_memory_truncate): Bugfix.
      (_memory_get_transport2): Implement method.
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add dbgstderr.c
      and dbgsyslog.c
      * mailbox/dbgstderr.c, mailbox/dbgsyslog.c: New files.
      * maidag/maidag.c, mail.local/main.c, sieve/sieve.c: Remove
      _mu_debug_printer, the default implementation will do.
      
      * mailbox/mu_auth.c: Improve debugging.
      
      * libsieve/comparator.c, libsieve/load.c, libsieve/sieve.l:
      Include ctype.h
      
      * include/mailutils/libargp.h: Remove option declarations.
      * include/mailutils/mu_auth.h (struct mu_auth_data): New member
      `source'.
      (mu_auth_set_debug): New proto.
      * libargp/common.c: Define option values. New option --debug-auth.
      * libargp/auth.c, libargp/gsasl.c,
      libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c,
      libargp/tls.c, libargp/virtdomain.c: Define option values.
      Sergey Poznyakoff authored
  11. 22 Nov, 2007 2 commits
  12. 20 Nov, 2007 10 commits
  13. 19 Nov, 2007 3 commits