]> git.pld-linux.org Git - projects/rc-scripts.git/commitdiff
- functions for getting interfaces and aliases lists from LDAP added
authorJacek Konieczny <jajcus@pld-linux.org>
Tue, 28 Sep 1999 16:15:56 +0000 (16:15 +0000)
committerJacek Konieczny <jajcus@pld-linux.org>
Tue, 28 Sep 1999 16:15:56 +0000 (16:15 +0000)
- fixed getting interface info from LDAP

svn-id: @562

rc.d/init.d/functions.network

index 863989e001e9c922dbe63857f90dcfb27dadfdef..9824d931cbb35379b6fc6bd148dbd1dec41fa8c6 100755 (executable)
@@ -1,39 +1,67 @@
 #
-# $Id: functions.network,v 1.26 1999/09/28 14:02:41 kloczek Exp $
+# $Id: functions.network,v 1.27 1999/09/28 16:15:56 jajcus Exp $
 #
 # This is not a shell script; it provides functions to network scripts
 # that source it.
 
-get_ldap_config ()
+# This will work only after starting interface to which LDAP server is connected
+find_ldap_interfaces()
 {
-[ -x /usr/bin/ldapsearch ] || exit 1
+       [ "$USE_LDAP" == "yes" ] && [ -x /usr/bin/ldapsearch ] || exit 1
+       if [ -n "$LDAP_BASE_DN" ] ; then
+               BSWITCH="-b$LDAP_BASE_DN" 
+       else
+               BSWITH=""
+       fi
+       QUERY="(&(objectclass=pldinterface)(if_onboot=yes))"
+       ldapsearch "$BSWITCH" "$QUERY" if_device | \
+               grep "^if_device=" | sed -e "s/^if_device=//"
+}
 
-# Initialise fields which  can have multiple values:
-IPV6_ADDR=""
-IPADDR_ALIASES=""
-       
-QUERY="(&(objectclass=pldinterface)(if_device=$1))"
-if [ -n "$LDAP_BASE_DN" ] ; then
-       BSWITCH='-b"$LDAP_BASE_DN"' 
-else
-       BSWITH=''
-fi
+# find aliases for device
+find_ldap_aliases()
+{
+       [ "$USE_LDAP" == "yes" ] && [ -x /usr/bin/ldapsearch ] || exit 1
+       if [ -n "$LDAP_BASE_DN" ] ; then
+               BSWITCH="-b$LDAP_BASE_DN" 
+       else
+               BSWITH=""
+       fi
+       QUERY="(&(objectclass=pldinterface)(if_onboot=yes)(if_device~=$1:*))"
+       ldapsearch "$BSWITCH" "$QUERY" if_device | \
+               grep "^if_device=" | sed -e "s/^if_device=//"
+}
 
-ldapsearch "$BSWITCH" "$QUERY" | grep "=" | sed -e "s/=/ /" | {
-       while read FIELD VALUE ; do
-               # Field, which have name compatible with other 
-               # LDAP object
-               if [ "$FIELD" = "iphostnumber" ] ; then
-                       VAR="ADDR";
-               else # Other fields
-                       VAR=`echo "$FIELD" | grep "^if_" \
-                            | tr [:lower:] [:upper:] | sed -e "s/IF_//"`
-               fi
+get_ldap_config ()
+{
+       [ "$USE_LDAP" == "yes" ] && [ -x /usr/bin/ldapsearch ] || exit 1
+       # Initialise fields which  can have multiple values:
+       IPV6_ADDR=""
+       IPADDR_ALIASES=""
+       
+       QUERY="(&(objectclass=pldinterface)(if_device=$1))"
+       if [ -n "$LDAP_BASE_DN" ] ; then
+         BSWITCH="-b$LDAP_BASE_DN" 
+       else
+         BSWITH=""
+       fi
+       ldapsearch "$BSWITCH" "$QUERY" | grep "=" | sed -e "s/=/ /" | {
+               while read FIELD VALUE ; do
+                       # Field, which have name compatible with other 
+                       # LDAP object
+                       if [ "$FIELD" = "iphostnumber" ] ; then
+                               VAR="IPADDR";
+                       else # Other fields
+                               VAR=`echo "$FIELD" | grep "^if_" \
+                                    | tr [:lower:] [:upper:] \
+                                    | sed -e "s/IF_//"`
+                       fi
+                       # Fields which can have multiple values:
+                       if   [ "$VAR" = "IPV6_ADDR" \
+                           -o "$VAR" = "IPADDR_ALIASES" ]  && \
+                            [ -n "`eval echo \$$VAR`" ] ; then
+                               echo "$VAR=\"\$$VAR $VALUE\"" ;
 
-               # Fields which can have multiple values:
-               if [ "$VAR" = "IPV6_ADDR" -o "$VAR" = "IPADDR_ALIASES" ]  && \
-                  [ -n "`eval echo \$$VAR`" ] ; then
-                       echo "$VAR=\"\$$VAR $VALUE\"" ;
                        # single value fields, or the first value
                        elif [ -n "$VAR" ] ; then
                                eval "$VAR=\"$VALUE\""
This page took 0.151115 seconds and 4 git commands to generate.