KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /etc/autofs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //etc/autofs/include_ldap
#!/bin/sh
#
#

# Modify this to suit your needs.  The "$1" is the map name, eg. "auto_master".
# To debug, simply run this script with map name as the only parameter.  It's
# supposed to output map contents ("key location" pairs) to standard output.
SEARCHBASE="ou=$1,dc=example,dc=com"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"

/usr/local/bin/ldapsearch -LLL -x -o ldif-wrap=no -b "$SEARCHBASE" "$ENTRY_ATTRIBUTE" "$VALUE_ATTRIBUTE" | awk '
$1 == "'$ENTRY_ATTRIBUTE':" {
	key = $2
}

$1 == "'$VALUE_ATTRIBUTE':" {
	for (i = 2; i <= NF; i++) {
		value[i] = $(i)
	}
	nvalues = NF
	b64 = 0
}

# Double colon after attribute name means the value is in Base64.
$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
	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
	}
}

NF == 0 {
	key = ""
	nvalues = 0
	delete value
}
'

Anon7 - 2021