#30819 [Opn->Asn]: Patch to properly support LDAP SASL binds

From: Date: Sat, 22 Jan 2005 14:04:36 +0000
Subject: #30819 [Opn->Asn]: Patch to properly support LDAP SASL binds
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-72665@lists.php.net to get a copy of this message
 ID:               30819
 Updated by:       sniper@php.net
 Reported By:      quanah at stanford dot edu
-Status:           Open
+Status:           Assigned
 Bug Type:         LDAP related
 Operating System: ALL
 PHP Version:      5.0.2
-Assigned To:      
+Assigned To:      sniper


Previous Comments:
------------------------------------------------------------------------

[2004-11-18 00:50:52] dhawes at vt dot edu

I attempted to get a similar patch submitted last May, but discussion
came to a standstill.  Quanah and I have tested this with GSSAPI,
EXTERNAL, and (I believe) DIGEST-MD5.  I would like to see this patch
included in PHP so I can stop requiring users to patch their source.

------------------------------------------------------------------------

[2004-11-18 00:16:46] quanah at stanford dot edu

Description:
------------
Hello,

I've written a patch against PHP-5.0.2 that properly impelments LDAP
SASL binds for all mechanisms.  The current code in 5.0.2 does not
support LDAP SASL binds at all, although the function exists.

The patch can be found at:

http://www.stanford.edu/services/directory/clients/examples/ldap-sasl

It follows the PHP development guidelines.

This patch has been tested with multiple SASL authentication
mechanisms.

Regards,
Quanah

Reproduce code:
---------------
#!/usr/local/bin/php
<?php
$ldap = ldap_connect("ldap.stanford.edu");
if($ldap) {
   $r = ldap_bind($ldap);
} else {
  echo "Unable to connect!";
}

ldap_set_option($ldap,LDAP_OPT_PROTOCOL_VERSION,3);

if (ldap_sasl_bind($ldap,"","","GSSAPI"))
{
    $dn = "cn=people,dc=stanford,dc=edu";
    $filter = "(|(susearchid=$WEBAUTH_USER)(mail=$WEBAUTH_USER@*))";
    $result = ldap_search($ldap, $dn, $filter);
   
    if ($result)
    {
       echo "Number of entries returned is " .
ldap_count_entries($ldap, $result) . "<br />";
       print("\n");
       $info = ldap_get_entries($ldap,$result);
       echo "Data for " . $info["count"] . " items
returned:<p>";
       print("\n");
       
       for($i=0;$i<$info["count"];$i++) {
           echo "dn is: " . $info[$i]["dn"] . "<br />";
           print("\n");
           echo "first cn entry is: " . $info[$i]["cn"][0] . "<br
/>";
           print("\n");
           echo "first email is: " . $info[$i]["mail"][0] . "<br />
<hr
/>";
           print("\n");
       }
    }
       
ldap_close($ldap);
}
?>

Expected result:
----------------
I'd expect this to work in PHP

Actual result:
--------------
Doesn't work at all without my patch.

Works correctly with my patch.



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30819&edit=1


Thread (7 messages)

« previous php.bugs (#72665) next »