This is a reminder, sent out once a month, about a previous APR 
patch submission.   It includes the patch, description, and how to 
use it to fix broken code.

Original patch post date:  Jul-18-2001

Description:

apr_uri_unparse_components can unparse components into an invalid
URI.  If the components contain either a user or password, the 
unparsed URI will always contain an '@' symbol.  This is incorrect,
since the UNP_OMITPASSWORD and UNP_OMITUSER flags can affect 
this functionality.  I.e. if the components contain either a user
or password, and flags to omit both the user and password from the
unparsed URI are given, the output should contain no '@' symbol.

The patch:

? uri/patch.diff
Index: uri/apr_uri.c
===================================================================
RCS file: /home/cvspublic/apr-util/uri/apr_uri.c,v
retrieving revision 1.6
diff -u -u -r1.6 apr_uri.c
--- uri/apr_uri.c       2001/06/13 22:56:23     1.6
+++ uri/apr_uri.c       2001/07/23 17:21:39
@@ -139,7 +139,9 @@
                        (uptr->password && !(flags & UNP_OMITPASSWORD))
                           ? ((flags & UNP_REVEALPASSWORD) ? uptr->password : 
"XXXXXXXX")
                           : "",
-                       "@", NULL);
+                       ((uptr->user && !(flags & UNP_OMITUSER)) ||
+                        (uptr->password && !(flags & UNP_OMITPASSWORD))) ? "@" 
+                        : "", NULL);
 
        /* Construct scheme://site string */
        if (uptr->hostname) {

Reply via email to