mf
[matches/MCTX3420.git] / server / fastcgi.c
index f68bc4f..af92efd 100644 (file)
@@ -197,18 +197,17 @@ void FCGI_GetControlCookie(char buffer[CONTROL_KEY_BUFSIZ])
        const char *cookies = getenv("COOKIE_STRING");
        const char *start = strstr(cookies, "mctxkey=");
 
+       *buffer = 0; //Clear the buffer
        if (start != NULL) {
-               const char *end;
-               size_t limit = CONTROL_KEY_BUFSIZ;
-               start += 8; //Ah, magic numbers (the length of mctxkey= - 1)
-               end = strchr(start, ';');
-               if (end != NULL && (end-start) < CONTROL_KEY_BUFSIZ) {
-                       limit = (end-start) + 1;
+               int i;
+               start += 8; //length of mctxkey=
+               for (i = 0; i < CONTROL_KEY_BUFSIZ; i++) {
+                       if (*start == 0 || *start == ';') {
+                               break;
+                       }
+                       buffer[i] = *start++;
                }
-               snprintf(buffer, limit, "%s", start);
-               Log(LOGDEBUG, "buf: %s", buffer);
-       } else {
-               *buffer = 0;
+               buffer[i] = 0;
        }
 }
 
@@ -592,7 +591,7 @@ void * FCGI_RequestLoop (void *data)
                
                if (module_handler) 
                {
-                       if (module_handler != Login_Handler && module_handler != IdentifyHandler && module_handler)
+                       if (g_options.auth_method != AUTH_NONE && module_handler != Login_Handler && module_handler != IdentifyHandler && module_handler)
                        //if (false) // Testing
                        {
                                if (!FCGI_HasControl(&context))

UCC git Repository :: git.ucc.asn.au