Don't continue on empty context (other problem with certificate when checking VOMS...
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Mon, 1 Feb 2010 20:10:02 +0000 (20:10 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Mon, 1 Feb 2010 20:10:02 +0000 (20:10 +0000)
org.glite.lb.server/src/bkserverd.c

index a0d0be9..4fad1b7 100644 (file)
@@ -937,9 +937,16 @@ int bk_handle_connection(int conn, struct timeval *timeout, void *data)
                char *errt, *errd;
 
                edg_wll_Error(ctx, &errt, &errd);
-               dprintf(("[%d] %s (%s)\n[%d]\tignored, continuing without VOMS\n", getpid(), errt, errd,getpid()));
-               free(errt); free(errd);
-               edg_wll_ResetError(ctx); 
+               if (ctx->connections->serverConnection->gss.context != GSS_C_NO_CONTEXT) {
+                       dprintf(("[%d] %s (%s)\n[%d]\tignored, continuing without VOMS\n", getpid(), errt, errd,getpid()));
+                       free(errt); free(errd);
+                       edg_wll_ResetError(ctx); 
+               } else {
+                       dprintf(("[%d] %s (%s)\n[%d]\trequest aborted\n", getpid(), errt, errd,getpid()));
+                       free(errt); free(errd);
+                       edg_wll_FreeContext(ctx);
+                       return 1;
+               }
        }
        if (debug && ctx->vomsGroups.len > 0)
        {