You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl@perl.apache.org by Andargor The Wise <an...@yahoo.com> on 2005/12/22 15:42:41 UTC
[PATCH] Embperl 2.1.0, mod_perl 2.0.2, Apache 2.2
I had trouble compiling Embperl 2.1.0 with mod_perl
2.0.2 and Apache 2.2. I had found a previous patch for
Apache 2.1 and I added some things. The patch I used
is below.
I searched, but could not find and further patches
addressing this. Also, I hopefully did not miss any
installation steps to compile Embperl 2.1.0 with these
versions, which would have made such a patch
irrelevant.
Note on the patch: the "taint" test (#155) fails even
with the patch. I did not know how to fix it. So run
make test TESTARGS="-i".
Hope this helps someone,
Andargor
diff --recursive --unified=3
Embperl-2.1.0/epapfilter.c
Embperl-2.1.0-andargor/epapfilter.c
--- Embperl-2.1.0/epapfilter.c 2005-10-25
18:17:14.000000000 -0400
+++ Embperl-2.1.0-andargor/epapfilter.c 2005-12-21
23:33:40.000000000 -0500
@@ -206,8 +206,9 @@
epTHX_
- APR_BRIGADE_FOREACH(b, bb)
- {
+ for (b = APR_BRIGADE_FIRST(bb);
+ b != APR_BRIGADE_SENTINEL(bb);
+ b = APR_BUCKET_NEXT(b)) {
/* APR_BUCKET_IS_EOS(b) does give undefined
symbol, when running outside of Apache */
/* if (APR_BUCKET_IS_EOS(b)) */
if (strcmp (b -> type -> name, "EOS") == 0)
diff --recursive --unified=3
Embperl-2.1.0/mod_embperl.c
Embperl-2.1.0-andargor/mod_embperl.c
--- Embperl-2.1.0/mod_embperl.c 2005-10-25
18:17:14.000000000 -0400
+++ Embperl-2.1.0-andargor/mod_embperl.c 2005-12-21
23:38:16.000000000 -0500
@@ -570,11 +570,11 @@
embperl_ApacheInitUnload (p) ;
#ifdef APACHE2
- apr_pool_sub_make(&subpool, p, NULL);
+ apr_pool_create_ex(&subpool, p, NULL, NULL);
#else
subpool = ap_make_sub_pool(p);
#endif
- cfg = (tApacheDirConfig *) ap_pcalloc(subpool,
sizeof(tApacheDirConfig));
+ cfg = (tApacheDirConfig *) apr_pcalloc(subpool,
sizeof(tApacheDirConfig));
#if 0
#ifdef APACHE2
@@ -602,7 +602,7 @@
static void *embperl_create_server_config(apr_pool_t
* p, server_rec *s)
{
- tApacheDirConfig *cfg = (tApacheDirConfig *)
ap_pcalloc(p, sizeof(tApacheDirConfig));
+ tApacheDirConfig *cfg = (tApacheDirConfig *)
apr_pcalloc(p, sizeof(tApacheDirConfig));
bApDebug |=
ap_exists_config_define("EMBPERL_APDEBUG") ;
@@ -726,11 +726,11 @@
#endif
#ifdef APACHE2
- apr_pool_sub_make(&subpool, p, NULL);
+ apr_pool_create_ex(&subpool, p, NULL, NULL);
#else
subpool = ap_make_sub_pool(p);
#endif
- mrg = (tApacheDirConfig *)ap_palloc (subpool,
sizeof(tApacheDirConfig));
+ mrg = (tApacheDirConfig *)apr_palloc
(subpool, sizeof(tApacheDirConfig));
if (bApDebug)
ap_log_error (APLOG_MARK, APLOG_WARNING |
APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
merge_dir/server_config base=0x%p add=0x%p
mrg=0x%p\n", basev, addv, mrg) ;
@@ -826,7 +826,7 @@
const char * embperl_Apache_Config_##STRUCT##NAME
(cmd_parms *cmd, /* tApacheDirConfig */ void *
pDirCfg, const char* arg) \
{ \
apr_pool_t * p = cmd -> pool ; \
- ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME =
ap_pstrdup(p, arg) ; \
+ ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME =
apr_pstrdup(p, arg) ; \
((tApacheDirConfig *)pDirCfg) ->
set_##STRUCT##NAME = 1 ; \
if (bApDebug) \
ap_log_error (APLOG_MARK, APLOG_WARNING |
APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
Set "#CFGNAME" (type="#TYPE";STR) = %s\n", arg) ; \
@@ -842,7 +842,7 @@
if (!embperl_CalcExpires(arg, buf, 0)) \
LogErrorParam (NULL, rcTimeFormatErr,
"EMBPERL_"#CFGNAME, arg) ; \
else \
- ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME
= ap_pstrdup(p, buf) ; \
+ ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME
= apr_pstrdup(p, buf) ; \
((tApacheDirConfig *)pDirCfg) ->
set_##STRUCT##NAME = 1 ; \
if (bApDebug) \
ap_log_error (APLOG_MARK, APLOG_WARNING |
APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
Set "#CFGNAME" (type="#TYPE";STR) = %s\n", arg) ; \
@@ -875,7 +875,7 @@
#define EPCFG_SAVE(STRUCT,TYPE,NAME,CFGNAME) \
const char * embperl_Apache_Config_##STRUCT##NAME
(cmd_parms *cmd, /* tApacheDirConfig */ void *
pDirCfg, const char* arg) \
{ \
- ((tApacheDirConfig *)pDirCfg) ->
save_##STRUCT##NAME = ap_pstrdup(cmd -> pool, arg) ; \
+ ((tApacheDirConfig *)pDirCfg) ->
save_##STRUCT##NAME = apr_pstrdup(cmd -> pool, arg) ;
\
((tApacheDirConfig *)pDirCfg) ->
set_##STRUCT##NAME = 1 ; \
if (bApDebug) \
ap_log_error (APLOG_MARK, APLOG_WARNING |
APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
Set "#CFGNAME" (type="#TYPE") = %s (save for later
conversion to Perl data)\n", arg) ; \
@@ -1162,7 +1162,7 @@
pParam -> sUri = r -> uri ;
pParam -> sPathInfo = r -> path_info ;
pParam -> sQueryInfo = r -> args ;
- if ((p = ep_pstrdup (pPool, ap_table_get (r ->
headers_in, "Accept-Language"))))
+ if ((p = ep_pstrdup (pPool, apr_table_get (r ->
headers_in, "Accept-Language"))))
{
while (isspace(*p))
p++ ;
@@ -1172,7 +1172,7 @@
*p = '\0' ;
}
- ap_table_do (embperl_AddCookie, &s, r ->
headers_in, "Cookie", NULL) ;
+ apr_table_do (embperl_AddCookie, &s, r ->
headers_in, "Cookie", NULL) ;
buf[0] = '\0' ;
#ifdef APACHE2
diff --recursive --unified=3
Embperl-2.1.0/test/conf/httpd.conf.src
Embperl-2.1.0-andargor/test/conf/httpd.conf.src
--- Embperl-2.1.0/test/conf/httpd.conf.src 2005-11-02
18:00:30.000000000 -0500
+++ Embperl-2.1.0-andargor/test/conf/httpd.conf.src
2005-12-21 23:55:35.000000000 -0500
@@ -70,10 +70,13 @@
#-Tw
EOD
-print OFH "PerlTaintCheck On\n" if (!$ENV{NOTAINT}) ;
+if (!$ENV{NOTAINT}) {
+ print OFH "PerlSwitches -w\n";
+} else {
+ print OFH "PerlSwitches -Tw\n";
+}
print OFH <<EOD ;
-PerlWarn On
PerlSetEnv EMBPERL_SRC \"$EPPATH\"
@@ -157,7 +160,7 @@
<Location /embperl/log>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
</Location>
@@ -179,25 +182,25 @@
<Location /embperl>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
</Location>
<Location /embperl/sub>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
</Location>
<Location /embperl2>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
</Location>
<Location /embperl/safe>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 4
</Location>
@@ -226,7 +229,7 @@
<Location /embperl/opmask>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 12
EMBPERL_COMPARTMENT TEST
@@ -235,7 +238,7 @@
<Location /embperl/rawinput>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 16
EMBPERL_INPUT_ESCMODE 0
@@ -243,45 +246,45 @@
<Location /embperl/nochdir>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 384
</Location>
<Location /embperl/nph>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 64
</Location>
<Location /embperl/stdout>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
#EMBPERL_OPTIONS 16384
EMBPERL_OPTIONS 16400
EMBPERL_ESCMODE 0
-PerlSetupEnv Off
+PerlOptions -SetupEnv
</Location>
<Location /embperl/allform>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 8192
</Location>
<Location /embperl/noerr>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 2
</Location>
<Location /embperl/errdoc>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 262144
ErrorDocument 500 /html/errmsg.htm
@@ -289,7 +292,7 @@
<Location /embperl/errdoc/epl>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_OPTIONS 262144
ErrorDocument 500 /embperl/errmsg2.htm
@@ -297,7 +300,7 @@
<Location /embperl/match>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_URIMATCH \\.htm\$
</Location>
@@ -308,7 +311,7 @@
-print OFH "PerlHandler ", $MP2?'ModPerl':'Apache',
"::Registry\n" ;
+print OFH "PerlResponseHandler ",
$MP2?'ModPerl':'Apache', "::Registry\n" ;
@@ -324,7 +327,7 @@
EMBPERL_OBJECT_FALLBACK epofallback.htm
EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
SetHandler perl-script
-PerlHandler Embperl::Object
+PerlResponseHandler Embperl::Object
Options ExecCGI
</Location>
@@ -336,7 +339,7 @@
EMBPERL_OBJECT_FALLBACK epofallback.htm
EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
SetHandler perl-script
-PerlHandler Embperl::Object
+PerlResponseHandler Embperl::Object
Options ExecCGI
</Location>
@@ -348,7 +351,7 @@
EMBPERL_OBJECT_FALLBACK epofallback.htm
EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
SetHandler perl-script
-PerlHandler Embperl::Object
+PerlResponseHandler Embperl::Object
Options ExecCGI
</Location>
@@ -359,7 +362,7 @@
EMBPERL_OBJECT_FALLBACK epofallback.htm
EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
SetHandler perl-script
-PerlHandler Embperl::Object
+PerlResponseHandler Embperl::Object
Options ExecCGI
EMBPERL_OPTIONS 262144
ErrorDocument 500 /embperl/errmsg2.htm
@@ -385,28 +388,28 @@
<Location /embperl/sidurl>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_SESSION_MODE 0x20
</Location>
<Location /embperl/uidurl>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_SESSION_MODE 0x02
</Location>
<Location /embperl/suidurl>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_SESSION_MODE 0x22
</Location>
<Location /embperlmail>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_APPNAME MailApp
EMBPERL_MAILHOST mail.i.ecos.de
@@ -658,7 +661,7 @@
<Location /perl-status>
SetHandler perl-script
-PerlHandler Apache::Status
+PerlResponseHandler Apache::Status
PerlSetVar StatusOptionsAll On
</Location>
@@ -692,7 +695,7 @@
<Location /eg/x>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI FollowSymLinks
EMBPERL_INPUT_ESCMODE 7
EMBPERL_OPTIONS 262288
@@ -710,7 +713,7 @@
EMBPERL_OBJECT_STOPDIR \"$EPPATH/eg/web\"
EMBPERL_URIMATCH
\"\\.htm.?\$|\\.epl\$|\\.xml\$|\\.pod\$|/$\"
SetHandler perl-script
-PerlHandler Embperl::Object
+PerlResponseHandler Embperl::Object
Options ExecCGI
</Location>
@@ -722,12 +725,12 @@
EMBPERL_URIMATCH
\"\\.htm.?\$|\\.epl\$|\\.xml\$|\\.pod\$|/$\"
EMBPERL_PATH \"$EPPATH/eg/web/conf;$EPPATH/eg/web\"
sethandler perl-script
-perlhandler Embperl
+PerlResponseHandler Embperl
</Location>
<Location /eg/xml>
SetHandler perl-script
-PerlHandler Embperl
+PerlResponseHandler Embperl
Options ExecCGI
EMBPERL_XSLTSTYLESHEET \"$EPPATH/eg/xml/pod.xsl\"
EMBPERL_XSLTPROC libxslt
@@ -751,7 +754,7 @@
<Location /kwiki>
SetHandler perl-script
PerlSetVar KwikiBaseDir $EPPATH/eg/kwiki
- PerlHandler Kwiki::ModPerl
+ PerlResponseHandler Kwiki::ModPerl
</Location>
Alias /ckwiki $EPPATH/eg/kwiki
diff --recursive --unified=3
Embperl-2.1.0/test/html/taint.htm
Embperl-2.1.0-andargor/test/html/taint.htm
--- Embperl-2.1.0/test/html/taint.htm 2005-10-25
18:17:06.000000000 -0400
+++ Embperl-2.1.0-andargor/test/html/taint.htm
2005-12-22 00:03:32.000000000 -0500
@@ -12,7 +12,7 @@
when running with -T option or PaintTaintCheck on <P>
-[+ do { system ('echo blabla') ;} +]
+[+ eval { do { system ('echo blabla') ;} } +]
<P>Ok.<P>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org
RE: Embperl 2.1.0, mod_perl 2.0.2, Apache 2.2
Posted by Gerald Richter <ri...@ecos.de>.
>
> I applied Andargor's patches to EmbPerl 2.1.0 and it
> build fine, seems to run okay too.
I didn't had the time to put together a new version which includes this
patch, but it's the right way to go and I will hopefully release a new
Embperl version.
> That leads me to another
> question. When I build EmbPerl I do so against httpd-2.0.55
> first, then copy the EmbPerl.so file into
> httpd-2.0.55/modules/ . I do the same thing for httpd-2.2.0
> (build, selecting the apache source path as that for
> httpd-2.2.0, copy the Embperl.so file etc). Am I shooting
> myself in the foot here? I assume there's stuff specific to
> each apache version in the different .so files, is that right?
>
That sounds right. Apache 2.0 and 2.2 are NOT binary compatible, so you have
to recompile for every version, as you do.
Gerald
** Virus checked by BB-5000 Mailfilter **
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org
Re: Embperl 2.1.0, mod_perl 2.0.2, Apache 2.2
Posted by Matt Bockol <mb...@carleton.edu>.
Matt Bockol wrote:
Just a quick follow-up:
I applied Andargor's patches to EmbPerl 2.1.0 and it build fine,
seems to run okay too. That leads me to another question. When I build
EmbPerl I do so against httpd-2.0.55 first, then copy the EmbPerl.so
file into httpd-2.0.55/modules/ . I do the same thing for httpd-2.2.0
(build, selecting the apache source path as that for httpd-2.2.0, copy
the Embperl.so file etc). Am I shooting myself in the foot here? I
assume there's stuff specific to each apache version in the different
.so files, is that right?
Thanks,
Matt
> Hi Folks,
>
> I'm trying to build Embperl with Apache 2.2.0, mod_perl 2.0.2, perl
> 5.8.5 on RHEL AS 4 without much success. I've tried the latest svn
> checkout, which is failing on make with the error pasted below. I
> found Andargor's patch in the mailing list and am about to try
> applying it, but is there a better way to be approaching this?
>
> Thanks,
> Matt
>
>
>
>
>
> gcc -c -I/usr/local/wsg/httpd-2.2.0-1/include
> -I/usr/local/wsg/httpd-2.2.0-1/regex
> -I/usr/local/wsg/httpd-2.2.0-1/os/unix -I/usr/include/libxml2
> -I/usr/include/libxml2 -I/home/mbockol/wsg-src/builds/em
> bperl/xs -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing
> -pipe -I/usr/local/include -I/usr/include/gdbm
> -I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE -DMOD_PERL
> -DMP_COMPAT_1X -DLINUX=
> 2 -D_LARGEFILE64_SOURCE -O2 -g -pipe -m32 -march=i386
> -mtune=pentium4 -DVERSION=\"2.1.1_dev\" -DXS_VERSION=\"2.1.1_dev\"
> -fPIC "-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE" -DAPACHE
> -DAPACHE2
> -DEP2 -DLIBXSLT -o epapfilter.o epapfilter.c
> epapfilter.c: In function `ProviderApOutFilter_Callback':
> epapfilter.c:210: error: syntax error before '{' token
> epapfilter.c:213: error: `__s1_len' undeclared (first use in this
> function)
> epapfilter.c:213: error: (Each undeclared identifier is reported only
> once
> epapfilter.c:213: error: for each function it appears in.)
> epapfilter.c:213: error: `__s2_len' undeclared (first use in this
> function)
> epapfilter.c: At top level:
> epapfilter.c:213: error: syntax error before ')' token
> epapfilter.c:219: error: `b' undeclared here (not in a function)
> epapfilter.c:219: error: `data' undeclared here (not in a function)
> epapfilter.c:219: error: `len' undeclared here (not in a function)
> epapfilter.c:219: warning: data definition has no type or storage class
> epapfilter.c:220: error: syntax error before "if"
> epapfilter.c:223: error: syntax error before '->' token
> epapfilter.c:223: error: conflicting types for 'EMBPERL2_LogErrorParam'
> ep.h:227: error: previous declaration of 'EMBPERL2_LogErrorParam' was
> here
> epapfilter.c:223: error: conflicting types for 'EMBPERL2_LogErrorParam'
> ep.h:227: error: previous declaration of 'EMBPERL2_LogErrorParam' was
> here
> epapfilter.c:223: warning: data definition has no type or storage class
> epapfilter.c:231: error: syntax error before '->' token
> epapfilter.c:231: error: conflicting types for 'Perl_sv_catpvn_flags'
> /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/proto.h:1285: error:
> previous declaration of 'Perl_sv_catpvn_flags' was here
> epapfilter.c:231: error: conflicting types for 'Perl_sv_catpvn_flags'
> /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/proto.h:1285: error:
> previous declaration of 'Perl_sv_catpvn_flags' was here
> epapfilter.c:231: warning: data definition has no type or storage class
> epapfilter.c:235: warning: parameter names (without types) in function
> declaration
> epapfilter.c:235: warning: data definition has no type or storage class
> epapfilter.c:237: error: syntax error before "return"
> make: *** [epapfilter.o] Error 1
>
>
>
>
>
>
>
>
> Andargor The Wise wrote:
>
>> I had trouble compiling Embperl 2.1.0 with mod_perl
>> 2.0.2 and Apache 2.2. I had found a previous patch for
>> Apache 2.1 and I added some things. The patch I used
>> is below.
>>
>> I searched, but could not find and further patches
>> addressing this. Also, I hopefully did not miss any
>> installation steps to compile Embperl 2.1.0 with these
>> versions, which would have made such a patch
>> irrelevant.
>>
>> Note on the patch: the "taint" test (#155) fails even
>> with the patch. I did not know how to fix it. So run
>> make test TESTARGS="-i".
>>
>> Hope this helps someone,
>>
>> Andargor
>>
>> diff --recursive --unified=3
>> Embperl-2.1.0/epapfilter.c
>> Embperl-2.1.0-andargor/epapfilter.c
>> --- Embperl-2.1.0/epapfilter.c 2005-10-25
>> 18:17:14.000000000 -0400
>> +++ Embperl-2.1.0-andargor/epapfilter.c 2005-12-21
>> 23:33:40.000000000 -0500
>> @@ -206,8 +206,9 @@
>> epTHX_
>>
>>
>> - APR_BRIGADE_FOREACH(b, bb) - {
>> + for (b = APR_BRIGADE_FIRST(bb);
>> + b != APR_BRIGADE_SENTINEL(bb);
>> + b = APR_BUCKET_NEXT(b)) {
>> /* APR_BUCKET_IS_EOS(b) does give undefined
>> symbol, when running outside of Apache */
>> /* if (APR_BUCKET_IS_EOS(b)) */
>> if (strcmp (b -> type -> name, "EOS") == 0)
>> diff --recursive --unified=3
>> Embperl-2.1.0/mod_embperl.c
>> Embperl-2.1.0-andargor/mod_embperl.c
>> --- Embperl-2.1.0/mod_embperl.c 2005-10-25
>> 18:17:14.000000000 -0400
>> +++ Embperl-2.1.0-andargor/mod_embperl.c 2005-12-21
>> 23:38:16.000000000 -0500
>> @@ -570,11 +570,11 @@
>> embperl_ApacheInitUnload (p) ;
>>
>> #ifdef APACHE2
>> - apr_pool_sub_make(&subpool, p, NULL);
>> + apr_pool_create_ex(&subpool, p, NULL, NULL);
>> #else
>> subpool = ap_make_sub_pool(p);
>> #endif
>> - cfg = (tApacheDirConfig *) ap_pcalloc(subpool,
>> sizeof(tApacheDirConfig));
>> + cfg = (tApacheDirConfig *) apr_pcalloc(subpool,
>> sizeof(tApacheDirConfig));
>>
>> #if 0
>> #ifdef APACHE2
>> @@ -602,7 +602,7 @@
>>
>> static void *embperl_create_server_config(apr_pool_t
>> * p, server_rec *s)
>> {
>> - tApacheDirConfig *cfg = (tApacheDirConfig *)
>> ap_pcalloc(p, sizeof(tApacheDirConfig));
>> + tApacheDirConfig *cfg = (tApacheDirConfig *)
>> apr_pcalloc(p, sizeof(tApacheDirConfig));
>>
>> bApDebug |=
>> ap_exists_config_define("EMBPERL_APDEBUG") ;
>>
>> @@ -726,11 +726,11 @@
>> #endif
>>
>> #ifdef APACHE2
>> - apr_pool_sub_make(&subpool, p, NULL);
>> + apr_pool_create_ex(&subpool, p, NULL, NULL);
>> #else
>> subpool = ap_make_sub_pool(p);
>> #endif
>> - mrg = (tApacheDirConfig *)ap_palloc (subpool,
>> sizeof(tApacheDirConfig));
>> + mrg = (tApacheDirConfig *)apr_palloc
>> (subpool, sizeof(tApacheDirConfig));
>>
>> if (bApDebug)
>> ap_log_error (APLOG_MARK, APLOG_WARNING |
>> APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>> merge_dir/server_config base=0x%p add=0x%p
>> mrg=0x%p\n", basev, addv, mrg) ;
>> @@ -826,7 +826,7 @@
>> const char * embperl_Apache_Config_##STRUCT##NAME
>> (cmd_parms *cmd, /* tApacheDirConfig */ void *
>> pDirCfg, const char* arg) \
>> { \
>> apr_pool_t * p = cmd -> pool ; \
>> - ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME =
>> ap_pstrdup(p, arg) ; \
>> + ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME =
>> apr_pstrdup(p, arg) ; \
>> ((tApacheDirConfig *)pDirCfg) ->
>> set_##STRUCT##NAME = 1 ; \
>> if (bApDebug) \
>> ap_log_error (APLOG_MARK, APLOG_WARNING |
>> APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>> Set "#CFGNAME" (type="#TYPE";STR) = %s\n", arg) ; \
>> @@ -842,7 +842,7 @@
>> if (!embperl_CalcExpires(arg, buf, 0)) \
>> LogErrorParam (NULL, rcTimeFormatErr,
>> "EMBPERL_"#CFGNAME, arg) ; \
>> else \
>> - ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME
>> = ap_pstrdup(p, buf) ; \
>> + ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME
>> = apr_pstrdup(p, buf) ; \
>> ((tApacheDirConfig *)pDirCfg) ->
>> set_##STRUCT##NAME = 1 ; \
>> if (bApDebug) \
>> ap_log_error (APLOG_MARK, APLOG_WARNING |
>> APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>> Set "#CFGNAME" (type="#TYPE";STR) = %s\n", arg) ; \
>> @@ -875,7 +875,7 @@
>> #define EPCFG_SAVE(STRUCT,TYPE,NAME,CFGNAME) \
>> const char * embperl_Apache_Config_##STRUCT##NAME
>> (cmd_parms *cmd, /* tApacheDirConfig */ void *
>> pDirCfg, const char* arg) \
>> { \
>> - ((tApacheDirConfig *)pDirCfg) ->
>> save_##STRUCT##NAME = ap_pstrdup(cmd -> pool, arg) ; \
>> + ((tApacheDirConfig *)pDirCfg) ->
>> save_##STRUCT##NAME = apr_pstrdup(cmd -> pool, arg) ;
>> \
>> ((tApacheDirConfig *)pDirCfg) ->
>> set_##STRUCT##NAME = 1 ; \
>> if (bApDebug) \
>> ap_log_error (APLOG_MARK, APLOG_WARNING |
>> APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>> Set "#CFGNAME" (type="#TYPE") = %s (save for later
>> conversion to Perl data)\n", arg) ; \
>> @@ -1162,7 +1162,7 @@
>> pParam -> sUri = r -> uri ;
>> pParam -> sPathInfo = r -> path_info ;
>> pParam -> sQueryInfo = r -> args ; - if ((p = ep_pstrdup
>> (pPool, ap_table_get (r ->
>> headers_in, "Accept-Language"))))
>> + if ((p = ep_pstrdup (pPool, apr_table_get (r ->
>> headers_in, "Accept-Language"))))
>> {
>> while (isspace(*p))
>> p++ ;
>> @@ -1172,7 +1172,7 @@
>> *p = '\0' ;
>> }
>>
>> - ap_table_do (embperl_AddCookie, &s, r ->
>> headers_in, "Cookie", NULL) ;
>> + apr_table_do (embperl_AddCookie, &s, r ->
>> headers_in, "Cookie", NULL) ;
>>
>> buf[0] = '\0' ;
>> #ifdef APACHE2
>> diff --recursive --unified=3
>> Embperl-2.1.0/test/conf/httpd.conf.src
>> Embperl-2.1.0-andargor/test/conf/httpd.conf.src
>> --- Embperl-2.1.0/test/conf/httpd.conf.src 2005-11-02
>> 18:00:30.000000000 -0500
>> +++ Embperl-2.1.0-andargor/test/conf/httpd.conf.src
>> 2005-12-21 23:55:35.000000000 -0500
>> @@ -70,10 +70,13 @@
>> #-Tw
>> EOD
>>
>> -print OFH "PerlTaintCheck On\n" if (!$ENV{NOTAINT}) ;
>> +if (!$ENV{NOTAINT}) {
>> + print OFH "PerlSwitches -w\n";
>> +} else {
>> + print OFH "PerlSwitches -Tw\n";
>> +}
>>
>> print OFH <<EOD ;
>> -PerlWarn On
>>
>>
>> PerlSetEnv EMBPERL_SRC \"$EPPATH\"
>> @@ -157,7 +160,7 @@
>>
>> <Location /embperl/log>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> </Location>
>>
>> @@ -179,25 +182,25 @@
>>
>> <Location /embperl>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> </Location>
>>
>> <Location /embperl/sub>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> </Location>
>>
>> <Location /embperl2>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> </Location>
>>
>> <Location /embperl/safe>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 4
>> </Location>
>> @@ -226,7 +229,7 @@
>>
>> <Location /embperl/opmask>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 12
>> EMBPERL_COMPARTMENT TEST
>> @@ -235,7 +238,7 @@
>>
>> <Location /embperl/rawinput>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 16
>> EMBPERL_INPUT_ESCMODE 0
>> @@ -243,45 +246,45 @@
>>
>> <Location /embperl/nochdir>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 384
>> </Location>
>>
>> <Location /embperl/nph>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 64
>> </Location>
>>
>> <Location /embperl/stdout>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> #EMBPERL_OPTIONS 16384
>> EMBPERL_OPTIONS 16400
>> EMBPERL_ESCMODE 0
>> -PerlSetupEnv Off
>> +PerlOptions -SetupEnv
>> </Location>
>>
>> <Location /embperl/allform>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 8192
>> </Location>
>>
>> <Location /embperl/noerr>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 2
>> </Location>
>>
>> <Location /embperl/errdoc>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 262144
>> ErrorDocument 500 /html/errmsg.htm
>> @@ -289,7 +292,7 @@
>>
>> <Location /embperl/errdoc/epl>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_OPTIONS 262144
>> ErrorDocument 500 /embperl/errmsg2.htm
>> @@ -297,7 +300,7 @@
>>
>> <Location /embperl/match>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_URIMATCH \\.htm\$
>> </Location>
>> @@ -308,7 +311,7 @@
>>
>>
>>
>> -print OFH "PerlHandler ", $MP2?'ModPerl':'Apache',
>> "::Registry\n" ;
>> +print OFH "PerlResponseHandler ",
>> $MP2?'ModPerl':'Apache', "::Registry\n" ;
>>
>>
>>
>> @@ -324,7 +327,7 @@
>> EMBPERL_OBJECT_FALLBACK epofallback.htm
>> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
>> SetHandler perl-script
>> -PerlHandler Embperl::Object +PerlResponseHandler Embperl::Object
>> Options ExecCGI
>> </Location>
>>
>> @@ -336,7 +339,7 @@
>> EMBPERL_OBJECT_FALLBACK epofallback.htm
>> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
>> SetHandler perl-script
>> -PerlHandler Embperl::Object +PerlResponseHandler Embperl::Object
>> Options ExecCGI
>> </Location>
>>
>> @@ -348,7 +351,7 @@
>> EMBPERL_OBJECT_FALLBACK epofallback.htm
>> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
>> SetHandler perl-script
>> -PerlHandler Embperl::Object +PerlResponseHandler Embperl::Object
>> Options ExecCGI
>> </Location>
>>
>> @@ -359,7 +362,7 @@
>> EMBPERL_OBJECT_FALLBACK epofallback.htm
>> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
>> SetHandler perl-script
>> -PerlHandler Embperl::Object +PerlResponseHandler Embperl::Object
>> Options ExecCGI
>> EMBPERL_OPTIONS 262144
>> ErrorDocument 500 /embperl/errmsg2.htm
>> @@ -385,28 +388,28 @@
>>
>> <Location /embperl/sidurl>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_SESSION_MODE 0x20
>> </Location>
>>
>> <Location /embperl/uidurl>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_SESSION_MODE 0x02
>> </Location>
>>
>> <Location /embperl/suidurl>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_SESSION_MODE 0x22
>> </Location>
>>
>> <Location /embperlmail>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_APPNAME MailApp
>> EMBPERL_MAILHOST mail.i.ecos.de
>> @@ -658,7 +661,7 @@
>>
>> <Location /perl-status>
>> SetHandler perl-script
>> -PerlHandler Apache::Status
>> +PerlResponseHandler Apache::Status
>> PerlSetVar StatusOptionsAll On
>> </Location>
>>
>> @@ -692,7 +695,7 @@
>>
>> <Location /eg/x>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI FollowSymLinks
>> EMBPERL_INPUT_ESCMODE 7
>> EMBPERL_OPTIONS 262288
>> @@ -710,7 +713,7 @@
>> EMBPERL_OBJECT_STOPDIR \"$EPPATH/eg/web\"
>> EMBPERL_URIMATCH
>> \"\\.htm.?\$|\\.epl\$|\\.xml\$|\\.pod\$|/$\"
>> SetHandler perl-script
>> -PerlHandler Embperl::Object +PerlResponseHandler Embperl::Object
>> Options ExecCGI
>> </Location>
>>
>> @@ -722,12 +725,12 @@
>> EMBPERL_URIMATCH
>> \"\\.htm.?\$|\\.epl\$|\\.xml\$|\\.pod\$|/$\"
>> EMBPERL_PATH \"$EPPATH/eg/web/conf;$EPPATH/eg/web\"
>> sethandler perl-script
>> -perlhandler Embperl
>> +PerlResponseHandler Embperl
>> </Location>
>>
>> <Location /eg/xml>
>> SetHandler perl-script
>> -PerlHandler Embperl
>> +PerlResponseHandler Embperl
>> Options ExecCGI
>> EMBPERL_XSLTSTYLESHEET \"$EPPATH/eg/xml/pod.xsl\"
>> EMBPERL_XSLTPROC libxslt
>> @@ -751,7 +754,7 @@
>> <Location /kwiki>
>> SetHandler perl-script
>> PerlSetVar KwikiBaseDir $EPPATH/eg/kwiki
>> - PerlHandler Kwiki::ModPerl
>> + PerlResponseHandler Kwiki::ModPerl
>> </Location>
>> Alias /ckwiki $EPPATH/eg/kwiki
>>
>> diff --recursive --unified=3
>> Embperl-2.1.0/test/html/taint.htm
>> Embperl-2.1.0-andargor/test/html/taint.htm
>> --- Embperl-2.1.0/test/html/taint.htm 2005-10-25
>> 18:17:06.000000000 -0400
>> +++ Embperl-2.1.0-andargor/test/html/taint.htm
>> 2005-12-22 00:03:32.000000000 -0500
>> @@ -12,7 +12,7 @@
>> when running with -T option or PaintTaintCheck on <P>
>>
>>
>> -[+ do { system ('echo blabla') ;} +]
>> +[+ eval { do { system ('echo blabla') ;} } +]
>>
>> <P>Ok.<P>
>>
>>
>>
>>
>>
>> __________________________________________________
>> Do You Yahoo!?
>> Tired of spam? Yahoo! Mail has the best spam protection around
>> http://mail.yahoo.com
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
>> For additional commands, e-mail: embperl-help@perl.apache.org
>>
>>
>>
>
Embperl 2.1.0, mod_perl 2.0.2, Apache 2.2
Posted by Matt Bockol <mb...@carleton.edu>.
Hi Folks,
I'm trying to build Embperl with Apache 2.2.0, mod_perl 2.0.2, perl
5.8.5 on RHEL AS 4 without much success. I've tried the latest svn
checkout, which is failing on make with the error pasted below. I found
Andargor's patch in the mailing list and am about to try applying it,
but is there a better way to be approaching this?
Thanks,
Matt
gcc -c -I/usr/local/wsg/httpd-2.2.0-1/include
-I/usr/local/wsg/httpd-2.2.0-1/regex
-I/usr/local/wsg/httpd-2.2.0-1/os/unix -I/usr/include/libxml2
-I/usr/include/libxml2 -I/home/mbockol/wsg-src/builds/em
bperl/xs -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing
-pipe -I/usr/local/include -I/usr/include/gdbm
-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE -DMOD_PERL
-DMP_COMPAT_1X -DLINUX=
2 -D_LARGEFILE64_SOURCE -O2 -g -pipe -m32 -march=i386 -mtune=pentium4
-DVERSION=\"2.1.1_dev\" -DXS_VERSION=\"2.1.1_dev\" -fPIC
"-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE" -DAPACHE -DAPACHE2
-DEP2 -DLIBXSLT -o epapfilter.o epapfilter.c
epapfilter.c: In function `ProviderApOutFilter_Callback':
epapfilter.c:210: error: syntax error before '{' token
epapfilter.c:213: error: `__s1_len' undeclared (first use in this function)
epapfilter.c:213: error: (Each undeclared identifier is reported only once
epapfilter.c:213: error: for each function it appears in.)
epapfilter.c:213: error: `__s2_len' undeclared (first use in this function)
epapfilter.c: At top level:
epapfilter.c:213: error: syntax error before ')' token
epapfilter.c:219: error: `b' undeclared here (not in a function)
epapfilter.c:219: error: `data' undeclared here (not in a function)
epapfilter.c:219: error: `len' undeclared here (not in a function)
epapfilter.c:219: warning: data definition has no type or storage class
epapfilter.c:220: error: syntax error before "if"
epapfilter.c:223: error: syntax error before '->' token
epapfilter.c:223: error: conflicting types for 'EMBPERL2_LogErrorParam'
ep.h:227: error: previous declaration of 'EMBPERL2_LogErrorParam' was here
epapfilter.c:223: error: conflicting types for 'EMBPERL2_LogErrorParam'
ep.h:227: error: previous declaration of 'EMBPERL2_LogErrorParam' was here
epapfilter.c:223: warning: data definition has no type or storage class
epapfilter.c:231: error: syntax error before '->' token
epapfilter.c:231: error: conflicting types for 'Perl_sv_catpvn_flags'
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/proto.h:1285: error:
previous declaration of 'Perl_sv_catpvn_flags' was here
epapfilter.c:231: error: conflicting types for 'Perl_sv_catpvn_flags'
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/proto.h:1285: error:
previous declaration of 'Perl_sv_catpvn_flags' was here
epapfilter.c:231: warning: data definition has no type or storage class
epapfilter.c:235: warning: parameter names (without types) in function
declaration
epapfilter.c:235: warning: data definition has no type or storage class
epapfilter.c:237: error: syntax error before "return"
make: *** [epapfilter.o] Error 1
Andargor The Wise wrote:
>I had trouble compiling Embperl 2.1.0 with mod_perl
>2.0.2 and Apache 2.2. I had found a previous patch for
>Apache 2.1 and I added some things. The patch I used
>is below.
>
>I searched, but could not find and further patches
>addressing this. Also, I hopefully did not miss any
>installation steps to compile Embperl 2.1.0 with these
>versions, which would have made such a patch
>irrelevant.
>
>Note on the patch: the "taint" test (#155) fails even
>with the patch. I did not know how to fix it. So run
>make test TESTARGS="-i".
>
>Hope this helps someone,
>
>Andargor
>
>diff --recursive --unified=3
>Embperl-2.1.0/epapfilter.c
>Embperl-2.1.0-andargor/epapfilter.c
>--- Embperl-2.1.0/epapfilter.c 2005-10-25
>18:17:14.000000000 -0400
>+++ Embperl-2.1.0-andargor/epapfilter.c 2005-12-21
>23:33:40.000000000 -0500
>@@ -206,8 +206,9 @@
> epTHX_
>
>
>- APR_BRIGADE_FOREACH(b, bb)
>- {
>+ for (b = APR_BRIGADE_FIRST(bb);
>+ b != APR_BRIGADE_SENTINEL(bb);
>+ b = APR_BUCKET_NEXT(b)) {
> /* APR_BUCKET_IS_EOS(b) does give undefined
>symbol, when running outside of Apache */
> /* if (APR_BUCKET_IS_EOS(b)) */
> if (strcmp (b -> type -> name, "EOS") == 0)
>diff --recursive --unified=3
>Embperl-2.1.0/mod_embperl.c
>Embperl-2.1.0-andargor/mod_embperl.c
>--- Embperl-2.1.0/mod_embperl.c 2005-10-25
>18:17:14.000000000 -0400
>+++ Embperl-2.1.0-andargor/mod_embperl.c 2005-12-21
>23:38:16.000000000 -0500
>@@ -570,11 +570,11 @@
> embperl_ApacheInitUnload (p) ;
>
> #ifdef APACHE2
>- apr_pool_sub_make(&subpool, p, NULL);
>+ apr_pool_create_ex(&subpool, p, NULL, NULL);
> #else
> subpool = ap_make_sub_pool(p);
> #endif
>- cfg = (tApacheDirConfig *) ap_pcalloc(subpool,
>sizeof(tApacheDirConfig));
>+ cfg = (tApacheDirConfig *) apr_pcalloc(subpool,
>sizeof(tApacheDirConfig));
>
> #if 0
> #ifdef APACHE2
>@@ -602,7 +602,7 @@
>
> static void *embperl_create_server_config(apr_pool_t
>* p, server_rec *s)
> {
>- tApacheDirConfig *cfg = (tApacheDirConfig *)
>ap_pcalloc(p, sizeof(tApacheDirConfig));
>+ tApacheDirConfig *cfg = (tApacheDirConfig *)
>apr_pcalloc(p, sizeof(tApacheDirConfig));
>
> bApDebug |=
>ap_exists_config_define("EMBPERL_APDEBUG") ;
>
>@@ -726,11 +726,11 @@
> #endif
>
> #ifdef APACHE2
>- apr_pool_sub_make(&subpool, p, NULL);
>+ apr_pool_create_ex(&subpool, p, NULL, NULL);
> #else
> subpool = ap_make_sub_pool(p);
> #endif
>- mrg = (tApacheDirConfig *)ap_palloc (subpool,
>sizeof(tApacheDirConfig));
>+ mrg = (tApacheDirConfig *)apr_palloc
>(subpool, sizeof(tApacheDirConfig));
>
> if (bApDebug)
> ap_log_error (APLOG_MARK, APLOG_WARNING |
>APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>merge_dir/server_config base=0x%p add=0x%p
>mrg=0x%p\n", basev, addv, mrg) ;
>@@ -826,7 +826,7 @@
> const char * embperl_Apache_Config_##STRUCT##NAME
>(cmd_parms *cmd, /* tApacheDirConfig */ void *
>pDirCfg, const char* arg) \
> { \
> apr_pool_t * p = cmd -> pool ; \
>- ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME =
>ap_pstrdup(p, arg) ; \
>+ ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME =
>apr_pstrdup(p, arg) ; \
> ((tApacheDirConfig *)pDirCfg) ->
>set_##STRUCT##NAME = 1 ; \
> if (bApDebug) \
> ap_log_error (APLOG_MARK, APLOG_WARNING |
>APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>Set "#CFGNAME" (type="#TYPE";STR) = %s\n", arg) ; \
>@@ -842,7 +842,7 @@
> if (!embperl_CalcExpires(arg, buf, 0)) \
> LogErrorParam (NULL, rcTimeFormatErr,
>"EMBPERL_"#CFGNAME, arg) ; \
> else \
>- ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME
>= ap_pstrdup(p, buf) ; \
>+ ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME
>= apr_pstrdup(p, buf) ; \
> ((tApacheDirConfig *)pDirCfg) ->
>set_##STRUCT##NAME = 1 ; \
> if (bApDebug) \
> ap_log_error (APLOG_MARK, APLOG_WARNING |
>APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>Set "#CFGNAME" (type="#TYPE";STR) = %s\n", arg) ; \
>@@ -875,7 +875,7 @@
> #define EPCFG_SAVE(STRUCT,TYPE,NAME,CFGNAME) \
> const char * embperl_Apache_Config_##STRUCT##NAME
>(cmd_parms *cmd, /* tApacheDirConfig */ void *
>pDirCfg, const char* arg) \
> { \
>- ((tApacheDirConfig *)pDirCfg) ->
>save_##STRUCT##NAME = ap_pstrdup(cmd -> pool, arg) ; \
>+ ((tApacheDirConfig *)pDirCfg) ->
>save_##STRUCT##NAME = apr_pstrdup(cmd -> pool, arg) ;
>\
> ((tApacheDirConfig *)pDirCfg) ->
>set_##STRUCT##NAME = 1 ; \
> if (bApDebug) \
> ap_log_error (APLOG_MARK, APLOG_WARNING |
>APLOG_NOERRNO, APLOG_STATUSCODE NULL, "EmbperlDebug:
>Set "#CFGNAME" (type="#TYPE") = %s (save for later
>conversion to Perl data)\n", arg) ; \
>@@ -1162,7 +1162,7 @@
> pParam -> sUri = r -> uri ;
> pParam -> sPathInfo = r -> path_info ;
> pParam -> sQueryInfo = r -> args ;
>- if ((p = ep_pstrdup (pPool, ap_table_get (r ->
>headers_in, "Accept-Language"))))
>+ if ((p = ep_pstrdup (pPool, apr_table_get (r ->
>headers_in, "Accept-Language"))))
> {
> while (isspace(*p))
> p++ ;
>@@ -1172,7 +1172,7 @@
> *p = '\0' ;
> }
>
>- ap_table_do (embperl_AddCookie, &s, r ->
>headers_in, "Cookie", NULL) ;
>+ apr_table_do (embperl_AddCookie, &s, r ->
>headers_in, "Cookie", NULL) ;
>
> buf[0] = '\0' ;
> #ifdef APACHE2
>diff --recursive --unified=3
>Embperl-2.1.0/test/conf/httpd.conf.src
>Embperl-2.1.0-andargor/test/conf/httpd.conf.src
>--- Embperl-2.1.0/test/conf/httpd.conf.src 2005-11-02
>18:00:30.000000000 -0500
>+++ Embperl-2.1.0-andargor/test/conf/httpd.conf.src
>2005-12-21 23:55:35.000000000 -0500
>@@ -70,10 +70,13 @@
> #-Tw
> EOD
>
>-print OFH "PerlTaintCheck On\n" if (!$ENV{NOTAINT}) ;
>+if (!$ENV{NOTAINT}) {
>+ print OFH "PerlSwitches -w\n";
>+} else {
>+ print OFH "PerlSwitches -Tw\n";
>+}
>
> print OFH <<EOD ;
>-PerlWarn On
>
>
> PerlSetEnv EMBPERL_SRC \"$EPPATH\"
>@@ -157,7 +160,7 @@
>
> <Location /embperl/log>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> </Location>
>
>@@ -179,25 +182,25 @@
>
> <Location /embperl>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> </Location>
>
> <Location /embperl/sub>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> </Location>
>
> <Location /embperl2>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> </Location>
>
> <Location /embperl/safe>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 4
> </Location>
>@@ -226,7 +229,7 @@
>
> <Location /embperl/opmask>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 12
> EMBPERL_COMPARTMENT TEST
>@@ -235,7 +238,7 @@
>
> <Location /embperl/rawinput>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 16
> EMBPERL_INPUT_ESCMODE 0
>@@ -243,45 +246,45 @@
>
> <Location /embperl/nochdir>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 384
> </Location>
>
> <Location /embperl/nph>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 64
> </Location>
>
> <Location /embperl/stdout>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> #EMBPERL_OPTIONS 16384
> EMBPERL_OPTIONS 16400
> EMBPERL_ESCMODE 0
>-PerlSetupEnv Off
>+PerlOptions -SetupEnv
> </Location>
>
> <Location /embperl/allform>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 8192
> </Location>
>
> <Location /embperl/noerr>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 2
> </Location>
>
> <Location /embperl/errdoc>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 262144
> ErrorDocument 500 /html/errmsg.htm
>@@ -289,7 +292,7 @@
>
> <Location /embperl/errdoc/epl>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_OPTIONS 262144
> ErrorDocument 500 /embperl/errmsg2.htm
>@@ -297,7 +300,7 @@
>
> <Location /embperl/match>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_URIMATCH \\.htm\$
> </Location>
>@@ -308,7 +311,7 @@
>
>
>
>-print OFH "PerlHandler ", $MP2?'ModPerl':'Apache',
>"::Registry\n" ;
>+print OFH "PerlResponseHandler ",
>$MP2?'ModPerl':'Apache', "::Registry\n" ;
>
>
>
>@@ -324,7 +327,7 @@
> EMBPERL_OBJECT_FALLBACK epofallback.htm
> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
> SetHandler perl-script
>-PerlHandler Embperl::Object
>+PerlResponseHandler Embperl::Object
> Options ExecCGI
> </Location>
>
>@@ -336,7 +339,7 @@
> EMBPERL_OBJECT_FALLBACK epofallback.htm
> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
> SetHandler perl-script
>-PerlHandler Embperl::Object
>+PerlResponseHandler Embperl::Object
> Options ExecCGI
> </Location>
>
>@@ -348,7 +351,7 @@
> EMBPERL_OBJECT_FALLBACK epofallback.htm
> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
> SetHandler perl-script
>-PerlHandler Embperl::Object
>+PerlResponseHandler Embperl::Object
> Options ExecCGI
> </Location>
>
>@@ -359,7 +362,7 @@
> EMBPERL_OBJECT_FALLBACK epofallback.htm
> EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
> SetHandler perl-script
>-PerlHandler Embperl::Object
>+PerlResponseHandler Embperl::Object
> Options ExecCGI
> EMBPERL_OPTIONS 262144
> ErrorDocument 500 /embperl/errmsg2.htm
>@@ -385,28 +388,28 @@
>
> <Location /embperl/sidurl>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_SESSION_MODE 0x20
> </Location>
>
> <Location /embperl/uidurl>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_SESSION_MODE 0x02
> </Location>
>
> <Location /embperl/suidurl>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_SESSION_MODE 0x22
> </Location>
>
> <Location /embperlmail>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_APPNAME MailApp
> EMBPERL_MAILHOST mail.i.ecos.de
>@@ -658,7 +661,7 @@
>
> <Location /perl-status>
> SetHandler perl-script
>-PerlHandler Apache::Status
>+PerlResponseHandler Apache::Status
> PerlSetVar StatusOptionsAll On
> </Location>
>
>@@ -692,7 +695,7 @@
>
> <Location /eg/x>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI FollowSymLinks
> EMBPERL_INPUT_ESCMODE 7
> EMBPERL_OPTIONS 262288
>@@ -710,7 +713,7 @@
> EMBPERL_OBJECT_STOPDIR \"$EPPATH/eg/web\"
> EMBPERL_URIMATCH
>\"\\.htm.?\$|\\.epl\$|\\.xml\$|\\.pod\$|/$\"
> SetHandler perl-script
>-PerlHandler Embperl::Object
>+PerlResponseHandler Embperl::Object
> Options ExecCGI
> </Location>
>
>@@ -722,12 +725,12 @@
> EMBPERL_URIMATCH
>\"\\.htm.?\$|\\.epl\$|\\.xml\$|\\.pod\$|/$\"
> EMBPERL_PATH \"$EPPATH/eg/web/conf;$EPPATH/eg/web\"
> sethandler perl-script
>-perlhandler Embperl
>+PerlResponseHandler Embperl
> </Location>
>
> <Location /eg/xml>
> SetHandler perl-script
>-PerlHandler Embperl
>+PerlResponseHandler Embperl
> Options ExecCGI
> EMBPERL_XSLTSTYLESHEET \"$EPPATH/eg/xml/pod.xsl\"
> EMBPERL_XSLTPROC libxslt
>@@ -751,7 +754,7 @@
> <Location /kwiki>
> SetHandler perl-script
> PerlSetVar KwikiBaseDir $EPPATH/eg/kwiki
>- PerlHandler Kwiki::ModPerl
>+ PerlResponseHandler Kwiki::ModPerl
> </Location>
> Alias /ckwiki $EPPATH/eg/kwiki
>
>diff --recursive --unified=3
>Embperl-2.1.0/test/html/taint.htm
>Embperl-2.1.0-andargor/test/html/taint.htm
>--- Embperl-2.1.0/test/html/taint.htm 2005-10-25
>18:17:06.000000000 -0400
>+++ Embperl-2.1.0-andargor/test/html/taint.htm
>2005-12-22 00:03:32.000000000 -0500
>@@ -12,7 +12,7 @@
> when running with -T option or PaintTaintCheck on <P>
>
>
>-[+ do { system ('echo blabla') ;} +]
>+[+ eval { do { system ('echo blabla') ;} } +]
>
> <P>Ok.<P>
>
>
>
>
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam? Yahoo! Mail has the best spam protection around
>http://mail.yahoo.com
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
>For additional commands, e-mail: embperl-help@perl.apache.org
>
>
>
RE: [PATCH] Embperl 2.1.0, mod_perl 2.0.2, Apache 2.2
Posted by Gerald Richter <ri...@ecos.de>.
Hi,
>
> I had trouble compiling Embperl 2.1.0 with mod_perl
> 2.0.2 and Apache 2.2. I had found a previous patch for Apache
> 2.1 and I added some things. The patch I used is below.
>
Thanks for the patch. I will review and add it to Embperl, but there some
changes needed because in the current form it would break support for Apache
1.3
Gerald
---------------------------------------------------------------------------
Gerald Richter ecos electronic communication services gmbh
IT-Securitylösungen * Webapplikationen mit Apache/Perl/mod_perl/Embperl
Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: richter@ecos.de Voice: +49 6133 939-122
WWW: http://www.ecos.de/ Fax: +49 6133 939-333
---------------------------------------------------------------------------
ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info
---------------------------------------------------------------------------
** Virus checked by BB-5000 Mailfilter **
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org