1. 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
  2. 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
  3. 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
  4. 22 Nov, 2007 2 commits
  5. 20 Nov, 2007 10 commits
  6. 19 Nov, 2007 6 commits
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * libargp/compat.c (mu_argp_parse): Update call to mu_argp_build.
      * libargp/mu_argp.c (mu_argp_build): Optionally return expanded
      capability list in the third argument.
      * libargp/muinit.c (mu_app_init): Pass expanded capability list to
      mu_libcfg_init.
      Sergey Poznyakoff authored
    • * include/mailutils/libargp.h (OPT_RCFILE_VERBOSE): New value.
      * libargp/Makefile.am (AM_CFLAGS): Rename to AM_CPPFLAGS, define
      SYSCONFDIR.
      * libargp/common.c (mu_common_argp, mu_common_argp_parser): New
      option rcfile-verbose.
      * mailbox/Makefile.am (AM_CPPFLAGS): define SYSCONFDIR.
      * mailbox/cfg_lexer.c (_mu_parse_config): Implement `include'
      statement. Add verbose logging.
      * mailbox/cfg_parser.y (mu_cfg_parser_verbose): New variable.
      (mu_cfg_parse): Zero out parse_tree before returning.
      (_scan_tree_helper): Remove dependency on MU_CONFIG_VERBOSE envar.
      Use mu_cfg_parser_verbose instead.
      Sergey Poznyakoff authored
    • * config/Makefile.am: Install mailutils.m4 to $(datadir)/aclocal
      Sergey Poznyakoff authored
    • (MU_APP_LIBRARIES): Rename libargp.a to libmuargp.a
      * NEWS: Update.
      
      * comsat/comsat.c, dotlock/dotlock.c, examples/muauth.c,
      examples/muemail.c, frm/frm.h, guimb/main.c, imap4d/imap4d.c,
      libargp/auth.c, libargp/cmdline.c, libargp/common.c,
      libargp/gsasl.c, libargp/mu_argp.c, libargp/pam.c,
      libargp/radius.c, libargp/sieve.c, libargp/sql.c, libargp/tls.c,
      libargp/virtdomain.c, maidag/maidag.h, mail/mail.c,
      mail.local/main.c, mail.remote/mail.remote.c, messages/messages.c,
      mimeview/mimetypes.y, mimeview/mimeview.c, movemail/movemail.c,
      pop3d/extra.c, pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c,
      sieve/sieve.c: Include mailutils/libargp.h.
      
      * config/mailutils-config.c: New arguments to --link: cfg and argp.
      
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Remove
      compat.h, add libargp.h, libcfg.h and version.h
      * include/mailutils/compat.h: Remove
      * include/mailutils/libargp.h: New file (from libargp/cmdline.h)
      * include/mailutils/libcfg.h: New file (from (libcfg/)
      * include/mailutils/version.h: New file
      
      * include/mailutils/folder.h (struct mu_0_6_folder_list): Remove
      (mu_0_6_folder_list, mu_0_6_folder_lsub)
      (mu_0_6_folder_list_destroy): Remove.
      
      * include/mailutils/mailutils.h: Include version.h
      Remove 0.6 compatibility layer.
      * mailbox/folder.c (list_to_0_6_folder_list, mu_0_6_folder_list)
      (mu_0_6_folder_lsub, mu_0_6_folder_list_destroy): Remove.
      
      * lib/Makefile.am (libmuaux_la_SOURCES): Remove argpinit.c,
      muinit.h and muinit.c
      
      * libargp/Makefile.am (noinst_LIBRARIES, noinst_HEADERS): Remove
      (lib_LIBRARIES): Add libmuargp.a
      * libargp/compat.c: New file.
      * libargp/muinit.c: New file.
      * libargp/cmdline.h: Remove.
      
      * libcfg/Makefile.am (noinst_HEADERS): Remove.
      * libcfg/auth.c, libcfg/common.c, libcfg/gsasl.c, libcfg/init.c,
      libcfg/pam.c, libcfg/radius.c, libcfg/sieve.c, libcfg/sql.c,
      libcfg/tls.c, libcfg/virtdomain.c: Include mailutils/libcfg.h
      
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add version.c
      * mailbox/cfg_lexer.c (_mu_parse_config): Do nothing if
      root_container is NULL.
      
      * mh/ali.c, mh/anno.c, mh/burst.c, mh/comp.c, mh/fmtcheck.c,
      mh/folder.c, mh/forw.c, mh/inc.c, mh/install-mh.c, mh/mark.c,
      mh/mhl.c, mh/mhn.c, mh/mhparam.c, mh/mhpath.c, mh/pick.c,
      mh/refile.c, mh/repl.c, mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c,
      mh/sortm.c, mh/whatnow.c, mh/whom.c: Use mh_argp_init instead of
      mu_argp_init.
      * mh/mh_argp.c, mh/mh_getopt.h (mh_argp_init): New function
      Sergey Poznyakoff authored
  7. 18 Nov, 2007 12 commits
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Update · 7c27420d
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • from the repository. Bootstrap directly from the gnulib CVS.
      
      * configure.ac: Update.
      * lib/Makefile.am: Update.
      * mailbox/Makefile.am: Update.
      * include/mailutils/Makefile.am (SUBDIRS): Remove gnu
      * include/mailutils/gnu/Makefile.am: Remove
      * examples/argcv.c, examples/mta.c, guimb/guimb.h,
      imap4d/imap4d.h, libargp/mu_argp.c, libargp/tls.c,
      maidag/maidag.h, mail/mail.h, mail/send.c,
      mail.local/mail.local.h, mh/mh.h: Remove getline.h
      * libproto/nntp/mbox.c: Include mailutils/md5.h
      * libargp/cmdline.h: Include strings.h
      * m4/debug.m4, m4/enable.m4, m4/gsasl.m4, m4/guile.m4,
      m4/mu_libobj.m4: Minor fix
      * m4/intmax.m4,m4/inttypes-pri.m4,m4/inttypes_h.m4: Update
      * mailbox/alloca.h: Remove
      * mailbox/mailbox.c: Include string.h
      * mailbox/nls.c: Include locale.h
      * po/Makevars: Remove.
      
      * absolute-header.m4, alloca.m4, allocsa.m4, argp.m4, codeset.m4,
      d-type.m4, eealloc.m4, eoverflow.m4, error.m4, exitfail.m4,
      extensions.m4, fnmatch.m4, full-header-path.m4, getdelim.m4,
      getline.m4, getlogin_r.m4, getndelim2.m4, getopt.m4, getpass.m4,
      gettext.m4, glibc2.m4, glibc21.m4, glob.m4, gnulib.m4, iconv.m4,
      intdiv0.m4, isc-posix.m4, lcmessage.m4, lib-ld.m4, lib-link.m4,
      lib-prefix.m4, lock.m4, longdouble.m4, longlong.m4,
      mailbox-link.m4, mbchar.m4, mbiter.m4, mbrtowc.m4, mbstate_t.m4,
      mbswidth.m4, memchr.m4, mempcpy.m4, minmax.m4, obstack.m4,
      onceonly.m4, po.m4, printf-posix.m4, progtest.m4, regex.m4,
      restrict.m4, setenv.m4, signed.m4, size_max.m4, snprintf.m4,
      ssize_t.m4, stat-macros.m4, stdbool.m4, stdint.m4, stdint_h.m4,
      strcase.m4, strchrnul.m4, strdup.m4, strerror_r.m4, strndup.m4,
      strnlen.m4, strtok_r.m4, sysexits.m4, uint32_t.m4, uintmax_t.m4,
      ulonglong.m4, unistd_h.m4, unlocked-io.m4, vasnprintf.m4,
      vasprintf.m4, visibility.m4, vsnprintf.m4, wchar_t.m4, wcwidth.m4,
      wint_t.m4, xalloc.m4, xsize.m4: Remove.
      
      * alloca.c, allocsa.c, allocsa.h, asprintf.c, basename.c, error.c,
      error.h, exit.h, exitfail.c, exitfail.h, fnmatch.c, fnmatch_.h,
      fnmatch_loop.c, getpass.c, getpass.h, intprops.h, malloc.c,
      mbswidth.c, mbswidth.h, md5.c, md5.h, obstack.c, obstack.h,
      realloc.c, setenv.c, setenv.h, snprintf.c, snprintf.h, stdbool.h,
      stdbool_.h, strcasecmp.c, strncasecmp.c, strsignal.c, strtok_r.c,
      unsetenv.c, utmp.c, vasprintf.c, vasprintf.h, vsyslog.c,
      xalloc-die.c, xalloc.h, xalloc_die.c, xmalloc.c, xsize.h,
      xstrdup.c: Remove.
      
      * alloca.c, alloca_.h, argp-ba.c, argp-eexst.c, argp-fmtstream.c,
      argp-fmtstream.h, argp-fs-xinl.c, argp-help.c, argp-namefrob.h,
      argp-parse.c, argp-pin.c, argp-pv.c, argp-pvh.c, argp-xinl.c,
      argp.h, asnprintf.c, fnmatch.c, fnmatch_.h, fnmatch_loop.c,
      getdelim.c, getdelim.h, getline.c, getline.h, getlogin_r.c,
      getlogin_r.h, getndelim2.c, getndelim2.h, getopt.c, getopt.h,
      getopt1.c, getopt_.h, getopt_int.h, gettext.h, glob-libc.h,
      glob.c, glob_.h, malloc.c, mbchar.c, mbchar.h, mbuiter.h,
      memchr.c, mempcpy.c, mempcpy.h, minmax.h, pin.c, printf-args.c,
      printf-args.h, printf-parse.c, printf-parse.h, regcomp.c, regex.c,
      regex.h, regex_internal.c, regex_internal.h, regexec.c,
      stat-macros.h, stdbool_.h, stdint_.h, strcase.h, strcasecmp.c,
      strchrnul.c, strchrnul.h, strdup.c, strdup.h, strncasecmp.c,
      strndup.c, strndup.h, strnlen.c, strnlen.h, strnlen1.c,
      strnlen1.h, strtok_r.c, strtok_r.h, sysexit_.h, unlocked-io.h,
      vasnprintf.c, vasnprintf.h, vsnprintf.c, vsnprintf.h, wcwidth.h,
      xsize.h: Remove.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • Sergey Poznyakoff authored