[SoupAuthDigest] don't crash if the server supports qop="auth,auth-int"
authorDan Winship <danw@gnome.org>
Wed, 16 Dec 2009 12:23:17 +0000 (13:23 +0100)
committerDan Winship <danw@gnome.org>
Wed, 16 Dec 2009 12:23:17 +0000 (13:23 +0100)
pointed out on libsoup-list

libsoup/soup-auth-digest.c

index 4fb3f81..2299ae7 100644 (file)
@@ -178,7 +178,7 @@ update (SoupAuth *auth, SoupMessage *msg, GHashTable *auth_params)
                /* We only support auth */
                if (!(qop_options & SOUP_AUTH_DIGEST_QOP_AUTH))
                        ok = FALSE;
-               priv->qop = qop_options;
+               priv->qop = SOUP_AUTH_DIGEST_QOP_AUTH;
        } else
                priv->qop = 0;
 
@@ -374,8 +374,8 @@ soup_auth_digest_compute_response (const char        *method,
                g_checksum_update (checksum, (guchar *)cnonce, strlen (cnonce));
                g_checksum_update (checksum, (guchar *)":", 1);
 
-               if (qop != SOUP_AUTH_DIGEST_QOP_AUTH)
-                       g_assert_not_reached ();
+               if (!(qop & SOUP_AUTH_DIGEST_QOP_AUTH))
+                       g_warn_if_reached ();
                g_checksum_update (checksum, (guchar *)"auth", strlen ("auth"));
                g_checksum_update (checksum, (guchar *)":", 1);
        }