From 8a3be1f1a979b8058cf7754632d60ab52d066d5c Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Fri, 7 Mar 2014 14:07:17 +1100 Subject: [PATCH] ctdb-eventscripts: Improve check in NATGW "startup" event Although the dots in $CTDB_NATGW_PUBLIC_IP could probably only help match an invalid public IP address, this is only executed once so do as exact a check as possible. Use CTDB_BASE instead of hardcoding /etc/ctdb. Make the error message less redundant. Signed-off-by: Martin Schwenke --- ctdb/config/events.d/11.natgw | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ctdb/config/events.d/11.natgw b/ctdb/config/events.d/11.natgw index ae093058564..4d58ed2425a 100755 --- a/ctdb/config/events.d/11.natgw +++ b/ctdb/config/events.d/11.natgw @@ -107,8 +107,11 @@ case "$1" in natgw_check_config # Error if CTDB_NATGW_PUBLIC_IP is listed in public addresses - grep -q "^$CTDB_NATGW_PUBLIC_IP[[:space:]]" "${CTDB_PUBLIC_ADDRESSES:-/etc/ctdb/public_addresses}" && \ - die "ERROR: NATGW configured to use a public address. NATGW must not use a public address." + ip_pat=$(echo "$CTDB_NATGW_PUBLIC_IP" | sed -e 's@\.@\\.@g') + if grep -q "^${ip_pat}[[:space:]]" \ + "${CTDB_PUBLIC_ADDRESSES:-${CTDB_BASE}/public_addresses}" ; then + die "ERROR: CTDB_NATGW_PUBLIC_IP same as a public address" + fi # do not send out arp requests from loopback addresses set_proc sys/net/ipv4/conf/all/arp_announce 2 -- 2.11.4.GIT