- 05 Feb, 2008 2 commits
-
-
-
multi-line headers. * imap4d/list.c (imap4d_list): Speed up LIST "" INBOX. * libproto/imap/folder.c (folder_imap_list): Remove erroneous assignments to f_imap->folder. Fix handling of remote mailboxes in clients: * libproto/imap/url.c (_url_imap_init,_url_imaps_init): Remove call to mu_url_init. * libproto/pop/url.c (_url_pop_init): Remove call to mu_url_init. * mailbox/mailbox.c (mailbox_folder_create): Bugfix: Lack of path component is not an error.
Sergey Poznyakoff authored
-
- 04 Feb, 2008 2 commits
-
-
New member `child_pid'. (children): Remove global. (m_server_list): New variable. Keeps track of created m_servers. (alloc_children, register_child, unregister_child) (terminate_children): New functions. (m_server_cleanup): New function. (mu_m_server_idle): Iterate over all registered m-servers until one of them recognizes the child. (mu_m_server_create,mu_m_server_destroy): Keep track of existing m-servers using m_server_list. (mu_m_server_set_max_children): Rewrite using alloc_children. (mu_m_server_run): Terminate all children before returning. (m_srv_conn): Use register_child to remember created children.
Sergey Poznyakoff authored -
* examples/header.c: New command `itr'. (main): Empty input repeats the recent command. * include/mailutils/header.h (mu_header_get_iterator): New function. * libproto/include/header0.h (struct _mu_header): New member itr. * mailbox/Makefile.am (libmailutils_la_SOURCES): Add hdritr.c * mailbox/hdritr.c: New file. * mailbox/header.c (mu_header_remove): Bugfix. Invalidate the header after removal.
Sergey Poznyakoff authored
-
- 31 Jan, 2008 1 commit
-
-
* mailbox/cfg_lexer.c (copy_string0): New function. (copy_string): Rewrite using copy_string0. (copy_to): Parse strings correctly. (default_lexer): Bugfix. Return string if tag is quoted.
Sergey Poznyakoff authored
-
- 28 Jan, 2008 1 commit
-
-
- 24 Jan, 2008 3 commits
-
-
- 22 Jan, 2008 4 commits
-
-
-
-
-
(iter): Return error code. (main): Create iterators on demand. New command `close'.
Sergey Poznyakoff authored
-
- 16 Jan, 2008 2 commits
-
-
mailbox/acl.c (mu_sockaddr_to_str, mu_sockaddr_to_astr) (mu_acl_check_sockaddr, mu_acl_check_inaddr): Use const pointers when appropriate.
Sergey Poznyakoff authored -
types.hin. * include/mailutils/types.hin (mu_offsetof): New macro. * mailbox/acl.c (MU_S_UN_NAME): New macro. (debug_sockaddr, mu_sockaddr_to_str, _acl_match) (_run_entry): Take into account salen for AF_UNIX.
Sergey Poznyakoff authored
-
- 14 Jan, 2008 2 commits
-
-
* include/mailutils/syslog.h (mu_log_facility, mu_log_tag): New declarations. (MU_LOG_TAG): New define. * mailbox/gocs.c (mu_gocs_logging_init): Set mu_log_tag. * mailbox/syslog.c (mu_log_facility, mu_log_tag): New variables. * libcfg/common.c (mu_logging_param): New statement `tag'. * comsat/comsat.c, imap4d/imap4d.c, imap4d/login.c, maidag/maidag.c, mail.local/main.c, pop3d/pop3d.c, pop3d/user.c, sieve/sieve.c: Use MU_LOG_TAG in openlog, and program_version in mu_m_server_create calls.
Sergey Poznyakoff authored -
_path_append. * libsieve/load.c (sieve_init_load_path): New function. (load_module,sieve_load_add_path,sieve_load_add_dir): Call sieve_init_load_path. * mail.local/main.c (parse_opt): Bugfix. Translate -S option to sieve-filter configuration statement.
Sergey Poznyakoff authored
-
- 13 Jan, 2008 3 commits
-
-
* configure.ac: Define DEFAULT_TEXT_DOMAIN * comsat/comsat.c, dotlock/dotlock.c, frm/frm.c, frm/from.c, guimb/main.c, imap4d/imap4d.c, maidag/maidag.c, mail/mail.c, mail.local/main.c, mail.remote/mail.remote.c, messages/messages.c, 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, mimeview/mimeview.c, movemail/movemail.c, pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c, sieve/sieve.c, Use MU_APP_INIT_NLS instead of mu_init_nls. * mailbox/nls.c (mu_init_nls): Do not call textdomain.
Sergey Poznyakoff authored -
-
-
- 12 Jan, 2008 1 commit
-
-
- 11 Jan, 2008 2 commits
-
-
- 09 Jan, 2008 2 commits
-
-
compatibility with other modules. * auth/radius.c, auth/sql.c: Use mu_vartab_t for expansion. * include/mailutils/mailutils.h: Include mailutils/assoc.h * lib/tcpwrap.c (mu_tcpwrapper_access): Ignore local sockets. * libargp/muinit.c (mu_app_init): Re-assign mu_program_name after command line parsing, so that --program-name takes effect. * libcfg/sql.c (mu_sql_param): Fix typo in statement name. * libproto/include/amd.h (struct _amd_message.create): New member. * libproto/maildir/mbox.c (maildir_create): New function. (_mailbox_maildir_init): Set amd->create. * mailbox/amd.c (amd_open): Call amd->create after successfully creating the directory. * mailbox/cfg_driver.c (_cb_include): Mask out MU_PARSE_CONFIG_GLOBAL in the flags. (mu_build_container): Bugfix. Take struct include_data as argument, instead of using an auto variable. All callers updated. * mailbox/ipsrv.c (mu_ip_tcp_accept): Bugfix: use client address, not server, to print diagnostics. * mailbox/msrv.c (m_srv_conn): Fix prefork condition for single-process mode.
Sergey Poznyakoff authored -
* include/mailutils/server.h (mu_m_server_set_foreground) (mu_m_server_foreground,mu_m_server_pidfile) (mu_m_server_set_default_address) (mu_m_server_get_srvlist) (mu_m_server_get_default_address): New functions. * libargp/muinit.c (get_canonical_name): Do not use xmalloc. * mailbox/ipsrv.c (mu_ip_server_get_sockaddr): Return MU_ERR_BUFSPACE if provided buffer is not long enough to accomodate the result. * mailbox/msrv.c (mu_m_server_set_foreground) (mu_m_server_foreground,mu_m_server_pidfile) (mu_m_server_set_default_address) (mu_m_server_get_srvlist) (mu_m_server_get_default_address) (mu_m_server_parse_url): New functions.
Sergey Poznyakoff authored
-
- 06 Jan, 2008 1 commit
-
-
* libproto/include/amd.h (struct _amd_message): Remove `deleted', add `orig_flags' instead. (struct _amd_data): Remove `msg_file_name', add `cur_msg_file_name' and `new_msg_file_name'. Add `mailbox_size'. * libproto/maildir/mbox.c (struct _maildir_message): Remove `newflag', add `dir'. (maildir_name_info_ptr): New function. (mk_info_filename): Bugfix. (maildir_cur_message_name, maildir_new_message_name): New functions. (maildir_msg_init): Set ->dir (maildir_msg_finish_delivery): Handle error conditions. (maildir_scan_dir): New argument `dirname'. Initialize orig_flags. (maildir_qfetch): Initialize dir. (_mailbox_maildir_init): Set cur_msg_file_name and new_msg_file_name. * libproto/mh/mbox.c (_mh_cur_message_name) (_mh_new_message_name): New functions. (mh_scan0): Initialize orig_flags. (_mailbox_mh_init): Set cur_msg_file_name and new_msg_file_name. * mailbox/amd.c (amd_message_qid, _amd_message_save) (amd_append_message, amd_expunge, amd_scan_message) (amd_pool_open, amd_header_fill): Use appropriate msg_file_name functions. (amd_get_size): Implemented. * mailbox/mailbox.c (mu_mailbox_flush): Bugfix.
Sergey Poznyakoff authored
-
- 05 Jan, 2008 3 commits
-
-
* mailbox/Makefile.am: Replace tcpsrv.c with ipsrv.c. * mailbox/tcpsrv.c: Replace with ... * mailbox/ipsrv.c: ... this file, which supports both TCP and UDP. * mailbox/msrv.c: Use mu_ip_server_t. * mailbox/server.c (mu_server_destroy): Bugfix. * comsat/comsat.c, comsat/comsat.h: Use m-server. * maidag/lmtp.c, maidag/maidag.h, pop3d/pop3d.c: Update to match changed m-server types. * include/mailutils/server.h (mu_tcp_*): Replace with mu_ip_*. Add new prototypes. * include/mailutils/types.hin: Likewise. * lib/tcpwrap.c, lib/tcpwrap.h (mu_tcp_wrapper_prefork): Update signature to match mu_m_server_prefork_fp. * examples/echosrv.c: Use mu_ip_server_t * imap4d/idle.c, imap4d/imap4d.c, imap4d/imap4d.h, imap4d/preauth.c, imap4d/util.c: Remove mu_gocs_daemon. * include/mailutils/gocs.h, include/mailutils/libargp.h, include/mailutils/libargp.h, libargp/cmdline.c, libargp/common.c, libcfg/common.c, libcfg/init.c, mailbox/daemon.c, mailbox/gocs.c: Remove mu_gocs_daemon. * mailbox/amd.c (amd_open): Provide a null-locker. * include/mailutils/locker.h, mailbox/locker.c (mu_locker_mod_flags): New function. * examples/config/mailutils.schema: LDAP schema for Mailutils. * examples/config/Makefile.am: Add mailutils.schema * dotlock/dotlock.c (main): Remove superfluous invocation of mu_locker_set_flags. * libproto/mbox/mbox.c (mbox_quick_get_message): Return MU_ERR_NOENT if mailbox is empty. * mailbox/tcpsrv.c (family_to_proto): Rename to mu_address_family_to_domain. * po/POTFILES.in: Update. * pop3d/lock.c (pop3d_lock): use mu_locker_mod_flags, instead of mu_locker_set_flags.
Sergey Poznyakoff authored -
-
function type. (mu_m_server_destroy, mu_m_server_set_prefork) (mu_m_server_configured_count, mu_m_server_end): New functions. * mailbox/msrv.c (struct _mu_m_server.prefork): New member. (mu_m_server_set_prefork): New function. (m_srv_conn): Use prefork to decide whether to proceed with a connection. * lib/tcpwrap.c, lib/tcpwrap.h (mu_tcp_wrapper_prefork): New function. * imap4d/imap4d.c, maidag/lmtp.c, maidag/maidag.c, pop3d/pop3d.c: Use m-server prefork to handle TCP wrappers. * po/POTFILES.in: Add more files.
Sergey Poznyakoff authored
-
- 04 Jan, 2008 3 commits
-
-
-
* mailbox/msrv.c: New file. * mailbox/Makefile.am: Add msrv.c. * include/mailutils/server.h (mu_tcp_server_conn_fp): Take sockaddr as argument (mu_tcp_server_create,mu_tcp_server_get_sockaddr): Likewise. (mu_m_server_*): New prototypes. * include/mailutils/types.hin (mu_m_server_t): New type. * mailbox/acl.c: Fix debugging output. (mu_sockaddr_to_str, mu_sockaddr_to_astr): New functions. * mailbox/tcpsrv.c: Handle AF_INET and AF_UNIX sockets. * examples/echosrv.c: Update mu_tcp_server_* calls. * examples/config/Makefile.am: Remove comsat.conf and mailutils.rc. * imap4d/imap4d.c, imap4d/imap4d.h, imap4d/signal.c, maidag/lmtp.c, maidag/maidag.c, maidag/maidag.h, pop3d/extra.c, pop3d/pop3d.c, pop3d/pop3d.h, pop3d/signal.c: Rewrite using m-server. * include/mailutils/cfg.h (mu_offsetof): Bug fix. * mailbox/cfg_driver.c (dup_container): Bugfix. Offset was not copied. (mu_cfg_section_add_params): If identifier starts with a dot, it is hidden, i.e. its substatements are copied directly into the parent structure. * mailbox/cfg_lexer.c (isword): Take care of opening braces. (default_lexer): Several fixes. * mailbox/cfg_parser.y (mu_cfg_parse): Initialize debugging level from global settings. (_scan_tree_helper): Ensure debugging object has correct locus information before calling the section parser. (mu_cfg_scan_tree): If no debugging object is supplied, use the one from diag.c * mailbox/daemon.c (mu_daemon_create_pidfile): Return a meaningful error code. * mailbox/debug.c (mu_debug_create): Initialize printer to NULL. (mu_debug_vprintf): If printer is NULL, use mu_debug_default_printer. (mu_debug_check_level): Bugfix. * mailbox/server.c: Minor indentation fix. * mailbox/syslog.c (mu_diag_syslog_printer): Chop off \r as well. * mailbox/folder.c (mu_folder_create_from_record): Bugfixes. * include/mailutils/debug.hm4 (mu_sockaddr_to_str) (mu_sockaddr_to_astr): New functions. * include/mailutils/.cvsignore: Add debug.h * po/POTFILES.in: Update.
Sergey Poznyakoff authored -
* mailbox/msrv.c: New file. * mailbox/Makefile.am: Add msrv.c. * include/mailutils/server.h (mu_tcp_server_conn_fp): Take sockaddr as argument (mu_tcp_server_create,mu_tcp_server_get_sockaddr): Likewise. (mu_m_server_*): New prototypes. * include/mailutils/types.hin (mu_m_server_t): New type. * mailbox/acl.c: Fix debugging output. (mu_sockaddr_to_str, mu_sockaddr_to_astr): New functions. * mailbox/tcpsrv.c: Handle AF_INET and AF_UNIX sockets. * examples/echosrv.c: Update mu_tcp_server_* calls. * examples/config/Makefile.am: Remove comsat.conf and mailutils.rc. * imap4d/imap4d.c, imap4d/imap4d.h, imap4d/signal.c, maidag/lmtp.c, maidag/maidag.c, maidag/maidag.h, pop3d/extra.c, pop3d/pop3d.c, pop3d/pop3d.h, pop3d/signal.c: Rewrite using m-server. * include/mailutils/cfg.h (mu_offsetof): Bug fix. * mailbox/cfg_driver.c (dup_container): Bugfix. Offset was not copied. (mu_cfg_section_add_params): If identifier starts with a dot, it is hidden, i.e. its substatements are copied directly into the parent structure. * mailbox/cfg_lexer.c (isword): Take care of opening braces. (default_lexer): Several fixes. * mailbox/cfg_parser.y (mu_cfg_parse): Initialize debugging level from global settings. (_scan_tree_helper): Ensure debugging object has correct locus information before calling the section parser. (mu_cfg_scan_tree): If no debugging object is supplied, use the one from diag.c * mailbox/daemon.c (mu_daemon_create_pidfile): Return a meaningful error code. * mailbox/debug.c (mu_debug_create): Initialize printer to NULL. (mu_debug_vprintf): If printer is NULL, use mu_debug_default_printer. (mu_debug_check_level): Bugfix. * mailbox/server.c: Minor indentation fix. * mailbox/syslog.c (mu_diag_syslog_printer): Chop off \r as well. * mailbox/folder.c (mu_folder_create_from_record): Bugfixes. * include/mailutils/debug.hm4 (mu_sockaddr_to_str) (mu_sockaddr_to_astr): New functions. * include/mailutils/.cvsignore: Add debug.h * po/POTFILES.in: Update.
Sergey Poznyakoff authored
-
- 02 Jan, 2008 1 commit
-
-
* libproto/include/property0.h (struct property_item): Remove key, set and next. (struct _mu_property): Use mu_assoc_t to keep the items. * mailbox/property.c: Rewrite using mu_assoc_t for storage. * mailbox/parsedate.y (DATE_SET): Take an additional argument specifying upper limit for the value. Bail out if val is out of range. All callers updated. (SET_.*): Rewrite via __SET_.*
Sergey Poznyakoff authored
-
- 30 Dec, 2007 4 commits
-
-
* comsat/cfg.c: Remove. * comsat/comsat.c: Use MU configuration and acls. * comsat/comsat.h: Include acl.h * libproto/maildir/mbox.c (maildir_qfetch): Bugfix.
Sergey Poznyakoff authored -
* comsat/cfg.c: Remove. * comsat/comsat.c: Use MU configuration and acls. * comsat/comsat.h: Include acl.h * libproto/maildir/mbox.c (maildir_qfetch): Bugfix.
Sergey Poznyakoff authored -
* frm/testsuite/frm/test.exp: Call mu_init with -noflags option. Use --mail-folder option when necessary. * messages/testsuite/messages/test.exp: Likewise. * readmsg/testsuite/readmsg/test.exp: Likewise. * sieve/testsuite/lib/sieve.exp: Likewise. * sieve/testsuite/sieve/action.exp: Likewise. * sieve/testsuite/scripts/fileinto.sv: Use +file, instead of %file. * imap4d/imap4d.c: Register mailbox formats before parsing configuration. * imap4d/util.c (util_wcard_match): Replaced with a more efficient implementation, based on wildmat from GNU Radius. * imap4d/testsuite/imap4d/list.exp: Expect two non-mailbox files to appear in the list output (see libproto/mbox/folder.c, 2007-12-28). * libargp/common.c: New option --mail-folder. * libcfg/common.c: New statement mailbox/folder * libproto/maildir/folder.c (_maildir_is_scheme): Never return MU_FOLDER_ATTRIBUTE_DIRECTORY bit: maildir folders cannot contain subfolders. * libproto/maildir/mbox.c (maildir_msg_init): Bugfix: use full file name. Print additional diagnostics if stat fails. * libproto/mbox/folder.c (list_helper): Take additional argument, record, specifying a mu_record_t object to match entries against. If it is NULL, mu_registrar_lookup is used. Fix descending into subdirectories. * maidag/deliver.c (deliver): Split off deliver_to_user function; call it with user privileges. This fixes privileges of any created maildir folders. * maidag/maidag.c (set_debug_flags): Bugfix. * mail/mail.c (main): Open the mailbox with MU_STREAM_CREAT flag. * mailbox/amd.c (amd_open): Do not initialize amd->mtime to trigger initial scanning. (_amd_message_save): Check rename return value. (amd_is_updated): Do not check for msg_count==0, rely on the timestamp. * mailbox/mailbox.c (mu_mailbox_set_default_proto): Accept an argument without trailing semicolon. * mailbox/mbx_default.c (mu_set_mail_directory): Accept NULL argument. (mu_set_mailbox_pattern): Likewise. (mu_mailbox_create_default): Use FOLDER or MAIL environment variables only if _mu_mailbox_pattern is not set. In other words, setting mail-spool in the configuration file overrides these variables.
Sergey Poznyakoff authored
- 28 Dec, 2007 1 commit
-
-
appear in any local URLs. * TODO, NEWS: Update. * examples/url-parse.c: Print field/value pairs. * include/mailutils/argcv.h (MU_ARGCV_RETURN_DELIMS): New macro. (mu_argcv_get_np): New function. (mu_argcv_remove): New function. * include/mailutils/mutil.h (mu_scheme_autodetect_p): Change prototype. * include/mailutils/registrar.h (mu_registrar_lookup_url): New function. (struct _mu_record._is_scheme): Change signature. * include/mailutils/url.h (mu_url_sget_fvpairs) (mu_url_aget_fvpairs): New functions. (mu_url_expand_path): New function. * libproto/imap/folder.c (folder_imap_list): Fix signature. * libproto/nntp/folder.c (nntp_folder_list): Fix signature. * libproto/include/amd.h (amd_url_init): Remove. * libproto/include/registrar0.h: Fix scheme defines. * libproto/include/url0.h (struct _mu_url.fvpairs,fvcount): New members. * libproto/maildir/folder.c (_maildir_is_scheme): Change signature. (_maildir_url_init): Remove (_maildir_record): Remove url_init. * libproto/mbox/folder.c (_path_record): Remove url_init. (_mbox_record): Use mu_url_expand_path as url_init. (_path_is_scheme): Change signature. * libproto/mh/folder.c (_mh_is_scheme): Change signature. (_mh_url_init): Remove. (_mh_record): Use mu_url_expand_path as url_init. * libproto/mbox/Makefile.am (libmu_mbox_la_SOURCES): Remove url.c * libproto/mbox/url.c: Remove. * mail/mail.h, mail/util.c (util_url_to_string): New function. * mail/quit.c, mail/summary.c: Use util_url_to_string where appropriate. * mailbox/amd.c (amd_url_destroy, amd_url_init): Remove. * mailbox/argcv.c (mu_argcv_get_np): New function. (argcv_scan): Change signature. All callers updated. (argcv_get_n): Rewrite using argcv_get_np. (mu_argcv_remove): New function. * mailbox/file_stream.c (struct _prog_stream.argc): Fix data type. * mailbox/folder.c (mu_folder_create_from_record): URL initializer is optional. * mailbox/gdebug.c (mu_global_debug_from_string): Fix datatype of argc. * mailbox/mailbox.c (mailbox_folder_create): Rewrite. (_create_mailbox): Split off _create_mailbox0 function. Make URL initializer optional. * mailbox/mutil.c (mu_scheme_autodetect_p): Rewrite. * mailbox/registrar.c (mu_registrar_lookup_url): New function. (mu_registrar_lookup): Rewrite using mu_registrar_lookup_url. (mu_record_is_scheme,mu_record_set_is_scheme): Change signature. * mailbox/url.c (mu_url_destroy): Destroy fvpairs. (url_parse0): Use scheme "file" for URLs beginning with a /. Parse parameters. (mu_url_sget_fvpairs, mu_url_aget_fvpairs): New functions. (mu_url_expand_path): New function. * mailbox/testsuite/Urls: Update. * pop3d/bulletin.c (set_bulletin_db,set_bulletin_source): Allocate string storage. (read_bulletin_db): Return 0 if no record was found. (get_last_delivered_num): Return error code. (deliver_pending_bulletins): Rewrite. * pop3d/capa.c (pop3d_capa): Bugfix.
Sergey Poznyakoff authored
-
- 21 Dec, 2007 2 commits
-
-
-
speed up. * imap4d/imap4d.h (WCARD_NOMATCH,WCARD_MATCH) (WCARD_RECURSE_MATCH): Remove. * imap4d/list.c: Rewrite using mu_folder_enumerate. * imap4d/lsub.c (imap4d_lsub): Fix call to util_wcard_match. * imap4d/util.c (util_wcard_match): Return 0 for match, 1 otherwise. * imap4d/testsuite/imap4d/list.exp: Fix two testcases to match the new (stricter RFC-compliant) behavior. * include/mailutils/folder.h (mu_folder_match_fp): New typedef. (mu_folder_enumerate_fp): New typedef. (mu_folder_enumerate): New function. (mu_folder_set_match, mu_folder_get_match): New functions. * libproto/imap/folder.c, libproto/include/imap0.h, libproto/nntp/folder.c : Use new folder list framework. * libproto/include/folder0.h (struct _mu_folder._list): Change signature. (_match): New member. * libproto/mbox/folder.c (_path_is_scheme): Improve automatic mailbox format detection. (folder_mbox_list): Do not use glob, recursively scan subdirectories instead. * mailbox/folder.c (mu_folder_match): New function. (mu_folder_create_from_record): Set mu_folder_match as the default matcher. (mu_folder_set_match, mu_folder_get_match): New functions. (mu_folder_enumerate): New function. (mu_folder_list): Rewrite using mu_folder_enumerate.
Sergey Poznyakoff authored
-