Fossil SCM

Make sure all CGI environment variables are loaded into the CGI cache prior to clearing the environment, when launching extension CGIs.

drh 2019-08-02 17:34 trunk
Commit c6b4d80e9c359498a4027057dcfac0e00cbe5fe7e16f53e4549330ae21ae56f9
1 file changed +3
--- src/extcgi.c
+++ src/extcgi.c
@@ -211,10 +211,13 @@
211211
cgi_set_parameter_nocopy("FOSSIL_URI", g.zTop, 0);
212212
cgi_set_parameter_nocopy("FOSSIL_CAPABILITIES",
213213
db_text("","SELECT fullcap(cap) FROM user WHERE login=%Q",
214214
g.zLogin ? g.zLogin : "nobody"), 0);
215215
cgi_replace_parameter("GATEWAY_INTERFACE","CGI/1.0");
216
+ for(i=0; i<sizeof(azCgiEnv)/sizeof(azCgiEnv[0]); i++){
217
+ (void)P(azCgiEnv[i]);
218
+ }
216219
fossil_clearenv();
217220
for(i=0; i<sizeof(azCgiEnv)/sizeof(azCgiEnv[0]); i++){
218221
const char *zVal = P(azCgiEnv[i]);
219222
if( zVal ) fossil_setenv(azCgiEnv[i], zVal);
220223
}
221224
--- src/extcgi.c
+++ src/extcgi.c
@@ -211,10 +211,13 @@
211 cgi_set_parameter_nocopy("FOSSIL_URI", g.zTop, 0);
212 cgi_set_parameter_nocopy("FOSSIL_CAPABILITIES",
213 db_text("","SELECT fullcap(cap) FROM user WHERE login=%Q",
214 g.zLogin ? g.zLogin : "nobody"), 0);
215 cgi_replace_parameter("GATEWAY_INTERFACE","CGI/1.0");
 
 
 
216 fossil_clearenv();
217 for(i=0; i<sizeof(azCgiEnv)/sizeof(azCgiEnv[0]); i++){
218 const char *zVal = P(azCgiEnv[i]);
219 if( zVal ) fossil_setenv(azCgiEnv[i], zVal);
220 }
221
--- src/extcgi.c
+++ src/extcgi.c
@@ -211,10 +211,13 @@
211 cgi_set_parameter_nocopy("FOSSIL_URI", g.zTop, 0);
212 cgi_set_parameter_nocopy("FOSSIL_CAPABILITIES",
213 db_text("","SELECT fullcap(cap) FROM user WHERE login=%Q",
214 g.zLogin ? g.zLogin : "nobody"), 0);
215 cgi_replace_parameter("GATEWAY_INTERFACE","CGI/1.0");
216 for(i=0; i<sizeof(azCgiEnv)/sizeof(azCgiEnv[0]); i++){
217 (void)P(azCgiEnv[i]);
218 }
219 fossil_clearenv();
220 for(i=0; i<sizeof(azCgiEnv)/sizeof(azCgiEnv[0]); i++){
221 const char *zVal = P(azCgiEnv[i]);
222 if( zVal ) fossil_setenv(azCgiEnv[i], zVal);
223 }
224

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button