]> git.nbdom.net Git - nb.git/commitdiff
lib/awk/base64decode.awk
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 1 Dec 2017 06:07:17 +0000 (06:07 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 1 Dec 2017 06:07:17 +0000 (06:07 +0000)
etc/profile.d/ldap.sh
lib/awk/ldap2csv.awk

index f452ce85c7ed72aa71535936629ee9385cd32779..9e630c58587d3fc15667fe6eb1151b6753e225f5 100644 (file)
@@ -93,10 +93,12 @@ ldap_gup() {
 
   local args
   slapcat_csv '(&(objectClass=posixGroup)(memberUid=*))' cn memberUid | while read -r -a line; do
+
     group=${line[0]}
     line=("${line[@]:1}") # shift
+
     for uid in ${line[*]}; do
-      #slapcat_csv "(&(uid=$uid)(userPassword=*))" userPassword
+      #echo slapcat_csv "(&(uid=$uid)(userPassword=*))" userPassword
       pass=$(slapcat_csv "(&(uid=$uid)(userPassword=*))" userPassword)
       echo $group $uid $pass
     done
index 9fba2c2f3469121849d54599f098a28a621be158..d34111aec06b087efbe0df9e79ed350196c1844b 100755 (executable)
@@ -7,6 +7,9 @@ BEGIN {
   PRINT_HEAD = 0
 }
 
+function header() {
+}
+
 /^$/ {
 
   if (FOUND == 0) {
@@ -16,11 +19,9 @@ BEGIN {
 
   if (PRINT_HEAD == 1 && !count) {
     line = ""
-    #for (i in fields) {
     split(filter,values," ")
     for (i in values) {
       i = values[i]
-      sub(/:$/,"",i)
       line = line"\t"i
     }
     sub(/^\t/,"",line)
@@ -34,16 +35,8 @@ BEGIN {
   split(filter,values," ")
   for (i in values) {
     i = values[i]
-  #for (i in fields) {
-
-    if (i ~ /:$/) {
-# NB 01.12.17       cmd="echo "h[i]" | base64 -d"
-# NB 01.12.17       cmd | getline x
-# NB 01.12.17       close(cmd)
-# NB 01.12.17       h[i] = x
-      h[i] = base64decode(h[i])
-    }
 
+    if (B64[i] == 1) h[i] = base64decode(h[i])
     line = line"\t"h[i]
   }
 
@@ -60,16 +53,33 @@ BEGIN {
 /: / && !/^(objectClass_): / {
 
   FOUND = 1
+
+  line = $0
+  sub(/^.*?: /,"",line) 
+  sub(/\t/,"  ",line)
+  sub(/[ \r\n]+$/,"",line)
+  #gsub(/\r?\n/,"$",line)
+
   field = $1
-  sub(/^.*?: /,"",$0) 
-  sub(/\t/,"  ",$0)
-  sub(/[ \r\n]+$/,"",$0)
-  #gsub(/\r?\n/,"$",$0)
+  # Base64
+  B64[field] = 0
+  if (field ~ /:$/) {
+#print ">>>>"field
+# NB 01.12.17       cmd="echo "line" | base64 -d"
+# NB 01.12.17       cmd | getline x
+# NB 01.12.17       close(cmd)
+# NB 01.12.17       line = x
+    #line = base64decode(line)
+#print "<<<<"line
+    sub(/:$/,"",field)
+    B64[field] = 1
+  }
+
 
   if (field in h && h[field] != "") {
-    h[field] = h[field]""CONCAT""$0
+    h[field] = h[field]""CONCAT""line
   } else {
-    h[field] = $0
+    h[field] = line
     if (PFIELDS_OK == 0) filter = filter" "field
   }