- 01 Nov, 2011 4 commits
-
-
* mu/dbm.c: Remove unused variables. * mu/wicket.c (wicket_args_doc): Fix argument name.
Sergey Poznyakoff authored -
* mu/dbm.c: Use subcommand (not options) to select operation mode. New subcommand: dump. * mu/help.c (mutool_help): Make sure argv[0] contains program and command name. * mu/mu.c (main): Likewise.
Sergey Poznyakoff authored -
* include/mailutils/dbm.h (mu_dbm_get_name): New prototype. * libmu_dbm/name.c: New file. * libmu_dbm/Makefile.am (libmu_dbm_la_SOURCES): Add name.c * mu/dbm.c: New dump format.
Sergey Poznyakoff authored
-
- 31 Oct, 2011 2 commits
-
-
* include/mailutils/cctype.h (mu_isblank): Use mu_c_is_class. * libmailutils/string/muctype.c (mu_c_tab): Mark ' ' and '\t' as MU_CTYPE_BLANK.
Sergey Poznyakoff authored -
Fixes following bugs: 1. In whitespace-must-follow mode a comment sequence immediately followed by a newline caused the next line to be treated as a comment. Thus the following input: ; text produced empty output (see test icmt-dec-08). 2. Line number information was not emitted before lines starting with a comment sequence substring, e.g.: ; comment ;valid line See test icmt-dec-09. * libmailutils/filter/inline-comment.c (ilcmt_state) Withdraw ilcmt_rollback_com state, use ilcmt_rollback instead. Withdraw ilcmt_newline_ac state, use ILCMT_EMIT_LINE_INFO flag instead. (ILCMT_EMIT_LINE_INFO): New flag. (ilcmt_data) <replay>: Remove. <rollback_buffer, rollback_size> <rollback_index>: New members. (init_rollback): New function. (_ilcmt_decoder): Use ilcmt_rollback state. <ilcmt_comment_ws>: Do not skip newline following the comment. Emit line info before rolling back, if required. (_ilcmt_encoder): Use ilcmt_rollback state. * libmailutils/tests/inline-comment.at: Rename tests. Add tests for newline after a comment (icmt-dec-08) and line info with whitespace-follow mode (icmt-dec-09).
Sergey Poznyakoff authored
-
- 29 Oct, 2011 2 commits
-
-
-
* libmailutils/diag/errors (MU_ERR_TCP_NO_HOST) (MU_ERR_TCP_NO_PORT): Change wording. (MU_ERR_UNSAFE_PERMS): Remove error code. (MU_ERR_NO_HANDLER): Remove. All uses replaced by ENOSYS. (MU_ERR_OUT_NULL): Remove. MU_ERR_OUT_PTR_NULL is used instead. (MU_ERR_MBX_NULL): Remove. Use EINVAL instead. (MU_ERR_BAD_822_FORMAT): Rename to MU_ERR_INVALID_EMAIL. Change wording. (MU_ERR_REPLY): Change wording. * libmailutils/url/create.c: Remove misguiding comments * libmailutils/url/set-service.c: Likewise. * libmailutils/mailbox/mailbox.c (mu_mailbox_open): Return EACCES if trying to update quick-access mailboxes. (mu_mailbox_get_stream): Mark for deletion. * libmailutils/stream/fltstream.c (filter_read) (filter_write_internal): Return MU_ERR_BUFSPACE if requested more space than available in I/O buffers. * libproto/mbox/mbox.c (mbox_expunge_unlocked): Send MU_EVT_MAILBOX_CORRUPT event if the mailbox shrunk. * libproto/mbox/mboxscan.c (mbox_scan_internal): Return MU_ERR_NOENT if unable to locate message in quick-access mode.
Sergey Poznyakoff authored
-
- 28 Oct, 2011 2 commits
-
-
* include/mailutils/dbm.h (mu_dbm_init) (mu_dbm_get_hint): New prototypes. * include/mailutils/util.h (mu_stpcpy) (mu_file_safety_compose): New prototypes. * libmailutils/string/Makefile.am (libstring_la_SOURCES): Add stpcpy.c * libmailutils/string/stpcpy.c: New file. * libmu_cfg/tls.c (cb2_safety_checks): Use mu_file_safety_compose. * libmu_dbm/create.c (mu_dbm_create): Use mu_dbm_init. * libmu_dbm/dbm.c (_mu_dbm_init): Rename mu_dbm_init. All uses changed. Use URL composing interface to create hints. * maidag/maidag.c (mu_dbm_get_hint): New function. * pop3d/pop3d.c (cb2_forward_file_checks): Use mu_file_safety_compose. (apop_database_name, apop_database_safety) (apop_database_safety_set): New variables. (pop3d_cfg_param) <apop-database-file> <apop-database-safety>: New configuration statements. (main) [ENABLE_DBM]: Initialize dbm safety criteria. * pop3d/apop.c (pop3d_apopuser): Use configured database name and safety flags, if set. * pop3d/pop3d.h [ENABLE_DBM] (APOP_PASSFILE): Add ".db" suffix. (apop_database_name, apop_database_safety) (apop_database_safety_set): New variables.
Sergey Poznyakoff authored -
* include/mailutils/url.h (mu_url_sget_name) (mu_url_aget_name,mu_url_get_name) (mu_url_invalidate,mu_url_create_null) (mu_url_set_user,mu_url_set_path,mu_url_set_scheme) (mu_url_set_host,mu_url_set_port,mu_url_set_service) (mu_url_set_auth,mu_url_set_secret,mu_url_add_param) (mu_url_clear_param,mu_url_add_query,mu_url_clear_query): New prototypes. * libmailutils/tests/url-comp.at: New test case. * libmailutils/tests/url-comp.c: New test program. * libmailutils/tests/.gitignore: Update. * libmailutils/tests/Makefile.am: Add new files. * libmailutils/tests/testsuite.at: Add new tests. * libmailutils/url/Makefile.am: Add new files. * libmailutils/url/add-param.c: New file. * libmailutils/url/add-query.c: New file. * libmailutils/url/clr-param.c: New file. * libmailutils/url/clr-query.c: New file. * libmailutils/url/null.c: New file. * libmailutils/url/set-auth.c: New file. * libmailutils/url/set-host.c: New file. * libmailutils/url/set-path.c: New file. * libmailutils/url/set-port.c: New file. * libmailutils/url/set-scheme.c: New file. * libmailutils/url/set-secret.c: New file. * libmailutils/url/set-service.c: New file. * libmailutils/url/set-user.c: New file. * libmailutils/url/urlinv.c: New file. * libmailutils/url/create.c (mu_url_create_hint): Return EINVAL if purl is NULL. * libmailutils/url/scheme.c (mu_url_set_scheme): Remove. See set-scheme.c * libmailutils/url/urlstr.c (mu_url_sget_name) (mu_url_aget_name,mu_url_get_name): New functions. (mu_url_to_string): Rewrite using the above. * libmailutils/base/Makefile.am: Add fscompose.c * libmailutils/base/fscompose.c: New file.
Sergey Poznyakoff authored
-
- 27 Oct, 2011 1 commit
-
-
* libmailutils/tests/fsaf.at: New testcase. * libmailutils/tests/fsaf.c: New file. * libmailutils/tests/.gitignore: Add fsaf * libmailutils/tests/Makefile.am: Likewise. * libmailutils/tests/testsuite.at: Include fsaf.at.
Sergey Poznyakoff authored
-
- 25 Oct, 2011 2 commits
-
-
-
* lib/mu_dbm.c: Remove. * lib/mu_dbm.h: Remove. * lib/Makefile.am: Remove mu_dbm.[ch]. * include/mailutils/sys/dbm.h: New file. * include/mailutils/sys/Makefile.am: Add dbm.h * include/mailutils/dbm.h: New file. * include/mailutils/Makefile.am (pkginclude_HEADERS): Add dbm.h. * include/mailutils/types.hin (mu_dbm_file_t): New data type. * libmu_dbm/Makefile.am: New file. * libmu_dbm/berkeley.c: New file. * libmu_dbm/close.c: New file. * libmu_dbm/create.c: New file. * libmu_dbm/datumfree.c: New file. * libmu_dbm/dbm.c: New file. * libmu_dbm/delete.c: New file. * libmu_dbm/destroy.c: New file. * libmu_dbm/errstr.c: New file. * libmu_dbm/fetch.c: New file. * libmu_dbm/firstkey.c: New file. * libmu_dbm/gdbm.c: New file. * libmu_dbm/mudbm.h: New file. * libmu_dbm/ndbm.c: New file. * libmu_dbm/nextkey.c: New file. * libmu_dbm/open.c: New file. * libmu_dbm/safety.c: New file. * libmu_dbm/store.c: New file. * Makefile.am [MU_COND_DBM]: Define LIBMU_DBM_DIR (SUBDIRS): Add $(LIBMU_DBM_DIR) * configure.ac: Revamp DBM support: several database types can be specified at once. (AC_CONFIG_FILES): Build libmu_dbm/Makefile * libmu_sieve/extensions/vacation.c: Remove inclusion of mu_dbm.h. * maidag/Makefile.am (maidag_LDADD): Add DBM libraries. * maidag/maidag.c: ENABLE_DBM instead of USE_DBM * maidag/maidag.h: Include <mailutils/dbm.h> instead of mu_dbm.h. * maidag/mailquota.c (dbm_retrieve_quota): Rewrite using libmu_dbm library calls. * mu/Makefile.am [MU_COND_DBM]: Define DBM_C. (MODULES): Add $(DBM_C). (AM_CPPFLAGS): Define DBMLIBS. * mu/ldflags.c (NEEDAUTH): Change definition. (lib_descr) <weight>: New member. All uses changed. (add_entry): Null arguments ignored. (mutool_ldflags): Rewrite traversal of lib_descr. * mu/dbm.c: New file. * pop3d/Makefile.am (pop3d_LDADD, popauth_LDADD): Add DBM libraries. * pop3d/apop.c: Rewrite using libmu_dbm library calls. * pop3d/bulletin.c: Likewise. * pop3d/logindelay.c: Likewise. * pop3d/pop3d.c: Change USE_DBM to ENABLE_DBM. * pop3d/pop3d.h: Include mailutils/dbm.h instead of mu_dbm.h * pop3d/popauth.c: Rewrite using libmu_dbm library calls. * include/mailutils/cctype.h (MU_CTYPE_ENDLN): New character class. (mu_isendln): New macro. * libmailutils/string/muctype.c (mu_c_tab): Mark \r and \n as MU_CTYPE_ENDLN.
Sergey Poznyakoff authored
-
- 24 Oct, 2011 2 commits
-
-
* include/mailutils/util.h (mu_file_safety_check): Change type of the 3rd argument to uid_t. * libmailutils/base/filesafety.c: Likewise. All uses updated.
Sergey Poznyakoff authored
-
- 23 Oct, 2011 2 commits
-
-
* imap4d/io.c (imap4d_tokbuf_decrlf): New function. (imap4d_tokbuf_expand): Call imap4d_tokbuf_decrlf for literals.
Sergey Poznyakoff authored -
* mh/tests/atlocal.in (mimeflt): ignore stderr, instead of reading input from /dev/null, because this function can theoretically be used as a filter.
Sergey Poznyakoff authored
-
- 22 Oct, 2011 2 commits
-
-
* comsat/comsat.c (main): Use real UID to determine user name. Don't rely on environment variables. * maidag/util.c (maidag_error): Re-initialize va_list before reusing it. * mh/ali.c (ali_print_name_list): Change printing loop to correctly handle empty lists. * mh/mh_whatnow.c (quit): Print newline before returning. * comsat/tests/testsuite.at: Skip tests if run as root. * maidag/tests/forward.at: Skip test if run as root. * mh/tests/ali.at: Ignore comment lines in /etc/passwd and /etc/group. Make sure awk is run with a valid stdin. Some implementations (true awk, in particular) try to close stdin even if it is not used and bail out if unable to do so. * mh/tests/atlocal.in (mimeflt): Make sure awk is run with a valid stdin (see above). * mh/tests/anno.at: Always use semicolon before closing curly brace in sed expressions. * mh/tests/mark.at: Likewise. * mh/tests/pick.at: Likewise. * testsuite/testsuite.inc: Likewise. * mh/tests/comp.at: Reflect changes to mh_whatnow.c. * mh/tests/mhn.at: Don't rely on a particular tar output format.
Sergey Poznyakoff authored -
* include/mailutils/attribute.h (MU_STATUS_BUF_SIZE): Add more status letters. * libmailutils/mailbox/attribute.c (flagtrans): Keep the same ordering as in attribute.h. Add missing attributes. * imap4d/select.c (imap4d_select_status): All flags are now permanent. * imap4d/testsuite/imap4d/IDEF0955.exp: Reflect changes in PERMANENTFLAGS. * imap4d/testsuite/imap4d/IDEF0956.exp: Likewise. * imap4d/testsuite/imap4d/append.exp: Likewise. * imap4d/testsuite/imap4d/create.exp: Likewise. * imap4d/testsuite/imap4d/examine.exp: Likewise. * imap4d/testsuite/imap4d/expunge.exp: Likewise. * imap4d/testsuite/imap4d/fetch.exp: Likewise. * imap4d/testsuite/imap4d/search.exp: Likewise.
Sergey Poznyakoff authored
-
- 21 Oct, 2011 3 commits
-
-
* lib/manlock.c (mailbox_open_and_lock): Open mailbox before retrieving its locker, otherwise it is always NULL. * pop3d/pop3d.c (main): Enforce mandatory locking.
Sergey Poznyakoff authored -
-
- 20 Oct, 2011 2 commits
-
-
* include/mailutils/message.h (MU_MSG_ATTRIBUTE_MODIFIED) (MU_MSG_HEADER_MODIFIED,MU_MSG_BODY_MODIFIED): New flags. * libmailutils/mailbox/message.c (mu_message_is_modified): Return a bitmask from the above values. * libmailutils/property/create.c (mu_property_create_init): Return error code. * include/mailutils/sys/amd.h (_amd_data) <chattr_msg> <capabilities, prop>: New members. <uidvalidity>: Remove. * libmailutils/base/amd.c: Use MH-style proplist to keep the mailbox properties: uidvalidity, last uid and to cache its size. Store message attributes in the message header only if the mailbox implementation is unable to keep them elsewhere. Use chattr_msg method (if provided) to flush changes in message attributes. * libproto/maildir/folder.c (_maildir_list_p): Ignore .mh* and .mu* files. * libproto/mh/folder.c (_mh_list_p): Likewise. * libproto/maildir/mbox.c: Implement all Maildir flags (except P). Implement the chattr_msg method. * libproto/mh/mbox.c: Remove special handling for uidvalidity. * mh/tests/folder.at: Ignore .mu-prop in directory listings.
Sergey Poznyakoff authored -
* libmu_cfg/tls.c (cb2_safety_checks): Fix handling of "all" and "none". * maidag/maidag.c (cb2_forward_file_checks): Likewise. * maidag/forward.c (maidag_forward): Handle MU_ERR_EXISTS return properly.
Sergey Poznyakoff authored
-
- 18 Oct, 2011 1 commit
-
-
- 17 Oct, 2011 1 commit
-
-
Use it in maidag (.forward file safety) and in libmu_auth (TLS files). * include/mailutils/tls.h (mu_tls_module_config): New members for safety check flags. * include/mailutils/util.h (MU_FILE_SAFETY_NONE,MU_FILE_SAFETY_ALL) (MU_FILE_SAFETY_OWNER_MISMATCH) (MU_FILE_SAFETY_GROUP_WRITABLE,MU_FILE_SAFETY_WORLD_WRITABLE) (MU_FILE_SAFETY_GROUP_READABLE,MU_FILE_SAFETY_WORLD_READABLE) (MU_FILE_SAFETY_LINKED_WRDIR) (MU_FILE_SAFETY_DIR_IWGRP,MU_FILE_SAFETY_DIR_IWOTH): New constants. (mu_file_safety_check,mu_file_safety_name_to_code) (mu_file_safety_name_to_error): New protos. * libmailutils/base/checkperms.c: New file. * libmailutils/base/Makefile.am (libbase_la_SOURCES): Add checkperms.c. * libmailutils/diag/errors: Add new error codes. (MU_ERR_UNSAFE_PERMS): change description wording. * libmu_auth/tls.c (mu_check_tls_environment): Use mu_file_safety_check. * libmu_cfg/tls.c (tls_settings): Initialize. (mu_tls_param): New configuration file statements: key-file-safety-checks, cert-file-safety-checks, ca-file-safety-checks. * maidag/forward.c (maidag_forward): Use mu_file_safety_check. * maidag/maidag.c (cb2_forward_file_checks): Use mu_file_safety_name_to_code.
Sergey Poznyakoff authored
-
- 16 Oct, 2011 2 commits
-
-
* scheme/sieve2scm.scmi: Tailor help output to meet help2man expectations. * libmu_scm/mailutils/Makefile.am (EXTRA_DIST): Remove generated file mailutils.scm.
Sergey Poznyakoff authored -
* mh/mhn.c: Open mailbox in read-only mode. * mh/mhseq.c: Likewise. * mh/scan.c: Likewise. * mh/pick.c: If sequences are given, open mailbox for RW, otherwise open it for reading only. * testsuite/testsuite.inc (MUT_MBCHMOD): New macro. (MUT_MBCOPY): Take optional third argument - mailbox mode. * mh/tests/mhl.at: Make sure mailboxes are r/o. * mh/tests/mhn.at: Likewise. * mh/tests/mhseq.at: Likewise. * mh/tests/scan.at: Likewise.
Sergey Poznyakoff authored
-
- 15 Oct, 2011 2 commits
-
-
* libmailutils/base/amd.c (amd_open): Return error if the mailbox cannot be opened for the required access permissions. (amd_message_stream_open): Fix condition for determining r/w access. * mh/mh_list.c (eval_extras): Break the loop if mu_header_aget_field_name fails.
Sergey Poznyakoff authored -
INTERNALDATE now includes a meaningful timezone information (it used to return +0000). Date searches disregard the time and timezone of the INTERNALDATE or Date: header, as mandated by RFC 3501. * libmailutils/base/date.c (mu_parse_ctime_date_time): In the absence of TZ in ctime strings, return local time zone. * imap4d/io.c (imap4d_tokbuf_getline): Kill trailing whitespace. * imap4d/util.c (adjust_tm): New function. (util_parse_internal_date) (util_parse_822_date) (util_parse_ctime_date): Take three arguments, the third one controlling what information to return. All uses updated. * imap4d/fetch.c (_frt_internaldate): Return meaningful timezone. If all else fails, use local TZ. * imap4d/imap4d.h (datetime_parse_mode): New enum. (util_parse_internal_date) (util_parse_822_date) (util_parse_ctime_date): Change signature. * imap4d/search.c (parse_simple_key) (_header_date,cond_before,cond_on,cond_since): Use datetime_date_only mode. * testsuite/spool/search.mbox: New file. * testsuite/spool/DISTFILES: Add search.mbox * imap4d/testsuite/lib/imap4d.exp (imap4d_start): New option -mbox. * imap4d/testsuite/imap4d/search.exp: Rewrite. * imap4d/testsuite/imap4d/create.exp: Account for TZ part in internaldate strings, which may vary. * imap4d/testsuite/imap4d/fetch.exp: Likewise. * imap4d/testsuite/imap4d/list.exp: List the new mailbox.
Sergey Poznyakoff authored
-
- 22 Sep, 2011 1 commit
-
-
* libmailutils/filter/crlfflt.c (_crlf_encoder): Reset state to initial if any character other than \r and \n is read.
Sergey Poznyakoff authored
-
- 09 Sep, 2011 3 commits
-
-
* doc/texinfo/mailutils.texi: Update. * doc/texinfo/rendition.texi: Rewrite.
Sergey Poznyakoff authored -
* doc/texinfo/programs.texi: Use @group inside @cartouche, not vice-versa.
Sergey Poznyakoff authored -
* doc/texinfo/Config: New file. * doc/texinfo/Makefile.am (manual): Use texi2html. * doc/texinfo/gendocs_template: Rewrite. * doc/texinfo/maint.mk: Use VPATH to find source files. Add the `clean' rule.
Sergey Poznyakoff authored
-
- 29 Aug, 2011 3 commits
-
-
* libmailutils/mailbox/header.c (header_read): Always return trailing \n.
Sergey Poznyakoff authored -
* libmailutils/stream/message_stream.c (_message_open): Return MU_ERR_BAD_822_FORMAT if the input is not a valid RFC822.
Sergey Poznyakoff authored
- 28 Aug, 2011 1 commit
- 27 Aug, 2011 1 commit
-
-
- 26 Aug, 2011 1 commit
-
-
* include/mailutils/message.h (mu_message_ref): Change proto. (mu_message_unref): New proto (instead of macro). * include/mailutils/mime.h (mu_mime_ref) (mu_mime_unref, mu_mime_to_message): New protos. * include/mailutils/sys/message.h (MESSAGE_MODIFIED) (MESSAGE_INTERNAL_STREAM): New constants (from mime.c) (MESSAGE_MIME_OWNER): New constant. (_mu_message) <ref_count>: Rename from ref. * include/mailutils/sys/mime.h (MIME_SEEK_ACTIVE): New constant. (_mu_mime) <ref_count>: New member. * libmailutils/mailbox/message.c (MESSAGE_MODIFIED) (MESSAGE_INTERNAL_STREAM): Removed (see above). * libmailutils/mailer/mailer.c (mu_message_unref): New function. (mu_message_destroy): Rewrite. (mu_message_ref): Returns void. (mu_message_lines): Don't access header and body directly to give virtual functions a chance to initialize them. (mu_message_quick_lines): likewise. * libmailutils/mailer/mailer.c (send_fragments): Use mu_mime_to_message instead of mu_message_unref. * libmailutils/mime/mime.c (_mime_append_part): Set offset only if mime->stream is not null. (_mime_body_stream_seek): Implement (albeit inefficiently). (mu_mime_create): Set ref_count. (mu_mime_ref, mu_mime_unref): New functions. (mu_mime_destroy): Reimplement as a wrapper over _mu_mime_free. (mu_mime_get_message): Increase refcount of the message being returned. (mu_mime_to_message): New function. * libmailutils/stream/message_stream.c (_message_open): Handle arbitrary text as RFC822 without headers. * libmu_sieve/actions.c: Unref the message returned by mu_mime_get_message. * libmu_sieve/extensions/vacation.c: Likewise. * mh/mhn.c: Likewise. * libmailutils/stream/stream.c (mu_stream_seek) <MU_SEEK_CUR>: Bugfix.
Sergey Poznyakoff authored
-