Loading ...
Sorry, an error occurred while loading the content.

58248[PATCH] for Apache2.1

Expand Messages
  • Beau E. Cox
    Apr 1, 2004
    • 0 Attachment
      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;


      --
      Report problems: http://perl.apache.org/bugs/
      Mail list info: http://perl.apache.org/maillist/modperl.html
      List etiquette: http://perl.apache.org/maillist/email-etiquette.html
    • Show all 2 messages in this topic