cvs commit: modperl/src/modules/perl perl_config.c

2002-03-24 Thread dougm

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

2002-03-24 Thread dougm

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

2002-03-24 Thread dougm

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

2001-05-15 Thread dougm

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

2000-09-27 Thread dougm

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

2000-09-27 Thread dougm

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

2000-09-26 Thread dougm

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

2000-09-26 Thread dougm

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

2000-05-12 Thread dougm

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

2000-05-03 Thread dougm

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))) {