diff options
author | Dan Winship <danw@gnome.org> | 2012-12-09 13:23:25 +0100 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2013-01-12 09:45:12 -0500 |
commit | 38901ca5e684a8fac75e6ff740d45c82dd44181a (patch) | |
tree | 4c21c7f72901121181b293b1d926f94121704c72 | |
parent | 00170d90c72d0cd2e6fea434e88c03f8e09f7631 (diff) | |
download | libsoup-38901ca5e684a8fac75e6ff740d45c82dd44181a.tar.gz libsoup-38901ca5e684a8fac75e6ff740d45c82dd44181a.tar.bz2 libsoup-38901ca5e684a8fac75e6ff740d45c82dd44181a.zip |
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
-rw-r--r-- | libsoup/soup-uri.c | 2 | ||||
-rw-r--r-- | 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 28b3025c..fdb43785 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 892ee2b9..7992d70b 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¶m=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 } }, |