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]