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-modperl&m=97450363501652&w=2 -* vanishing symbol tables -Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=100820262006934&w=2 - Status: - patch available - * $r->finfo problem with HTML::Mason::ApacheHandler Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=96854561311519&w=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 02/03/24 13:00:06 Modified:.Changes src/modules/perl perl_config.c Log: Submitted by: John Kelly <[EMAIL PROTECTED]> Reviewed by: dougm allow $r->auth_name and $r->auth_type to be set on win32 Revision ChangesPath 1.632 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.631 retrieving revision 1.632 diff -u -r1.631 -r1.632 --- Changes 24 Mar 2002 20:57:23 - 1.631 +++ Changes 24 Mar 2002 21:00:05 - 1.632 @@ -10,6 +10,9 @@ =item 1.26_01-dev +allow $r->auth_name and $r->auth_type to be set on win32 +[John Kelly <[EMAIL PROTECTED]>] + fix compilation for win32 w/ apache 1.3.22+ [Randy Kobes <[EMAIL PROTECTED]>] 1.113 +0 -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.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- perl_config.c 24 Mar 2002 20:45:17 - 1.112 +++ perl_config.c 24 Mar 2002 21:00:06 - 1.113 @@ -142,7 +142,6 @@ char *mod_perl_auth_name(request_rec *r, char *val) { -#ifndef WIN32 core_dir_config *conf = (core_dir_config *)get_module_config(r->per_dir_config, &core_module); @@ -153,14 +152,10 @@ } return conf->auth_name; -#else -return (char *) auth_name(r); -#endif } char *mod_perl_auth_type(request_rec *r, char *val) { -#ifndef WIN32 core_dir_config *conf = (core_dir_config *)get_module_config(r->per_dir_config, &core_module); @@ -171,9 +166,6 @@ } return conf->auth_type; -#else -return (char *) auth_type(r); -#endif } void mod_perl_dir_env(request_rec *r, perl_dir_config *cld)
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 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 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-modperl&m=97449481013350&w=2 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperl&m=97450363501652&w=2 - -* %LocationMatch bug -Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=98260537428737&w=2 - Status: - may be fixed here -http://marc.theaimsgroup.com/?l=apache-modperl&m=101366182205497&w=2 * PVIV issues Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=99905070209305&w=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, ": %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 01/05/15 10:02:44 Modified:.Changes src/modules/perl perl_config.c Log: adjust perl_clear_symtab() to deal properly bleedperl's version of cv_undef() (which broke modules with directive handlers) Revision ChangesPath 1.592 +4 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.591 retrieving revision 1.592 diff -u -r1.591 -r1.592 --- Changes 2001/05/01 17:28:28 1.591 +++ Changes 2001/05/15 17:02:19 1.592 @@ -10,6 +10,10 @@ =item 1.25_01-dev +adjust perl_clear_symtab() to deal properly bleedperl's version of +cv_undef() (which broke modules with directive handlers) +thanks to Geoffrey Young for the spot + add $r->allowed method [Philippe Troin <[EMAIL PROTECTED]>] fix 'make offsite-tar' [Geoffrey Young <[EMAIL PROTECTED]>] 1.109 +6 -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.108 retrieving revision 1.109 diff -u -r1.108 -r1.109 --- perl_config.c 2000/12/30 05:08:59 1.108 +++ perl_config.c 2001/05/15 17:02:32 1.109 @@ -1697,8 +1697,12 @@ hv_clear(hv); if((av = GvAV((GV*)val))) av_clear(av); - if((cv = GvCV((GV*)val))) - cv_undef(cv); + if((cv = GvCV((GV*)val)) && (GvSTASH((GV*)val) == GvSTASH(CvGV(cv { +GV *gv = CvGV(cv); +cv_undef(cv); +CvGV(cv) = gv; +GvCVGEN(gv) = 1; /* invalidate method cache */ +} } }
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/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/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)
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/05/12 17:57:22 Modified:src/modules/perl perl_config.c Log: HvKEYS fix was not the fix Revision ChangesPath 1.96 +2 -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.95 retrieving revision 1.96 diff -u -r1.95 -r1.96 --- perl_config.c 2000/05/04 04:52:34 1.95 +++ perl_config.c 2000/05/13 00:57:21 1.96 @@ -1178,7 +1178,7 @@ #define USE_ICASE 0 #endif -#define SECTION_NAME(n) (cmd->info ? (char *)cmd->info : n) +#define SECTION_NAME(n) n #define TRACE_SECTION(n,v) \ MP_TRACE_s(fprintf(stderr, "perl_section: <%s %s>\n", n, v)) @@ -1748,7 +1748,7 @@ } } - if((hv = GvHV((GV*)val)) && HvKEYS(hv)) { + if((hv = GvHV((GV*)val))) { perl_handle_command_hv(hv, key, parms, config); } else if((av = GvAV((GV*)val))) {
cvs commit: modperl/src/modules/perl perl_config.c
dougm 00/05/03 21:52:35 Modified:.Changes src/modules/perl perl_config.c Log: fix core dump triggered by do 'foo.pl' Revision ChangesPath 1.477 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.476 retrieving revision 1.477 diff -u -r1.476 -r1.477 --- Changes 2000/04/27 22:45:30 1.476 +++ Changes 2000/05/04 04:52:34 1.477 @@ -10,6 +10,9 @@ =item 1.23_01-dev +fix core dump triggered by do 'foo.pl', +thanks to Robert S. Thau for the spot + pass $Config{ccflags} to apache for 5.6.0+ fix Apache->httpd_conf, thanks to Will Trillich for the spot 1.95 +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.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- perl_config.c 2000/04/03 04:48:53 1.94 +++ perl_config.c 2000/05/04 04:52:34 1.95 @@ -1748,7 +1748,7 @@ } } - if((hv = GvHV((GV*)val))) { + if((hv = GvHV((GV*)val)) && HvKEYS(hv)) { perl_handle_command_hv(hv, key, parms, config); } else if((av = GvAV((GV*)val))) {