[libsoup] SoupURI: replace NULL password with "" on http



commit 38901ca5e684a8fac75e6ff740d45c82dd44181a
Author: Dan Winship <danw gnome org>
Date:   Sun Dec 9 13:23:25 2012 +0100

    SoupURI: replace NULL password with "" on http
    
    All supported HTTP auth methods use both username and password, so
    assume a password of "" if none is given

 libsoup/soup-uri.c  |    2 ++
 tests/uri-parsing.c |   12 ++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c
index 28b3025..fdb4378 100644
--- a/libsoup/soup-uri.c
+++ b/libsoup/soup-uri.c
@@ -434,6 +434,8 @@ soup_uri_new_with_base (SoupURI *base, const char *uri_string)
 	    uri->scheme == SOUP_URI_SCHEME_HTTPS) {
 		if (!uri->path)
 			uri->path = g_strdup ("/");
+		if (uri->user && !uri->password)
+			uri->password = g_strdup ("");
 		if (!SOUP_URI_VALID_FOR_HTTP (uri)) {
 			soup_uri_free (uri);
 			return NULL;
diff --git a/tests/uri-parsing.c b/tests/uri-parsing.c
index 892ee2b..7992d70 100644
--- a/tests/uri-parsing.c
+++ b/tests/uri-parsing.c
@@ -23,15 +23,15 @@ static struct {
 	{ "ftp://user:password host", "ftp://user host",
 	  { "ftp", "user", "password", "host", 21, "", NULL, NULL } },
 	{ "http://us%65r host", "http://user host/",
-	  { "http", "user", NULL, "host", 80, "/", NULL, NULL } },
+	  { "http", "user", "", "host", 80, "/", NULL, NULL } },
 	{ "http://us%40r host", "http://us%40r host/",
-	  { "http", "us\x40r", NULL, "host", 80, "/", NULL, NULL } },
+	  { "http", "us\x40r", "", "host", 80, "/", NULL, NULL } },
 	{ "http://us%3ar host", "http://us%3Ar host/",
-	  { "http", "us\x3ar", NULL, "host", 80, "/", NULL, NULL } },
+	  { "http", "us\x3ar", "", "host", 80, "/", NULL, NULL } },
 	{ "http://us%2fr host", "http://us%2Fr host/",
-	  { "http", "us\x2fr", NULL, "host", 80, "/", NULL, NULL } },
+	  { "http", "us\x2fr", "", "host", 80, "/", NULL, NULL } },
 	{ "http://us%3fr host", "http://us%3Fr host/",
-	  { "http", "us\x3fr", NULL, "host", 80, "/", NULL, NULL } },
+	  { "http", "us\x3fr", "", "host", 80, "/", NULL, NULL } },
 	{ "http://host?query";, "http://host/?query";,
 	  { "http", NULL, NULL, "host", 80, "/", "query", NULL } },
 	{ "http://host/path?query=http%3A%2F%2Fhost%2Fpath%3Fchildparam%3Dchildvalue&param=value";,
@@ -122,7 +122,7 @@ static struct {
 	  { "http", NULL, NULL, "", 80, "//////////////", NULL, NULL } },
 
 	{ "http://@host";, "http://@host/";,
-	  { "http", "", NULL, "host", 80, "/", NULL, NULL } },
+	  { "http", "", "", "host", 80, "/", NULL, NULL } },
 	{ "http://:@host";, "http://@host/";,
 	  { "http", "", "", "host", 80, "/", NULL, NULL } },
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]