cvs commit: modperl/src/modules/perl perl_config.c
dougm 02/03/24 12:45:18 Modified:.Changes STATUS src/modules/perl perl_config.c Log: Submitted by: Salvador Ortiz Garcia [EMAIL PROTECTED] Reviewed by: dougm fix multiple %LocationMatch in Perl sections bug Revision ChangesPath 1.630 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.629 retrieving revision 1.630 diff -u -r1.629 -r1.630 --- Changes 24 Mar 2002 19:06:03 - 1.629 +++ Changes 24 Mar 2002 20:45:17 - 1.630 @@ -10,6 +10,9 @@ =item 1.26_01-dev +fix multiple %LocationMatch in Perl sections bug +[Salvador Ortiz Garcia [EMAIL PROTECTED]] + rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't need and apache won't compile with [Stas Bekman [EMAIL PROTECTED]] 1.6 +1 -7 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- STATUS24 Mar 2002 18:22:56 - 1.5 +++ STATUS24 Mar 2002 20:45:17 - 1.6 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 18:22:56 $] + Last modified at [$Date: 2002/03/24 20:45:17 $] Release: @@ -20,12 +20,6 @@ Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 - -* %LocationMatch Perl bug -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=98260537428737w=2 - Status: - may be fixed here -http://marc.theaimsgroup.com/?l=apache-modperlm=101366182205497w=2 * PVIV issues Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2 1.112 +6 -3 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.111 retrieving revision 1.112 diff -u -r1.111 -r1.112 --- perl_config.c 11 Jul 2001 03:02:26 - 1.111 +++ perl_config.c 24 Mar 2002 20:45:17 - 1.112 @@ -1166,6 +1166,8 @@ char *tmpkey; I32 tmpklen; SV *tmpval; +void *old_info = cmd-info; + (void)hv_iterinit(hv); while ((tmpval = hv_iternextsv(hv, tmpkey, tmpklen))) { char line[MAX_STRING_LEN]; @@ -1195,6 +1197,9 @@ if(errmsg) log_printf(cmd-server, Perl: %s, errmsg); } + +cmd-info = old_info; + /* Emulate the handling of end token for the section */ perl_set_config_vectors(cmd, cfg, core_module); } @@ -1511,9 +1516,7 @@ void *dummy = perl_set_config_vectors(cmd, config, core_module); void *old_info = cmd-info; -if (strstr(key, Match)) { - cmd-info = (void*)key; -} +cmd-info = (void *)strstr(key, Match); if(strnEQ(key, Location, 8)) perl_urlsection(cmd, dummy, hv);
cvs commit: modperl/src/modules/perl perl_config.c
dougm 02/03/24 14:51:04 Modified:.Changes STATUS src/modules/perl perl_config.c Log: Submitted by: Stephen Clouse [EMAIL PROTECTED] Reviewed by: dougm do not clear symbol tables within a package in perl_clear_symtab() used by directive handler extensions Revision ChangesPath 1.635 +4 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.634 retrieving revision 1.635 diff -u -r1.634 -r1.635 --- Changes 24 Mar 2002 22:06:39 - 1.634 +++ Changes 24 Mar 2002 22:51:04 - 1.635 @@ -10,6 +10,10 @@ =item 1.26_01-dev +do not clear symbol tables within a package in perl_clear_symtab() +used by directive handler extensions +[Stephen Clouse [EMAIL PROTECTED]] + properly deal with $r-status codes (e.g. redirect) in Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]] 1.11 +1 -6 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- STATUS24 Mar 2002 22:06:39 - 1.10 +++ STATUS24 Mar 2002 22:51:04 - 1.11 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 22:06:39 $] + Last modified at [$Date: 2002/03/24 22:51:04 $] Release: @@ -21,11 +21,6 @@ Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 -* vanishing symbol tables -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=100820262006934w=2 - Status: - patch available - * $r-finfo problem with HTML::Mason::ApacheHandler Report: http://marc.theaimsgroup.com/?l=apache-modperlm=96854561311519w=2 Status: 1.114 +22 -1 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- perl_config.c 24 Mar 2002 21:00:06 - 1.113 +++ perl_config.c 24 Mar 2002 22:51:04 - 1.114 @@ -1666,6 +1666,27 @@ } } +static int gvhv_is_stash(GV *gv) +{ +int len = GvNAMELEN(gv); +char *name = GvNAME(gv); + +if ((len 2) +(name[len - 1] == ':') +(name[len - 2] == ':')) +{ +return 1; +} + +return 0; +} + +/* + * we do not clear symbols within packages, the desired behavior + * for directive handler classes. and there should never be a package + * within the %Apache::ReadConfig. nothing else that i'm aware of calls + * this function, so we should be ok. + */ void perl_clear_symtab(HV *symtab) { SV *val; @@ -1684,7 +1705,7 @@ continue; if((sv = GvSV((GV*)val))) sv_setsv(GvSV((GV*)val), sv_undef); - if((hv = GvHV((GV*)val))) + if((hv = GvHV((GV*)val)) !gvhv_is_stash((GV*)val)) hv_clear(hv); if((av = GvAV((GV*)val))) av_clear(av);
cvs commit: modperl/src/modules/perl perl_config.c
dougm 00/09/27 08:37:38 Modified:src/modules/perl perl_config.c Log: typo Revision ChangesPath 1.105 +1 -1 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.104 retrieving revision 1.105 diff -u -r1.104 -r1.105 --- perl_config.c 2000/09/26 21:02:42 1.104 +++ perl_config.c 2000/09/27 15:37:33 1.105 @@ -588,7 +588,7 @@ } } -if (cld-PerlModule) { +if (cls-PerlModule) { *(char **)push_array(cls-PerlModule) = pstrdup(parms-pool, arg); }
cvs commit: modperl/src/modules/perl perl_config.c
dougm 00/09/27 20:53:02 Modified:src/modules/perl perl_config.c Log: fix %Apache::ReadConfig:: processing for PerlRequire'd files Revision ChangesPath 1.107 +16 -18modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.106 retrieving revision 1.107 diff -u -r1.106 -r1.107 --- perl_config.c 2000/09/27 23:51:34 1.106 +++ perl_config.c 2000/09/28 03:53:01 1.107 @@ -600,21 +600,20 @@ dTHRCTX; return SvPV(ERRSV,n_a); } - } - else { - return NULL; +#ifdef PERL_SECTIONS +else { +if (CAN_SELF_BOOT_SECTIONS) { +perl_section_self_boot(parms, dummy, arg); +} + } +#endif } } - -if (cls-PerlModule) { +else { +/* Delay processing it until Perl starts */ *(char **)push_array(cls-PerlModule) = pstrdup(parms-pool, arg); } -#ifdef PERL_SECTIONS -if(CAN_SELF_BOOT_SECTIONS) - perl_section_self_boot(parms, dummy, arg); -#endif - return NULL; } @@ -633,20 +632,19 @@ dTHRCTX; return SvPV(ERRSV,n_a); } +#ifdef PERL_SECTIONS else { - return NULL; +if (CAN_SELF_BOOT_SECTIONS) { +perl_section_self_boot(parms, dummy, arg); +} } +#endif } } - -if (cls-PerlRequire) { +else { +/* Delay processing it until Perl starts */ *(char **)push_array(cls-PerlRequire) = pstrdup(parms-pool, arg); } - -#ifdef PERL_SECTIONS -if(CAN_SELF_BOOT_SECTIONS) - perl_section_self_boot(parms, dummy, arg); -#endif return NULL; }
cvs commit: modperl/src/modules/perl perl_config.c
dougm 00/09/26 13:07:36 Modified:src/modules/perl perl_config.c Log: fix bug in Perl{Set,Add}Var so $r-dir_config-get('key') sees the same values as $r-dir_config('key') Revision ChangesPath 1.103 +10 -8 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -r1.102 -r1.103 --- perl_config.c 2000/09/22 18:52:00 1.102 +++ perl_config.c 2000/09/26 20:05:22 1.103 @@ -717,17 +717,18 @@ CHAR_P perl_cmd_var(cmd_parms *cmd, void *config, char *key, char *val) { +perl_dir_config *rec = (perl_dir_config *)config; + MP_TRACE_d(fprintf(stderr, "perl_cmd_var: '%s' = '%s'\n", key, val)); -if (cmd-path) { -perl_dir_config *rec = (perl_dir_config *) config; -if (cmd-info) { -table_add(rec-vars, key, val); -} -else { -table_set(rec-vars, key, val); -} + +if (cmd-info) { +table_add(rec-vars, key, val); } else { +table_set(rec-vars, key, val); +} + +if (cmd-path == NULL) { dPSRV(cmd-server); if (cmd-info) { table_add(cls-vars, key, val); @@ -736,6 +737,7 @@ table_set(cls-vars, key, val); } } + return NULL; }
cvs commit: modperl/src/modules/perl perl_config.c
dougm 00/09/26 14:02:44 Modified:.Changes src/modules/perl perl_config.c Log: fix for Perl{Module,Require} in .htaccess Revision ChangesPath 1.524 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.523 retrieving revision 1.524 diff -u -r1.523 -r1.524 --- Changes 2000/09/26 20:11:03 1.523 +++ Changes 2000/09/26 21:02:36 1.524 @@ -10,6 +10,9 @@ =item 1.24_01-dev +fix for Perl{Module,Require} in .htaccess, +thanks to Will Trillich and Andrew Gideon for the spot + static+apaci fixes for aix [Jens-Uwe Mager [EMAIL PROTECTED]] fix bug in Perl{Set,Add}Var so $r-dir_config-get('key') sees the 1.104 +7 -2 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.103 retrieving revision 1.104 diff -u -r1.103 -r1.104 --- perl_config.c 2000/09/26 20:05:22 1.103 +++ perl_config.c 2000/09/26 21:02:42 1.104 @@ -587,8 +587,11 @@ return NULL; } } -*(char **)push_array(cls-PerlModule) = pstrdup(parms-pool, arg); +if (cld-PerlModule) { +*(char **)push_array(cls-PerlModule) = pstrdup(parms-pool, arg); +} + #ifdef PERL_SECTIONS if(CAN_SELF_BOOT_SECTIONS) perl_section_self_boot(parms, dummy, arg); @@ -618,7 +621,9 @@ } } -*(char **)push_array(cls-PerlRequire) = pstrdup(parms-pool, arg); +if (cls-PerlRequire) { +*(char **)push_array(cls-PerlRequire) = pstrdup(parms-pool, arg); +} #ifdef PERL_SECTIONS if(CAN_SELF_BOOT_SECTIONS)