Author: shadzik                      Date: Tue May 19 01:00:45 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- fix user detection and script detection if URL is vhost

---- Files affected:
packages/cgiwrap:
   cgiwrap-fetch.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/cgiwrap/cgiwrap-fetch.patch
diff -u /dev/null packages/cgiwrap/cgiwrap-fetch.patch:1.1
--- /dev/null   Tue May 19 03:00:45 2009
+++ packages/cgiwrap/cgiwrap-fetch.patch        Tue May 19 03:00:40 2009
@@ -0,0 +1,62 @@
+--- fetch.c    2008-06-16 16:34:37.000000000 +0200
++++ fetch.c.new        2009-05-19 02:35:48.473000809 +0200
+@@ -30,18 +30,34 @@
+       char *pathInfoString;
+       char *queryString;
+       char *userStr;
++      char *pch;
++      char *p[3];
++      int i=0;
+ 
+       DEBUG_Msg("\n");
+ 
+       userStr = (char *) 0;
+-      pathInfoString = getenv("PATH_INFO");
++      //pathInfoString = getenv("PATH_INFO");
++      pathInfoString = getenv("PATH_TRANSLATED");
+       if ( pathInfoString )  /* use PATH_INFO */
+       {
+               if ( pathInfoString[0] != 0 )
+               {
+-                      DEBUG_Msg("Trying to extract user from PATH_INFO.");
++                      DEBUG_Msg("Trying to extract user from 
PATH_TRANSLATED.");
++
++                      userStr = GetPathComponents(3, pathInfoString);
++              DEBUG_Str("userstr1", userStr);
++
++                      pch = strtok(userStr, "/");
++
++                      while (pch != NULL) {
++                              p[i] = pch;
++                              pch = strtok (NULL, "/");
++                              i++;
++                      }
+ 
+-                      userStr = GetPathComponents(1, pathInfoString);
++                      userStr = p[2];
++              DEBUG_Str("userstr2", userStr);
+               }
+               else
+               {
+@@ -68,9 +84,10 @@
+ /* Handle ~ notation */
+       if (userStr)
+       {
+-              if (userStr[0] == '~')
++              DEBUG_Str("userstr3", userStr);
++              if (userStr[0] == 'home')
+               {
+-                      userStr++;
++                      userStr = userStr + 2;
+               }
+       }
+ 
+@@ -100,7 +117,7 @@
+                       DEBUG_Msg("Trying to extract script from PATH_INFO");
+ 
+                       scrStr = StripPathComponents(1,pathInfoString);
+-                      if ( ! strlen(scrStr) ) { scrStr = 0; }
++                      if ( ! strlen(scrStr) ) { scrStr = 
StripPathComponents(0,pathInfoString); }
+ 
+                       DEBUG_Str("Extracted PATH_INFO", scrStr);
+               }
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to