- 17 Mar, 2012 3 commits
-
-
-
* mh/etc/replcomps: Format Fcc only if coming from myself. * mh/etc/replgroupcomps: Likewise.
Sergey Poznyakoff authored -
* imap4d/imap4d.c (set_strerr_flt,clr_strerr_flt): New functions. (imap4d_connection): Setup session prefix in strerr if mu_log_session_id is set. * imap4d/io.c (io_setio): Bugfix: unref debug stream. * pop3d/extra.c (pop3d_setio): Likewise. * pop3d/pop3d.c (set_strerr_flt,clr_strerr_flt): New functions. (pop3d_connection): Setup session prefix in strerr if mu_log_session_id is set. * include/mailutils/acl.h (mu_acl_setenv) (mu_acl_getenv,mu_acl_set_session_id): New functions. * include/mailutils/server.h (mu_session_id): New extern. (mu_m_server_configured_count): Fix signature. * include/mailutils/syslog.h (mu_log_session_id): New extern. * libmailutils/diag/syslog.c (mu_log_session_id): New global. * libmailutils/server/acl.c (_mu_acl) <envv,envc,envn>: New members. (run_closure) <env>: New member. (mu_acl_destroy): Free environment. (_acl_match): Handle "family" variable. (expand_arg): Propagate ACL environment to wordsplit. (mu_acl_check_sockaddr): Propagate ACL environment. (mu_acl_setenv) (mu_acl_getenv,mu_acl_set_session_id): New functions. * libmailutils/server/ipsrv.c (mu_ip_tcp_accept): Store session ID in the ACL. (mu_ip_udp_accept): Likewise. * libmailutils/server/msrv.c (mu_m_server_configured_count): Fix signature. (mu_m_server_check_acl): Store session ID in the ACL. * libmailutils/server/server.c (mu_session_id): New global variable. (connection_loop): Increment session ID (mu_acl_set_session_id): New function. * libmailutils/stream/fltstream.c (filter_ctl): Handle MU_IOCTL_SUBSTREAM. * libmailutils/stream/logstream.c (_log_ctl): Likewise. * libmu_cfg/common.c (mu_logging_param) <session-id>: New statement.
Sergey Poznyakoff authored
-
- 14 Mar, 2012 2 commits
-
-
* libproto/mailer/smtp.c (smtp_send_message): Filter out Fcc and Bcc headers.
Sergey Poznyakoff authored -
* include/mailutils/util.h (mu_file_mode_to_safety_criteria) (mu_safety_criteria_to_file_mode): New protos. * libmailutils/base/filesafety.c (safety_checker) <mode>: New member. (file_safety_check_tab): Update. (mu_file_mode_to_safety_criteria) (mu_safety_criteria_to_file_mode): New functions. * libmu_dbm/berkeley.c (do_bdb_open): Create file prior to locking it.
Sergey Poznyakoff authored
-
- 13 Mar, 2012 1 commit
-
-
* mail/mailline.c (file_compl_internal): New function (from file_compl); (file_compl): Call file_compl_internal. (msglist_file_compl): Call file_compl_internal.
Sergey Poznyakoff authored
-
- 11 Mar, 2012 1 commit
-
-
* am/utmp.m4: Check if struct utmp has ut_user or ut_name members. * comsat/comsat.c [HAVE_UTMPX_H]: Define UTMP as a typedef of struct utmpx. Define ut_user, if necessary. (find_user): Use ut_user instead of (backward-compatible) ut_name.
Sergey Poznyakoff authored
-
- 09 Mar, 2012 1 commit
-
-
* maidag/Makefile.am: Load libmu_dbm.la if MU_COND_DBM is true. * pop3d/apop.c (pop3d_apopuser): Set owner, if specified in the config. * pop3d/pop3d.c (apop_database_owner) (apop_database_owner_set): New globals. (pop3d_cfg_param) <apop-database-owner>: New keyword. * pop3d/pop3d.h (apop_database_owner) (apop_database_owner_set): New declarations.
Sergey Poznyakoff authored
-
- 08 Mar, 2012 1 commit
- 26 Feb, 2012 2 commits
-
-
* include/mailutils/locker.h (mu_locker_lock_mode): New proto. * libmailutils/base/locker.c (_mu_locker_lock): Rename to mu_locker_lock_mode. All callers updated. * libmu_dbm/berkeley.c (bdb_file) <locker>: New member. (do_bdb_open): New function. Lock the database file before opening it. Drop support for version 2. (_bdb_open): Rewrite as a wrapper over do_bdb_open. * mu/dbm.c (dbm_doc): Document the "dump" subcommand. * NEWS: Version 2.99.96 * configure.ac: Likewise.
Sergey Poznyakoff authored -
* include/mailutils/url.h (MU_URL_PARSE_LOCAL): New flag. * libmailutils/tests/url-parse.c (parse_kwtab): New flag "local". * libmailutils/tests/url.at: Add new tests * libmailutils/url/create.c (_mu_url_ctx_parse_host): Skip parsing host part if MU_URL_PARSE_LOCAL is set. (_mu_url_create_internal): Initialize rc. If MU_URL_PARSE_SLASH is set and URL begins with "./" assume it is file. If either MU_URL_PARSE_SLASH or MU_URL_PARSE_PIPE are given and the URL is diagnosed as file or pipe, prever the scheme from hints.
Sergey Poznyakoff authored
-
- 21 Feb, 2012 1 commit
-
-
* include/mailutils/Makefile.am: Add types to pkginclude_HEADERS. * libmailutils/tests/url-comp.at: Add missing dnl.
Sergey Poznyakoff authored
-
- 20 Feb, 2012 1 commit
-
-
* mh/mhn.c (mhn_edit): Destroy output prior to unreferencing msg, because it may have been taken from it.
Sergey Poznyakoff authored
-
- 21 Jan, 2012 1 commit
- 13 Jan, 2012 1 commit
-
-
* testsuite/smtp-msg.at: Ignore output from kill. * testsuite/smtp-str.at: Likewise.
Sergey Poznyakoff authored
-
- 11 Jan, 2012 1 commit
-
-
* libmailutils/mailer/mailer.c (mu_mailer_send_fragments): Fix 3rd argument to _set_to. * libproto/mailer/smtp.c (smtp_send_message): SIZE capability can appear alone, without specifying maximum size. * mh/mh_whom.c (mh_alias_expand): Recreate domain part for addresses missing it.
Sergey Poznyakoff authored
-
- 07 Jan, 2012 1 commit
-
-
Extra quoting is necessary because the argument includes unbalanced parentheses. It was first implemented in commit 1b5098c9 on 2011-05-05, but was accidentally removed in commit 1e33c774 on 2011-10-16.
Sergey Poznyakoff authored
-
- 05 Jan, 2012 2 commits
-
- 31 Dec, 2011 1 commit
-
-
* NEWS: Update. * include/mailutils/registrar.h (mu_smtps_record): New extern. (mu_register_all_mailer_formats): Register mu_smtps_record. * include/mailutils/sys/registrar.h (MU_SMTPS_SCHEME) (MU_SMTPS_SCHEME_LEN,MU_SMTPS_PORT): New defines. * libmailutils/address/address.c (mu_address_get_count): Don't count parts with NULL emails. (mu_address_contains_email): Validate email before comparison. (mu_list_copy): New static. (mu_address_union): Reuse last subaddress if its email is NULL. * libmailutils/base/nullrec.c (mu_smtps_record): New placeholder. * libproto/mailer/smtp.c (mu_smtps_record): New global. (smtp_open): Implement SMTPS * mu/send.c: New file. * mu/Makefile.am (MODULES): Add send.c
Sergey Poznyakoff authored
-
- 30 Dec, 2011 3 commits
-
-
* examples/mta.c: Handle -bD option. Detach from the controlling terminal if -bd is given. Print pid and port number in this case. * testsuite/smtpsend.c: Fix handling of the trace= option. * testsuite/Makefile.am: Add new tests. * testsuite/smtp-msg.at: New test case. * testsuite/smtp-str.at: New test case. * testsuite/testsuite.at: Include new test cases.
Sergey Poznyakoff authored -
-
* libmailutils/msgset/Makefile.am (libmsgset_la_SOURCES): Add new files. * libmailutils/msgset/addset.c: New file. * libmailutils/msgset/count.c: New file. * libmailutils/msgset/foreachmsgno.c: New file. * libmailutils/msgset/foreachuid.c: New file. * libmailutils/msgset/isempty.c: New file. * libmailutils/msgset/subset.c: New file. * libmailutils/msgset/trans.c: New file. * libmailutils/msgset/add.c (mu_msgset_add_range): Take fourth argument specifying the conversion mode. Translate numbers as necessary. * libmailutils/msgset/foreachmsg.c: Translate numbers as necessary. * libmailutils/msgset/foreachnum.c: Rewrite. * libmailutils/msgset/negate.c (_invert_range) (mu_msgset_add_range): Update calls to mu_msgset_add_range. * libmailutils/msgset/parse.c (parse_msgnum_env)<mode>: New member. (parse_msgrange): Update calls to mu_msgset_add_range. (mu_msgset_parse_imap): Change signature. All callers updated. * libmailutils/msgset/sub.c (mu_msgset_sub_range): Take fourth argument specifying the conversion mode. Translate numbers as necessary. * imap4d/copy.c (imap4d_copy0): Update calls to mu_msgset_create and mu_msgset_parse_imap. * imap4d/fetch.c (fetch_thunk): Likewise. * imap4d/search.c (parse_simple_key): Likewise. * imap4d/store.c (store_thunk): Likewise. * include/mailutils/msgset.h (MU_MSGSET_NUM,MU_MSGSET_UID): New defines. (mu_msgset_add,mu_msgset_sub): New protos. (mu_msgset_add_range,mu_msgset_sub_range): Take 4 arguments. All callers changed. * include/mailutils/sys/msgset.h (_mu_msgset_translate_pair) (_mu_msgset_translate_range): New protos. * libmailutils/tests/msgset.c: Reflect the above changes. * testsuite/msgset.c: Likewise. * libproto/imap/mbox.c: Update calls to mu_msgset functions. * mh/mh.h (mh_msgset_t): Remove. (mh_iterator_fp): Remove typedef. (mh_msgset_parse): Change signature. (mh_msgset_member,mh_msgset_reverse,mh_msgset_negate) (mh_msgset_current,mh_msgset_free,mh_msgset_uids): Remove protos. (mh_msgset_parse_string): New proto. (mh_msgset_first_current,mh_msgset_first): New proto. (mh_iterate: Remove proto. Use mu_msgset_foreach* functions instead. (mh_seq_add,mh_seq_delete): Change signatures. * mh/mh_init.c (mh_iterate): Remove. * mh/mh_msgset.c: Rewrite using mu_msgset_t. * mh/mh_sequence.c: Likewise. * mh/anno.c: Use new msgset functions. * mh/burst.c: Likewise. * mh/comp.c: Likewise. * mh/folder.c: Likewise. * mh/forw.c: Likewise. * mh/mark.c: Likewise. * mh/mhn.c: Likewise. * mh/mhpath.c: Likewise. * mh/mhseq.c: Likewise. * mh/pick.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise. * mh/sortm.c: Likewise. * mh/whatnowenv.c: Likewise. * mh/tests/mark.at: Reflect changes in the format of the saved sequences, which may contain ranges now. * mu/imap.c: Update calls to mu_msgset functions.
Sergey Poznyakoff authored
-
- 28 Dec, 2011 1 commit
-
-
* imap4d/copy.c (copy_env) <src>: Remove. Not needed now. (size_sum,do_copy): Change to a mu_msgset_message_action_t. (try_copy,safe_copy): Change signature; use mu_msgset_foreach_message. * imap4d/fetch.c (_fetch_from_message): Change to a mu_msgset_message_action_t. (imap4d_fetch0): Use mu_msgset_foreach_message. * imap4d/imap4d.h (imap4d_message_action_t): Remove typedef. (util_foreach_message): Remove. Use mu_msgset_foreach_message. * imap4d/store.c (_do_store): Change to a mu_msgset_message_action_t. (imap4d_store0): Use mu_msgset_foreach_message. * imap4d/util.c (util_foreach_message): Remove. * include/mailutils/list.h (mu_list_foreach_dir): New proto. * include/mailutils/msgset.h (mu_msgset_msgno_action_t) (mu_msgset_message_action_t): New typedefs. (mu_msgset_negate,mu_msgset_foreach_dir_msgno) (mu_msgset_foreach_msgno,mu_msgset_foreach_dir_message) (mu_msgset_foreach_message): New protos. * libmailutils/list/foreachdir.c: New file. * libmailutils/list/Makefile.am (liblist_la_SOURCES): Add foreachdir.c. * libmailutils/list/head.c (mu_list_head): Fix conditional. * libmailutils/list/tail.c (mu_list_tail): Likewise. * libmailutils/msgset/foreachmsg.c: New file. * libmailutils/msgset/foreachnum.c: New file. * libmailutils/msgset/negate.c: New file. * libmailutils/msgset/Makefile.am (libmsgset_la_SOURCES): Add new files. * libmailutils/msgset/getitr.c (mu_msgset_get_iterator): Call mu_msgset_aggregate before doing anything. * libmailutils/msgset/getlist.c (mu_msgset_get_list): Likewise. * libmailutils/msgset/locate.c (mu_msgset_locate): Likewise. * libmailutils/msgset/parse.c (parse_msgrange): Remove duplicated code. * testsuite/msgset.c: Implement -neg option.
Sergey Poznyakoff authored
-
- 27 Dec, 2011 1 commit
-
-
- 26 Dec, 2011 4 commits
-
-
* imap4d/util.c (util_parse_msgset): Remove. Use mu_msgset_parse_imap. All uses changed. (util_foreach_message): Change first argument to mu_msgset_t. All uses changed. * imap4d/imap4d.h: Likewise. * imap4d/copy.c: Use mu_msgset_t * imap4d/fetch.c: Likewise. * imap4d/search.c: Likewise. * imap4d/store.c: Likewise.
Sergey Poznyakoff authored -
* include/mailutils/imap.h (mu_imap_fetch,mu_imap_store) (mu_imap_store_flags,mu_imap_copy): Take mu_msgset_t as the message set parameter. * include/mailutils/imapio.h (mu_imapio_send_msgset): New proto. (mu_imapio_send_command_v,mu_imapio_send_command) (mu_imapio_send_command_e): Take additional mu_msgset_t parameter. All uses changed. * include/mailutils/msgset.h (mu_msgset_parse_imap): Input string is const. * include/mailutils/sys/imap.h (imap_command) <msgset>: New member. * libmailutils/imapio/sendmsgset.c: New file. * libmailutils/imapio/Makefile.am (libimapio_la_SOURCES): Add sendmsgset.c. * libmailutils/imapio/sendcmd.c (mu_imapio_send_command): Take additional mu_msgset_t parameter. * libmailutils/imapio/sendcmde.c (mu_imapio_send_command_e): Likewise. * libmailutils/imapio/sendcmdv.c (mu_imapio_send_command_v): Likewise. * libmailutils/msgset/parse.c (mu_msgset_parse_imap): Input string is const. * libproto/imap/copy.c (mu_imap_copy): Take mu_msgset_t as the message set parameter. * libproto/imap/fetch.c (mu_imap_fetch): Likewise. * libproto/imap/store.c (mu_imap_store): Likewise. * libproto/imap/storeflg.c (mu_imap_store_flags): Likewise. * libproto/imap/gencom.c (mu_imap_gencom): Send cmd->msgset.
Sergey Poznyakoff authored -
* configure.ac: Build libmailutils/msgset/Makefile * include/mailutils/msgset.h: New file. * include/mailutils/Makefile.am (pkginclude_HEADERS): Add msgset.h * include/mailutils/mailutils.h: Include mailutils/msgset.h * include/mailutils/sys/msgset.h: New file. * include/mailutils/sys/Makefile.am (sysinclude_HEADERS): Add msgset.h * include/mailutils/types.hin (mu_msgset_t): New type. * libmailutils/Makefile.am (SUBDIRS): Add msgset. (libmailutils_la_LIBADD): Add libmsgset.la * libmailutils/msgset/Makefile.am: New file. * libmailutils/msgset/add.c: New file. * libmailutils/msgset/aggr.c: New file. * libmailutils/msgset/clear.c: New file. * libmailutils/msgset/create.c: New file. * libmailutils/msgset/free.c: New file. * libmailutils/msgset/getitr.c: New file. * libmailutils/msgset/getlist.c: New file. * libmailutils/msgset/locate.c: New file. * libmailutils/msgset/parse.c: New file. * libmailutils/msgset/print.c: New file. * libmailutils/msgset/sub.c: New file. * libmailutils/tests/msgset.at: New file. * libmailutils/tests/msgset.c: New file. * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Add msgset. (TESTSUITE_AT): Add msgset.at. * libmailutils/tests/testsuite.at: Include msgset.at. * testsuite/msgset.c: New file. * testsuite/Makefile.am (noinst_PROGRAMS): Add msgset.
Sergey Poznyakoff authored
-
- 25 Dec, 2011 1 commit
-
-
* libproto/imap/mbox.c: Add some debugging messages. (_imap_mbx_gensync): New function shared among _imap_mbx_sync and _imap_mbx_expunge. It aggregates message numbers with same flags to separate message sets, thereby reducing the number of STORE commands sent to the server.
Sergey Poznyakoff authored
-
- 23 Dec, 2011 4 commits
-
-
* include/mailutils/imap.h (MU_IMAP_RESPONSE_UNKNOWN) (MU_IMAP_RESPONSE_TAGGED): New defines. * libproto/imap/mbox.c (_imap_mbx_open): Fix callback ID. * libproto/imap/response.c (_mu_imap_response): Call MU_IMAP_CB_BAD callback on tagged BAD responses as well. * libproto/imap/storeflg.c (mu_imap_store_flags): Insert space after item name.
Sergey Poznyakoff authored -
-
Some features are missing (notably, quick access), but overall the implementation offers all necessary features and performs a lot better than 2.x. Additionally, this commit fixes a minor bug in the imap4d implementation: the STORE command did not accept empty flag list. * NEWS: Update. * imap4d/store.c (store_thunk): Accept empty list as "items" argument. * include/mailutils/imap.h (mu_imap_store_flags): New proto. * include/mailutils/imaputil.h (mu_imap_format_flags): Add new argument. * include/mailutils/sys/imap.h (_MU_IMAP_MSG_ATTRCHG): New flag. * libmailutils/imapio/flags.c: Accept three arguments, last one being a boolean flag specifying whether we want \Recent in the output. * libproto/imap/storeflg.c: New flag. * libproto/imap/Makefile.am (libmu_imap_la_SOURCES): Add storeflg.c. * libproto/imap/mbox.c: Finish the basic implementation. * imap4d/sync.c: Update calls to mu_imap_format_flags. * imap4d/util.c: Likewise. * mu/imap.c: Likewise. * libmailutils/imapio/sendflg.c (mu_imapio_send_flags): Likewise.
Sergey Poznyakoff authored -
* include/mailutils/sys/imap.h (_mu_imap_mailbox_init): New proto. (_mu_imap_message,_mu_imap_mailbox): New structures. * libproto/imap/mbox.c: New file. * libproto/imap/Makefile.am (libmu_imap_la_SOURCES): Put back mbox.c * libproto/imap/fetch.c: Fix body/bodystructure parsing. * libproto/imap/folder.c (_mu_imap_folder_destroy): Close folder. (_mu_imap_folder_open): Implement STARTTLS. (_imap_record): Accept parameters in URL, use _mu_imap_mailbox_init to initialize mailbox.
Sergey Poznyakoff authored
-
- 22 Dec, 2011 3 commits
-
-
* libproto/imap/fetch.c (_fetch_fold): Fix parsing of BODY[]. (_mu_imap_parse_fetch_response): Fix return value.
Sergey Poznyakoff authored -
* mu/imap.c (com_copy): New function. (print_list_item): Treat 0 separator as '/' to avoid preliminary truncating the output.
Sergey Poznyakoff authored -
* libmailutils/string/wordsplit.c (alloc_space): Fix reallocation calculations. * imap4d/fetch.c (bodystructure): Output number of lines for any TEXT part, not only TEXT/PLAIN. * include/mailutils/header.h (MU_HEADER_CONTENT_LOCATION): New define. * include/mailutils/imap.h (mu_imap_fetch_bodystructure): Implement. (mu_imap_fetch_envelope): Replace data fields with a single pointer to struct mu_imapenvelope. * include/mailutils/message.h: Include datetime.h (mu_imapenvelope, mu_bodystructure): New structs. (mu_message_type): New type. (mu_message_get_imapenvelope,mu_message_imapenvelope_free) (mu_message_set_imapenvelope) (mu_bodystructure_free,mu_list_free_bodystructure) (mu_message_get_bodystructure) (mu_message_set_bodystructure): New protos. * include/mailutils/mime.h (mu_mime_param_assoc_create) (mu_mime_param_assoc_add): New protos. * include/mailutils/sys/message.h (_mu_message)<_imapenvelope> <_bodystructure>: New methods. * libmailutils/mailbox/bodystruct.c: New file. * libmailutils/mailbox/imapenv.c: New file. * libmailutils/mailbox/Makefile.am (libmailbox_la_SOURCES): Add new sources. * libproto/imap/fetch.c: Implement bodystructure. * mu/imap.c: Likewise. * testsuite/bs.c: New file. * testsuite/Makefile.am (noinst_PROGRAMS): Add bs.
Sergey Poznyakoff authored
-
- 21 Dec, 2011 2 commits
-
-
Old API relied on passing a pointer to the buffer string and its size, which is defective. The new API, in addtion to that, provides functions for obtaining a pointer to the statically allocated original value, a pointer to dynamically allocated copy, and a function for formatting the address directly to a MU stream. Two functions are marked as deprecated: mu_address_to_string and mu_address_format_string. Both assume a pointer to an allocated string of a fixed size, which is far from being convenient nor reliable enough. * include/mailutils/address.h (MU_ADDR_HINT_ADDR): Rename to MU_ADDR_HINT_PRINTABLE (mu_address)<addr>: Rename to printable. (mu_address_sget_printable,mu_address_aget_printable) (mu_address_get_printable): New protos. (mu_stream_format_address): New proto. (mu_address_to_string) (mu_address_format_string): Mark as deprecated. (mu_validate_email): New proto. * examples/mta.c: Use mu_address_sget_printable instead of (mu_address_to_string) * libmailutils/address/addrstream.c: New file. * libmailutils/address/Makefile.am (libaddress_la_SOURCES): Add addrstream.c * libmailutils/address/address.c (mu_address_format_string): Rewrite using streams. (mu_address_to_string): Rewrite as a wrapper over mu_address_get_printable. (mu_address_sget_printable,mu_address_aget_printable) (mu_address_get_printable): New functions. * libmailutils/mime/mimehdr.c (_mime_header_parse): Initialize rc. * mail/util.c (util_merge_addresses): Use mu_address_aget_printable. * mh/mh.h (mh_annotate): Both string args are const. * mh/mh_init.c (mh_annotate): Likewise. * mh/mh_format.c (builtin_formataddr): Use mu_address_sget_printable. * mh/mh_whatnow.c (anno_data)<field,value>: Both are consts. (annotate): Use mu_address_sget_printable. * mh/send.c (set_address_header): Use mu_address_sget_printable. * mu/imap.c (format_email): Use mu_stream_format_address. * python/libmu_py/address.c (api_address_to_string): Likewise.
Sergey Poznyakoff authored -
This case requires full recursion. * imap4d/fetch.c (bodystructure): Call fetch_bodystructure0.
Sergey Poznyakoff authored
-
- 20 Dec, 2011 1 commit
-
-