Global-Bind-User Patch für mod_auth_ldap (Apache 2.0.63) und mod_authnz_ldap (Apache 2.2.18) veröffentlicht

Heute habe ich es endlich geschafft, den Patch für mod_auth_ldap (Apache 2.0.63) und mod_authnz_ldap (Apache 2.2.18) auf Github zu veröffentlichen. Die Version für mod_auth_ldap hatte ich bereits vor zwei Jahren fertig gestellt, aber nie öffentlich zugänglich gemacht. Stattdessen schlummerte Kompilat und Sourcen in unserem Unternehmens-Repository.

Der Patch stellt drei Einstellungen für die Apache-Konfiguration zur Verfügung, die als Default für alle Verzeichnis-Absicherungen über mod_auth_ldap gelten. Damit spart man sich bei komplexen Konfigurationen jede Menge doppelten Code, z.B. wenn man viele Ordner hat, deren Zugriff auf immer verschiedene Active Directory-Gruppen eingeschränkt ist.

Da ich heute Ablenkung von Java brauchte, habe ich den alten Quellcode auf Apache 2.2.18 portiert. Dabei ist mir dann auch folgendes im Zusammenspiel mit der Kompilierung unter Visual Studio 2008 aufgefallen: Ich hatte die Apache.dsw geöffnet, den Patch eingespielt und dann versucht Das Projekt mod_authnz_ldap zu kompilieren. Allerdings brach die Kompilierung immer mit einem “rc.exe meldete Fehler 1” ab.
Nach kurzem Überprüfen der Log-Dateien stellte ich fest, dass die Präprozessordefinitionen für alle notwendigen Projekte (libhttpd, mod_ldap und mod_authnz_ldap) so nicht unterstützt werden. In den Definitionen steht z.B. BIN_NAME=”mod_authnz_ldap.so”, was allerdings auf der Kommandozeile zu … rc.exe /d “BIN_NAME=””mod_authnz_ldap.so”” … wird. Das Quoting ist also falsch. Deshalb musste ich alle Vorkommen der doppelten Anführungszeichen durch einfache Anführungszeichen innerhalb der Projekteigenschaften (Ressourcen > Allgemein > Präprozessordefinition) ersetzen. Danach funktionierte auch die Kompilierung.

Im Github-Repository des Patches liegen neben dem eigentlichen Patch auch die fertig kompilierten Module für Windows bereit, so dass man diese sofort nutzen kann.

Update 2012-01-19: In Version 2.2.21 ist der Fehler immer noch vorhanden.

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>