Disable connection-bound for basic-auth
authorIsaac Boukris <iboukris@gmail.com>
Sun, 7 Jun 2015 21:52:30 +0000 (00:52 +0300)
committerSimo Sorce <simo@redhat.com>
Mon, 8 Jun 2015 14:15:58 +0000 (10:15 -0400)
Clients don't expect this and therefore might inappropriately reuse the
connection for another user identity (with or without creds).

This is currently more of an issue due to issue 22, example:
curl -v http://myhost/ -u usera:passa --next http://myhost/ -u userb:passb

Closes #36

Reviewed-by: Simo Sorce <simo@redhat.com>
src/mod_auth_gssapi.c

index d351777..a88b653 100644 (file)
@@ -579,6 +579,10 @@ static int mag_auth(request_rec *req)
         goto done;
     }
     if (auth_type == AUTH_TYPE_BASIC) {
         goto done;
     }
     if (auth_type == AUTH_TYPE_BASIC) {
+        if (mc) {
+            apr_pool_cleanup_run(mc->parent, mc, mag_conn_destroy);
+            mc = NULL;
+        }
         while (maj == GSS_S_CONTINUE_NEEDED) {
             gss_release_buffer(&min, &input);
             /* output and input are inverted here, this is intentional */
         while (maj == GSS_S_CONTINUE_NEEDED) {
             gss_release_buffer(&min, &input);
             /* output and input are inverted here, this is intentional */