This does not use extended regular expressions in any way. While at it change the way these matches are done: it's irrelevant if the entire expression is in the file, if there is any rule for the given IP address then do not add the new expression.
Signed-off-by: Rolf Eike Beer <e...@sf-mail.de> --- eclass/qmail.eclass | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/eclass/qmail.eclass b/eclass/qmail.eclass index 9b2c5a8c7fb..ed53bca56fa 100644 --- a/eclass/qmail.eclass +++ b/eclass/qmail.eclass @@ -409,7 +409,7 @@ qmail_config_fast() { } qmail_tcprules_config() { - local localips ip tcpstring line proto f + local localips ip tcpstring proto f einfo "Accepting relaying by default from all ips configured on this machine." @@ -425,10 +425,9 @@ qmail_tcprules_config() { tcpstring=':allow,RELAYCLIENT="",RBLSMTPD=""' for ip in ${localips}; do - line="${ip}${tcpstring}" for proto in smtp qmtp qmqp; do f="${EROOT}${TCPRULES_DIR}/tcp.qmail-$ {proto}" - egrep -qs "${line}" "${f}" || echo "${line}" >> "${f}" + grep -qs "^${ip}:" "${f}" || echo "${ip}$ {tcpstring}" >> "${f}" done done } -- 2.35.3
signature.asc
Description: This is a digitally signed message part.