- 11 Mar, 2017 2 commits
-
-
- 06 Mar, 2017 1 commit
-
-
* libmailutils/mime/mimehdr.c (mu_mime_param_free): Check if argument is NULL.
Sergey Poznyakoff authored
-
- 18 Feb, 2017 1 commit
-
-
* libmailutils/base/rfc2047.c (mu_rfc2047_encode): Limit length of encoded word to 75 bytes. * libmailutils/filter/qpflt.c: Treat '?' as special character in Q encoder. * libmailutils/tests/encode2047.at: Add more tests. * libmailutils/tests/encode2047.c: Use mailutils string I/O
Sergey Poznyakoff authored
-
- 17 Feb, 2017 2 commits
-
-
* libmailutils/stream/stream.c (mu_stream_destroy): Free buffer space. (mu_stream_set_buffer,mu_stream_getdelim): Use stdlib allocation functions instead of mu wrappers.
Sergey Poznyakoff authored -
The approach used so far failed to recognize ambiguous abbreviations located in different groups. It also didn't work when MU_PARSEOPT_NO_SORT was requested. This commit fixes it by keeping an additional array of indices to long options. The array is sorted so that its elements produce a lexicographically ascending list of long options. * include/mailutils/opt.h (mu_parseopt): New members po_longcnt, po_longidx keep a sorted array of indices to po_optv with long options. * libmailutils/opt/opt.c (find_long_option): Iterate over po_longidx. (parseopt_init): Initialize and sort po_longidx. (mu_parseopt_free): Free po_longidx. * libmailutils/tests/parseopt.c: Add three more potentially ambiguous options * libmailutils/tests/parseopt26.at: New testcase. * libmailutils/tests/parseopt27.at: New testcase. * libmailutils/tests/Makefile.am: Add new testcases. * libmailutils/tests/testsuite.at: Likewise.
Sergey Poznyakoff authored
-
- 05 Feb, 2017 1 commit
- 30 Jan, 2017 3 commits
-
-
The new node type mu_sieve_node_end is introduced to explicitly mark end of the parse tree. When generating code, this node triggers insertion of _mu_i_sv_instr_source/_mu_i_sv_instr_line before the end of code marker. This, in turn, ensures that a correct location is reported for implicit keep, if logging is enabled. * libmu_sieve/sieve-priv.h (mu_sieve_node_end): New node type. (mu_sieve_node_list): New type (from struct node_list in sieve.y) * libmu_sieve/sieve.y (node_list_add): New function. (input production): Add mu_sieve_node_end at the end of the tree.
Sergey Poznyakoff authored -
* maidag/maidag.c (sieve_debug_flags) (sieve_enable_log): Remove. * maidag/script.c (apply_script): Check for mu_script_sieve_log.
Sergey Poznyakoff authored
-
- 26 Jan, 2017 4 commits
-
-
* imap4d/imap4d.h (io_send_astring): New proto. * imap4d/io.c (io_send_astring): New function. * imap4d/list.c (list_fun): Use io_send_astring. (list_ref): Special handling for empty wcard (imap4d_list): Remove special handling for empty wcard and INBOX. Leave that to list_ref. This makes it possible to declare namespaces like "INBOX." ("." being the delimiter). * imap4d/lsub.c (imap4d_lsub): Use io_send_astring. * imap4d/namespace.c (namespace_translate_name): Check for declared namespace first.
Sergey Poznyakoff authored -
-
-
* imap4d/list.c (list_ref): Use mu_imap_wildmatch_ci to check for a request matching INBOX. * include/mailutils/imaputil.h (mu_imap_wildmatch_ci): New prototype. * libmailutils/imapio/wildmatch.c (mu_imap_wildmatch_ci): New function.
Sergey Poznyakoff authored
-
- 24 Jan, 2017 4 commits
-
-
* imap4d/list.c (list_fun): Ignore names that contain delimiter as part of their name (untranslatable names); Don't insert spurious separators. (list_ref): Make sure a pathnames are properly separated from namespace prefixes. (imap4d_list): Fix eventual use of uninitialized pfx. * imap4d/namespace.c (prefix_translate_name): Allow for NS_OTHER prefixes ending with a delimiter. (extract_username): Return NULL if prefix without trailing delimiter was used. * imap4d/tests/atlocal.in (make_config): Add more namespace prefixes. * imap4d/tests/list.at: Add more tests. * libmailutils/string/expvar.c (exp_getvar): Return MU_WRDSE_UNDEF if the variable is defined, but has NULL value.
Sergey Poznyakoff authored -
* imap4d/namespace.c (namespace_get_name): Return NULL if name is the same as the returned prefix
Sergey Poznyakoff authored -
* imap4d/namespace.c (prefix_translate_name): Remove the url parameter. All uses changed. (namespace_translate_name): Likewise. (i_translate_name): Rename to translate_name. Remove the url and ns parameters. All uses changed. * imap4d/imap4d.h (namespace_translate_name): Change signature.
Sergey Poznyakoff authored -
This avoids problems with escaping pathnames that contain characters specific for URLs * imap4d/select.c (imap4d_select0): Don't use mailbox URL. * lib/manlock.c (manlock_open_mailbox_from_record): New function. * lib/muaux.h (manlock_open_mailbox_from_record): New proto.
Sergey Poznyakoff authored
-
- 23 Jan, 2017 2 commits
-
-
-
* imap4d/list.c (refinfo) <refptr>: const pointer. (list_fun): Don't insert spurious delimiter between the prefix and the value. (list_ref): New static function. Actually list a normalized ref/wcard pair. (imap4d_list): Correctly handle wildcard part starting with namespace prefixes * imap4d/namespace.c (prefix_translate_name): If a prefix ends with a delimiter, allow its use without trailing delimiter in ref. E.g. LIST "~" "%" for prefix "~/" is quite OK. * imap4d/tests/atlocal.in: Fix prefix declaration.
Sergey Poznyakoff authored
-
- 22 Jan, 2017 4 commits
-
-
* imap4d/io.c (io_send_qstring): Fix condition * imap4d/list.c (list_fun): Use io_send_qstring to print names. * imap4d/lsub.c (imap4d_lsub): Likewise.
Sergey Poznyakoff authored -
* imap4d/namespace.c (namespace_init): Provide record for default "" prefix.
Sergey Poznyakoff authored -
Instead of translating names to full mailbox URLs, translate them to the filesystem pathname and record (mu_record_t) that should be used when creating the mailbox. Never use mu_mailbox_create_default. This patch also fixes memory leaks in some functions (the return value from namespace_get_url was never freed). * imap4d/imap4d.h (namespace_get_url): Remove. (namespace_get_name): New proto. * imap4d/namespace.c (namespace_init): Always intialize the pfx->record member. This requires that the default record be initialized. (namespace_get_url): Remove. (namespace_get_name): New function. * imap4d/create.c: Use namespace_get_name and mu_mailbox_create_from_record to create mailboxes. Fix folder creation. * imap4d/append.c: Use namespace_get_name and mu_mailbox_create_from_record to create mailboxes. * imap4d/copy.c: Likewise. * imap4d/delete.c: Likewise. * imap4d/quota.c: Likewise. * imap4d/rename.c: Likewise. * imap4d/status.c: Likewise.
Sergey Poznyakoff authored
-
- 21 Jan, 2017 1 commit
-
-
* libmu_auth/ldap.c (_construct_attr_array) (_mu_entry_to_auth_data): Fix types of iterator return values.
Sergey Poznyakoff authored
-
- 20 Jan, 2017 2 commits
-
-
- 19 Jan, 2017 2 commits
-
-
* libmailutils/string/expvar.c (exp_shell): Fix out-of-buffer read when used without arguments. (mu_str_expand): Improve error handling. * libmailutils/tests/testsuite.at (MU_GENERIC_TEST_CMD): New macro. Include exp.at * libmailutils/tests/vexp.c: New file. * libmailutils/tests/Makefile.am: Build vexp. Add exp.at * libmailutils/tests/exp.at: New file.
Sergey Poznyakoff authored -
The functions are used wherever variables can be expected, most notably in configuration statements, such as ldap, namespace (imap4d), etc. Apart from expanding variables it also provides command expansion $(command args...) The commands currently available are: domainpart ARG splits its argument on the first occurrence of @ and returns the part after it. localpart ARG splits its argument on the first occurrence of @ and returns the part before it. shell CMD ARG... runs shell command CMD and returns its output * include/mailutils/cstr.h (mu_str_expand, mu_str_vexpand): New protos. * libmailutils/string/expvar.c: New file. * libmailutils/string/Makefile.am: Add expvar.c * libmailutils/tests/exp.c: New file. * libmailutils/tests/Makefile.am: Add exp.c * imap4d/imap4d.c (namespace_cfg_init): Fix docstring. * imap4d/namespace.c (namespace_translate_name): Use mu_str_expand. * libmailutils/mailbox/mbx_default.c (mu_construct_user_mailbox_url): Use mu_str_vexpand. * libmu_auth/ldap.c (_mu_ldap_search): Likewise. * libmu_auth/radius.c (_expand_query): Likewise. * libmu_auth/sql.c (mu_sql_expand_query): Likewise. * mu/shell.c (mutool_prompt_env): Remove. (shell_prompt): Rewrite (input_line_interactive): Use mu_str_expand. (mutool_shell_prompt_assoc): New function. * mu/mu.h (mutool_shell_prompt_assoc): New proto. * mu/imap.c (imap_prompt_env): Use mutool_shell_prompt_assoc. * mu/pop.c (pop_prompt_env): Likewise. * mu/smtp.c (smtp_prompt_env): Likewise.
Sergey Poznyakoff authored
-
- 18 Jan, 2017 1 commit
- 17 Jan, 2017 2 commits
-
-
-
* configure.ac: Set version 3.1.91 * NEWS: Update. * doc/texinfo/programs.texi: Minor change. * libmailutils/mime/mime.c (_mime_part_size) (_mime_body_lines): Fix counting. Return 0 if MIME is empty.
Sergey Poznyakoff authored
-
- 16 Jan, 2017 4 commits
-
-
* libmailutils/mime/attachment.c (mu_attachment_copy_from_stream) (mu_attachment_copy_from_file): Remove the encoding parameter. Take the encoding to use from the value of the Content-Transfer-Encoding header. Return EINVAL if it is not present. * include/mailutils/message.h (mu_attachment_copy_from_stream) (mu_attachment_copy_from_file): Change signature. All uses changed.
Sergey Poznyakoff authored -
This also includes small bugfixes in the MIME library code. The --skip-empty-attachment option now affects the original body as well. If the option is in effect, and the body is empty, it will not be included to the composed message. * libmailutils/mime/mime.c (_mime_body_stream_read): Return EOF if there are no parts in the message. (mu_mime_get_num_parts): If message is not multipart, report 1 part without setting mime->nmtp_parts. Setting it caused coredump in other MIME functions (namely, in mu_mime_add_part. * mail/send.c (add_body): New function. Adds original body to the MIME, honoring the --skip-empty-attachment option. * doc/texinfo/programs.texi: Update.
Sergey Poznyakoff authored -
* imap4d/id.c (eat_args): Log the client identity using the info channel. * imap4d/list.c: tiny change
Sergey Poznyakoff authored -
* libmailutils/cli/cli.c (mu_cli): Use "no-" prefix to indicate negation * mail/mail.c (skip_empty_attachments): New global. (mail_options): New option --skip-empty-attachments * mail/mail.h (skip_empty_attachments): New extern. * mail/send.c (atchinfo) <skip_empty>: New field. (send_attach_file): Initialize skip_empty (saveatt): Optionally skip empty attachments * NEWS: Mention the new option. * doc/texinfo/programs.texi: Document the new option.
Sergey Poznyakoff authored
-
- 14 Jan, 2017 4 commits
-
-
* libmu_sieve/load.c [!HAVE_LIBLTDL] (mu_sieve_load_ext): Fix declaration.
Sergey Poznyakoff authored -
-
* doc/texinfo/programs.texi: provide an example script illustrating how to use mail from another programs.
Sergey Poznyakoff authored -
* libmailutils/cli/cli.c (mu_common_options): Declare the --HANG option. (hangproc): New function.
Sergey Poznyakoff authored
-