Skip Menu |

This queue is for tickets about the URI CPAN distribution.

Report information
The Basics
Id: 79523
Status: new
Priority: 0/
Queue: URI

Owner: Nobody in particular
Requestors: MARSCHAP [...]

Bug Information
Severity: Normal
Broken in: 1.60
Fixed in: (no value)

Subject: incorrect parsing of extensions in URI::ldap
MIME-Version: 1.0
X-Mailer: MIME-tools 5.427 (Entity 5.427)
X-RT-Original-Encoding: utf-8
Content-Type: multipart/mixed; boundary="----------=_1347127743-9329-7"
Content-Length: 0
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: binary
Content-Length: 583
Download (untitled) / with headers
text/plain 583b
HI, according to RFC 4516, extensions in LDAP URIs are allowed to consist only of a NAME, and to leave away the =VALUE part. Unfortunately, the current version of URI::ldap does not reflect this. The attached patch tries to fix the issue by changing the regex that dies the parsing so that it parses the key, but leaves the value undefined. This way occurences of NAME alone and NAME= can be distinguished: * NAME parses to NAME => undef * NAME= parses to NAME => '' Thanks for considering the inclusion of this or a similar change into the next release of URI. Best Peter
Subject: URI-_LDAP.diff
MIME-Version: 1.0
Content-Type: application/octet-stream; name="URI-_LDAP.diff"
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline; filename="URI-_LDAP.diff"
Content-Transfer-Encoding: base64
Content-Length: 362
Download URI-_LDAP.diff
text/x-diff 362b
--- URI/ +++ URI/ 2012-09-05 22:10:40.994606469 +0200 @@ -81,7 +81,7 @@ @ext = join(",", @ext) if @ext; my $old = _ldap_elem($self,3, @ext); return $old unless wantarray; - map { uri_unescape($_) } map { /^([^=]+)=(.*)$/ } split(/,/,$old); + map { uri_unescape($_) } map { /^([^=]+)(?:$|=(.*)$)/ } split(/,/,$old); } sub canonical

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to