]> git.pld-linux.org Git - packages/apache.git/blobdiff - apache-mod_ssl-eapi.patch
- updated eapi patch from mod_ssl-2.8.24-1.3.33 (connection timeout handling fix)
[packages/apache.git] / apache-mod_ssl-eapi.patch
index 1d66b984487e78d7f6f4a130397a4b71cc2939c7..d5f9c17f096c4caf96709e0951009e57218cdbb4 100644 (file)
@@ -7,7 +7,7 @@
 ## 
 ## Annotated patch file: eapi.patch
 ## Copyright (c) 1998-2001 Ralf S. Engelschall, All Rights Reserved. 
-## Created on: 30-Mar-2001
+## Created on: 02-Sep-2005
 ##
 ## This file assembles changes to existing Apache source files
 ## between the original Apache and the patched variant. It can be
@@ -24,8 +24,8 @@
 | patches and configured the shared memory support via the MM library.
 +---------------------------------------------------------------------------
 Index: src/Configuration.tmpl
---- src/Configuration.tmpl     1999/08/17 11:21:38     1.1.1.5
-+++ src/Configuration.tmpl     2000/10/09 12:15:02     1.21
+--- src/Configuration.tmpl     11 May 2004 18:28:09 -0000      1.1.1.8
++++ src/Configuration.tmpl     11 May 2004 18:32:15 -0000      1.24
 @@ -68,6 +105,24 @@
  #TARGET=
  
@@ -56,9 +56,9 @@ Index: src/Configuration.tmpl
 | Patch in implementation of the EAPI rule.
 +---------------------------------------------------------------------------
 Index: src/Configure
---- src/Configure      2001/02/28 19:40:46     1.1.1.14
-+++ src/Configure      2001/02/28 19:44:33     1.16
-@@ -1808,6 +1808,72 @@
+--- src/Configure      30 Oct 2004 13:42:25 -0000      1.1.1.25
++++ src/Configure      30 Oct 2004 13:44:00 -0000      1.28
+@@ -1867,6 +1867,72 @@
  fi
  
  ####################################################################
@@ -79,7 +79,7 @@ Index: src/Configure
 +    esac
 +    #   MM Shared Memory Library support for EAPI
 +    if [ "x$EAPI_MM" = "x" ]; then
-+        EAPI_MM=`egrep '^EAPI_MM=' $file | tail -1 | awk -F= '{print $2}'`
++        EAPI_MM=`egrep '^EAPI_MM=' $file | sed -n -e '$p' | awk -F= '{print $2}'`
 +    fi
 +    if [ "x$EAPI_MM" != "x" ]; then
 +        case $EAPI_MM in
@@ -130,21 +130,20 @@ Index: src/Configure
 +####################################################################
  ## Add in the Expat library if needed/wanted.
  ##
- if [ -d ./lib/expat-lite/ ]; then
 
 +---------------------------------------------------------------------------
 | Add the build support for the ap_hook.c and ap_ctx.c sources (Unix)
 +---------------------------------------------------------------------------
 Index: src/ap/Makefile.tmpl
---- src/ap/Makefile.tmpl       2000/10/12 08:17:28     1.1.1.6
-+++ src/ap/Makefile.tmpl       2000/10/12 08:31:47     1.6
-@@ -6,7 +6,8 @@
- LIB=libap.a
+--- src/ap/Makefile.tmpl       19 Jun 2002 07:20:22 -0000      1.1.1.8
++++ src/ap/Makefile.tmpl       19 Jun 2002 07:29:08 -0000      1.8
+@@ -7,7 +7,7 @@
  
  OBJS=ap_cpystrn.o ap_execve.o ap_fnmatch.o ap_getpass.o ap_md5c.o ap_signal.o \
--     ap_slack.o ap_snprintf.o ap_sha1.o ap_checkpass.o ap_base64.o
-+     ap_slack.o ap_snprintf.o ap_sha1.o ap_checkpass.o ap_base64.o \
-+     ap_hook.o ap_ctx.o ap_mm.o
+      ap_slack.o ap_snprintf.o ap_sha1.o ap_checkpass.o ap_base64.o ap_ebcdic.o \
+-     ap_strtol.o
++     ap_strtol.o ap_hook.o ap_ctx.o ap_mm.o
  
  .c.o:
        $(CC) -c $(INCLUDES) $(CFLAGS) $<
@@ -153,9 +152,9 @@ Index: src/ap/Makefile.tmpl
 | Add the build support for the ap_hook.c and ap_ctx.c sources (Win32)
 +---------------------------------------------------------------------------
 Index: src/ap/ap.mak
---- src/ap/ap.mak      2001/01/23 11:35:02     1.1.1.7
-+++ src/ap/ap.mak      2001/01/23 11:48:05     1.7
-@@ -52,6 +52,9 @@
+--- src/ap/ap.mak      18 Jul 2003 15:44:30 -0000      1.1.1.10
++++ src/ap/ap.mak      18 Jul 2003 15:56:58 -0000      1.10
+@@ -44,6 +44,9 @@
        -@erase "$(INTDIR)\ap_cpystrn.obj"
        -@erase "$(INTDIR)\ap_fnmatch.obj"
        -@erase "$(INTDIR)\ap_md5c.obj"
@@ -165,7 +164,7 @@ Index: src/ap/ap.mak
        -@erase "$(INTDIR)\ap_sha1.obj"
        -@erase "$(INTDIR)\ap_signal.obj"
        -@erase "$(INTDIR)\ap_slack.obj"
-@@ -78,6 +81,9 @@
+@@ -99,6 +102,9 @@
        "$(INTDIR)\ap_cpystrn.obj" \
        "$(INTDIR)\ap_fnmatch.obj" \
        "$(INTDIR)\ap_md5c.obj" \
@@ -175,7 +174,7 @@ Index: src/ap/ap.mak
        "$(INTDIR)\ap_sha1.obj" \
        "$(INTDIR)\ap_signal.obj" \
        "$(INTDIR)\ap_slack.obj" \
-@@ -114,6 +120,9 @@
+@@ -128,6 +134,9 @@
        -@erase "$(INTDIR)\ap_cpystrn.obj"
        -@erase "$(INTDIR)\ap_fnmatch.obj"
        -@erase "$(INTDIR)\ap_md5c.obj"
@@ -185,7 +184,7 @@ Index: src/ap/ap.mak
        -@erase "$(INTDIR)\ap_sha1.obj"
        -@erase "$(INTDIR)\ap_signal.obj"
        -@erase "$(INTDIR)\ap_slack.obj"
-@@ -140,6 +149,9 @@
+@@ -183,6 +192,9 @@
        "$(INTDIR)\ap_cpystrn.obj" \
        "$(INTDIR)\ap_fnmatch.obj" \
        "$(INTDIR)\ap_md5c.obj" \
@@ -201,10 +200,10 @@ Index: src/ap/ap.mak
 | EAPI-aware modules and standard modules.
 +---------------------------------------------------------------------------
 Index: src/include/ap_mmn.h
---- src/include/ap_mmn.h       2001/01/23 11:35:07     1.1.1.8
-+++ src/include/ap_mmn.h       2001/01/23 11:48:05     1.8
-@@ -233,7 +233,23 @@
-  * 19990320.10          - add ap_is_rdirectory() and ap_stripprefix()
+--- src/include/ap_mmn.h       11 May 2004 18:28:12 -0000      1.1.1.13
++++ src/include/ap_mmn.h       11 May 2004 18:32:15 -0000      1.13
+@@ -205,7 +205,23 @@
+  *                        in core_dir_config.
   */
  
 +/* 
@@ -233,10 +232,10 @@ Index: src/include/ap_mmn.h
 | shared memory pools.
 +---------------------------------------------------------------------------
 Index: src/include/ap_alloc.h
---- src/include/ap_alloc.h     2001/02/28 19:40:47     1.1.1.3
-+++ src/include/ap_alloc.h     2001/02/28 19:44:33     1.4
-@@ -95,6 +95,15 @@
pool * ap_init_alloc(void);           /* Set up everything */
+--- src/include/ap_alloc.h     11 May 2004 18:28:11 -0000      1.1.1.7
++++ src/include/ap_alloc.h     11 May 2004 18:32:15 -0000      1.8
+@@ -52,6 +52,15 @@
API_EXPORT(pool *) ap_init_alloc(void);               /* Set up everything */
  void ap_cleanup_alloc(void);
  API_EXPORT(pool *) ap_make_sub_pool(pool *);  /* All pools are subpools of permanent_pool */
 +#if defined(EAPI)
@@ -256,9 +255,9 @@ Index: src/include/ap_alloc.h
 | Add the additional context variable `ctx' for BUFF structures.
 +---------------------------------------------------------------------------
 Index: src/include/buff.h
---- src/include/buff.h 2001/01/23 11:35:07     1.1.1.4
-+++ src/include/buff.h 2001/01/23 11:48:05     1.8
-@@ -125,6 +125,10 @@
+--- src/include/buff.h 11 May 2004 18:28:12 -0000      1.1.1.8
++++ src/include/buff.h 11 May 2004 18:32:15 -0000      1.12
+@@ -82,6 +82,10 @@
      /* transport handle, for RPC binding handle or some such */
      void *t_handle;
  
@@ -269,25 +268,25 @@ Index: src/include/buff.h
  #ifdef B_SFIO
      Sfio_t *sf_in;
      Sfio_t *sf_out;
-@@ -176,6 +180,10 @@
- /* Internal routines */
+@@ -138,6 +142,10 @@
  API_EXPORT(int) ap_bflsbuf(int c, BUFF *fb);
  API_EXPORT(int) ap_bfilbuf(BUFF *fb);
-+
 +#ifdef EAPI
 +#define ap_bpeekc(fb) ( ((fb)->incnt == 0) ? EOF : *((fb)->inptr) )
 +#endif
++
  #ifndef CHARSET_EBCDIC
  
+ #define ap_bgetc(fb)   ( ((fb)->incnt == 0) ? ap_bfilbuf(fb) : \
 
 +---------------------------------------------------------------------------
 | Add the four additional Apache API module hooks.
 +---------------------------------------------------------------------------
 Index: src/include/http_config.h
---- src/include/http_config.h  2001/01/23 11:35:07     1.1.1.8
-+++ src/include/http_config.h  2001/01/23 11:48:05     1.10
-@@ -276,6 +276,65 @@
+--- src/include/http_config.h  11 May 2004 18:28:12 -0000      1.1.1.12
++++ src/include/http_config.h  11 May 2004 18:32:15 -0000      1.14
+@@ -233,6 +233,65 @@
      void (*child_exit) (server_rec *, pool *);
  #endif
      int (*post_read_request) (request_rec *);
@@ -359,10 +358,10 @@ Index: src/include/http_config.h
 | global module context.
 +---------------------------------------------------------------------------
 Index: src/include/http_conf_globals.h
---- src/include/http_conf_globals.h    2001/01/23 11:35:07     1.1.1.8
-+++ src/include/http_conf_globals.h    2001/01/23 11:48:05     1.9
-@@ -92,6 +92,9 @@
- extern int ap_listenbacklog;
+--- src/include/http_conf_globals.h    11 May 2004 18:28:12 -0000      1.1.1.14
++++ src/include/http_conf_globals.h    11 May 2004 18:32:15 -0000      1.15
+@@ -52,6 +52,9 @@
+ #endif
  extern int ap_dump_settings;
  extern API_VAR_EXPORT int ap_extended_status;
 +#ifdef EAPI
@@ -372,28 +371,6 @@ Index: src/include/http_conf_globals.h
  extern API_VAR_EXPORT char *ap_pid_fname;
  extern API_VAR_EXPORT char *ap_scoreboard_fname;
 
-+---------------------------------------------------------------------------
-| Export the ap_set_callback_and_alarm() function because this
-| first is a useful thing and second we need it because all
-| other API/timeout functions deal with a request_rec while
-| some modules need a generic timeout mechanism.
-+---------------------------------------------------------------------------
-Index: src/include/http_main.h
---- src/include/http_main.h    2001/01/23 11:35:07     1.1.1.5
-+++ src/include/http_main.h    2001/01/23 11:48:05     1.5
-@@ -125,7 +125,11 @@
- API_EXPORT(void) ap_sync_scoreboard_image(void);
- int ap_update_child_status(int child_num, int status, request_rec *r);
- void ap_time_process_request(int child_num, int status);
-+#ifdef EAPI
-+API_EXPORT(unsigned int) ap_set_callback_and_alarm(void (*fn) (int), int x);
-+#else
- unsigned int ap_set_callback_and_alarm(void (*fn) (int), int x);
-+#endif
- API_EXPORT(int) ap_check_alarm(void);
- void setup_signal_names(char *prefix);
-
 +---------------------------------------------------------------------------
 | First add support for the HTTPS protocol scheme via hooks,
 | second add the additional context variable `ctx' for the
@@ -402,9 +379,9 @@ Index: src/include/http_main.h
 | function.
 +---------------------------------------------------------------------------
 Index: src/include/httpd.h
---- src/include/httpd.h        2001/02/28 19:40:48     1.1.1.14
-+++ src/include/httpd.h        2001/02/28 19:44:33     1.23
-@@ -70,7 +70,19 @@
+--- src/include/httpd.h        30 Oct 2004 13:42:25 -0000      1.1.1.25
++++ src/include/httpd.h        30 Oct 2004 13:44:00 -0000      1.35
+@@ -27,7 +27,19 @@
  /* Headers in which EVERYONE has an interest... */
  
  #include "ap_config.h"
@@ -424,21 +401,21 @@ Index: src/include/httpd.h
  #include "buff.h"
  #include "ap.h"
  
-@@ -141,8 +153,13 @@
- #define DEFAULT_HTTP_PORT     80
- #define DEFAULT_HTTPS_PORT    443
- #define ap_is_default_port(port,r)    ((port) == ap_default_port(r))
+@@ -102,8 +114,13 @@
+ #define ap_http_method(r) ap_os_http_method((void*)r)
+ #define ap_default_port(r) ap_os_default_port((void*)r)
+ #else
 +#ifdef EAPI
-+#define ap_http_method(r)   (ap_ctx_get((r)->ctx, "ap::http::method") != NULL ? ((char *)ap_ctx_get((r)->ctx, "ap::http::method")) : "http")
-+#define ap_default_port(r)  (ap_ctx_get((r)->ctx, "ap::default::port") != NULL ? atoi((char *)ap_ctx_get((r)->ctx, "ap::default::port")) : DEFAULT_HTTP_PORT)
++#define ap_http_method(r)   (((r)->ctx != NULL && ap_ctx_get((r)->ctx, "ap::http::method") != NULL) ? ((char *)ap_ctx_get((r)->ctx, "ap::http::method")) : "http")
++#define ap_default_port(r)  (((r)->ctx != NULL && ap_ctx_get((r)->ctx, "ap::default::port") != NULL) ? atoi((char *)ap_ctx_get((r)->ctx, "ap::default::port")) : DEFAULT_HTTP_PORT)
 +#else /* EAPI */
  #define ap_http_method(r)     "http"
  #define ap_default_port(r)    DEFAULT_HTTP_PORT
 +#endif /* EAPI */
+ #endif
  
  /* --------- Default user name and group name running standalone ---------- */
- /* --- These may be specified as numbers by placing a # before a number --- */
-@@ -354,6 +371,19 @@
+@@ -312,6 +329,19 @@
  #define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  #endif
  
@@ -458,7 +435,7 @@ Index: src/include/httpd.h
  /* Number of requests to try to handle in a single process.  If <= 0,
   * the children don't die off.  That's the default here, since I'm still
   * interested in finding and stanching leaks.
-@@ -446,6 +476,9 @@
+@@ -404,6 +434,9 @@
  API_EXPORT(const char *) ap_get_server_version(void);
  API_EXPORT(void) ap_add_version_component(const char *component);
  API_EXPORT(const char *) ap_get_server_built(void);
@@ -468,7 +445,7 @@ Index: src/include/httpd.h
  
  /* Numeric release version identifier: MMNNFFRBB: major minor fix final beta
   * Always increases along the same track as the source branch.
-@@ -838,6 +871,10 @@
+@@ -807,6 +840,10 @@
   * record to improve 64bit alignment the next time we need to break
   * binary compatibility for some other reason.
   */
@@ -479,7 +456,7 @@ Index: src/include/httpd.h
  };
  
  
-@@ -886,6 +923,9 @@
+@@ -855,6 +892,9 @@
      char *local_host;         /* used for ap_get_server_name when
                                 * UseCanonicalName is set to DNS
                                 * (ignores setting of HostnameLookups) */
@@ -489,7 +466,7 @@ Index: src/include/httpd.h
  };
  
  /* Per-vhost config... */
-@@ -958,6 +998,10 @@
+@@ -927,6 +967,10 @@
      int limit_req_line;      /* limit on size of the HTTP request line    */
      int limit_req_fieldsize; /* limit on size of any request header field */
      int limit_req_fields;    /* limit on number of request header fields  */
@@ -505,9 +482,9 @@ Index: src/include/httpd.h
 | Patch the shared memory pool support into the Apache pool facility.
 +---------------------------------------------------------------------------
 Index: src/main/alloc.c
---- src/main/alloc.c   2001/01/23 11:35:08     1.1.1.10
-+++ src/main/alloc.c   2001/01/23 11:48:05     1.17
-@@ -64,6 +64,10 @@
+--- src/main/alloc.c   22 Oct 2004 10:15:50 -0000      1.1.1.17
++++ src/main/alloc.c   22 Oct 2004 10:18:59 -0000      1.26
+@@ -21,6 +21,10 @@
   */
  
  #include "httpd.h"
@@ -518,7 +495,7 @@ Index: src/main/alloc.c
  #include "multithread.h"
  #include "http_log.h"
  
-@@ -138,6 +142,10 @@
+@@ -95,6 +99,10 @@
  #define BLOCK_MINALLOC        0
  #endif
  
@@ -529,7 +506,7 @@ Index: src/main/alloc.c
  /*****************************************************************
   *
   * Managing free storage blocks...
-@@ -166,6 +174,9 @@
+@@ -123,6 +131,9 @@
        char *endp;
        union block_hdr *next;
        char *first_avail;
@@ -539,7 +516,7 @@ Index: src/main/alloc.c
  #ifdef POOL_DEBUG
        union block_hdr *global_next;
        struct pool *owning_pool;
-@@ -216,7 +227,11 @@
+@@ -173,7 +184,11 @@
  /* Get a completely new block from the system pool. Note that we rely on
     malloc() to provide aligned memory. */
  
@@ -550,19 +527,20 @@ Index: src/main/alloc.c
 +#endif
  {
      union block_hdr *blok;
-@@ -230,12 +245,20 @@
-     ++num_malloc_calls;
+     int request_size;
+@@ -189,6 +204,11 @@
      num_malloc_bytes += size + sizeof(union block_hdr);
  #endif
+     request_size = size + sizeof(union block_hdr);
 +#if defined(EAPI) && defined(EAPI_MM)
 +    if (is_shm)
-+        blok = (union block_hdr *)ap_mm_malloc(mm, size + sizeof(union block_hdr));
++        blok = (union block_hdr *)ap_mm_malloc(mm, request_size);
 +    else
 +#endif
-     blok = (union block_hdr *) malloc(size + sizeof(union block_hdr));
+     blok = (union block_hdr *) malloc(request_size);
      if (blok == NULL) {
-       fprintf(stderr, "Ouch!  malloc failed in malloc_block()\n");
+       fprintf(stderr, "Ouch!  malloc(%d) failed in malloc_block()\n",
+@@ -196,6 +216,9 @@
        exit(1);
      }
      debug_fill(blok, size + sizeof(union block_hdr));
@@ -572,7 +550,7 @@ Index: src/main/alloc.c
      blok->h.next = NULL;
      blok->h.first_avail = (char *) (blok + 1);
      blok->h.endp = size + blok->h.first_avail;
-@@ -296,6 +319,10 @@
+@@ -256,6 +279,10 @@
      if (blok == NULL)
        return;                 /* Sanity check --- freeing empty pool? */
  
@@ -583,19 +561,18 @@ Index: src/main/alloc.c
      (void) ap_acquire_mutex(alloc_mutex);
      old_free_list = block_freelist;
      block_freelist = blok;
-@@ -342,7 +369,11 @@
+@@ -302,6 +329,10 @@
  #endif
  
      (void) ap_release_mutex(alloc_mutex);
 +#if defined(EAPI) && defined(EAPI_MM)
 +    if (blok->h.is_shm)
 +        (void)ap_mm_unlock(mm);
- #endif
 +#endif
+ #endif
  }
  
-@@ -350,7 +381,11 @@
+@@ -310,7 +341,11 @@
   * if necessary.  Must be called with alarms blocked.
   */
  
@@ -607,7 +584,7 @@ Index: src/main/alloc.c
  {
      union block_hdr **lastptr = &block_freelist;
      union block_hdr *blok = block_freelist;
-@@ -360,7 +395,12 @@
+@@ -320,7 +355,12 @@
       */
  
      while (blok != NULL) {
@@ -620,7 +597,7 @@ Index: src/main/alloc.c
            *lastptr = blok->h.next;
            blok->h.next = NULL;
            debug_verify_filled(blok->h.first_avail, blok->h.endp,
-@@ -376,7 +416,11 @@
+@@ -336,7 +376,11 @@
      /* Nope. */
  
      min_size += BLOCK_MINFREE;
@@ -632,7 +609,7 @@ Index: src/main/alloc.c
      return blok;
  }
  
-@@ -426,6 +470,9 @@
+@@ -386,6 +430,9 @@
  #ifdef POOL_DEBUG
      struct pool *joined;
  #endif
@@ -642,7 +619,7 @@ Index: src/main/alloc.c
  };
  
  static pool *permanent_pool;
-@@ -440,16 +487,28 @@
+@@ -400,16 +447,28 @@
  #define POOL_HDR_CLICKS (1 + ((sizeof(struct pool) - 1) / CLICK_SZ))
  #define POOL_HDR_BYTES (POOL_HDR_CLICKS * CLICK_SZ)
  
@@ -671,7 +648,7 @@ Index: src/main/alloc.c
      new_pool = (pool *) blok->h.first_avail;
      blok->h.first_avail += POOL_HDR_BYTES;
  #ifdef POOL_DEBUG
-@@ -468,12 +527,38 @@
+@@ -428,12 +487,38 @@
        p->sub_pools = new_pool;
      }
  
@@ -710,7 +687,7 @@ Index: src/main/alloc.c
  #ifdef POOL_DEBUG
  static void stack_var_init(char *s)
  {
-@@ -488,6 +573,13 @@
+@@ -448,6 +533,13 @@
  }
  #endif
  
@@ -724,7 +701,7 @@ Index: src/main/alloc.c
  #ifdef ALLOC_STATS
  static void dump_stats(void)
  {
-@@ -520,6 +612,58 @@
+@@ -480,6 +572,58 @@
      return permanent_pool;
  }
  
@@ -783,7 +760,7 @@ Index: src/main/alloc.c
  void ap_cleanup_alloc(void)
  {
      ap_destroy_mutex(alloc_mutex);
-@@ -530,10 +674,18 @@
+@@ -490,10 +634,18 @@
  {
      ap_block_alarms();
  
@@ -802,7 +779,7 @@ Index: src/main/alloc.c
      /* Don't hold the mutex during cleanups. */
      run_cleanups(a->cleanups);
      a->cleanups = NULL;
-@@ -567,6 +719,10 @@
+@@ -527,6 +679,10 @@
      ap_block_alarms();
      ap_clear_pool(a);
  
@@ -813,7 +790,7 @@ Index: src/main/alloc.c
      (void) ap_acquire_mutex(alloc_mutex);
      if (a->parent) {
        if (a->parent->sub_pools == a)
-@@ -577,6 +733,10 @@
+@@ -537,6 +693,10 @@
            a->sub_next->sub_prev = a->sub_prev;
      }
      (void) ap_release_mutex(alloc_mutex);
@@ -824,7 +801,7 @@ Index: src/main/alloc.c
  
      free_blocks(a->first);
      ap_unblock_alarms();
-@@ -591,6 +751,30 @@
+@@ -551,6 +711,30 @@
      return bytes_in_block_list(block_freelist);
  }
  
@@ -855,7 +832,7 @@ Index: src/main/alloc.c
  /*****************************************************************
   * POOL_DEBUG support
   */
-@@ -756,16 +940,31 @@
+@@ -716,16 +900,31 @@
  
      ap_block_alarms();
  
@@ -887,20 +864,20 @@ Index: src/main/alloc.c
  
      ap_unblock_alarms();
  
-@@ -877,6 +1076,11 @@
-     char *ptr;
-     size = (char *)ps->vbuff.curpos - ps->base;
+@@ -842,6 +1041,11 @@
+     size = cur_len << 1;
+     if (size < AP_PSPRINTF_MIN_SIZE)
+         size = AP_PSPRINTF_MIN_SIZE;
 +#if defined(EAPI) && defined(EAPI_MM)
 +    if (ps->block->h.is_shm)
-+        ptr = ap_mm_realloc(ps->base, 2*size);
++        ptr = ap_mm_realloc(ps->base, size);
 +    else
 +#endif
-     ptr = realloc(ps->base, 2*size);
+     ptr = realloc(ps->base, size);
      if (ptr == NULL) {
        fputs("Ouch!  Out of memory!\n", stderr);
-@@ -897,9 +1101,21 @@
-     cur_len = strp - blok->h.first_avail;
+@@ -865,9 +1069,21 @@
+         size = AP_PSPRINTF_MIN_SIZE;
  
      /* must try another blok */
 +#if defined(EAPI) && defined(EAPI_MM)
@@ -909,9 +886,9 @@ Index: src/main/alloc.c
 +#endif
      (void) ap_acquire_mutex(alloc_mutex);
 +#if defined(EAPI) && defined(EAPI_MM)
-+    nblok = new_block(2 * cur_len, blok->h.is_shm);
++    nblok = new_block(size, blok->h.is_shm);
 +#else
-     nblok = new_block(2 * cur_len);
+     nblok = new_block(size);
 +#endif
      (void) ap_release_mutex(alloc_mutex);
 +#if defined(EAPI) && defined(EAPI_MM)
@@ -921,7 +898,7 @@ Index: src/main/alloc.c
      memcpy(nblok->h.first_avail, blok->h.first_avail, cur_len);
      ps->vbuff.curpos = nblok->h.first_avail + cur_len;
      /* save a byte for the NUL terminator */
-@@ -908,10 +1124,18 @@
+@@ -876,10 +1092,18 @@
      /* did we allocate the current blok? if so free it up */
      if (ps->got_a_new_block) {
        debug_fill(blok->h.first_avail, blok->h.endp - blok->h.first_avail);
@@ -940,7 +917,7 @@ Index: src/main/alloc.c
      }
      ps->blok = nblok;
      ps->got_a_new_block = 1;
-@@ -930,6 +1154,11 @@
+@@ -898,6 +1122,11 @@
      void *ptr;
  
      ap_block_alarms();
@@ -952,7 +929,7 @@ Index: src/main/alloc.c
      ps.base = malloc(512);
      if (ps.base == NULL) {
        fputs("Ouch!  Out of memory!\n", stderr);
-@@ -942,6 +1171,11 @@
+@@ -910,6 +1139,11 @@
      *ps.vbuff.curpos++ = '\0';
      ptr = ps.base;
      /* shrink */
@@ -970,34 +947,9 @@ Index: src/main/alloc.c
 | modules to intercept the I/O processing via hooks.
 +---------------------------------------------------------------------------
 Index: src/main/buff.c
---- src/main/buff.c    2001/01/23 11:35:08     1.1.1.10
-+++ src/main/buff.c    2001/01/23 11:48:05     1.18
-@@ -127,7 +127,11 @@
-   select() sometimes returns 1 even though the write will block. We must work around this.
- */
-+#ifdef EAPI
-+API_EXPORT(int) sendwithtimeout(int sock, const char *buf, int len, int flags)
-+#else /* EAPI */
- int sendwithtimeout(int sock, const char *buf, int len, int flags)
-+#endif /* EAPI */
- {
-     int iostate = 1;
-     fd_set fdset;
-@@ -195,8 +199,11 @@
-     return (rv);
- }
--
-+#ifdef EAPI
-+API_EXPORT(int) recvwithtimeout(int sock, char *buf, int len, int flags)
-+#else /* EAPI */
- int recvwithtimeout(int sock, char *buf, int len, int flags)
-+#endif /* EAPI */
- {
-     int iostate = 1;
-     fd_set fdset;
-@@ -274,6 +281,9 @@
+--- src/main/buff.c    11 May 2004 18:28:14 -0000      1.1.1.15
++++ src/main/buff.c    11 May 2004 18:32:15 -0000      1.23
+@@ -250,6 +250,9 @@
      }
      else
  #endif
@@ -1007,17 +959,17 @@ Index: src/main/buff.c
        rv = read(fb->fd_in, buf, nbyte);
      
      return rv;
-@@ -285,6 +295,9 @@
+@@ -261,6 +264,9 @@
  
- #if defined (WIN32) || defined(NETWARE)
+ #if defined (WIN32) || defined(NETWARE) || defined(CYGWIN_WINSOCK) 
      if (fb->flags & B_SOCKET) {
 +#ifdef EAPI
 +      if (!ap_hook_call("ap::buff::recvwithtimeout", &rv, fb, buf, nbyte))
 +#endif /* EAPI */
-       rv = recvwithtimeout(fb->fd_in, buf, nbyte, 0);
+       rv = ap_recvwithtimeout(fb->fd_in, buf, nbyte, 0);
        if (rv == SOCKET_ERROR)
            errno = WSAGetLastError();
-@@ -332,6 +345,9 @@
+@@ -308,6 +314,9 @@
      }
      else
  #endif
@@ -1027,19 +979,19 @@ Index: src/main/buff.c
  #if defined (B_SFIO)
        rv = sfwrite(fb->sf_out, buf, nbyte);
  #else
-@@ -358,6 +374,9 @@
+@@ -338,6 +347,9 @@
+    
  #if defined(WIN32) || defined(NETWARE)
      if (fb->flags & B_SOCKET) {
 +#ifdef EAPI
 +      if (!ap_hook_call("ap::buff::sendwithtimeout", &rv, fb, buf, nbyte))
 +#endif /* EAPI */
-       rv = sendwithtimeout(fb->fd, buf, nbyte, 0);
+       rv = ap_sendwithtimeout(fb->fd, buf, nbyte, 0);
        if (rv == SOCKET_ERROR)
            errno = WSAGetLastError();
-@@ -438,6 +457,10 @@
-                      (size_t) SF_UNBOUND, 1, SF_WRITE);
- #endif
+@@ -421,6 +433,10 @@
+     fb->callback_data = NULL;
+     fb->filter_callback = NULL;
  
 +#ifdef EAPI
 +    fb->ctx = ap_ctx_new(p);
@@ -1048,7 +1000,7 @@ Index: src/main/buff.c
      return fb;
  }
  
-@@ -1084,6 +1107,9 @@
+@@ -1073,6 +1089,9 @@
      i = 0;
      while (i < nvec) {
        do
@@ -1065,9 +1017,9 @@ Index: src/main/buff.c
 | variables are initialized.
 +---------------------------------------------------------------------------
 Index: src/main/http_config.c
---- src/main/http_config.c     2001/01/29 19:36:42     1.1.1.11
-+++ src/main/http_config.c     2001/01/29 19:38:39     1.14
-@@ -599,6 +599,20 @@
+--- src/main/http_config.c     22 Oct 2004 10:15:50 -0000      1.1.1.18
++++ src/main/http_config.c     22 Oct 2004 10:18:59 -0000      1.21
+@@ -557,6 +557,20 @@
        m->name = tmp;
      }
  #endif /*_OSD_POSIX*/
@@ -1088,7 +1040,7 @@ Index: src/main/http_config.c
  }
  
  /* 
-@@ -613,6 +627,21 @@
+@@ -571,6 +585,21 @@
  {
      module *modp;
  
@@ -1110,7 +1062,7 @@ Index: src/main/http_config.c
      modp = top_module;
      if (modp == m) {
        /* We are the top module, special case */
-@@ -1006,6 +1035,27 @@
+@@ -964,6 +993,27 @@
      const command_rec *cmd;
      module *mod = top_module;
  
@@ -1138,7 +1090,7 @@ Index: src/main/http_config.c
      if ((l[0] == '#') || (!l[0]))
        return NULL;
  
-@@ -1440,6 +1490,10 @@
+@@ -1428,6 +1478,10 @@
      s->limit_req_fieldsize = main_server->limit_req_fieldsize;
      s->limit_req_fields = main_server->limit_req_fields;
  
@@ -1149,17 +1101,17 @@ Index: src/main/http_config.c
      *ps = s;
  
      return ap_parse_vhost_addrs(p, hostname, s);
-@@ -1550,6 +1604,10 @@
+@@ -1539,6 +1593,10 @@
      s->module_config = create_server_config(p, s);
      s->lookup_defaults = create_default_per_dir_config(p);
-+
 +#ifdef EAPI
 +    s->ctx = ap_ctx_new(p);
 +#endif /* EAPI */
++
      return s;
  }
 
 +---------------------------------------------------------------------------
 | Add the ap_global_ctx variable and the new
@@ -1168,10 +1120,10 @@ Index: src/main/http_config.c
 | is added plus the initialization of one more `ctx' variable.
 +---------------------------------------------------------------------------
 Index: src/main/http_main.c
---- src/main/http_main.c       2001/02/28 19:40:49     1.1.1.13
-+++ src/main/http_main.c       2001/03/02 23:45:42     1.35
-@@ -260,6 +260,9 @@
- int ap_listenbacklog;
+--- src/main/http_main.c       22 Oct 2004 10:15:50 -0000      1.1.1.23
++++ src/main/http_main.c       6 Jul 2005 12:29:22 -0000       1.46
+@@ -242,6 +242,9 @@
  int ap_dump_settings = 0;
  API_VAR_EXPORT int ap_extended_status = 0;
 +#ifdef EAPI
@@ -1180,7 +1132,7 @@ Index: src/main/http_main.c
  
  /*
   * The max child slot ever assigned, preserved across restarts.  Necessary
-@@ -442,6 +445,30 @@
+@@ -435,6 +438,30 @@
      }
  }
  
@@ -1211,40 +1163,27 @@ Index: src/main/http_main.c
  #ifndef NETWARE
  static APACHE_TLS int volatile exit_after_unblock = 0;
  #endif
-@@ -1209,6 +1236,10 @@
-           ap_log_transaction(log_req);
+@@ -1542,6 +1569,9 @@
        }
  
+       ap_bsetflag(save_req->connection->client, B_EOUT, 1);
 +#ifdef EAPI
 +      ap_call_close_connection_hook(save_req->connection);
 +#endif /* EAPI */
-+
-       ap_bsetflag(save_req->connection->client, B_EOUT, 1);
        ap_bclose(save_req->connection->client);
        
-@@ -1217,6 +1248,9 @@
-         ap_longjmp(jmpbuffer, 1);
+       if (!ap_standalone)
+@@ -1550,6 +1580,9 @@
      }
      else {                    /* abort the connection */
+       ap_bsetflag(current_conn->client, B_EOUT, 1);
 +#ifdef EAPI
 +      ap_call_close_connection_hook(current_conn);
 +#endif /* EAPI */
-       ap_bsetflag(current_conn->client, B_EOUT, 1);
        ap_bclose(current_conn->client);
        current_conn->aborted = 1;
-@@ -1282,7 +1316,11 @@
- }
- #endif
-+#ifdef EAPI
-+API_EXPORT(unsigned int) ap_set_callback_and_alarm(void (*fn) (int), int x)
-+#else
- unsigned int ap_set_callback_and_alarm(void (*fn) (int), int x)
-+#endif
- {
-     unsigned int old;
-@@ -1518,10 +1556,16 @@
+     }
+@@ -1851,10 +1884,16 @@
      /* Send any leftover data to the client, but never try to again */
  
      if (ap_bflush(r->connection->client) == -1) {
@@ -1261,7 +1200,7 @@ Index: src/main/http_main.c
      ap_bsetflag(r->connection->client, B_EOUT, 1);
  
      /* Close our half of the connection --- send the client a FIN */
-@@ -2232,6 +2276,9 @@
+@@ -2553,6 +2592,9 @@
      /* Clear the pool - including any registered cleanups */
      ap_destroy_pool(pglobal);
  #endif
@@ -1271,7 +1210,7 @@ Index: src/main/http_main.c
      exit(code);
  }
  
-@@ -3226,6 +3273,24 @@
+@@ -3623,6 +3665,24 @@
      conn->remote_addr = *remaddr;
      conn->remote_ip = ap_pstrdup(conn->pool,
                              inet_ntoa(conn->remote_addr.sin_addr));
@@ -1296,7 +1235,7 @@ Index: src/main/http_main.c
  
      return conn;
  }
-@@ -3647,6 +3712,15 @@
+@@ -4133,6 +4193,15 @@
      printf("Server's Module Magic Number: %u:%u\n",
           MODULE_MAGIC_NUMBER_MAJOR, MODULE_MAGIC_NUMBER_MINOR);
      printf("Server compiled with....\n");
@@ -1309,10 +1248,10 @@ Index: src/main/http_main.c
 +    printf(" -D EAPI_MM_CORE_PATH=\"" EAPI_MM_CORE_PATH "\"\n");
 +#endif
 +#endif
- #ifdef BIG_SECURITY_HOLE
-     printf(" -D BIG_SECURITY_HOLE\n");
+ #ifdef TPF
+     show_os_specific_compile_settings();
  #endif
-@@ -3800,6 +3874,22 @@
+@@ -4307,6 +4376,22 @@
      ap_server_pre_read_config  = ap_make_array(pcommands, 1, sizeof(char *));
      ap_server_post_read_config = ap_make_array(pcommands, 1, sizeof(char *));
      ap_server_config_defines   = ap_make_array(pcommands, 1, sizeof(char *));
@@ -1335,7 +1274,7 @@ Index: src/main/http_main.c
  }
  
  #ifndef MULTITHREAD
-@@ -4219,6 +4309,9 @@
+@@ -4808,6 +4893,9 @@
  
            ap_sync_scoreboard_image();
            if (ap_scoreboard_image->global.running_generation != ap_my_generation) {
@@ -1345,7 +1284,7 @@ Index: src/main/http_main.c
                ap_bclose(conn_io);
                clean_child_exit(0);
            }
-@@ -4247,6 +4340,9 @@
+@@ -4836,6 +4924,9 @@
         */
  
  #ifdef NO_LINGCLOSE
@@ -1355,7 +1294,7 @@ Index: src/main/http_main.c
        ap_bclose(conn_io);     /* just close it */
  #else
        if (r && r->connection
-@@ -4257,6 +4353,9 @@
+@@ -4846,6 +4937,9 @@
            lingering_close(r);
        }
        else {
@@ -1365,7 +1304,7 @@ Index: src/main/http_main.c
            ap_bsetflag(conn_io, B_EOUT, 1);
            ap_bclose(conn_io);
        }
-@@ -4981,16 +5080,31 @@
+@@ -5629,16 +5723,31 @@
            usage(argv[0]);
        }
      }
@@ -1397,7 +1336,7 @@ Index: src/main/http_main.c
      }
  
      child_timeouts = !ap_standalone || one_process;
-@@ -5120,6 +5234,10 @@
+@@ -5786,6 +5895,10 @@
            ap_destroy_pool(r->pool);
        }
  
@@ -1408,7 +1347,7 @@ Index: src/main/http_main.c
        ap_bclose(cio);
      }
      exit(0);
-@@ -5466,6 +5584,9 @@
+@@ -6162,6 +6275,9 @@
        ap_kill_cleanups_for_socket(ptrans, csd);
  
  #ifdef NO_LINGCLOSE
@@ -1418,7 +1357,7 @@ Index: src/main/http_main.c
        ap_bclose(conn_io);     /* just close it */
  #else
        if (r && r->connection
-@@ -5476,6 +5597,9 @@
+@@ -6172,6 +6288,9 @@
            lingering_close(r);
        }
        else {
@@ -1428,7 +1367,7 @@ Index: src/main/http_main.c
            ap_bsetflag(conn_io, B_EOUT, 1);
            ap_bclose(conn_io);
        }
-@@ -6989,6 +7113,10 @@
+@@ -7747,6 +7866,10 @@
      if (!conf_specified)
          ap_cpystrn(ap_server_confname, SERVER_CONFIG_FILE, sizeof(ap_server_confname));
  
@@ -1439,43 +1378,44 @@ Index: src/main/http_main.c
      if (!ap_os_is_path_absolute(ap_server_confname))
          ap_cpystrn(ap_server_confname,
                     ap_server_root_relative(pcommands, ap_server_confname),
-@@ -7030,6 +7158,9 @@
-     }
+@@ -7787,6 +7910,9 @@
  #else /* ndef WIN32 */
      server_conf = ap_read_config(pconf, ptrans, ap_server_confname);
-+#endif
+ #endif
 +#ifdef EAPI
 +    ap_init_alloc_shared(FALSE);
- #endif
++#endif
  
      if (ap_configtestonly) {
+         fprintf(stderr, "%s: Syntax OK\n", ap_server_root_relative(pcommands, ap_server_confname));
 
 +---------------------------------------------------------------------------
 | Just add the initialization of the `ctx' variable for
 | conn_rec structures.
 +---------------------------------------------------------------------------
 Index: src/main/http_request.c
---- src/main/http_request.c    2001/02/28 19:40:49     1.1.1.11
-+++ src/main/http_request.c    2001/02/28 19:44:34     1.10
-@@ -1404,6 +1404,9 @@
-     new->no_local_copy   = r->no_local_copy;
-     new->read_length     = r->read_length;     /* We can only read it once */
-     new->vlist_validator = r->vlist_validator;
+--- src/main/http_request.c    22 Oct 2004 10:15:57 -0000      1.1.1.19
++++ src/main/http_request.c    22 Oct 2004 10:18:59 -0000      1.19
+@@ -1372,6 +1372,10 @@
+     new->method          = r->method;
+     new->method_number   = r->method_number;
 +#ifdef EAPI
++    /* initialize context _BEFORE_ ap_parse_uri() call */
 +    new->ctx             = r->ctx;
 +#endif /* EAPI */
-     ap_table_setn(new->subprocess_env, "REDIRECT_STATUS",
-       ap_psprintf(r->pool, "%d", r->status));
+     ap_parse_uri(new, new_uri);
+     new->request_config = ap_create_request_config(r->pool);
+     new->per_dir_config = r->server->lookup_defaults;
 
 +---------------------------------------------------------------------------
 | Just add the initialization of the `ctx' variable for
 | request_rec structures.
 +---------------------------------------------------------------------------
 Index: src/main/http_protocol.c
---- src/main/http_protocol.c   2001/02/28 19:40:49     1.1.1.12
-+++ src/main/http_protocol.c   2001/02/28 19:44:34     1.12
-@@ -1105,6 +1105,10 @@
+--- src/main/http_protocol.c   22 Oct 2004 10:15:51 -0000      1.1.1.21
++++ src/main/http_protocol.c   22 Oct 2004 10:18:59 -0000      1.21
+@@ -1172,6 +1172,10 @@
      r->status          = HTTP_REQUEST_TIME_OUT;  /* Until we get a request */
      r->the_request     = NULL;
  
@@ -1484,9 +1424,9 @@ Index: src/main/http_protocol.c
 +#endif /* EAPI */
 +
  #ifdef CHARSET_EBCDIC
-     ap_bsetflag(r->connection->client, B_ASCII2EBCDIC|B_EBCDIC2ASCII, 1);
- #endif
-@@ -1252,6 +1256,11 @@
+     ap_bsetflag(r->connection->client, B_ASCII2EBCDIC, r->ebcdic.conv_in  = 1);
+     ap_bsetflag(r->connection->client, B_EBCDIC2ASCII, r->ebcdic.conv_out = 1);
+@@ -1328,6 +1332,11 @@
      rnew->read_body       = REQUEST_NO_BODY;
  
      rnew->main = (request_rec *) r;
@@ -1497,15 +1437,15 @@ Index: src/main/http_protocol.c
 +
  }
  
void ap_finalize_sub_req_protocol(request_rec *sub)
API_EXPORT(void) ap_finalize_sub_req_protocol(request_rec *sub)
 
 +---------------------------------------------------------------------------
 | Add support for loading both EAPI and AP13 modules.
 +---------------------------------------------------------------------------
 Index: src/modules/standard/mod_so.c
---- src/modules/standard/mod_so.c      2001/01/23 11:35:13     1.1.1.6
-+++ src/modules/standard/mod_so.c      2001/01/23 11:48:08     1.7
-@@ -263,11 +263,24 @@
+--- src/modules/standard/mod_so.c      22 Oct 2004 10:15:57 -0000      1.1.1.12
++++ src/modules/standard/mod_so.c      22 Oct 2004 10:18:59 -0000      1.13
+@@ -266,11 +266,24 @@
       * Make sure the found module structure is really a module structure
       * 
       */
@@ -1539,9 +1479,9 @@ Index: src/modules/standard/mod_so.c
 | one hook for creating new %x tags at all.
 +---------------------------------------------------------------------------
 Index: src/modules/standard/mod_log_config.c
---- src/modules/standard/mod_log_config.c      2001/01/23 11:35:12     1.1.1.11
-+++ src/modules/standard/mod_log_config.c      2001/01/23 11:48:08     1.24
-@@ -262,6 +262,9 @@
+--- src/modules/standard/mod_log_config.c      11 May 2004 18:28:20 -0000      1.1.1.15
++++ src/modules/standard/mod_log_config.c      11 May 2004 18:32:16 -0000      1.28
+@@ -220,6 +220,9 @@
  typedef const char *(*item_key_func) (request_rec *, char *);
  
  typedef struct {
@@ -1551,7 +1491,7 @@ Index: src/modules/standard/mod_log_config.c
      item_key_func func;
      char *arg;
      int condition_sense;
-@@ -573,15 +576,36 @@
+@@ -541,15 +544,36 @@
      }
  };
  
@@ -1588,7 +1528,7 @@ Index: src/modules/standard/mod_log_config.c
      return NULL;
  }
  
-@@ -707,7 +731,11 @@
+@@ -675,7 +699,11 @@
              break;
  
          default:
@@ -1600,7 +1540,7 @@ Index: src/modules/standard/mod_log_config.c
              if (!l) {
                  char dummy[2];
  
-@@ -716,6 +744,9 @@
+@@ -684,6 +712,9 @@
                  return ap_pstrcat(p, "Unrecognized LogFormat directive %",
                                 dummy, NULL);
              }
@@ -1610,7 +1550,7 @@ Index: src/modules/standard/mod_log_config.c
              it->func = l->func;
              if (it->want_orig == -1) {
                  it->want_orig = l->want_orig_default;
-@@ -777,6 +808,15 @@
+@@ -745,6 +776,15 @@
  
      /* We do.  Do it... */
  
@@ -1632,9 +1572,9 @@ Index: src/modules/standard/mod_log_config.c
 | variables from other modules.
 +---------------------------------------------------------------------------
 Index: src/modules/standard/mod_rewrite.c
---- src/modules/standard/mod_rewrite.c 2001/02/28 19:40:52     1.1.1.10
-+++ src/modules/standard/mod_rewrite.c 2001/02/28 19:44:34     1.8
-@@ -3637,6 +3637,15 @@
+--- src/modules/standard/mod_rewrite.c 30 Oct 2004 13:42:28 -0000      1.1.1.21
++++ src/modules/standard/mod_rewrite.c 30 Oct 2004 13:44:00 -0000      1.19
+@@ -3863,6 +3863,15 @@
      }
  #endif /* ndef WIN32 && NETWARE*/
  
@@ -1656,30 +1596,41 @@ Index: src/modules/standard/mod_rewrite.c
 | the status HTML page.
 +---------------------------------------------------------------------------
 Index: src/modules/standard/mod_status.c
---- src/modules/standard/mod_status.c  2001/01/23 11:35:14     1.1.1.11
-+++ src/modules/standard/mod_status.c  2001/01/23 11:48:08     1.8
-@@ -711,6 +748,12 @@
- </table>\n", r);
- #endif
-       }
-+
-+#ifdef EAPI
-+    ap_hook_use("ap::mod_status::display",
-+                AP_HOOK_SIG4(void,ptr,int,int), AP_HOOK_ALL,
-+                r, no_table_report, short_report);
-+#endif
-     } else {
+--- src/modules/standard/mod_status.c  11 May 2004 18:28:20 -0000      1.1.1.16
++++ src/modules/standard/mod_status.c  11 May 2004 18:32:16 -0000      1.13
+@@ -651,12 +677,23 @@
+                           ap_rprintf(r,
+                            "<td>?<td nowrap>?<td nowrap>..reading.. </tr>\n\n");
+                       else
++#ifndef NO_PRETTYPRINT
++                          ap_rprintf(r,
++                           "<td nowrap><font face=\"Arial,Helvetica\" size=\"-1\">%s</font>"
++                           "<td nowrap><font face=\"Arial,Helvetica\" size=\"-1\">%s</font>"
++                           "<td nowrap><font face=\"Arial,Helvetica\" size=\"-1\">%s</font>"
++                           "</tr>\n\n",
++                           score_record.client,
++                           vhost ? vhost->server_hostname : "(unavailable)",
++                           ap_escape_html(r->pool, score_record.request));
++#else
+                           ap_rprintf(r,
+                            "<td>%s<td nowrap>%s<td nowrap>%s</tr>\n\n",
+                            ap_escape_html(r->pool, score_record.client),
+                            vhost ? ap_escape_html(r->pool, 
+                               vhost->server_hostname) : "(unavailable)",
+                            ap_escape_html(r->pool, score_record.request));
++#endif
+                   }           /* no_table_report */
+               }                       /* !short_report */
+           }                   /* if (<active child>) */
 
 +---------------------------------------------------------------------------
 | Add hooks to the scheme processing to allow other modules to
 | recognize more schemes by intercepting this processing.
 +---------------------------------------------------------------------------
 Index: src/modules/proxy/mod_proxy.c
---- src/modules/proxy/mod_proxy.c      2001/01/23 11:35:10     1.1.1.8
-+++ src/modules/proxy/mod_proxy.c      2001/01/23 11:48:07     1.15
-@@ -215,6 +215,9 @@
+--- src/modules/proxy/mod_proxy.c      11 May 2004 18:28:16 -0000      1.1.1.14
++++ src/modules/proxy/mod_proxy.c      11 May 2004 18:32:15 -0000      1.21
+@@ -175,6 +175,9 @@
  static int proxy_fixup(request_rec *r)
  {
      char *url, *p;
@@ -1688,8 +1639,8 @@ Index: src/modules/proxy/mod_proxy.c
 +#endif /* EAPI */
  
      if (r->proxyreq == NOT_PROXY || strncmp(r->filename, "proxy:", 6) != 0)
-       return DECLINED;
-@@ -222,6 +225,14 @@
+         return DECLINED;
+@@ -182,6 +185,14 @@
      url = &r->filename[6];
  
  /* canonicalise each specific scheme */
@@ -1702,9 +1653,9 @@ Index: src/modules/proxy/mod_proxy.c
 +    else
 +#endif /* EAPI */
      if (strncasecmp(url, "http:", 5) == 0)
-       return ap_proxy_http_canon(r, url + 5, "http", DEFAULT_HTTP_PORT);
+         return ap_proxy_http_canon(r, url + 5, "http", DEFAULT_HTTP_PORT);
      else if (strncasecmp(url, "ftp:", 4) == 0)
-@@ -237,9 +248,44 @@
+@@ -197,9 +208,44 @@
  static void proxy_init(server_rec *r, pool *p)
  {
      ap_proxy_garbage_init(r, p);
@@ -1713,8 +1664,8 @@ Index: src/modules/proxy/mod_proxy.c
 +                AP_HOOK_SIG3(void,ptr,ptr), AP_HOOK_ALL, r, p);
 +#endif
  }
--
  
+-
 +#ifdef EAPI
 +static void proxy_addmod(module *m)
 +{
@@ -1750,10 +1701,10 @@ Index: src/modules/proxy/mod_proxy.c
  
  /* Send a redirection if the request contains a hostname which is not */
  /* fully qualified, i.e. doesn't have a domain name appended. Some proxy */
-@@ -369,6 +415,14 @@
-               /* CONNECT is a special method that bypasses the normal
-                * proxy code.
-                */
+@@ -331,6 +377,14 @@
+                  * CONNECT is a special method that bypasses the normal proxy
+                  * code.
+                  */
 +#ifdef EAPI
 +              if (!ap_hook_use("ap::mod_proxy::handler",
 +                               AP_HOOK_SIG7(int,ptr,ptr,ptr,ptr,int,ptr),
@@ -1762,22 +1713,22 @@ Index: src/modules/proxy/mod_proxy.c
 +                               ents[i].hostname, ents[i].port, 
 +                               ents[i].protocol) || rc == DECLINED) {
 +#endif /* EAPI */
-               if (r->method_number == M_CONNECT)
-                   rc = ap_proxy_connect_handler(r, cr, url, ents[i].hostname,
-                                              ents[i].port);
-@@ -378,6 +432,9 @@
-                                           ents[i].port);
-               else
-                   rc = DECLINED;
+                 if (r->method_number == M_CONNECT)
+                     rc = ap_proxy_connect_handler(r, cr, url, ents[i].hostname,
+                                                   ents[i].port);
+@@ -340,6 +394,9 @@
+                                                ents[i].port);
+                 else
+                     rc = DECLINED;
 +#ifdef EAPI
 +              }
 +#endif /* EAPI */
  
-               /* an error or success */
-               if (rc != DECLINED && rc != HTTP_BAD_GATEWAY)
-@@ -391,6 +448,14 @@
-  * give up??
-  */
+                 /* an error or success */
+                 if (rc != DECLINED && rc != HTTP_BAD_GATEWAY)
+@@ -354,6 +411,14 @@
+      */
      /* handle the scheme */
 +#ifdef EAPI
 +    if (ap_hook_use("ap::mod_proxy::handler",
@@ -1787,13 +1738,13 @@ Index: src/modules/proxy/mod_proxy.c
 +                    NULL, 0, scheme) && rc != DECLINED)
 +        return rc;
 +#endif /* EAPI */
-     if (r->method_number == M_CONNECT)
-       return ap_proxy_connect_handler(r, cr, url, NULL, 0);
-     if (strcasecmp(scheme, "http") == 0)
-@@ -955,6 +1020,12 @@
-     NULL,                     /* child_init */
-     NULL,                     /* child_exit */
-     proxy_detect              /* post read-request */
+     if (r->method_number == M_CONNECT) {
+         return ap_proxy_connect_handler(r, cr, url, NULL, 0);
+     }
+@@ -951,4 +1016,10 @@
+     NULL,                       /* child_init */
+     NULL,                       /* child_exit */
+     proxy_detect                /* post read-request */
 +#ifdef EAPI
 +   ,proxy_addmod,             /* EAPI: add_module */
 +    proxy_remmod,             /* EAPI: remove_module */
@@ -1801,28 +1752,26 @@ Index: src/modules/proxy/mod_proxy.c
 +    NULL                      /* EAPI: new_connection  */
 +#endif
  };
 
 +---------------------------------------------------------------------------
 | Add hooks to the HTTP processing to allow other modules
 | to enhance it by intercepting this processing.
 +---------------------------------------------------------------------------
 Index: src/modules/proxy/proxy_http.c
---- src/modules/proxy/proxy_http.c     2001/02/28 19:40:51     1.1.1.10
-+++ src/modules/proxy/proxy_http.c     2001/02/28 19:44:34     1.18
-@@ -190,6 +190,9 @@
-     const char *urlptr = NULL;
-     const char *datestr;
-     struct tbl_do_args tdo;
+--- src/modules/proxy/proxy_http.c     22 Oct 2004 10:15:57 -0000      1.1.1.18
++++ src/modules/proxy/proxy_http.c     22 Oct 2004 10:18:59 -0000      1.26
+@@ -127,6 +127,9 @@
+     const char *datestr, *urlstr;
+     int result, major, minor;
+     const char *content_length;
 +#ifdef EAPI
 +    char *peer;
 +#endif
  
      void *sconf = r->server->module_config;
      proxy_server_conf *conf =
-@@ -208,6 +211,12 @@
-       return HTTP_BAD_REQUEST;
+@@ -148,6 +151,12 @@
+         return HTTP_BAD_REQUEST;
      urlptr += 3;
      destport = DEFAULT_HTTP_PORT;
 +#ifdef EAPI
@@ -1833,27 +1782,27 @@ Index: src/modules/proxy/proxy_http.c
 +#endif /* EAPI */
      strp = strchr(urlptr, '/');
      if (strp == NULL) {
-       desthost = ap_pstrdup(p, urlptr);
-@@ -245,12 +254,18 @@
-       err = ap_proxy_host2addr(proxyhost, &server_hp);
-       if (err != NULL)
-           return DECLINED;    /* try another */
+         desthost = ap_pstrdup(p, urlptr);
+@@ -185,12 +194,18 @@
+         err = ap_proxy_host2addr(proxyhost, &server_hp);
+         if (err != NULL)
+             return DECLINED;    /* try another */
 +#ifdef EAPI
 +      peer = ap_psprintf(p, "%s:%u", proxyhost, proxyport);  
 +#endif
      }
      else {
-       server.sin_port = htons(destport);
-       err = ap_proxy_host2addr(desthost, &server_hp);
-       if (err != NULL)
-           return ap_proxyerror(r, HTTP_INTERNAL_SERVER_ERROR, err);
+         server.sin_port = htons((unsigned short)destport);
+         err = ap_proxy_host2addr(desthost, &server_hp);
+         if (err != NULL)
+             return ap_proxyerror(r, HTTP_INTERNAL_SERVER_ERROR, err);
 +#ifdef EAPI
 +      peer =  ap_psprintf(p, "%s:%u", desthost, destport);  
 +#endif
      }
  
-     sock = ap_psocket(p, PF_INET, SOCK_STREAM, IPPROTO_TCP);
-@@ -307,13 +322,41 @@
+@@ -275,14 +290,42 @@
      f = ap_bcreate(p, B_RDWR | B_SOCKET);
      ap_bpushfd(f, sock, sock);
  
@@ -1870,8 +1819,8 @@ Index: src/modules/proxy/proxy_http.c
 +#endif /* EAPI */
 +
      ap_hard_timeout("proxy send", r);
-     ap_bvputs(f, r->method, " ", proxyhost ? url : urlptr, " HTTP/1.0" CRLF,
-          NULL);
+     ap_bvputs(f, r->method, " ", proxyhost ? url : urlptr, " HTTP/1.1" CRLF,
+               NULL);
 +#ifdef EAPI
 +    {
 +      int rc = DECLINED;
@@ -1887,22 +1836,23 @@ Index: src/modules/proxy/proxy_http.c
 +        }
 +    }
 +#else /* EAPI */
+     /* Send Host: now, adding it to req_hdrs wouldn't be much better */
      if (destportstr != NULL && destport != DEFAULT_HTTP_PORT)
-       ap_bvputs(f, "Host: ", desthost, ":", destportstr, CRLF, NULL);
+         ap_bvputs(f, "Host: ", desthost, ":", destportstr, CRLF, NULL);
      else
-       ap_bvputs(f, "Host: ", desthost, CRLF, NULL);
+         ap_bvputs(f, "Host: ", desthost, CRLF, NULL);
 +#endif /* EAPI */
  
      if (conf->viaopt == via_block) {
-       /* Block all outgoing Via: headers */
+         /* Block all outgoing Via: headers */
 
 +---------------------------------------------------------------------------
 | Add EAPI hooks in module structure for APXS generated samples.
 +---------------------------------------------------------------------------
 Index: src/support/apxs.pl
---- src/support/apxs.pl        2001/01/23 11:35:14     1.1.1.9
-+++ src/support/apxs.pl        2001/01/23 11:48:09     1.9
-@@ -654,5 +654,11 @@
+--- src/support/apxs.pl        11 May 2004 18:28:26 -0000      1.1.1.14
++++ src/support/apxs.pl        11 May 2004 18:32:16 -0000      1.14
+@@ -752,5 +752,11 @@
      NULL,                  /* child_init                          */
      NULL,                  /* child_exit                          */
      NULL                   /* [#0] post read-request              */
@@ -1920,9 +1870,9 @@ Index: src/support/apxs.pl
 | and similar braindead platforms as DSO.
 +---------------------------------------------------------------------------
 Index: src/support/httpd.exp
---- src/support/httpd.exp      2001/02/28 19:40:56     1.1.1.9
-+++ src/support/httpd.exp      2001/02/28 19:44:35     1.11
-@@ -422,3 +422,59 @@
+--- src/support/httpd.exp      11 May 2004 18:28:26 -0000      1.1.1.13
++++ src/support/httpd.exp      11 May 2004 18:32:16 -0000      1.15
+@@ -431,3 +431,59 @@
  XML_SetUnparsedEntityDeclHandler
  XML_SetUserData
  XML_UseParserAsHandlerArg
@@ -1988,12 +1938,12 @@ Index: src/support/httpd.exp
 | Windows 95 and similar braindead platforms as DDL.
 +---------------------------------------------------------------------------
 Index: src/ApacheCore.def
---- src/ApacheCore.def 2001/01/23 11:35:01     1.1.1.7
-+++ src/ApacheCore.def 2001/03/03 10:46:41     1.11
-@@ -389,3 +389,69 @@
-       ap_stripprefix @380
-         ap_os_dso_load @381
-         ap_os_dso_error @382
+--- src/ApacheCore.def 11 May 2004 18:28:08 -0000      1.1.1.11
++++ src/ApacheCore.def 11 May 2004 18:32:15 -0000      1.15
+@@ -448,3 +448,67 @@
+         ap_get_chunk_size @440
+         ap_escape_logitem @441
+         ap_auth_nonce @442
 +      
 +      ; EAPI extended symbols
 +      ; note; no ID's, so these all bind by name rather than ordinal since 
@@ -2013,8 +1963,6 @@ Index: src/ApacheCore.def
 +      ap_hook_use
 +      ap_hook_call
 +      ap_set_callback_and_alarm
-+      recvwithtimeout
-+      sendwithtimeout
 +      ap_acquire_pool
 +      ap_make_shared_sub_pool
 +      ap_release_pool
This page took 0.246535 seconds and 4 git commands to generate.