diff --git a/NEWS b/NEWS index 5102170b1c0e0d32e6603d021748354a9fa4538e..85fd29d9dbb03dbf6e22e2f460f6b52302f2b635 100644 --- a/NEWS +++ b/NEWS @@ -91,14 +91,14 @@ v0.3.4 06-04-2013 Stephan Bosch <stephan@rename-it.nl> checking. This extension is in the process of being standardized (https://tools.ietf.org/html/draft-bosch-sieve-duplicate-01). + Sieve date extension: generate warning when invalid date part is specified. - - Sieve editheader extension: fixed crash occuring when addheader :last was + - Sieve editheader extension: fixed crash occurring when addheader :last was used. - Sieve include extension: fixed missing error cleanup that caused a resource leak. - Sieve vacation extension: fixed determination of From: address for when sieve_vacation_dont_check_recipient is active. - Sieve tools: the -D option wasn't enabled and documented for all tools. - - Siev dict script storage: fixed potential segfault occuring when dict + - Siev dict script storage: fixed potential segfault occurring when dict initialization fails. - ManageSieve: fixed bug in skipping of CRLF at end of AUTHENTICATE command. - ManageSieve: fixed handling of unkown commands pre-login. @@ -296,7 +296,7 @@ v0.2.2 06-12-2010 Stephan Bosch <stephan@rename-it.nl> notice that the default limits are too low and you need to increase them. This problem will show up in logs as "out of memory" errors. See default_vsz_limit and service { vsz_limit } settings. - - Imap4flags: fixed segfault bug occuring in multiscript context. + - Imap4flags: fixed segfault bug occurring in multiscript context. - Added version checking to the ManageSieve settings plugin. This plugin was forgotten when the LDA plugin was updated with this change in the previous release. @@ -508,7 +508,7 @@ v0.1.13 18-10-2009 Stephan Bosch <stephan@rename-it.nl> + Body extension: implemented proper handling of the :raw transform and added various new tests to the test suite. However, :content "multipart" and :content "message/rfc822" are still not working. - + Fixed race condition occuring when multiple instances are saving the same + + Fixed race condition occurring when multiple instances are saving the same binary (patch by Timo Sirainen). + Test suite: added support for testing multiscript execution. - Made compiler more lenient towars missing CRLF at the end of the script in a @@ -519,7 +519,7 @@ v0.1.13 18-10-2009 Stephan Bosch <stephan@rename-it.nl> - Fixed bugs in multiscript support; subsequent keep actions were not always merged correctly and implicit side effects were not always handled correctly. - - Fixed a segfault bug in the sieve-test tool occuring when compile fails. + - Fixed a segfault bug in the sieve-test tool occurring when compile fails. - Fixed segfault bug in action procesing. It was triggered while merging side effects in duplicate actions. - Fixed bug in the Sieve plugin that caused it to try to stat() a NULL path, @@ -610,7 +610,7 @@ v0.1.9 22-07-2009 Stephan Bosch <stephan@rename-it.nl> - Fixed a potential segfault in the argument validation. It didn't surface because no command could have a :tag followed by an associated parameter as last argument. - - Fixed segfault bug occuring in envelope test when performed on null (<>) + - Fixed segfault bug occurring in envelope test when performed on null (<>) envelope path. The fix involves a rather large restructuring of the code to make sure envelope addresses are properly handled everywhere (bug reported by Nikita Koshikov) @@ -720,11 +720,11 @@ v0.1.3 12-02-2009 Stephan Bosch <stephan@rename-it.nl> compatibility with CMUSieve. This also implements the mark/unmark commands. - Fixed bugs in the regex extension: 1) if an optional match value did not in fact match, subsequent match values would get unexpected indexes. 2) fixed - segfault bug occuring when regex is freed. + segfault bug occurring when regex is freed. - Fixed bug in the use of the :from agrument for the vacation command. If this address included a phrase part, the response would not be a valid RFC822 message. - - Plugged a theoretical security hole occuring when a directory is opened as a + - Plugged a theoretical security hole occurring when a directory is opened as a Sieve binary. - Cleaned up and fixed various log messages. - Fixed bug in the outgoing address verification. Addresses ending in ',' were @@ -789,7 +789,7 @@ v0.11.11: + Added MAXREDIRECTS capability after login. + Implemented new script name rules specified in most recent ManageSieve draft. - - Fixed assertion failure occuring with challenge-response SASL mechanisms. + - Fixed assertion failure occurring with challenge-response SASL mechanisms. - Made configure complain about trying to compile against installed Dovecot headers alone. - Fixed compile warning for compilation against CMUSieve. @@ -912,7 +912,7 @@ v0.10.1 managesieve. + Added short proxy configuration explanation to the README file + Added 'Known Issues' section to the README file - - Fixed assert bug in sieve-storage occuring when save is canceled. + - Fixed assert bug in sieve-storage occurring when save is canceled. v0.10.0 * Upgraded to Dovecot 1.1: diff --git a/src/lib-sieve/mcht-matches.c b/src/lib-sieve/mcht-matches.c index 0f733c851b21f2b6d6f236c088ddd00584748bce..a6a2844303884987695e8291660685f8a7368ea5 100644 --- a/src/lib-sieve/mcht-matches.c +++ b/src/lib-sieve/mcht-matches.c @@ -313,7 +313,7 @@ static int mcht_matches_match_key !cmp->def->char_match(cmp, &vp, vend, &needle, nend) ) { /* Match failed: now we have a problem. We need to backtrack to the previous - * '*' wildcard occurence and start scanning for the next possible match. + * '*' wildcard occurrence and start scanning for the next possible match. */ debug_printf(" failed fixed match\n"); diff --git a/src/lib-sieve/plugins/editheader/cmd-deleteheader.c b/src/lib-sieve/plugins/editheader/cmd-deleteheader.c index 8714919f762344c4ede41550e9093d8535ae2538..a3a73ec806be822a77c7b8b3e16e5b5b83361f53 100644 --- a/src/lib-sieve/plugins/editheader/cmd-deleteheader.c +++ b/src/lib-sieve/plugins/editheader/cmd-deleteheader.c @@ -453,11 +453,11 @@ static int cmd_deleteheader_operation_execute sieve_runtime_trace_descend(renv); if ( index_offset != 0 ) { sieve_runtime_trace(renv, 0, - "deleting matching occurences of header `%s' at index %u%s", + "deleting matching occurrences of header `%s' at index %u%s", str_c(field_name), index_offset, ( index_last ? " from last": "")); } else { sieve_runtime_trace(renv, 0, - "deleting matching occurences of header `%s'", str_c(field_name)); + "deleting matching occurrences of header `%s'", str_c(field_name)); } } @@ -511,7 +511,7 @@ static int cmd_deleteheader_operation_execute sieve_runtime_trace(renv, 0, "header `%s' not found", str_c(field_name)); } else if ( ret < 0 ) { sieve_runtime_warning(renv, NULL, "deleteheader action: " - "failed to delete occurences of header `%s' (this should not happen!)", + "failed to delete occurrences of header `%s' (this should not happen!)", str_c(field_name)); } @@ -528,15 +528,15 @@ static int cmd_deleteheader_operation_execute } } - /* Delete all occurences of header */ + /* Delete all occurrences of header */ ret = edit_mail_header_delete(edmail, str_c(field_name), index); if ( ret < 0 ) { sieve_runtime_warning(renv, NULL, "deleteheader action: " - "failed to delete occurences of header `%s' (this should not happen!)", + "failed to delete occurrences of header `%s' (this should not happen!)", str_c(field_name)); } else if ( trace ) { - sieve_runtime_trace(renv, 0, "deleted %d occurences of header `%s'", + sieve_runtime_trace(renv, 0, "deleted %d occurrences of header `%s'", ret, str_c(field_name)); } diff --git a/src/lib-sieve/sieve-validator.c b/src/lib-sieve/sieve-validator.c index 375c76875d0aaf7f79d4fffc96803c183972b82a..7e7c04b2622c331d31b8e371f2845028e8d87da7 100644 --- a/src/lib-sieve/sieve-validator.c +++ b/src/lib-sieve/sieve-validator.c @@ -904,7 +904,7 @@ static bool sieve_validate_command_arguments if ( tag_reg == NULL ) { sieve_argument_validate_error(valdtr, arg, "unknown tagged argument ':%s' for the %s %s " - "(reported only once at first occurence)", + "(reported only once at first occurrence)", sieve_ast_argument_tag(arg), sieve_command_identifier(cmd), sieve_command_type_name(cmd)); sieve_validator_register_unknown_tag @@ -1202,7 +1202,7 @@ static bool sieve_validate_command_context } else { sieve_validator_error( valdtr, cmd_node->source_line, - "unknown %s '%s' (only reported once at first occurence)", + "unknown %s '%s' (only reported once at first occurrence)", sieve_ast_type_name(ast_type), cmd_node->identifier); sieve_validator_register_unknown_command(valdtr, cmd_node->identifier); diff --git a/src/lib-sieve/util/edit-mail.c b/src/lib-sieve/util/edit-mail.c index fda48a89bf518be4182a936bf1ce3a46301c6931..392547d8fd21a8746e061626b6989e3d3723b760 100644 --- a/src/lib-sieve/util/edit-mail.c +++ b/src/lib-sieve/util/edit-mail.c @@ -1190,7 +1190,7 @@ static int edit_mail_get_first_header return 0; } - /* Get the first occurence */ + /* Get the first occurrence */ if ( edmail->header_fields_appended == NULL ) { /* There are no appended headers, so first is found directly */ field = header_idx->first->field; diff --git a/tests/compile/redirect.sieve b/tests/compile/redirect.sieve index efef440c14a2cd9576fa9dd9bdfdfb2c76eb0ee5..fb9f23d0a7190ec8a6639bedd58262b74e79abb2 100644 --- a/tests/compile/redirect.sieve +++ b/tests/compile/redirect.sieve @@ -1,4 +1,4 @@ -# Test various white space occurences +# Test various white space occurrences redirect "stephan@example.org"; redirect " stephan@example.org"; redirect "stephan @example.org";