Package: libnss-ldap
Version: 251-1

After upgrading the package, the postinst-script return the following
error.

ape29:/home/jan# apt-get --reinstall install libnss-ldap
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen
und 0 nicht aktualisiert.
Es müssen 95,7kB Archive geholt werden.
Nach dem Auspacken werden 0B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? J
Hole:1 http://194.97.2.69 unstable/main libnss-ldap 251-1 [95,7kB]
Es wurden 95,7kB in 0s geholt (162kB/s)
Vorkonfiguration der Pakete ...
(Lese Datenbank ... 111081 Dateien und Verzeichnisse sind derzeit
installiert.)
Vorbereiten zum Ersetzen von libnss-ldap 251-1
(durch .../libnss-ldap_251-1_i386.deb) ...
Entpacke Ersatz für libnss-ldap ...
Richte libnss-ldap ein (251-1) ...
Bareword found where operator expected at -e line 1, near
"s-^base .*-base dc=ape29,dc=pdc,dc=autohaus-geisser"
Can't modify constant item in scalar assignment at -e line 1, near
"pdc,"
syntax error at -e line 1, near "s-^base .*-base
dc=ape29,dc=pdc,dc=autohaus-geisser"
Execution of -e aborted due to compilation errors.
dpkg: Fehler beim Bearbeiten von libnss-ldap (--configure):
 Unterprozess post-installation script gab den Fehlerwert 255 zurück
Fehler traten auf beim Bearbeiten von:
 libnss-ldap
E: Sub-process /usr/bin/dpkg returned an error code (1)
ape29:/home/jan#

The Problem is the hypher in the base. To correct the bug you must
escape the hypher in the regex.

The attachment is the patch who fix the bug. At least I think so ;-)

Im am using Debian GNU/Linux unstable, kernel 2.6.16-1-686-smp and
libc6 2.3.6-15.
--- libnss-ldap.postinst_old	2006-06-23 12:59:16.000000000 +0200
+++ libnss-ldap.postinst	2006-06-23 13:04:14.000000000 +0200
@@ -24,6 +24,8 @@
 	value=`echo $value | sed -s 's#\\\#\\\\\\\#g'`
 	# then the slashes
 	value=`echo $value | sed -s 's#/#\\\/#g'`
+	# escape hyphen in domainnames for later regex compat (ex. example-city.net)
+	value=`echo $value | sed -s 's#-#\\\-#g'`
 
 	egrep -i -q "^$parameter " $CONFFILE || notthere=1
 	if [ "$notthere" = "1" ]; then

Reply via email to