Aleksander Machniak
2013-08-02 b2c5869fe24eff81a92bc233bfef374bdb7afc31
Skip optional :all modified in address/envelope rule
5 files modified
15 ■■■■ changed files
plugins/managesieve/lib/Roundcube/rcube_sieve_script.php 3 ●●●● patch | view | raw | blame | history
plugins/managesieve/tests/src/parser.out 2 ●●● patch | view | raw | blame | history
plugins/managesieve/tests/src/parser_enotify_b 4 ●●●● patch | view | raw | blame | history
plugins/managesieve/tests/src/parser_index 2 ●●● patch | view | raw | blame | history
plugins/managesieve/tests/src/parser_notify_b 4 ●●●● patch | view | raw | blame | history
plugins/managesieve/lib/Roundcube/rcube_sieve_script.php
@@ -260,7 +260,8 @@
                            $this->add_index($test, $tests[$i], $exts);
                        }
                        if (!empty($test['part'])) {
                        // :all address-part is optional, skip it
                        if (!empty($test['part']) && $test['part'] != 'all') {
                            $tests[$i] .= ' :' . $test['part'];
                            if ($test['part'] == 'user' || $test['part'] == 'detail') {
                                array_push($exts, 'subaddress');
plugins/managesieve/tests/src/parser.out
@@ -39,7 +39,7 @@
}
fileinto "Test";
# rule:[address test]
if address :all :is "From" "nagios@domain.tld"
if address :is "From" "nagios@domain.tld"
{
    fileinto "domain.tld";
    stop;
plugins/managesieve/tests/src/parser_enotify_b
@@ -1,6 +1,6 @@
require ["enotify","envelope","variables"];
# rule:[from]
if envelope :all :matches "from" "*"
if envelope :matches "from" "*"
{
    set "env_from" " [really: ${1}]";
}
@@ -10,7 +10,7 @@
    set "subject" "${1}";
}
# rule:[from notify]
if address :all :matches "from" "*"
if address :matches "from" "*"
{
    set "from_addr" "${1}";
    notify :message "${from_addr}${env_from}: ${subject}" "mailto:alm@example.com";
plugins/managesieve/tests/src/parser_index
@@ -12,7 +12,7 @@
    stop;
}
# rule:[index-address]
if address :index 1 :all :is "From" "nagios@domain.tld"
if address :index 1 :is "From" "nagios@domain.tld"
{
    fileinto "domain.tld";
    stop;
plugins/managesieve/tests/src/parser_notify_b
@@ -1,6 +1,6 @@
require ["envelope","notify","variables"];
# rule:[from]
if envelope :all :matches "from" "*"
if envelope :matches "from" "*"
{
    set "env_from" " [really: ${1}]";
}
@@ -10,7 +10,7 @@
    set "subject" "${1}";
}
# rule:[from notify]
if address :all :matches "from" "*"
if address :matches "from" "*"
{
    set "from_addr" "${1}";
    notify :message "${from_addr}${env_from}: ${subject}" :method "sms:1234567890";