summaryrefslogtreecommitdiff
path: root/libsoup/auth/soup-auth-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup/auth/soup-auth-manager.c')
-rw-r--r--libsoup/auth/soup-auth-manager.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libsoup/auth/soup-auth-manager.c b/libsoup/auth/soup-auth-manager.c
index 8c02c0ca..22dd56b2 100644
--- a/libsoup/auth/soup-auth-manager.c
+++ b/libsoup/auth/soup-auth-manager.c
@@ -554,8 +554,10 @@ authenticate_auth (SoupAuthManager *manager, SoupAuth *auth,
/* If a password is specified explicitly in the URI, use it
* even if the auth had previously already been authenticated.
*/
- if (g_uri_get_password (uri) && g_uri_get_user (uri)) {
- soup_auth_authenticate (auth, g_uri_get_user (uri), g_uri_get_password (uri));
+ if (g_uri_get_user (uri)) {
+ const char *password = g_uri_get_password (uri);
+ soup_auth_authenticate (auth, g_uri_get_user (uri), password ? password : "");
+
GUri *new_uri = soup_uri_copy (uri, SOUP_URI_USER, NULL, SOUP_URI_PASSWORD, NULL, SOUP_URI_NONE);
soup_message_set_uri (msg, new_uri); // QUESTION: This didn't emit a signal previously
g_uri_unref (new_uri);