#30819 [Csd]: Patch to properly support LDAP SASL binds
| From: | quanah at stanford dot edu | Date: | Tue, 26 Apr 2005 21:22:24 +0000 |
| Subject: | #30819 [Csd]: Patch to properly support LDAP SASL binds | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-78246@lists.php.net to get a copy of this message | ||
ID: 30819
User updated by: quanah at stanford dot edu
Reported By: quanah at stanford dot edu
Status: Closed
Bug Type: LDAP related
Operating System: *
PHP Version: 5CVS-2005-02-21
New Comment:
Tested this patch, and it worked fine for me.
--Quanah
Previous Comments:
------------------------------------------------------------------------
[2005-04-17 18:26:46] sniper@php.net
My patch is now committed to CVS.
------------------------------------------------------------------------
[2005-04-11 01:52:27] sniper@php.net
Please try this modified patch:
http://www.php.net/~jani/patches/bug30819.patch
I added some convenience constants and made all the
parameters optional (except for the 1st one).
I tried it with your script here but it didn't work for me.
------------------------------------------------------------------------
[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