cvs commit: modperl-2.0/src/modules/perl modperl_env.c
dougm 2002/06/01 16:42:08 Modified:src/modules/perl modperl_env.c Log: pass the PATH and TZ environment variables at startup by default as 1.xx did Revision ChangesPath 1.25 +22 -0 modperl-2.0/src/modules/perl/modperl_env.c Index: modperl_env.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- modperl_env.c 30 May 2002 23:35:02 - 1.24 +++ modperl_env.c 1 Jun 2002 23:42:07 - 1.25 -85,10 +85,32 modperl_env_tie(mg_flags); } +/* list of environment variables to pass by default */ +static const char *MP_env_pass_defaults[] = { +PATH, TZ, NULL +}; + void modperl_env_configure_server(pTHX_ apr_pool_t *p, server_rec *s) { /* XXX: propagate scfg-SetEnv to environ */ MP_dSCFG(s); +int i = 0; + +for (i=0; MP_env_pass_defaults[i]; i++) { +const char *key = MP_env_pass_defaults[i]; +char *val; + +if (apr_table_get(scfg-SetEnv, key) || +apr_table_get(scfg-PassEnv, key)) +{ +continue; /* already configured */ +} + +if ((val = getenv(key))) { +apr_table_set(scfg-PassEnv, key, val); +} +} + modperl_env_table_populate(aTHX_ scfg-SetEnv); modperl_env_table_populate(aTHX_ scfg-PassEnv); }
cvs commit: modperl-2.0/src/modules/perl modperl_env.c
dougm 02/05/27 11:39:03 Modified:src/modules/perl modperl_env.c Log: propagate scfg-SetEnv to %ENV Revision ChangesPath 1.21 +26 -18modperl-2.0/src/modules/perl/modperl_env.c Index: modperl_env.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- modperl_env.c 19 Nov 2001 00:07:28 - 1.20 +++ modperl_env.c 27 May 2002 18:39:03 - 1.21 -62,9 +62,34 modperl_env_tie(mg_flags); } +static void modperl_env_table_populate(pTHX_ apr_table_t *table) +{ +HV *hv = ENVHV; +U32 mg_flags; +int i; +const apr_array_header_t *array; +apr_table_entry_t *elts; + +modperl_env_untie(mg_flags); + +array = apr_table_elts(table); +elts = (apr_table_entry_t *)array-elts; + +for (i = 0; i array-nelts; i++) { + if (!elts[i].key || !elts[i].val) { +continue; +} +modperl_env_hv_store(aTHX_ hv, elts[i]); +} + +modperl_env_tie(mg_flags); +} + void modperl_env_configure_server(pTHX_ apr_pool_t *p, server_rec *s) { /* XXX: propagate scfg-SetEnv to environ */ +MP_dSCFG(s); +modperl_env_table_populate(aTHX_ scfg-SetEnv); } #define overlay_subprocess_env(r, tab) \ -106,11 +131,6 void modperl_env_request_populate(pTHX_ request_rec *r) { MP_dRCFG; -HV *hv = ENVHV; -U32 mg_flags; -int i; -const apr_array_header_t *array; -apr_table_entry_t *elts; if (MpReqSETUP_ENV(rcfg)) { return; -124,19 +144,7 ap_add_common_vars(r); ap_add_cgi_vars(r); -modperl_env_untie(mg_flags); - -array = apr_table_elts(r-subprocess_env); -elts = (apr_table_entry_t *)array-elts; - -for (i = 0; i array-nelts; i++) { - if (!elts[i].key || !elts[i].val) { -continue; -} -modperl_env_hv_store(aTHX_ hv, elts[i]); -} - -modperl_env_tie(mg_flags); +modperl_env_table_populate(aTHX_ r-subprocess_env); #ifdef MP_COMPAT_1X modperl_env_default_populate(aTHX); /* reset GATEWAY_INTERFACE */
cvs commit: modperl-2.0/src/modules/perl modperl_env.c
dougm 02/05/27 17:35:00 Modified:src/modules/perl modperl_env.c Log: untabify Revision ChangesPath 1.23 +1 -1 modperl-2.0/src/modules/perl/modperl_env.c Index: modperl_env.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- modperl_env.c 27 May 2002 20:19:40 - 1.22 +++ modperl_env.c 28 May 2002 00:35:00 - 1.23 -76,7 +76,7 elts = (apr_table_entry_t *)array-elts; for (i = 0; i array-nelts; i++) { - if (!elts[i].key || !elts[i].val) { +if (!elts[i].key || !elts[i].val) { continue; } modperl_env_hv_store(aTHX_ hv, elts[i]);