The reject_rbl restriction name is still recognized for
compatibility with systems maintained by LaMont Jones.
+20020924
+
+ Bugfix: reject_rhsbl_<mumble> was broken when <mumble> was
+ unavailable, causing the restrictions parser to get out if
+ sync. Spotted by Ralf Hildebrandt. File: smtpd/smtpd_check.c.
+
Open problems:
Low: smtpd should log queue ID with reject/warn/hold/discard
Incompatible changes with Postfix snapshot 1.1.11-20020923
==========================================================
-Subtle change in ${name:result} macro expansions: the expansion
+Subtle change in ${name?result} macro expansions: the expansion
no longer happens when $name is an empty string. This probably
makes more sense than the old behavior.
/* .IP reject_maps_rbl
/* Look up the reversed client network address in the real-time blackhole
/* DNS zones below the domains listed in the "maps_rbl_domains"
-/* configuration parameter. This is equivalent to using "reject_rbl"
-/* once for each such domain.
+/* configuration parameter. This is equivalent to using
+/* "reject_rbl_client" once for each such domain.
/* .IP permit_naked_ip_address
/* Permit the use of a naked IP address (without enclosing [])
/* in HELO/EHLO commands.
if (*(cpp[1]) == 0)
msg_warn("restriction %s requires domain name argument",
name);
- else if (strcasecmp(state->name, "unknown") != 0)
- status = reject_rbl_domain(state, *(cpp += 1), state->name,
- SMTPD_NAME_CLIENT);
+ else {
+ cpp += 1;
+ if (strcasecmp(state->name, "unknown") != 0)
+ status = reject_rbl_domain(state, *cpp, state->name,
+ SMTPD_NAME_CLIENT);
+ }
}
/*
} else if (strcasecmp(name, REJECT_RHSBL_SENDER) == 0) {
if (cpp[1] == 0)
msg_warn("restriction %s requires domain name argument", name);
- else if (state->sender && *state->sender)
- status = reject_rbl_domain(state, *(cpp += 1), state->sender,
- SMTPD_NAME_SENDER);
+ else {
+ cpp += 1;
+ if (state->sender && *state->sender)
+ status = reject_rbl_domain(state, *cpp, state->sender,
+ SMTPD_NAME_SENDER);
+ }
}
/*
} else if (strcasecmp(name, REJECT_RHSBL_RECIPIENT) == 0) {
if (cpp[1] == 0)
msg_warn("restriction %s requires domain name argument", name);
- else if (state->recipient)
- status = reject_rbl_domain(state, *(cpp += 1), state->recipient,
- SMTPD_NAME_RECIPIENT);
+ else {
+ cpp += 1;
+ if (state->recipient)
+ status = reject_rbl_domain(state, *cpp, state->recipient,
+ SMTPD_NAME_RECIPIENT);
+ }
}
/*