Only use POST for login, and only if the GET string is empty
authorJeremy Tan <[email protected]>
Thu, 24 Oct 2013 11:37:32 +0000 (19:37 +0800)
committerJeremy Tan <[email protected]>
Thu, 24 Oct 2013 11:37:32 +0000 (19:37 +0800)
Fix 'friendly name' too.

server/fastcgi.c
testing/MCTXWeb/public_html/static/mctx.gui.js

index 19d2869..94742bd 100644 (file)
@@ -591,10 +591,8 @@ void * FCGI_RequestLoop (void *data)
                //strncpy doesn't zero-truncate properly
                snprintf(module, BUFSIZ, "%s", getenv("DOCUMENT_URI_LOCAL"));
                
-               //Read from post body. If not empty, try GET instead.
-               if (fgets(params, BUFSIZ, stdin) == NULL || *params == '\0') {
-                       snprintf(params, BUFSIZ, "%s", getenv("QUERY_STRING"));
-               }
+               //Get the GET query string
+               snprintf(params, BUFSIZ, "%s", getenv("QUERY_STRING"));
                //URL decode the parameters
                FCGI_URLDecode(params);
 
@@ -653,6 +651,13 @@ void * FCGI_RequestLoop (void *data)
                                //Escape all special characters.
                                //Don't escape for login (password may have special chars?)
                                FCGI_EscapeText(params);
+                       } else { //Only for Login handler.
+                               //If GET data is empty, use POST instead.
+                               if (*params == '\0') {
+                                       Log(LOGDEBUG, "Using POST!");
+                                       fgets(params, BUFSIZ, stdin); 
+                                       FCGI_URLDecode(params);
+                               }
                        }
 
                        module_handler(&context, params);
index 3df2bac..c64f3c4 100644 (file)
@@ -123,7 +123,7 @@ function runBeforeLoad(isLoginPage) {
                 window.location = mctx.location + "login.html";
             }
         } else {
-            mctx.friendlyName = data.friendly_name;
+            mctx.friendlyName = data.user_name;
         }
     }).fail(function (jqHXR) {
         if (mctx.debug) {

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