Date: Sat, 21 Mar 2015 09:42:38 +0000 (UTC) From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r280321 - head/etc/autofs Message-ID: <201503210942.t2L9gcLO007811@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: trasz Date: Sat Mar 21 09:42:37 2015 New Revision: 280321 URL: https://svnweb.freebsd.org/changeset/base/280321 Log: Make the autofs LDAP script cope with server returning entries with ENTRY_ATTRIBUTE (eg cn) after the VALUE_ATTRIBUTE (eg automountInformation), instead of before. PR: 198557 MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/etc/autofs/include_ldap Modified: head/etc/autofs/include_ldap ============================================================================== --- head/etc/autofs/include_ldap Sat Mar 21 06:44:41 2015 (r280320) +++ head/etc/autofs/include_ldap Sat Mar 21 09:42:37 2015 (r280321) @@ -15,24 +15,41 @@ $1 == "'$ENTRY_ATTRIBUTE':" { key = $2 } -$1 == "'$VALUE_ATTRIBUTE':" && key { - printf "%s%s", key, OFS - key = "" - for (i=2; i<NF; i++) { - printf "%s%s", $(i), OFS +$1 == "'$VALUE_ATTRIBUTE':" { + for (i = 2; i <= NF; i++) { + value[i] = $(i) } - printf "%s%s", $NF, ORS + nvalues = NF + b64 = 0 } # Double colon after attribute name means the value is in Base64. -$1 == "'$VALUE_ATTRIBUTE'::" && key { +$1 == "'$VALUE_ATTRIBUTE'::" { + for (i = 2; i <= NF; i++) { + value[i] = $(i) + } + nvalues = NF + b64 = 1 +} + +# Empty line - end of record. +NF == 0 && key != "" && nvalues > 0 { printf "%s%s", key, OFS - key = "" - for (i=2; i<NF; i++) { - printf "%s%s", $(i), OFS + for (i = 2; i < nvalues; i++) { + printf "%s%s", value[i], OFS + } + if (b64 == 1) { + printf "%s", value[nvalues] | "b64decode -rp" + close("b64decode -rp") + printf "%s", ORS + } else { + printf "%s%s", value[nvalues], ORS } - printf "%s", $NF | "b64decode -rp" - close("b64decode -rp") - printf "%s", ORS +} + +NF == 0 { + key = "" + nvalues = 0 + delete value } '
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503210942.t2L9gcLO007811>