summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libsoup/soup-uri.c2
-rw-r--r--tests/uri-parsing.c12
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&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 } },