diff options
author | Dirk von Suchodoletz | 2006-10-08 17:44:39 +0200 |
---|---|---|
committer | Dirk von Suchodoletz | 2006-10-08 17:44:39 +0200 |
commit | 2e403aa51696d60aa1030498834b2d99a94db8fd (patch) | |
tree | 0cda0ac049a8a47b10180c0bf8a51c8577b1a4fa /initramfs/initrd-stuff/etc/ldap-functions | |
parent | Added hardware IDs for detection of some intel gfx controller ... (diff) | |
download | core-2e403aa51696d60aa1030498834b2d99a94db8fd.tar.gz core-2e403aa51696d60aa1030498834b2d99a94db8fd.tar.xz core-2e403aa51696d60aa1030498834b2d99a94db8fd.zip |
Bugfix in redirection in functions, moved ldap-stuff to ldap-functions
(at the moment not ash compatible), added special mkdxsinitrd.64bit
(hack for clean 64bit environment), put hint to runvmware (special
vmem file generated in tmpDirectory (of preferences), special check for
lib64 for Xorg in hwautocfg ...
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@456 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/initrd-stuff/etc/ldap-functions')
-rw-r--r-- | initramfs/initrd-stuff/etc/ldap-functions | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/initramfs/initrd-stuff/etc/ldap-functions b/initramfs/initrd-stuff/etc/ldap-functions new file mode 100644 index 00000000..d2b6753e --- /dev/null +++ b/initramfs/initrd-stuff/etc/ldap-functions @@ -0,0 +1,75 @@ +####################################################################### +# configuration via ldap +# get_timeranges: helper function for ldapconf, retrieving timeranges +# of machineconfig-objects under search base $1 (Host,Group,Default) +get_timeranges(){ +trquery=`ldapsearch -x -H ldap://$ldapserver -b $1 -D $user -w $pwd -LLL \ +"(objectclass=machineconfig)" Timerange|sed -n '/Tim*/p'|sed 's/TimeRange: /#/'` +} +# matching_timerange: helper function for ldapconf to get "most +# specific timerange" matching actual time +matching_timerange(){ +match=0 +lines=$[`echo $trquery | sed 's/#/\n#/g'|wc -l` -1] +for ((i=0;i<$lines;i++)) ; do + timerange[$i]=`echo $trquery | cut -d "#" -f $[$i+2] | sed 's/ //g'` +done +while true ; do + for ((i=0;i<$lines;i++)) ; do + trday=`echo ${timerange[i]} | cut -d "_" -f 1` + trbegin=`echo ${timerange[i]} | cut -d "_" -f 2` + trend=`echo ${timerange[i]} | cut -d "_" -f 3` + if [ $trday == $wday ] && [ $trday != "X" ] && [ $trbegin != "X" ] && \ + [ $trbegin -le $time ] && [ $time -le $trend ]; then + echo $wday $time "[D H H]match ->" ${timerange[i]} + tr=${timerange[i]} + match=1 && break + fi + done + if [ $match == 1 ] ; then break ; fi + for ((i=0;i<$lines;i++)) ; do + trday=`echo ${timerange[i]} | cut -d "_" -f 1` + trbegin=`echo ${timerange[i]} | cut -d "_" -f 2` + trend=`echo ${timerange[i]} | cut -d "_" -f 3` + if [ $trday == $wday ] && [ $trbegin == "X" ] && [ $trend == "X" ]; then + echo $wday $time "[D _ _]match ->" ${timerange[i]} + tr=${timerange[i]} + match=1 && break + fi + done + if [ $match == 1 ] ; then break ; fi + for ((i=0;i<$lines;i++)) ; do + trday=`echo ${timerange[i]} | cut -d "_" -f 1` + trbegin=`echo ${timerange[i]} | cut -d "_" -f 2` + trend=`echo ${timerange[i]} | cut -d "_" -f 3` + if [ $trday == "X" ] && [ $trbegin != "X" ] && [ $trbegin -le $time ] && \ + [ $time -le $trend ]; then + echo $wday $time "[_ H H]match ->" ${timerange[i]} + tr=${timerange[i]} + match=1 && break + else + if [ ${timerange[$i]} == "X_X_X" ]; then + echo $wday $time "[_ _ _]match ->" ${timerange[i]} + tr="X_X_X" && match=1 + else + match=0 + fi + fi + done + if [ $match == 1 ] || [ $match == 0 ] ; then break ; fi +done +} +# get_machineconfig: helper function for ldapconf, writing machine +# config data of one timerange $tr into file "tmp/confvialdap/$tr" +get_machineconfig(){ +ldapsearch -x -H ldap://$ldapserver -b $1 -D $user -w $pwd -LLL \ +"(&(objectclass=machineconfig)(timerange=$tr))"|sed '/dn:/d'|sed '/ou=/d'|\ +sed '/dc=/d'|sed '/objectC*/d'|sed '/Tim*/d'|sed '/cn:/d'|sed '/desc*/d'|sed \ +'s/: /=/g'|sed 's/-/_/g' > tmp/confvialdap/$tr +} + +ldapconf () { +local ldapserver=$1 +error "$error_ldapcfg" +echo "not implemented" > /tmp/ldap-done +} |