Patrick Ben Koetter schrieb:
* Marc Patermann <postfix-users@de.postfix.org>:
  
Patrick Ben Koetter schrieb:
    
* Marc Patermann <postfix-users@de.postfix.org>:
      
Johannes Grimm schrieb:
        
stimmt!

query_filter = (&(loginDisabled=FALSE)(uid=%u))
result_attribute = uid, loginDisabled

einfach ein zweites result_attribute dazu packen und schon gehts!
          
Wozu soll das gut sein?
Jetzt bekommst du neben uid - z.B. mmeier - auch noch "false" 
zurückgeliefert. Ich kann mich ja täuschen, aber versucht dann Postfix 
nicht auch an "false" zuzustellen?
        
Nein. Der Postfix smtpd wertet die Map als Liste aus. Die Tatsache, dass
jemand auf der Liste "steht" dient als Beweis - es handelt sich um einen
"valid recipient".
      
Ja, ok, in dem Fall ist dann das Ergebnis egal.
Trotzdem sollte es doch aber zwei Ergebnisse / Rückgabewerte geben, 
wovon eines immer "false" ist. (Jetzt nur auf die zwei Zeilen bezogen. 
Die Abfrage könnte ja auch in einer Virtual-Map o.ä stehen.)
    

Ja, stimmt.


  
result_attribute (default: maildrop)
               The attribute(s) Postfix will read from any  direc-
               tory entries returned by the lookup, to be resolved
               to an email address.

                   result_attribute = mailbox, maildrop

    

Bei allen Test kam nun auch immer ein "false" als mailadresse zurück


ldap:
filter: "(&(loginDisabled=FALSE)(uid=bak14512))"
    attribute: "uid"
    attribute: "loginDisabled"
(xxx.xxx.xxx.xxx:41940)(0x0002:0x63) Sending operation result 0:"":"" to connection 0x984ac620

postfix
sles postfix/local[9165]: CB1C82DC8E: to=<FALSE@testdomain.priv>, orig_to=<BaK14512@testdomain.priv>, relay=local, delay=0.14, delays=0.07/0.01/0/0.06, dsn=5.1.1, status=bounced (unknown user: "false")

Mir scheint als würde der Postfix keine boolean Abfrage machen bzw. keinen boolean wert empfangen (können)
Stattdessen wird der zurückgeliefert wert "false" vor das @ gesetzt, aber nicht ausgewertet.

auch wenn man als result_attribute das loginDisabled entfernt, wird es mit einem "false" aufgefüllt.
query_filter = (&(loginDisabled=FALSE)(uid=%u))
result_attribute = uid, loginDisabled
Korrekterweise sollte bei einer negative abfrage ja auch nur die uid geliefert werden.
und bei einem "true" sollte ein "user not found" das ergebnis sein.

kann postfix boolean werte auswerten???
    
Insofern ist es also egal, was (Wert, Anzahl von Werten) zurückgeliefert wird,
solange überhaupt was als Antwort geliefert wird.
      
Trotzdem ist ein zweiter Wert hier IMHO überflüssig, denn bedingt durch 
    

Ja, das ist er. Der Fehler war anfänglich IMO in der fehlerhaft gesetzen
Bedingung: loginDisabled=TRUE

Ich setze bei sowas immer loginEnabled und das ggf. auf FALSE. Mein Kopf tut
sich damit leichter ... ;)

  
die Abfrage erhalte ich für loginDisabled immer nur "false" zurück.
Ist loginDisabled für den Account "true" gibt die Abfrage ja kein 
Ergebnis zurück.
    


Genau.

p@rick

  


--
==============================================================

==============================================================

Hochschule für angewandte Wissenschaften - Fachhochschule Rosenheim

University of Applied Sciences

Rechenzentrum / Raum Sb 1.28

Johannes Grimm

Hochschulstr.1

D-83024 Rosenheim

Tel: +49-8031/805-229

Fax: +49-8031/805-223

http://www.hs-rosenheim.de/

johannes.grimm@fh-rosenheim.de

==============================================================