php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #5001 String parameter data of LDAP function calls is corrupted
Submitted: 2000-06-13 14:12 UTC Modified: 2000-07-07 13:11 UTC
From: johan dot troedsson at ei dot sigma dot se Assigned: venaas (profile)
Status: Closed Package: LDAP related
PHP Version: 4.0 Release Candidate 2 OS: Linux Redhat 5.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: johan dot troedsson at ei dot sigma dot se
New email:
PHP Version: OS:

 

 [2000-06-13 14:12 UTC] johan dot troedsson at ei dot sigma dot se
When I create the array and strings that goes into several LDAP calls, I typically type:

$dataA[$key] = utf8_encode($value);
$searchbase = utf8_encode($dn);
etc.

This worked fine in PHP3, but in PHP4 the data transmitted is (sometimes?) corrupt as it reaches the LDAP Server. I circumvented the problem by using the trim() function on every string value (also in the arrays), before passing them to the PHP LDAP functions.

E.g.
o=Company Sigma becomes o=Company Sigma??*9 
st=Oresund becomes st=Oresund2??*09:3 

The appended characters seems to be arbitrary binary values. When trying to retrieve one of the nodes holding these values, an LDAP "Decoding error" is returned.

Config line:
./configure \
--with-apache=../apache_1.3.12 \
--with-pgsql \
--with-mhash \
--with-ldap \
--disable-short-tags \
--enable-track-vars \
--enable-memory-limit=yes

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-06-13 21:42 UTC] venaas at cvs dot php dot net
Think I found the bug, I've fixed it in CVS, please test it. The problem
was in ldap_add (and ldap_modify), and had to do with strings not
being terminated properly.

Stig

 [2000-06-19 13:28 UTC] johan dot troedsson at ei dot sigma dot se
I fetched the ldap.c file from the CVS and compiled it into a new Apache (static). But then the ldap_add function doesn't work at all for me. So, I have returned to the original release version, trimming all the string data before feeding it to the PHP LDAP API. I haven't tested it too much though.

/Johan
 [2000-06-20 12:57 UTC] johan dot troedsson at ei dot sigma dot se
After some more thorough testing, the trim workaround failed (sometimes gets the LDAP error "Decoding error" when using ldap_search). So I'm back to PHP3 where everything works fine, either with or without trims.

/Johan
 [2000-07-07 13:11 UTC] johan dot troedsson at ei dot sigma dot se
When analysing the problem further, I found that the corrupted bit is solved. A decoding error situation remains, described in bug report 5433.

/Johan
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC