]> git.pld-linux.org Git - packages/cgiwrap.git/blame - cgiwrap-fetch.patch
- updated
[packages/cgiwrap.git] / cgiwrap-fetch.patch
CommitLineData
50be92f1 1--- fetch.c 2008-06-16 16:34:37.000000000 +0200
2+++ fetch.c.new 2009-05-19 02:35:48.473000809 +0200
3@@ -30,18 +30,34 @@
4 char *pathInfoString;
5 char *queryString;
6 char *userStr;
7+ char *pch;
8+ char *p[3];
9+ int i=0;
10
11 DEBUG_Msg("\n");
12
13 userStr = (char *) 0;
14- pathInfoString = getenv("PATH_INFO");
15+ //pathInfoString = getenv("PATH_INFO");
16+ pathInfoString = getenv("PATH_TRANSLATED");
17 if ( pathInfoString ) /* use PATH_INFO */
18 {
19 if ( pathInfoString[0] != 0 )
20 {
21- DEBUG_Msg("Trying to extract user from PATH_INFO.");
22+ DEBUG_Msg("Trying to extract user from PATH_TRANSLATED.");
23+
24+ userStr = GetPathComponents(3, pathInfoString);
25+ DEBUG_Str("userstr1", userStr);
26+
27+ pch = strtok(userStr, "/");
28+
29+ while (pch != NULL) {
30+ p[i] = pch;
31+ pch = strtok (NULL, "/");
32+ i++;
33+ }
34
35- userStr = GetPathComponents(1, pathInfoString);
36+ userStr = p[2];
37+ DEBUG_Str("userstr2", userStr);
38 }
39 else
40 {
41@@ -68,9 +84,10 @@
42 /* Handle ~ notation */
43 if (userStr)
44 {
45- if (userStr[0] == '~')
46+ DEBUG_Str("userstr3", userStr);
47+ if (userStr[0] == 'home')
48 {
49- userStr++;
50+ userStr = userStr + 2;
51 }
52 }
53
54@@ -100,7 +117,7 @@
55 DEBUG_Msg("Trying to extract script from PATH_INFO");
56
57 scrStr = StripPathComponents(1,pathInfoString);
58- if ( ! strlen(scrStr) ) { scrStr = 0; }
59+ if ( ! strlen(scrStr) ) { scrStr = StripPathComponents(0,pathInfoString); }
60
61 DEBUG_Str("Extracted PATH_INFO", scrStr);
62 }
This page took 0.064288 seconds and 4 git commands to generate.