summaryrefslogtreecommitdiff
path: root/usr/src/cmd
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2016-01-22 14:13:41 +0200
committerRobert Mustacchi <rm@joyent.com>2016-01-27 12:01:00 -0800
commit5e11cc3944e416541ce1ee9bae5126d0cce3f661 (patch)
tree9d6971ab1ae979513486a5d907081ed9c7c6bb4e /usr/src/cmd
parentcc641e8dc4d38800076a2260f4d959bf86003257 (diff)
downloadillumos-joyent-5e11cc3944e416541ce1ee9bae5126d0cce3f661.tar.gz
6573 kclient should support aggregated subnets in getSubnets
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Reviewed by: Gordon Ross <gordon.ross@nexenta.com> Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src/cmd')
-rw-r--r--usr/src/cmd/krb5/kadmin/kclient/kclient.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/usr/src/cmd/krb5/kadmin/kclient/kclient.sh b/usr/src/cmd/krb5/kadmin/kclient/kclient.sh
index 7967b20e17..6d619e6a79 100644
--- a/usr/src/cmd/krb5/kadmin/kclient/kclient.sh
+++ b/usr/src/cmd/krb5/kadmin/kclient/kclient.sh
@@ -21,6 +21,7 @@
#
# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2014 Nexenta Systems, Inc. All rights reserved.
+# Copyright 2016 Toomas Soome <tsoome@me.com>
#
# This script is used to setup the Kerberos client by
# supplying information about the Kerberos realm and kdc.
@@ -999,6 +1000,8 @@ function netmask2length {
function getSubnets {
typeset -ui16 addr netmask
typeset -ui16 classa=16\#ff000000
+ typeset -ui16 classb=16\#ffff0000
+ typeset -ui16 classc=16\#ffffff00
ifconfig -a|while read line
do
@@ -1020,6 +1023,18 @@ function getSubnets {
[[ $((addr & classa)) -eq 16\#7f000000 ]] && continue
print $(num2ipAddr $((addr & netmask)))/$(netmask2length $netmask)
+ if [ $netmask -gt $classc ]
+ then
+ print $(num2ipAddr $((addr & classc)))/$(netmask2length $classc)
+ fi
+ if [ $netmask -gt $classb ]
+ then
+ print $(num2ipAddr $((addr & classb)))/$(netmask2length $classb)
+ fi
+ if [ $netmask -gt $classa ]
+ then
+ print $(num2ipAddr $((addr & classa)))/$(netmask2length $classa)
+ fi
done
}