X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=carnet-tools-cn.git;a=blobdiff_plain;f=functions.sh;h=24c7cf9209d9d4ce6ba1aeea720d8475922a72d7;hp=2ab04ff124f4e450a84492b2c72d6b59d7f43861;hb=refs%2Fheads%2Flenny;hpb=f65804c1b92f032afd4e09b7f01ea48de446ac6d diff --git a/functions.sh b/functions.sh index 2ab04ff..24c7cf9 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" @@ -327,8 +327,8 @@ cp_mail () { CP_NOTICE="From: $pkg postinst script To: root Subject: $pkg$version package install log -Date: $(/bin/date +'%a, %d %b %Y %H:%M:%S %z') - +Date: $(LC_ALL=C /bin/date --rfc-2822) + Hello! The $pkg package has been successfully installed on your computer. @@ -337,9 +337,11 @@ is included below. ---------- ${CP_NOTICE}----------" - - echo "$CP_NOTICE" | /usr/sbin/sendmail -t & - sleep 1 + + if [ -x /usr/sbin/sendmail ]; then + echo "$CP_NOTICE" | /usr/sbin/sendmail -t -oi & + sleep 1 + fi fi } @@ -356,6 +358,7 @@ cp_mv () { if [ -e "$old" ]; then chown --reference "$old" "$new" chmod --reference "$old" "$new" + cp -pf "$old" "$old.cn-old" fi mv "$new" "$old" } @@ -378,6 +381,14 @@ cp_yes_no () { echo -n "$prompt (y)es/(n)o: " read answer case "$answer" in + Y*) + echo + RET=y + ;; + N*) + echo + RET=n + ;; y*) echo RET=y @@ -389,7 +400,7 @@ cp_yes_no () { *) echo echo "Please read the message and choose y or n" - cp_yes_no + cp_yes_no "$prompt" ;; esac } @@ -476,8 +487,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