From aff7c030672d174106f73e68730e9ff98cc364e9 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Tue, 23 Oct 2007 10:09:58 +0000 Subject: [PATCH] r106: --- functions.sh | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/functions.sh b/functions.sh index 2ab04ff..851be62 100644 --- a/functions.sh +++ b/functions.sh @@ -151,7 +151,7 @@ cp_get_netaddr() { if [ "$netmask" = "255.255.255.255" ]; then cidr="$ipaddress/32" else - cidr="`ipcalc -ncb $ipaddress $netmask | awk '/^Network:/{print $2}'`" + cidr="`ipcalc -nb $ipaddress $netmask | awk '/^Network:/{print $2}'`" fi RET="$cidr" @@ -476,8 +476,46 @@ cp_get_ldap_realm() { RET="`echo $RET | awk -F, '{print $1}' | awk -F= '{print $2}'`" [ -z "$RET" ] && echo "cp_get_ldap_realm: No LDAP REALM in /etc/ldap/slapd.conf" >&2 - [ -z "$echo_return" ] || echo $RET - CP_ECHO_RETURN="$echo_return" +} + +# if fqdn is name.dom3.dom2.dom1.hr, check if this host is MX for +# either dom3.dom2.dom1.hr, dom2.dom1.hr or dom1.hr and dump highest level +# domain on stdout +cp_get_mx_domain() { + [ "$CP_SCRIPT_DEBUG" ] && set -vx + + local domains d host + + host=$(hostname -f) + RET="$host" + if ! echo "$host" | grep -q '\.'; then + return + fi + if [ ! -x /usr/bin/host ]; then + # no host command + return + fi + domains=$(/bin/hostname -f | awk -F. ' + { + for (i=2; i