summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/itzks-hosts43
1 files changed, 25 insertions, 18 deletions
diff --git a/bin/itzks-hosts b/bin/itzks-hosts
index 7d7f04f..ee1ade5 100755
--- a/bin/itzks-hosts
+++ b/bin/itzks-hosts
@@ -2,23 +2,30 @@
set -e
-ldapsearch -xLLL "(&(cn=*)(|(objectClass=ipHost)(objectClass=goServer)))" \
- cn ipHostNumber macAddress description 2>/dev/null | perl -p0e 's/\n //g' | \
-while read KEY VALUE ; do
- case "$KEY" in
- dn:)
- HOSTNAME= ; IP= ; MAC= ; DESC= ; DN=${VALUE}
- OU=$(echo $DN | sed -r -e 's/cn=[^,]+,ou=[^,]+,ou=[^,]+,ou=([^,]+),.*/\1/' | sed -r -e 's/cn=[^,]+,ou=[^,]+,ou=[^,]+,dc=.*/Servers/g')
- ;;
- cn:) HOSTNAME="${VALUE}";;
- ipHostNumber:) IP="${VALUE}";;
- macAddress:) MAC="${VALUE}";;
- description:) DESC="${VALUE}";;
- "")
- if [ -n "$DESC" ]; then DESC="\"${DESC}\""; fi
- echo "${OU},${HOSTNAME},${IP},${MAC},${DESC}"
- ;;
- esac
-done
+if [ -x "/usr/share/debian-edu-config/list-gosa-systems" ]; then
+ /usr/share/debian-edu-config/list-gosa-systems ${@}
+else
+
+ # FIXME: drop this part for the bookworm release cycle...
+
+ ldapsearch -xLLL "(&(cn=*)(|(objectClass=ipHost)(objectClass=goServer)))" \
+ cn ipHostNumber macAddress description 2>/dev/null | perl -p0e 's/\n //g' | \
+ while read KEY VALUE ; do
+ case "$KEY" in
+ dn:)
+ HOSTNAME= ; IP= ; MAC= ; DESC= ; DN=${VALUE}
+ OU=$(echo $DN | sed -r -e 's/cn=[^,]+,ou=[^,]+,ou=[^,]+,ou=([^,]+),.*/\1/' | sed -r -e 's/cn=[^,]+,ou=[^,]+,ou=[^,]+,dc=.*/Servers/g')
+ ;;
+ cn:) HOSTNAME="${VALUE}";;
+ ipHostNumber:) IP="${VALUE}";;
+ macAddress:) MAC="${VALUE}";;
+ description:) DESC="${VALUE}";;
+ "")
+ if [ -n "$DESC" ]; then DESC="\"${DESC}\""; fi
+ echo "${OU},${HOSTNAME},${IP},${MAC},${DESC}"
+ ;;
+ esac
+ done
+fi
exit 0