SoupURI: replace NULL password with "" on http
authorDan Winship <danw@gnome.org>
Sun, 9 Dec 2012 12:23:25 +0000 (13:23 +0100)
committerDan Winship <danw@gnome.org>
Sat, 12 Jan 2013 14:45:12 +0000 (09:45 -0500)
All supported HTTP auth methods use both username and password, so
assume a password of "" if none is given

libsoup/soup-uri.c
tests/uri-parsing.c

index 28b3025..fdb4378 100644 (file)
@@ -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;
index 892ee2b..7992d70 100644 (file)
@@ -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 } },