StartTLS with errors on 2.4.17
Michael Ströder
michael at stroeder.com
Mon Sep 14 22:00:53 CEST 2009
Hallo Ralf,
erst mal vielen Dank für Deine Analyse. Sorry for the noise...
Ralf Haferkamp wrote:
> LDAP_OPT_X_TLS macht was ganz anderes. Damit kann man soweit ich das sehe tls
> aktivieren ohne explizit start_tls() aufzurufen.
>
> Wenn ich jetzt in dem Testskript, vor dem ldap.initialize Aufruf das hier
> setze:
> ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT,ldap.OPT_X_TLS_DEMAND)
> Dann schlägt der start_tls_s-Aufruf wie erwartet fehl.
Hmmpf!
Ok, in 2.4.18 sind die ganzen Konstanten ja endlich dokumentiert.
> Das funktioniert aber nur als globale Option. AFAIK ist das so, weil die
> Bibliothek den TLS context nur einmal global initialisiert, und nicht pro
> Verbindung.
Das ist für mein multi-threaded web2ldap ziemlich Scheisse. Hatte ich schon
immer als offene Baustelle im Hinterkopf.
> In C kann man den TLS context über LDAP_OPT_X_TLS_NEWCTX neu
> erzeugen lassen, kann sein, dass es damit auch nach dem ldap_initialize
> funktionieren würde.
Auch als globale Option?
Habe jetzt mal in python-ldap die Unterstützung für ldap.OPT_X_TLS_NEWCTX
eingebaut. Funktioniert leider nicht, der Return-Code von ldap_set_option()
ist nicht Null. Kann auf die Schnelle nicht sagen, woran das liegt. Hast Du
das in C schon mal ausprobiert?
>> Spricht etwas dagegen in der ldap.conf Deiner Packages den Default-Wert so
>> zu setzen?
>>
>> TLS_REQCERT hard
> Der Testaufwand. Wahrscheinlich machen danach einige YaST Module Probleme.
> Aber prinzipiell wäre es am besten die Option TLS_REQCERT ganz rauszulassen
> (der default ist ja "hard").
Ja, am besten weglassen, da es ja so viele Komponenten betrifft.
Ciao, Michael.
More information about the python-ldap
mailing list