match1 {
type = match;
+ match_all = false;
condition = stress #=;
+ condtion = stress != yes;
on_match = postfix:OK;
on_fail = postfix:OK;
}
+match2 {
+ type = match;
+
+ match_all = true;
+ condition = stress >= y;
+ condition = stress >i e;
+ condition = size <i 12345678;
+ condition = encryption_cipher >i rsa;
+ condition = encryption_cipher >i sha;
+ condition = sasl_method == plain;
+
+ on_match = postfix:OK;
+ on_fail = postfix:OK;
+}
+
hostnames1 {
type = strlist;
stress=
match1=match
+match2=fail
hostnames1=fail
hostnames2=fail
emails1=fail
stress=yes
match1=fail
+match2=match
hostnames1=soft_match
hostnames2=hard_match
emails1=soft_match
--- /dev/null
+request=smtpd_access_policy
+protocol_state=RCPT
+protocol_name=SMTP
+helo_name=tata.example.org
+queue_id=8045F2AB23
+sender=contact@exemple.com
+recipient=contact@exemple.org
+recipient_count=0
+client_address=1.2.3.4
+client_name=kikoo.example.net
+reverse_client_name=example.net
+instance=123.456.7
+sasl_method=plain
+sasl_username=you
+sasl_sender=
+size=12345
+ccert_subject=solaris9.porcupine.org
+ccert_issuer=Wietse+20Venema
+ccert_fingerprint=C2:9D:F4:87:71:73:73:D9:18:E7:C2:F3:C1:DA:6E:04
+encryption_protocol=TLSv1/SSLv3
+encryption_cipher=DHE-RSA-AES256-sha
+encryption_keysize=256
+etrn_domain=
+stress=yEs
+
+match1=fail
+match2=match
+hostnames1=fail
+hostnames2=hard_match
+emails1=fail
+emails2=fail
--- /dev/null
+request=smtpd_access_policy
+protocol_state=RCPT
+protocol_name=SMTP
+helo_name=tata.example.org
+queue_id=8045F2AB23
+sender=contact@exemple.com
+recipient=contact@exemple.org
+recipient_count=0
+client_address=1.2.3.4
+client_name=kikoo.example.net
+reverse_client_name=example.net
+instance=123.456.7
+sasl_method=plain
+sasl_username=you
+sasl_sender=
+size=12345
+ccert_subject=solaris9.porcupine.org
+ccert_issuer=Wietse+20Venema
+ccert_fingerprint=C2:9D:F4:87:71:73:73:D9:18:E7:C2:F3:C1:DA:6E:04
+encryption_protocol=TLSv1/SSLv3
+encryption_cipher=DHE-RSA-AES256-sha
+encryption_keysize=256
+etrn_domain=
+stress=YEs
+
+match1=fail
+match2=fail
+hostnames1=fail
+hostnames2=hard_match
+emails1=fail
+emails2=fail
--- /dev/null
+request=smtpd_access_policy
+protocol_state=RCPT
+protocol_name=SMTP
+helo_name=tata.example.org
+queue_id=8045F2AB23
+sender=contact@exemple.com
+recipient=contact@exemple.org
+recipient_count=0
+client_address=1.2.3.4
+client_name=kikoo.example.net
+reverse_client_name=example.net
+instance=123.456.7
+sasl_method=plain
+sasl_username=you
+sasl_sender=
+size=12345
+ccert_subject=solaris9.porcupine.org
+ccert_issuer=Wietse+20Venema
+ccert_fingerprint=C2:9D:F4:87:71:73:73:D9:18:E7:C2:F3:C1:DA:6E:04
+encryption_protocol=TLSv1/SSLv3
+encryption_cipher=DHE-RSA-AES256-sha
+encryption_keysize=256
+etrn_domain=
+stress=ys
+
+match1=fail
+match2=fail
+hostnames1=fail
+hostnames2=hard_match
+emails1=fail
+emails2=fail
--- /dev/null
+request=smtpd_access_policy
+protocol_state=RCPT
+protocol_name=SMTP
+helo_name=tata.example.org
+queue_id=8045F2AB23
+sender=contact@exemple.com
+recipient=contact@exemple.org
+recipient_count=0
+client_address=1.2.3.4
+client_name=kikoo.example.net
+reverse_client_name=example.net
+instance=123.456.7
+sasl_method=plain
+sasl_username=you
+sasl_sender=
+size=122345
+ccert_subject=solaris9.porcupine.org
+ccert_issuer=Wietse+20Venema
+ccert_fingerprint=C2:9D:F4:87:71:73:73:D9:18:E7:C2:F3:C1:DA:6E:04
+encryption_protocol=TLSv1/SSLv3
+encryption_cipher=DHE-RSA-AES256-sha
+encryption_keysize=256
+etrn_domain=
+stress=yEs
+
+match1=fail
+match2=fail
+hostnames1=fail
+hostnames2=hard_match
+emails1=fail
+emails2=fail
--- /dev/null
+request=smtpd_access_policy
+protocol_state=RCPT
+protocol_name=SMTP
+helo_name=tata.example.org
+queue_id=8045F2AB23
+sender=contact@exemple.com
+recipient=contact@exemple.org
+recipient_count=0
+client_address=1.2.3.4
+client_name=kikoo.example.net
+reverse_client_name=example.net
+instance=123.456.7
+sasl_method=plain
+sasl_username=you
+sasl_sender=
+size=12345
+ccert_subject=solaris9.porcupine.org
+ccert_issuer=Wietse+20Venema
+ccert_fingerprint=C2:9D:F4:87:71:73:73:D9:18:E7:C2:F3:C1:DA:6E:04
+encryption_protocol=TLSv1/SSLv3
+encryption_cipher=DHE-RSA-AES256-shb
+encryption_keysize=256
+etrn_domain=
+stress=yEs
+
+match1=fail
+match2=fail
+hostnames1=fail
+hostnames2=hard_match
+emails1=fail
+emails2=fail
--- /dev/null
+request=smtpd_access_policy
+protocol_state=RCPT
+protocol_name=SMTP
+helo_name=tata.example.org
+queue_id=8045F2AB23
+sender=contact@exemple.com
+recipient=contact@exemple.org
+recipient_count=0
+client_address=1.2.3.4
+client_name=kikoo.example.net
+reverse_client_name=example.net
+instance=123.456.7
+sasl_method=plaineuh
+sasl_username=you
+sasl_sender=
+size=12345
+ccert_subject=solaris9.porcupine.org
+ccert_issuer=Wietse+20Venema
+ccert_fingerprint=C2:9D:F4:87:71:73:73:D9:18:E7:C2:F3:C1:DA:6E:04
+encryption_protocol=TLSv1/SSLv3
+encryption_cipher=DHE-RSA-AES256-sha
+encryption_keysize=256
+etrn_domain=
+stress=yEs
+
+match1=fail
+match2=fail
+hostnames1=fail
+hostnames2=hard_match
+emails1=fail
+emails2=fail
PARSE_CHECK(condition.condition != MATCH_UNKNOWN,
"invalid operator");
if (condition.condition != MATCH_EMPTY) {
- p = m_strnextsp(n + 1);
+ p = skipspaces(n + 1);
PARSE_CHECK(*p, "no value defined to check the condition");
condition.value_len = param->value_len - (p - param->value);
condition.value = p_dupstr(p, condition.value_len);