Hello Gerald and all -

I have been testing with Apache2.1/mod_perl 2 and found that the following
two patches are necessary for Embperl to run under Apache2.1.

Both patches have been sucessfully tested under Apache2.0 and Apache2.1.

1) epapfilter.c - 'APR_BRIGADE_FOREACH' has been depreciated and has
finally been removed from 2.1.

--- orig.embperl/epapfilter.c   2004-01-22 20:50:54.000000000 -1000
+++ patched.embperl/epapfilter.c        2004-03-30 15:19:42.000000000 -1000
@@ -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)

2) apr function name changes.

--- embperl.unpatched/mod_embperl.c     2004-03-14 10:17:41.000000000 -1000
+++ embperl/mod_embperl.c       2004-03-31 09:42:10.000000000 -1000
@@ -291,7 +291,7 @@
     dTHX ;
 
 #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
@@ -420,7 +420,7 @@
 static void *embperl_create_dir_config(apr_pool_t * p, char *d)
     {
     /*char buf [20] ;*/
-    tApacheDirConfig *cfg = (tApacheDirConfig *) ap_pcalloc(p, 
sizeof(tApacheDirConfig));
+    tApacheDirConfig *cfg = (tApacheDirConfig *) apr_pcalloc(p, 
sizeof(tApacheDirConfig));
 
     embperl_DefaultReqConfig (&cfg -> ReqConfig) ;
     embperl_DefaultAppConfig (&cfg -> AppConfig) ;
@@ -445,7 +445,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") ;
 
@@ -546,7 +546,7 @@
         return addv ;
     
         {
-        tApacheDirConfig *mrg = (tApacheDirConfig *)ap_palloc (p, 
sizeof(tApacheDirConfig));
+        tApacheDirConfig *mrg = (tApacheDirConfig *)apr_palloc (p, 
sizeof(tApacheDirConfig));
         tApacheDirConfig *base = (tApacheDirConfig *)basev;
         tApacheDirConfig *add = (tApacheDirConfig *)addv;
 
@@ -635,7 +635,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) ; \
@@ -651,7 +651,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) ; \
@@ -684,7 +684,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) ; \
@@ -982,7 +982,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++ ;
@@ -992,7 +992,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


Aloha => Beau;


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to