You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@hyperreal.org on 2000/01/19 02:16:37 UTC

cvs commit: apache-2.0/src/regex config.m4

rbb         00/01/18 17:16:35

  Modified:    src/ap   ap_base64.c ap_hooks.c ap_sha1.c
               src/include ap.h ap_ac_config.h buff.h conf.h explain.h
                        http_conf_globals.h http_connection.h http_core.h
                        http_log.h httpd.h util_date.h util_md5.h
               src/lib/apr configure.in
               src/lib/apr/include apr.h.in apr_general.h apr_network_io.h
               src/main http_config.c http_connection.c http_core.c
                        http_log.c http_main.c http_protocol.c
                        http_request.c http_vhost.c iol_file.c listen.c
                        rfc1413.c util.c util_date.c util_script.c
                        util_uri.c
               src/modules/mpm/dexter dexter.c mpm_default.h scoreboard.c
               src/modules/mpm/mpmt_beos mpm_default.h
               src/modules/mpm/mpmt_pthread mpm_default.h mpmt_pthread.c
                        scoreboard.c scoreboard.h
               src/modules/mpm/prefork mpm_default.h prefork.c scoreboard.h
               src/modules/mpm/spmt_os2 mpm_default.h scoreboard.h
               src/modules/mpm/winnt mpm_default.h
               src/os/beos beosd.h os.h
               src/os/os2 os.h
               src/os/unix iol_socket.c os.h unixd.c unixd.h
               src/os/win32 os.h
               src/regex config.m4
  Log:
  Finish the commits for the change in the header files.  Basically, this hides
  all of the Apache macros that modules don't need access to.  This should
  have been committed with the modules, but I wasn't paying attention to the
  directory I was in when I ran the commit.
  Submitted by:	Manoj Kasichainula and Ryan Bloom
  
  Revision  Changes    Path
  1.3       +2 -1      apache-2.0/src/ap/ap_base64.c
  
  Index: ap_base64.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/ap_base64.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_base64.c	1999/09/11 07:15:56	1.2
  +++ ap_base64.c	2000/01/19 01:14:21	1.3
  @@ -61,14 +61,15 @@
    * ugly 'len' functions, which is quite a nasty cost.
    */
   
  +#define CORE_PRIVATE
   #include <string.h>
   
  -#include "ap_config.h"
   #include "ap.h"
   
   #ifdef CHARSET_EBCDIC
   #include "ebcdic.h"
   #endif				/* CHARSET_EBCDIC */
  +#include "ap_config.h"
   
   /* aaaack but it's fast and const should make it shared text page. */
   static const unsigned char pr2six[256] =
  
  
  
  1.9       +1 -0      apache-2.0/src/ap/ap_hooks.c
  
  Index: ap_hooks.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/ap_hooks.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ap_hooks.c	1999/11/28 13:32:15	1.8
  +++ ap_hooks.c	2000/01/19 01:14:22	1.9
  @@ -1,6 +1,7 @@
   #include "httpd.h"
   #include "ap_hooks.h"
   #include <assert.h>
  +#include <stdlib.h>
   
   #if 0
   #define ap_palloc(pool,size)	malloc(size)
  
  
  
  1.3       +1 -1      apache-2.0/src/ap/ap_sha1.c
  
  Index: ap_sha1.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/ap/ap_sha1.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_sha1.c	1999/09/13 18:22:20	1.2
  +++ ap_sha1.c	2000/01/19 01:14:22	1.3
  @@ -85,12 +85,12 @@
   #include <string.h>
   
   #include "httpd.h"
  -#include "ap_config.h"
   #include "ap_sha1.h"
   #include "ap.h"
   #ifdef CHARSET_EBCDIC
   #include "ebcdic.h"
   #endif /*CHARSET_EBCDIC*/
  +#include "ap_config.h"
   
   /* a bit faster & bigger, if defined */
   #define UNROLL_LOOPS
  
  
  
  1.8       +33 -0     apache-2.0/src/include/ap.h
  
  Index: ap.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/ap.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ap.h	1999/11/23 06:33:51	1.7
  +++ ap.h	2000/01/19 01:14:26	1.8
  @@ -65,6 +65,39 @@
   extern "C" {
   #endif
   
  +/* stuff marked API_EXPORT is part of the API, and intended for use
  + * by modules
  + */
  +#ifndef API_EXPORT
  +#define API_EXPORT(type)    type
  +#endif
  +
  +/* Stuff marked API_EXPORT_NONSTD is part of the API, and intended for
  + * use by modules.  The difference between API_EXPORT and
  + * API_EXPORT_NONSTD is that the latter is required for any functions
  + * which use varargs or are used via indirect function call.  This
  + * is to accomodate the two calling conventions in windows dlls.
  + */
  +#ifndef API_EXPORT_NONSTD
  +#define API_EXPORT_NONSTD(type)    type
  +#endif
  +
  +#ifndef MODULE_VAR_EXPORT
  +#define MODULE_VAR_EXPORT
  +#endif
  +#ifndef API_VAR_EXPORT
  +#define API_VAR_EXPORT
  +#endif
  +
  +/* modules should not used functions marked CORE_EXPORT
  + * or CORE_EXPORT_NONSTD */
  +#ifndef CORE_EXPORT
  +#define CORE_EXPORT	API_EXPORT
  +#endif
  +#ifndef CORE_EXPORT_NONSTD
  +#define CORE_EXPORT_NONSTD	API_EXPORT_NONSTD
  +#endif
  +
   /* Simple BASE64 encode/decode functions.
    * 
    * As we might encode binary strings, hence we require the length of
  
  
  
  1.5       +0 -83     apache-2.0/src/include/ap_ac_config.h
  
  Index: ap_ac_config.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/ap_ac_config.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ap_ac_config.h	1999/12/10 20:22:05	1.4
  +++ ap_ac_config.h	2000/01/19 01:14:26	1.5
  @@ -141,14 +141,7 @@
   /* ap_ versions of ctype macros to make sure they deal with 8-bit chars */
   #include "ap_ctype.h"
   
  -/* Find a function to serve as Apache's inet_addr */
   
  -#ifdef HAVE_INET_ADDR
  -#define ap_inet_addr    inet_addr 
  -#elif defined(HAVE_INET_NETWORK)        /* only DGUX, as far as I know */
  -#define ap_inet_addr    inet_network
  -#endif
  -
   /* XXX - This probably doesn't handle OS/2 */
   #ifdef SELECT_NEEDS_CAST
   #define ap_select(_a, _b, _c, _d, _e)   \
  @@ -199,13 +192,6 @@
   #define bzero(a,b) memset(a,0,b)
   #endif
   
  -/* Regexes */
  -#ifdef USE_HSREGEX
  -#include "hsregex.h"
  -#else
  -#include <regex.h>
  -#endif
  -
   /* TODO - We need to put OS detection back to make all the following work */
   
   #if defined(SUNOS4) || defined(IRIX) || defined(NEXT) || defined(AUX3) \
  @@ -235,75 +221,6 @@
   
   /* TODO - none of the dynamic linking defines are in yet, but that's because
    * Manoj needs to learn what the exact ramifications of libtool on DSOs are */
  -
  -/* XXX - This API_EXPORT stuff shouldn't be here. Where? *shrug* */
  -
  -/* stuff marked API_EXPORT is part of the API, and intended for use
  - * by modules
  - */
  -#ifndef API_EXPORT
  -#define API_EXPORT(type)    type
  -#endif
  -
  -/* Stuff marked API_EXPORT_NONSTD is part of the API, and intended for
  - * use by modules.  The difference between API_EXPORT and
  - * API_EXPORT_NONSTD is that the latter is required for any functions
  - * which use varargs or are used via indirect function call.  This
  - * is to accomodate the two calling conventions in windows dlls.
  - */
  -#ifndef API_EXPORT_NONSTD
  -#define API_EXPORT_NONSTD(type)    type
  -#endif
  -
  -#ifndef MODULE_VAR_EXPORT
  -#define MODULE_VAR_EXPORT
  -#endif
  -#ifndef API_VAR_EXPORT
  -#define API_VAR_EXPORT
  -#endif
  -
  -/* modules should not used functions marked CORE_EXPORT
  - * or CORE_EXPORT_NONSTD */
  -#ifndef CORE_EXPORT
  -#define CORE_EXPORT	API_EXPORT
  -#endif
  -#ifndef CORE_EXPORT_NONSTD
  -#define CORE_EXPORT_NONSTD	API_EXPORT_NONSTD
  -#endif
  -
  -/* XXX - This XtOffset stuff shouldn't be here. But where? *shrug* */
  -
  -/* Finding offsets of elements within structures.
  - * Taken from the X code... they've sweated portability of this stuff
  - * so we don't have to.  Sigh...
  - */
  -
  -#if defined(CRAY) || (defined(__arm) && !defined(LINUX))
  -#ifdef __STDC__
  -#define XtOffset(p_type,field) _Offsetof(p_type,field)
  -#else
  -#ifdef CRAY2
  -#define XtOffset(p_type,field) \
  -	(sizeof(int)*((unsigned int)&(((p_type)NULL)->field)))
  -
  -#else /* !CRAY2 */
  -
  -#define XtOffset(p_type,field) ((unsigned int)&(((p_type)NULL)->field))
  -
  -#endif /* !CRAY2 */
  -#endif /* __STDC__ */
  -#else /* ! (CRAY || __arm) */
  -
  -#define XtOffset(p_type,field) \
  -	((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
  -
  -#endif /* !CRAY */
  -
  -#ifdef offsetof
  -#define XtOffsetOf(s_type,field) offsetof(s_type,field)
  -#else
  -#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
  -#endif
   
   #undef PACKAGE
   #undef VERSION
  
  
  
  1.12      +0 -21     apache-2.0/src/include/buff.h
  
  Index: buff.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/buff.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- buff.h	1999/10/31 09:13:21	1.11
  +++ buff.h	2000/01/19 01:14:27	1.12
  @@ -216,27 +216,6 @@
   		     (fb)->outcnt == (fb)->bufsiz) ? ap_bflsbuf(c, (fb)) : \
   		     ((fb)->outbase[(fb)->outcnt++] = (c), 0))
   
  -/* XXX: this doesn't belong here... should be part of a generic spawning API in APR/NSPR */
  -struct child_info {
  -#ifdef WIN32
  -    /*
  -     *  These handles are used by ap_call_exec to call 
  -     *  create process with pipe handles.
  -     */
  -    HANDLE hPipeInputRead;
  -    HANDLE hPipeOutputWrite;
  -    HANDLE hPipeErrorWrite;
  -#else
  -    /* 
  -     * We need to put a dummy member in here to avoid compilation
  -     * errors under certain Unix compilers, like SGI's and HPUX's,
  -     * which fail to compile a zero-sized struct.  Of course
  -     * it would be much nicer if there was actually a use for this
  -     * structure under Unix.  Aah the joys of x-platform code.
  -     */
  -    int dummy;
  -#endif
  -};
   API_EXPORT(int) ap_bspawn_child(ap_context_t *, int (*)(void *, ap_child_info_t *), void *,
   					enum kill_conditions, BUFF **pipe_in, BUFF **pipe_out,
   					BUFF **pipe_err);
  
  
  
  1.2       +0 -9      apache-2.0/src/include/conf.h
  
  	<<Binary file>>
  
  
  1.2       +0 -44     apache-2.0/src/include/explain.h
  
  	<<Binary file>>
  
  
  1.3       +0 -9      apache-2.0/src/include/http_conf_globals.h
  
  Index: http_conf_globals.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/http_conf_globals.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- http_conf_globals.h	1999/08/26 10:45:47	1.2
  +++ http_conf_globals.h	2000/01/19 01:14:28	1.3
  @@ -64,16 +64,7 @@
   
   /* TODO: this file should be deleted after the other todos are dealt with */
   
  -/* TODO: extern MODULE_VAR_EXPORT int ap_suexec_enabled; */
  -#define ap_suexec_enabled (0)
  -/* TODO: extern API_VAR_EXPORT int ap_extended_status; */
  -
   /* TODO: extern enum server_token_type ap_server_tokens; */
  -
  -/* We want this to have the least chance of being corrupted if there
  - * is some memory corruption, so we allocate it statically.
  - */
  -/* TODO: extern char ap_coredump_dir[MAX_STRING_LEN]; */
   
   /* TODO: extern int ap_configtestonly;  ... although it pains me because this breaks an abstraction */
   /* TODO: extern int ap_docrootcheck; */
  
  
  
  1.10      +2 -0      apache-2.0/src/include/http_connection.h
  
  Index: http_connection.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/http_connection.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- http_connection.h	1999/10/24 05:59:12	1.9
  +++ http_connection.h	2000/01/19 01:14:29	1.10
  @@ -65,6 +65,7 @@
   extern "C" {
   #endif
   
  +#ifdef CORE_PRIVATE
   conn_rec *ap_new_connection(ap_context_t *p, server_rec *server, BUFF *inout,
   			    const struct sockaddr_in *remaddr,
   			    const struct sockaddr_in *saddr, long id);
  @@ -72,6 +73,7 @@
   			    const ap_socket_t *conn_socket, long id);
   CORE_EXPORT(void) ap_process_connection(conn_rec *);
   int ap_process_http_connection(conn_rec *);
  +#endif
   
     /* Hooks */
   DECLARE_HOOK(void,pre_connection,(conn_rec *))
  
  
  
  1.4       +0 -16     apache-2.0/src/include/http_core.h
  
  Index: http_core.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/http_core.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- http_core.h	1999/08/31 05:32:18	1.3
  +++ http_core.h	2000/01/19 01:14:29	1.4
  @@ -154,17 +154,6 @@
   API_EXPORT(int) ap_satisfies (request_rec *r);
   API_EXPORT(const ap_array_header_t *) ap_requires (request_rec *);    
   
  -#ifdef WIN32
  -/* 
  - * CGI Script stuff for Win32...
  - */
  -typedef enum { eFileTypeUNKNOWN, eFileTypeBIN, eFileTypeEXE16, eFileTypeEXE32, 
  -               eFileTypeSCRIPT } file_type_e;
  -typedef enum { INTERPRETER_SOURCE_UNSET, INTERPRETER_SOURCE_REGISTRY, 
  -               INTERPRETER_SOURCE_SHEBANG } interpreter_source_e;
  -API_EXPORT(file_type_e) ap_get_win32_interpreter(const request_rec *, char **);
  -#endif
  -
   #ifdef CORE_PRIVATE
   
   /*
  @@ -256,11 +245,6 @@
       ap_array_header_t *sec;
       regex_t *r;
   
  -#ifdef WIN32
  -    /* Where to find interpreter to run scripts */
  -    interpreter_source_e script_interpreter_source;
  -#endif    
  -    
   } core_dir_config;
   
   /* Per-server core configuration */
  
  
  
  1.11      +3 -13     apache-2.0/src/include/http_log.h
  
  Index: http_log.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/http_log.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- http_log.h	1999/12/01 01:16:06	1.10
  +++ http_log.h	2000/01/19 01:14:30	1.11
  @@ -94,11 +94,6 @@
   #endif
   
   #define APLOG_NOERRNO		(APLOG_LEVELMASK + 1)
  -#ifdef WIN32
  -/* Set to indicate that error msg should come from Win32's GetLastError(),
  - * not errno. */
  -#define APLOG_WIN32ERROR	((APLOG_LEVELMASK+1) * 2)
  -#endif
   
   /* normal but significant condition on startup, usually printed to stderr */
   #define APLOG_STARTUP           ((APLOG_LEVELMASK + 1) * 4) 
  @@ -143,24 +138,19 @@
   
   typedef struct piped_log {
       ap_context_t *p;
  +    ap_file_t *fds[2];
  +    /* XXX - an #ifdef that needs to be eliminated from public view. Shouldn't
  +     * be hard */
   #ifdef HAVE_RELIABLE_PIPED_LOGS
       char *program;
       ap_proc_t *pid;
  -    ap_file_t *fds[2];
  -#else
  -    ap_file_t *write_f;
   #endif
   } piped_log;
   
   API_EXPORT(piped_log *) ap_open_piped_log (ap_context_t *p, const char *program);
   API_EXPORT(void) ap_close_piped_log (piped_log *);
  -#ifdef HAVE_RELIABLE_PIPED_LOGS
   #define ap_piped_log_read_fd(pl)	((pl)->fds[0])
   #define ap_piped_log_write_fd(pl)	((pl)->fds[1])
  -#else
  -#define ap_piped_log_read_fd(pl)	(-1)
  -#define ap_piped_log_write_fd(pl)	((pl)->write_f)
  -#endif
   
   #ifdef __cplusplus
   }
  
  
  
  1.19      +158 -243  apache-2.0/src/include/httpd.h
  
  Index: httpd.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/httpd.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- httpd.h	2000/01/09 05:18:16	1.18
  +++ httpd.h	2000/01/19 01:14:31	1.19
  @@ -66,15 +66,25 @@
    * httpd.h: header for simple (ha! not anymore) http daemon
    */
   
  +/* XXX - We need to push more stuff to other .h files, or even .c files, to
  + * make this file smaller
  + */
  +
  +
   /* Headers in which EVERYONE has an interest... */
   
  -#include "ap_config.h"
   #include "apr_general.h"
   #include "apr_lib.h"
   #include "apr_time.h"
  +#include "apr_network_io.h"
   #include "buff.h"
   #include "ap.h"
  +#include "ap_mmn.h"
  +
  +#include <netinet/in.h>
   
  +#ifdef CORE_PRIVATE
  +
   /* ----------------------------- config dir ------------------------------ */
   
   /* Define this to be the default server home dir. Most things later in this
  @@ -95,6 +105,14 @@
   #endif
   #endif /* HTTPD_ROOT */
   
  +/* 
  + * --------- You shouldn't have to edit anything below this line ----------
  + *
  + * Any modifications to any defaults not defined above should be done in the 
  + * respective config. file. 
  + *
  + */
  +
   /* Default location of documents.  Can be overridden by the DocumentRoot
    * directive.
    */
  @@ -119,32 +137,8 @@
   #ifndef TARGET
   #define TARGET "httpd"
   #endif
  -
  -/* 
  - * --------- You shouldn't have to edit anything below this line ----------
  - *
  - * Any modifications to any defaults not defined above should be done in the 
  - * respective config. file. 
  - *
  - */
  -
  -
  -/* -- Internal representation for a HTTP protocol number, e.g., HTTP/1.1 -- */
  -
  -#define HTTP_VERSION(major,minor) (1000*(major)+(minor))
  -#define HTTP_VERSION_MAJOR(number) ((number)/1000)
  -#define HTTP_VERSION_MINOR(number) ((number)%1000)
  -
  -
  -/* -------------- Port number for server running standalone --------------- */
   
  -#define DEFAULT_HTTP_PORT	80
  -#define DEFAULT_HTTPS_PORT	443
  -#define ap_is_default_port(port,r)	((port) == ap_default_port(r))
  -#define ap_http_method(r)	ap_run_http_method(r)
  -#define ap_default_port(r)	ap_run_default_port(r)
  -
  -/* --------- Default user name and group name running standalone ---------- */
  +/* --------- Default user name and group name ----------------------------- */
   /* --- These may be specified as numbers by placing a # before a number --- */
   
   #ifndef DEFAULT_USER
  @@ -171,32 +165,6 @@
   #endif
   #endif /* DEFAULT_ERRORLOG */
   
  -#ifndef DEFAULT_PIDLOG
  -#define DEFAULT_PIDLOG "logs/httpd.pid"
  -#endif
  -#ifndef DEFAULT_SCOREBOARD
  -#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
  -#endif
  -#ifndef DEFAULT_LOCKFILE
  -#define DEFAULT_LOCKFILE "logs/accept.lock"
  -#endif
  -
  -/* Define this to be what your HTML directory content files are called */
  -#ifndef DEFAULT_INDEX
  -#define DEFAULT_INDEX "index.html"
  -#endif
  -
  -/* Define this to 1 if you want fancy indexing, 0 otherwise */
  -#ifndef DEFAULT_INDEXING
  -#define DEFAULT_INDEXING 0
  -#endif
  -
  -/* Define this to be what type you'd like returned for files with unknown */
  -/* suffixes.  MUST be all lower case. */
  -#ifndef DEFAULT_CONTENT_TYPE
  -#define DEFAULT_CONTENT_TYPE "text/plain"
  -#endif
  -
   /* Define this to be what your per-directory security files are called */
   #ifndef DEFAULT_ACCESS_FNAME
   #ifdef OS2
  @@ -217,11 +185,6 @@
   #define RESOURCE_CONFIG_FILE "conf/srm.conf"
   #endif
   
  -/* The name of the MIME types file */
  -#ifndef TYPES_CONFIG_FILE
  -#define TYPES_CONFIG_FILE "conf/mime.types"
  -#endif
  -
   /* The name of the access file */
   #ifndef ACCESS_CONFIG_FILE
   #define ACCESS_CONFIG_FILE "conf/access.conf"
  @@ -231,35 +194,17 @@
   #ifndef DEFAULT_RFC1413
   #define DEFAULT_RFC1413 0
   #endif
  -/* The default directory in user's home dir */
  -#ifndef DEFAULT_USER_DIR
  -#define DEFAULT_USER_DIR "public_html"
  -#endif
   
   /* The default path for CGI scripts if none is currently set */
   #ifndef DEFAULT_PATH
   #define DEFAULT_PATH "/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin"
   #endif
   
  -/* The path to the shell interpreter, for parsed docs */
  -#ifndef SHELL_PATH
  -#if defined(OS2) || defined(WIN32)
  -/* Set default for OS/2 and Windows file system */
  -#define SHELL_PATH "CMD.EXE"
  -#else
  -#define SHELL_PATH "/bin/sh"
  -#endif
  -#endif /* SHELL_PATH */
  -
   /* The path to the suExec wrapper, can be overridden in Configuration */
   #ifndef SUEXEC_BIN
   #define SUEXEC_BIN  HTTPD_ROOT "/sbin/suexec"
   #endif
   
  -/* The default string lengths */
  -#define MAX_STRING_LEN HUGE_STRING_LEN
  -#define HUGE_STRING_LEN 8192
  -
   /* The timeout for waiting for messages */
   #ifndef DEFAULT_TIMEOUT
   #define DEFAULT_TIMEOUT 120000 
  @@ -275,58 +220,6 @@
   #define DEFAULT_KEEPALIVE 100
   #endif
   
  -/* The size of the server's internal read-write buffers */
  -#define IOBUFSIZE 8192
  -
  -/*
  - * Special Apache error codes. These are basically used
  - *  in http_main.c so we can keep track of various errors.
  - *
  - *   APEXIT_OK:
  - *     A normal exit
  - *   APEXIT_INIT:
  - *     A fatal error arising during the server's init sequence
  - *   APEXIT_CHILDINIT:
  - *     The child died during it's init sequence
  - *   APEXIT_CHILDFATAL:
  - *     A fatal error, resulting in the whole server aborting.
  - *     If a child exits with this error, the parent process
  - *     considers this a server-wide fatal error and aborts.
  - *                 
  - */
  -#define APEXIT_OK		0x0
  -#define APEXIT_INIT		0x2
  -#define APEXIT_CHILDINIT	0x3
  -#define APEXIT_CHILDFATAL	0xf
  -
  -/*
  - * (Unix, OS/2 only)
  - * Interval, in microseconds, between scoreboard maintenance.  During
  - * each scoreboard maintenance cycle the parent decides if it needs to
  - * spawn a new child (to meet MinSpareServers requirements), or kill off
  - * a child (to meet MaxSpareServers requirements).  It will only spawn or
  - * kill one child per cycle.  Setting this too low will chew cpu.  The
  - * default is probably sufficient for everyone.  But some people may want
  - * to raise this on servers which aren't dedicated to httpd and where they
  - * don't like the httpd waking up each second to see what's going on.
  - */
  -#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  -#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  -#endif
  -
  -/* 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.
  - */
  -
  -#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  -#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  -#endif
  -
  -#ifndef DEFAULT_EXCESS_REQUESTS_PER_CHILD
  -#define DEFAULT_EXCESS_REQUESTS_PER_CHILD 0
  -#endif
  -
   /* The maximum length of the queue of pending connections, as defined
    * by listen(2).  Under some systems, it should be increased if you
    * are experiencing a heavy TCP SYN flood attack.
  @@ -378,10 +271,97 @@
    *
    * Example: "Apache/1.1.0 MrWidget/0.1-alpha" 
    */
  +
  +/* Define this to 1 if you want fancy indexing, 0 otherwise */
  +#ifndef DEFAULT_INDEXING
  +#define DEFAULT_INDEXING 0
  +#endif
  +#endif /* CORE_PRIVATE */
   
  -#define SERVER_BASEVERSION "Apache/2.0-dev"       /* SEE COMMENTS ABOVE */
  -#define SERVER_VERSION  SERVER_BASEVERSION
  +#define AP_SERVER_BASEVERSION "Apache/2.0-dev"       /* SEE COMMENTS ABOVE */
  +#define AP_SERVER_VERSION  AP_SERVER_BASEVERSION
   
  +#define AP_SERVER_PROTOCOL "HTTP/1.1"
  +
  +
  +/* ------------------ stuff that modules are allowed to look at ----------- */
  +
  +/* Define this to be what your HTML directory content files are called */
  +#ifndef AP_DEFAULT_INDEX
  +#define AP_DEFAULT_INDEX "index.html"
  +#endif
  +
  +
  +/* Define this to be what type you'd like returned for files with unknown */
  +/* suffixes.  MUST be all lower case. */
  +#ifndef DEFAULT_CONTENT_TYPE
  +#define DEFAULT_CONTENT_TYPE "text/plain"
  +#endif
  +
  +/* The name of the MIME types file */
  +#ifndef AP_TYPES_CONFIG_FILE
  +#define AP_TYPES_CONFIG_FILE "conf/mime.types"
  +#endif
  +
  +/*
  + * Define the HTML doctype strings centrally.
  + */
  +#define DOCTYPE_HTML_2_0  "<!DOCTYPE HTML PUBLIC \"-//IETF//" \
  +                          "DTD HTML 2.0//EN\">\n"
  +#define DOCTYPE_HTML_3_2  "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  +                          "DTD HTML 3.2 Final//EN\">\n"
  +#define DOCTYPE_HTML_4_0S "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  +                          "DTD HTML 4.0//EN\"\n" \
  +                          "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
  +#define DOCTYPE_HTML_4_0T "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  +                          "DTD HTML 4.0 Transitional//EN\"\n" \
  +                          "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
  +#define DOCTYPE_HTML_4_0F "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  +                          "DTD HTML 4.0 Frameset//EN\"\n" \
  +                          "\"http://www.w3.org/TR/REC-html40/frameset.dtd\">\n"
  +
  +/* -- Internal representation for a HTTP protocol number, e.g., HTTP/1.1 -- */
  +
  +#define HTTP_VERSION(major,minor) (1000*(major)+(minor))
  +#define HTTP_VERSION_MAJOR(number) ((number)/1000)
  +#define HTTP_VERSION_MINOR(number) ((number)%1000)
  +
  +/* -------------- Port number for server running standalone --------------- */
  +
  +#define DEFAULT_HTTP_PORT	80
  +#define DEFAULT_HTTPS_PORT	443
  +#define ap_is_default_port(port,r)	((port) == ap_default_port(r))
  +#define ap_http_method(r)	ap_run_http_method(r)
  +#define ap_default_port(r)	ap_run_default_port(r)
  +
  +/* The default string lengths */
  +#define MAX_STRING_LEN HUGE_STRING_LEN
  +#define HUGE_STRING_LEN 8192
  +
  +/* The size of the server's internal read-write buffers */
  +#define IOBUFSIZE 8192
  +
  +/*
  + * Special Apache error codes. These are basically used
  + *  in http_main.c so we can keep track of various errors.
  + *
  + *   APEXIT_OK:
  + *     A normal exit
  + *   APEXIT_INIT:
  + *     A fatal error arising during the server's init sequence
  + *   APEXIT_CHILDINIT:
  + *     The child died during it's init sequence
  + *   APEXIT_CHILDFATAL:
  + *     A fatal error, resulting in the whole server aborting.
  + *     If a child exits with this error, the parent process
  + *     considers this a server-wide fatal error and aborts.
  + *                 
  + */
  +#define APEXIT_OK		0x0
  +#define APEXIT_INIT		0x2
  +#define APEXIT_CHILDINIT	0x3
  +#define APEXIT_CHILDFATAL	0xf
  +
   /* TODO: re-implement the server token/version stuff -- it's part of http_core
    * it should be possible to do without touching http_main at all. (or else
    * we haven't got enough module hooks)
  @@ -408,11 +388,6 @@
    */
   #define APACHE_RELEASE 10309100
   
  -#define SERVER_PROTOCOL "HTTP/1.1"
  -#ifndef SERVER_SUPPORT
  -#define SERVER_SUPPORT "http://www.apache.org/"
  -#endif
  -
   #define DECLINED -1		/* Module declines to handle */
   #define DONE -2			/* Module has served the response completely 
   				 *  - it's safe to die() with no more output
  @@ -539,47 +514,10 @@
   #define CGI_MAGIC_TYPE "application/x-httpd-cgi"
   #define INCLUDES_MAGIC_TYPE "text/x-server-parsed-html"
   #define INCLUDES_MAGIC_TYPE3 "text/x-server-parsed-html3"
  -#ifdef CHARSET_EBCDIC
  -#define ASCIITEXT_MAGIC_TYPE_PREFIX "text/x-ascii-" /* Text files whose content-type starts with this are passed thru unconverted */
  -#endif /*CHARSET_EBCDIC*/
  -#define MAP_FILE_MAGIC_TYPE "application/x-type-map"
  -#define ASIS_MAGIC_TYPE "httpd/send-as-is"
   #define DIR_MAGIC_TYPE "httpd/unix-directory"
  -#define STATUS_MAGIC_TYPE "application/x-httpd-status"
  -
  -/*
  - * Define the HTML doctype strings centrally.
  - */
  -#define DOCTYPE_HTML_2_0  "<!DOCTYPE HTML PUBLIC \"-//IETF//" \
  -                          "DTD HTML 2.0//EN\">\n"
  -#define DOCTYPE_HTML_3_2  "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  -                          "DTD HTML 3.2 Final//EN\">\n"
  -#define DOCTYPE_HTML_4_0S "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  -                          "DTD HTML 4.0//EN\"\n" \
  -                          "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
  -#define DOCTYPE_HTML_4_0T "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  -                          "DTD HTML 4.0 Transitional//EN\"\n" \
  -                          "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
  -#define DOCTYPE_HTML_4_0F "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
  -                          "DTD HTML 4.0 Frameset//EN\"\n" \
  -                          "\"http://www.w3.org/TR/REC-html40/frameset.dtd\">\n"
   
  -/* Just in case your linefeed isn't the one the other end is expecting. */
  -#ifndef CHARSET_EBCDIC
   #define LF 10
   #define CR 13
  -#else /* CHARSET_EBCDIC */
  -#include "ebcdic.h"
  -/* OSD_POSIX uses the EBCDIC charset. The transition ASCII->EBCDIC is done in
  - * the buff package (bread/bputs/bwrite), so everywhere else, we use
  - * "native EBCDIC" CR and NL characters. These are therefore defined as
  - * '\r' and '\n'.
  - * NB: this is not the whole truth - sometimes \015 and \012 are contained
  - * in literal (EBCDIC!) strings, so these are not converted but passed.
  - */
  -#define CR '\r'
  -#define LF '\n'
  -#endif /* CHARSET_EBCDIC */
   
   /* Possible values for request_rec.read_body (set by handling module):
    *    REQUEST_NO_BODY          Send 413 error if message has any body
  @@ -848,7 +786,7 @@
   typedef struct server_addr_rec server_addr_rec;
   struct server_addr_rec {
       server_addr_rec *next;
  -    struct in_addr host_addr;	/* The bound address, for this server */
  +    ap_in_addr host_addr;	/* The bound address, for this server */
       unsigned short host_port;	/* The bound port, for this server */
       char *virthost;		/* The name given in <VirtualHost> */
   };
  @@ -909,9 +847,51 @@
       int limit_req_fields;    /* limit on number of request header fields  */
   };
   
  +/* stuff marked API_EXPORT is part of the API, and intended for use
  + * by modules
  + */
  +#ifndef API_EXPORT
  +#define API_EXPORT(type)    type
  +#endif
  +
  +/* Stuff marked API_EXPORT_NONSTD is part of the API, and intended for
  + * use by modules.  The difference between API_EXPORT and
  + * API_EXPORT_NONSTD is that the latter is required for any functions
  + * which use varargs or are used via indirect function call.  This
  + * is to accomodate the two calling conventions in windows dlls.
  + */
  +#ifndef API_EXPORT_NONSTD
  +#define API_EXPORT_NONSTD(type)    type
  +#endif
  +
  +#ifndef MODULE_VAR_EXPORT
  +#define MODULE_VAR_EXPORT
  +#endif
  +#ifndef API_VAR_EXPORT
  +#define API_VAR_EXPORT
  +#endif
  +
  +/* modules should not used functions marked CORE_EXPORT
  + * or CORE_EXPORT_NONSTD */
  +#ifndef CORE_EXPORT
  +#define CORE_EXPORT	API_EXPORT
  +#endif
  +#ifndef CORE_EXPORT_NONSTD
  +#define CORE_EXPORT_NONSTD	API_EXPORT_NONSTD
  +#endif
   
  -/* Prototypes for utilities... util.c.
  +/* On Mac OS X Server, symbols that conflict with loaded dylibs
  + * (eg. System framework) need to be declared as private symbols with
  + * __private_extern__.
  + * For other systems, make that a no-op.
    */
  +#ifndef ap_private_extern
  +#if (defined(MAC_OS) || defined(MAC_OS_X_SERVER)) && defined(__DYNAMIC__)
  +#define ap_private_extern __private_extern__
  +#else
  +#define ap_private_extern
  +#endif
  +#endif
   
   /* Time */
   
  @@ -966,9 +946,11 @@
   API_EXPORT(char *) ap_uudecode(ap_context_t *p, const char *bufcoded);
   API_EXPORT(char *) ap_uuencode(ap_context_t *p, char *string); 
   
  -#ifdef OS2
  -void os2pathname(char *path);
  -char *ap_double_quotes(ap_context_t *p, char *str);
  +/* Regexes */
  +#ifdef AP_USE_HSREGEX
  +#include "hsregex.h"
  +#else
  +#include <regex.h>
   #endif
   
   API_EXPORT(regex_t *) ap_pregcomp(ap_context_t *p, const char *pattern,
  @@ -1017,10 +999,6 @@
   /* Detach from open configfile_t, calling the close handler */
   API_EXPORT(int) ap_cfg_closefile(configfile_t *cfp);
   
  -#ifdef NEED_STRERROR
  -char *strerror(int err);
  -#endif
  -
   /* Misc system hackery */
   
   API_EXPORT(uid_t) ap_uname2id(const char *name);
  @@ -1030,24 +1008,6 @@
   API_EXPORT(int) ap_get_max_daemons(void);
   API_EXPORT(const server_rec *) ap_get_server_conf(void);
   
  -#ifndef HAVE_CANONICAL_FILENAME
  -/*
  - *  We can't define these in os.h because of dependence on ap_context_t pointer.
  - */
  -#define ap_os_canonical_filename(p,f)  (f)
  -#define ap_os_case_canonical_filename(p,f)  (f)
  -#define ap_os_systemcase_filename(p,f)  (f)
  -#else
  -API_EXPORT(char *) ap_os_canonical_filename(ap_context_t *p, const char *file);
  -#ifdef WIN32
  -API_EXPORT(char *) ap_os_case_canonical_filename(ap_context_t *pPool, const char *szFile);
  -API_EXPORT(char *) ap_os_systemcase_filename(ap_context_t *pPool, const char *szFile);
  -#else
  -#define ap_os_case_canonical_filename(p,f) ap_os_canonical_filename(p,f)
  -#define ap_os_systemcase_filename(p,f) ap_os_canonical_filename(p,f)
  -#endif
  -#endif
  -
   #ifdef _OSD_POSIX
   extern const char *os_set_account(ap_context_t *p, const char *account);
   extern int os_init_job_environment(server_rec *s, const char *user_name, int one_process);
  @@ -1056,43 +1016,6 @@
   char *ap_get_local_host(ap_context_t *);
   unsigned long ap_get_virthost_addr(char *hostname, unsigned short *port);
   
  -extern API_VAR_EXPORT time_t ap_restart_time;
  -
  -/*
  - * Apache tries to keep all of its long term filehandles (such as log files,
  - * and sockets) above this number.  This is to workaround problems in many
  - * third party libraries that are compiled with a small FD_SETSIZE.  There
  - * should be no reason to lower this, because it's only advisory.  If a file
  - * can't be allocated above this number then it will remain in the "slack"
  - * area.
  - *
  - * Only the low slack line is used by default.  If HIGH_SLACK_LINE is defined
  - * then an attempt is also made to keep all non-FILE * files above the high
  - * slack line.  This is to work around a Solaris C library limitation, where it
  - * uses an unsigned char to store the file descriptor.
  - */
  -#ifndef LOW_SLACK_LINE
  -#define LOW_SLACK_LINE	15
  -#endif
  -/* #define HIGH_SLACK_LINE      255 */
  -
  -#if 0
  -/*  Moved to APR now.*/
  -/*
  - * The ap_slack() function takes a fd, and tries to move it above the indicated
  - * line.  It returns an fd which may or may not have moved above the line, and
  - * never fails.  If the high line was requested and it fails it will also try
  - * the low line.
  - */
  -#ifdef NO_SLACK
  -#define ap_slack(fd,line)   (fd)
  -#else
  -APRFile ap_slack(APRFile fd, int line);
  -#define AP_SLACK_LOW	1
  -#define AP_SLACK_HIGH	2
  -#endif
  -#endif
  -
   API_EXPORT(char *) ap_escape_quotes(ap_context_t *p, const char *instr);
   
   /*
  @@ -1101,14 +1024,6 @@
   API_EXPORT(void) ap_log_assert(const char *szExp, const char *szFile, int nLine)
   			    __attribute__((noreturn));
   #define ap_assert(exp) ((exp) ? (void)0 : ap_log_assert(#exp,__FILE__,__LINE__))
  -
  -/* The optimized timeout code only works if we're not MULTITHREAD and we're
  - * also not using a scoreboard file
  - */
  -#if !defined (MULTITHREAD) && \
  -    (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
  -#define OPTIMIZE_TIMEOUTS
  -#endif
   
   /* A set of flags which indicate places where the server should raise(SIGSTOP).
    * This is useful for debugging, because you can then attach to that process
  
  
  
  1.7       +9 -5      apache-2.0/src/include/util_date.h
  
  Index: util_date.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/util_date.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- util_date.h	2000/01/09 05:18:17	1.6
  +++ util_date.h	2000/01/19 01:14:31	1.7
  @@ -66,12 +66,16 @@
    * util_date.h: prototypes for date parsing utility routines
    */
   
  -#ifdef NEWSOS
  -#include <stdlib.h>
  -#include <sys/types.h>
  -#endif
  -#include <time.h>
   #include "apr_time.h"
  +/* XXX - This section lists include files for OS-specific types that APR
  + * should replace. Once they are replaced, this section should be
  + * removed */
  +#ifndef NO_MORE_OS_TYPES_IN_THIS_FILE
  +#include "ap_config_auto.h"
  +#ifdef HAVE_SYS_TIME_H
  +#include <sys/time.h>
  +#endif
  +#endif /* NO_MORE_OS_TYPES_IN_THIS_FILE */
   
   #define BAD_DATE (time_t)0
   
  
  
  
  1.6       +0 -4      apache-2.0/src/include/util_md5.h
  
  Index: util_md5.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/util_md5.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- util_md5.h	1999/12/11 00:13:02	1.5
  +++ util_md5.h	2000/01/19 01:14:32	1.6
  @@ -67,11 +67,7 @@
   API_EXPORT(char *) ap_md5(ap_context_t *a, const unsigned char *string);
   API_EXPORT(char *) ap_md5_binary(ap_context_t *a, const unsigned char *buf, int len);
   API_EXPORT(char *) ap_md5contextTo64(ap_context_t *p, AP_MD5_CTX * context);
  -#ifdef CHARSET_EBCDIC
  -API_EXPORT(char *) ap_md5digest(ap_context_t *p, ap_file_t *infile, int convert);
  -#else
   API_EXPORT(char *) ap_md5digest(ap_context_t *p, ap_file_t *infile);
  -#endif /* CHARSET_EBCDIC */
   
   #ifdef __cplusplus
   }
  
  
  
  1.45      +16 -0     apache-2.0/src/lib/apr/configure.in
  
  Index: configure.in
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/configure.in,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- configure.in	2000/01/16 20:00:50	1.44
  +++ configure.in	2000/01/19 01:14:49	1.45
  @@ -327,14 +327,29 @@
   msg=no)
   AC_MSG_RESULT([$msg])
   
  +AC_MSG_CHECKING(looking for in_addr in netinet/in.h)
  +AC_TRY_COMPILE([
  +#include <netinet/in.h>
  +],[
  +struct in_addr arg;
  +arg.s_addr = htonl(INADDR_ANY);
  +], [ have_in_addr="1" 
  +msg=yes ] , [ have_in_addr="0"
  +msg=no ])
  +AC_MSG_RESULT([$msg])
  +
   dnl Checks for library functions.
   AC_CHECK_FUNCS(pthread_sigmask)
   AC_CHECK_FUNCS(strcasecmp stricmp poll setsid)
   AC_CHECK_FUNCS(sigaction writev)
   AC_CHECK_FUNCS(sendfile, [ sendfile="1" ], [ sendfile="0" ]) 
   AC_CHECK_FUNCS(getpass)
  +AC_CHECK_FUNC(inet_addr, [ inet_addr="1" ], [ inet_addr="0" ])
  +AC_CHECK_FUNC(inet_network, [ inet_network="1" ], [ inet_network="0" ])
   AC_CHECK_FUNC(_getch)
   AC_SUBST(sendfile)
  +AC_SUBST(inet_addr)
  +AC_SUBST(inet_network)
   
   AC_CHECK_FUNCS(gmtime_r localtime_r)
   
  @@ -370,6 +385,7 @@
   AC_SUBST(procpthreadser)
   AC_SUBST(pthreadser)
   AC_SUBST(ssize_t_fmt)
  +AC_SUBST(have_in_addr)
   
   AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
   [AC_TRY_COMPILE([#include <sys/types.h>
  
  
  
  1.9       +4 -0      apache-2.0/src/lib/apr/include/apr.h.in
  
  Index: apr.h.in
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr.h.in,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- apr.h.in	1999/12/27 23:00:34	1.8
  +++ apr.h.in	2000/01/19 01:14:55	1.9
  @@ -40,6 +40,10 @@
   #define APR_USE_PROC_PTHREAD_SERIALIZE    @procpthreadser@ 
   #define APR_USE_PTHREAD_SERIALIZE         @pthreadser@ 
   
  +#define APR_HAVE_IN_ADDR        @have_in_addr@
  +#define APR_HAVE_INET_ADDR      @inet_addr@
  +#define APR_HAVE_INET_NETWORK   @inet_network@
  +
   #if APR_HAVE_SYS_TYPES_H
   #include <sys/types.h>
   #endif
  
  
  
  1.15      +34 -0     apache-2.0/src/lib/apr/include/apr_general.h
  
  Index: apr_general.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_general.h,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- apr_general.h	1999/12/27 23:00:34	1.14
  +++ apr_general.h	2000/01/19 01:14:56	1.15
  @@ -182,6 +182,40 @@
   #define APR_INLINE /*nop*/
   #endif
   
  +/* Finding offsets of elements within structures.
  + * Taken from the X code... they've sweated portability of this stuff
  + * so we don't have to.  Sigh...
  + */
  +
  +#if defined(CRAY) || (defined(__arm) && !defined(LINUX))
  +#ifdef __STDC__
  +#define XtOffset(p_type,field) _Offsetof(p_type,field)
  +#else
  +#ifdef CRAY2
  +#define XtOffset(p_type,field) \
  +        (sizeof(int)*((unsigned int)&(((p_type)NULL)->field)))
  +
  +#else /* !CRAY2 */
  +
  +#define XtOffset(p_type,field) ((unsigned int)&(((p_type)NULL)->field))
  +
  +#endif /* !CRAY2 */
  +#endif /* __STDC__ */
  +#else /* ! (CRAY || __arm) */
  +
  +#define XtOffset(p_type,field) \
  +        ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
  +
  +#endif /* !CRAY */
  +
  +#ifdef offsetof
  +#define XtOffsetOf(s_type,field) offsetof(s_type,field)
  +#else
  +#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
  +#endif
  +
  +
  +
   /* Context functions */
   ap_status_t ap_create_context(ap_context_t **, ap_context_t *);
   ap_status_t ap_destroy_context(struct context_t *cont);
  
  
  
  1.20      +22 -2     apache-2.0/src/lib/apr/include/apr_network_io.h
  
  Index: apr_network_io.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_network_io.h,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- apr_network_io.h	1999/12/06 15:47:43	1.19
  +++ apr_network_io.h	2000/01/19 01:14:57	1.20
  @@ -102,9 +102,29 @@
   typedef enum {APR_SHUTDOWN_READ, APR_SHUTDOWN_WRITE, 
   	      APR_SHUTDOWN_READWRITE} ap_shutdown_how_e;
   
  +/* We need to make sure we always have an in_addr type, so APR will just
  + * define it ourselves, if the platform doesn't provide it.
  + */
  +#if !defined(APR_HAVE_IN_ADDR)
  +struct in_addr {
  +    ap_uint32_t  s_addr;
  +}
  +#endif
  +
  +/* I guess not everybody uses inet_addr.  This defines ap_inet_addr
  + * appropriately.
  + */
  +
  +#if APR_HAVE_INET_ADDR
  +#define ap_inet_addr    inet_addr
  +#elif APR_HAVE_INET_NETWORK        /* only DGUX, as far as I know */
  +#define ap_inet_addr    inet_network
  +#endif
  +
   typedef struct socket_t     ap_socket_t;
  -typedef struct pollfd_t    ap_pollfd_t;
  -typedef struct hdtr_t		ap_hdtr_t;
  +typedef struct pollfd_t     ap_pollfd_t;
  +typedef struct hdtr_t       ap_hdtr_t;
  +typedef struct in_addr      ap_in_addr;
   
   #if APR_HAS_SENDFILE
   /* A structure to encapsulate headers and trailers for ap_sendfile */
  
  
  
  1.23      +1 -3      apache-2.0/src/main/http_config.c
  
  Index: http_config.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_config.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- http_config.c	2000/01/06 14:43:25	1.22
  +++ http_config.c	2000/01/19 01:15:02	1.23
  @@ -81,7 +81,7 @@
   #include "http_request.h"	/* for default_handler (see invoke_handler) */
   #include "http_main.h"
   #include "http_vhost.h"
  -#include "explain.h"
  +#include "ap_config.h"
   
   HOOK_STRUCT(
   	    HOOK_LINK(header_parser)
  @@ -101,8 +101,6 @@
   		    (ap_context_t *pconf, ap_context_t *plog, ap_context_t *ptemp, server_rec *s),
   		    (pconf,plog,ptemp,s))
   IMPLEMENT_HOOK_VOID(child_init,(ap_context_t *pchild, server_rec *s),(pchild,s))
  -
  -DEF_Explain
   
   /****************************************************************
    *
  
  
  
  1.25      +1 -0      apache-2.0/src/main/http_connection.c
  
  Index: http_connection.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_connection.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- http_connection.c	1999/11/16 18:30:34	1.24
  +++ http_connection.c	2000/01/19 01:15:03	1.25
  @@ -64,6 +64,7 @@
   #include "mpm_status.h"
   #include "http_config.h"
   #include "http_vhost.h"
  +#include "ap_config.h"
   
   HOOK_STRUCT(
   	    HOOK_LINK(pre_connection)
  
  
  
  1.32      +1 -0      apache-2.0/src/main/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_core.c,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- http_core.c	2000/01/09 05:18:22	1.31
  +++ http_core.c	2000/01/19 01:15:04	1.32
  @@ -69,6 +69,7 @@
   #include "util_md5.h"
   #include "apr_fnmatch.h"
   #include "http_connection.h"
  +#include "ap_config.h"
   
   /* Allow Apache to use ap_mmap */
   #ifdef USE_MMAP_FILES
  
  
  
  1.26      +27 -68    apache-2.0/src/main/http_log.c
  
  Index: http_log.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_log.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- http_log.c	2000/01/09 05:18:23	1.25
  +++ http_log.c	2000/01/19 01:15:06	1.26
  @@ -64,6 +64,7 @@
   
   
   #define CORE_PRIVATE
  +#include "ap_config.h"
   #include "apr_lib.h"
   #include "apr_portable.h"
   #include "httpd.h"
  @@ -405,60 +406,13 @@
   	len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
   		"[client %s] ", r->connection->remote_ip);
       }
  +    /* XXX - need an APRized strerror() */
       if (!(level & APLOG_NOERRNO)
  -	&& (status != 0)
  -#ifdef WIN32
  -	&& !(level & APLOG_WIN32ERROR)
  -#endif
  -	) {
  +	&& (status != 0)) {
   	len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
   		"(%d)%s: ", status, strerror(status));
       }
  -#ifdef WIN32
  -    if (level & APLOG_WIN32ERROR) {
  -	int nChars;
  -	int nErrorCode;
  -
  -	nErrorCode = GetLastError();
  -	len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
  -	    "(%d)", nErrorCode);
   
  -	nChars = FormatMessage( 
  -	    FORMAT_MESSAGE_FROM_SYSTEM,
  -	    NULL,
  -	    nErrorCode,
  -	    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* // Default language */
  -	    (LPTSTR) errstr + len,
  -	    MAX_STRING_LEN - len,
  -	    NULL 
  -	);
  -	len += nChars;
  -	if (nChars == 0) {
  -	    /* Um, error occurred, but we can't recurse to log it again
  -	     * (and it would probably only fail anyway), so lets just
  -	     * log the numeric value.
  -	     */
  -	    nErrorCode = GetLastError();
  -	    len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
  -			       "(FormatMessage failed with code %d): ",
  -			       nErrorCode);
  -	}
  -	else {
  -	    /* FormatMessage put the message in the buffer, but it may
  -	     * have appended a newline (\r\n). So remove it and use
  -	     * ": " instead like the Unix errors. The error may also
  -	     * end with a . before the return - if so, trash it.
  -	     */
  -	    if (len > 1 && errstr[len-2] == '\r' && errstr[len-1] == '\n') {
  -		if (len > 2 && errstr[len-3] == '.')
  -		    len--;
  -		errstr[len-2] = ':';
  -		errstr[len-1] = ' ';
  -	    }
  -	}
  -    }
  -#endif
  -
       len += ap_vsnprintf(errstr + len, MAX_STRING_LEN - len, fmt, args);
   
       /* NULL if we are logging to syslog */
  @@ -622,11 +576,11 @@
   #endif
       if ((ap_createprocattr_init(&procattr, pl->p)         != APR_SUCCESS) ||
           (ap_setprocattr_dir(procattr, pl->program)        != APR_SUCCESS) ||
  -        (ap_set_childin(procattr, pl->fds[0], pl->fds[1]) != APR_SUCCESS)) {
  +        (ap_set_childin(procattr, ap_piped_log_read_fd(pl), ap_piped_log_write_fd(pl)) != APR_SUCCESS)) {
           /* Something bad happened, give up and go away. */
   	ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
  -	    "piped_log_spawn: unable to exec %s -c '%s': %s",
  -	    SHELL_PATH, pl->program, strerror (errno));
  +	    "piped_log_spawn: unable to exec '%s': %s",
  +	    pl->program, strerror (errno));
           rc = -1;
       }
       else {
  @@ -637,7 +591,7 @@
                                               /*   successful that the child is running.        */
               pl->pid = procnew;
               ap_get_os_proc(&pid, procnew);
  -            ap_register_other_child(pid, piped_log_maintenance, pl, pl->fds[1]);
  +            ap_register_other_child(pid, piped_log_maintenance, pl, ap_piped_log_write_fd(pl));
           }
       }
       
  @@ -696,8 +650,8 @@
   	ap_kill(pl->pid, SIGTERM);
       }
       ap_unregister_other_child(pl);
  -    ap_close(pl->fds[0]);
  -    ap_close(pl->fds[1]);
  +    ap_close(ap_piped_log_read_fd(pl));
  +    ap_close(ap_piped_log_write_fd(pl));
       return APR_SUCCESS;
   }
   
  @@ -706,12 +660,11 @@
   {
       piped_log *pl = data;
   
  -    ap_close(pl->fds[0]);
  -    ap_close(pl->fds[1]);
  +    ap_close(ap_piped_log_read_fd(pl));
  +    ap_close(ap_piped_log_write_fd(pl));
       return APR_SUCCESS;
   }
   
  -
   API_EXPORT(piped_log *) ap_open_piped_log(ap_context_t *p, const char *program)
   {
       piped_log *pl;
  @@ -720,7 +673,7 @@
       pl->p = p;
       pl->program = ap_pstrdup(p, program);
       pl->pid = NULL;
  -    if (ap_create_pipe(&pl->fds[0], &pl->fds[1], p) != APR_SUCCESS) {
  +    if (ap_create_pipe(&ap_piped_log_read_fd(pl), &ap_piped_log_write_fd(pl), p) != APR_SUCCESS) {
   	int save_errno = errno;
   	errno = save_errno;
   	return NULL;
  @@ -729,21 +682,24 @@
       if (piped_log_spawn(pl) == -1) {
   	int save_errno = errno;
   	ap_kill_cleanup(p, pl, piped_log_cleanup);
  -	ap_close(pl->fds[0]);
  -	ap_close(pl->fds[1]);
  +	ap_close(ap_piped_log_read_fd(pl));
  +	ap_close(ap_piped_log_write_fd(pl));
   	errno = save_errno;
   	return NULL;
       }
       return pl;
   }
   
  -API_EXPORT(void) ap_close_piped_log(piped_log *pl)
  +#else
  +
  +static ap_status_t piped_log_cleanup(void *data)
   {
  -    piped_log_cleanup(pl);
  -    ap_kill_cleanup(pl->p, pl, piped_log_cleanup);
  +    piped_log *pl = data;
  +
  +    ap_close(ap_piped_log_write_fd(pl));
  +    return APR_SUCCESS;
   }
   
  -#else
   API_EXPORT(piped_log *) ap_open_piped_log(ap_context_t *p, const char *program)
   {
       piped_log *pl;
  @@ -760,14 +716,17 @@
   
       pl = ap_palloc(p, sizeof (*pl));
       pl->p = p;
  -    pl->write_f = dummy;
  +    ap_piped_log_read_fd(pl) = NULL;
  +    ap_piped_log_write_fd(pl) = dummy;
  +    ap_register_cleanup(p, pl, piped_log_cleanup, piped_log_cleanup);
   
       return pl;
   }
   
  +#endif
   
   API_EXPORT(void) ap_close_piped_log(piped_log *pl)
   {
  -    ap_close(pl->write_f);
  +    ap_run_cleanup(pl->p, pl, piped_log_cleanup);
   }
  -#endif
  +
  
  
  
  1.26      +2 -0      apache-2.0/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_main.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- http_main.c	1999/12/20 19:16:34	1.25
  +++ http_main.c	2000/01/19 01:15:07	1.26
  @@ -63,6 +63,7 @@
   #include "util_uri.h" 
   #include "apr_getopt.h"
   #include "ap_mpm.h"
  +#include "ap_config.h"
   
   const char *ap_server_argv0;
   
  @@ -72,6 +73,7 @@
   ap_array_header_t *ap_server_post_read_config;
   ap_array_header_t *ap_server_config_defines;
   
  +/* XXX - We should be able to grab the per-MPM settings here too */
   static void show_compile_settings(void)
   {
       printf("Server version: %s\n", ap_get_server_version());
  
  
  
  1.49      +1 -0      apache-2.0/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_protocol.c,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- http_protocol.c	2000/01/17 19:37:54	1.48
  +++ http_protocol.c	2000/01/19 01:15:09	1.49
  @@ -75,6 +75,7 @@
   #include "util_date.h"          /* For parseHTTPdate and BAD_DATE */
   #include "mpm_status.h"
   #include <stdarg.h>
  +#include "ap_config.h"
   
   HOOK_STRUCT(
   	    HOOK_LINK(post_read_request)
  
  
  
  1.17      +1 -3      apache-2.0/src/main/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_request.c,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- http_request.c	2000/01/12 18:20:43	1.16
  +++ http_request.c	2000/01/19 01:15:11	1.17
  @@ -73,10 +73,8 @@
   #include "http_protocol.h"
   #include "http_log.h"
   #include "http_main.h"
  -#if 0
  -#include "scoreboard.h"
  -#endif
   #include "apr_fnmatch.h"
  +#include "ap_config.h"
   
   HOOK_STRUCT(
   	    HOOK_LINK(translate_name)
  
  
  
  1.12      +1 -0      apache-2.0/src/main/http_vhost.c
  
  Index: http_vhost.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_vhost.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- http_vhost.c	1999/12/21 14:45:53	1.11
  +++ http_vhost.c	2000/01/19 01:15:12	1.12
  @@ -67,6 +67,7 @@
   #include "http_vhost.h"
   #include "http_protocol.h"
   #include "http_core.h"
  +#include "ap_config.h"
   
   /*
    * After all the definitions there's an explanation of how it's all put
  
  
  
  1.6       +1 -0      apache-2.0/src/main/iol_file.c
  
  Index: iol_file.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/iol_file.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- iol_file.c	1999/10/20 19:38:23	1.5
  +++ iol_file.c	2000/01/19 01:15:12	1.6
  @@ -57,6 +57,7 @@
   
   #include "httpd.h"
   #include "ap_iol.h"
  +#include <malloc.h>
   
   #if 0
   /* This is the non-APRed iol_file */
  
  
  
  1.18      +3 -0      apache-2.0/src/main/listen.c
  
  Index: listen.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/listen.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- listen.c	1999/10/30 01:56:35	1.17
  +++ listen.c	2000/01/19 01:15:13	1.18
  @@ -56,10 +56,13 @@
    */
   
   #include "apr_network_io.h"
  +
  +#define CORE_PRIVATE
   #include "httpd.h"
   #include "http_config.h"
   #include "ap_listen.h"
   #include "http_log.h"
  +#include <string.h>
   
   ap_listen_rec *ap_listeners;
   static ap_listen_rec *old_listeners;
  
  
  
  1.10      +1 -0      apache-2.0/src/main/rfc1413.c
  
  Index: rfc1413.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/rfc1413.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- rfc1413.c	1999/12/01 00:25:18	1.9
  +++ rfc1413.c	2000/01/19 01:15:13	1.10
  @@ -83,6 +83,7 @@
   #include "rfc1413.h"
   #include "http_main.h"		/* set_callback_and_alarm */
   #include "apr_network_io.h"
  +#include <string.h>
   
   /* Local stuff. */
   /* Semi-well-known port */
  
  
  
  1.27      +3 -54     apache-2.0/src/main/util.c
  
  Index: util.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/util.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- util.c	2000/01/10 15:35:49	1.26
  +++ util.c	2000/01/19 01:15:13	1.27
  @@ -68,10 +68,13 @@
    * #define DEBUG_CFG_LINES  to trace every line read from the config files
    */
   
  +#define CORE_PRIVATE
  +
   #include "httpd.h"
   #include "http_main.h"
   #include "http_log.h"
   #include "http_protocol.h"
  +#include "ap_config.h"
   #if defined(SUNOS4)
   /* stdio.h has been read in ap_config.h already. Add missing prototypes here: */
   extern int fgetc(FILE *);
  @@ -1938,60 +1941,6 @@
   { 
       return ap_pbase64encode(p, string);
   }
  -
  -#ifdef OS2
  -void os2pathname(char *path)
  -{
  -    char newpath[MAX_STRING_LEN];
  -    int loop;
  -    int offset;
  -
  -    offset = 0;
  -    for (loop = 0; loop < (strlen(path) + 1) && loop < sizeof(newpath) - 1; loop++) {
  -	if (path[loop] == '/') {
  -	    newpath[offset] = '\\';
  -	    /*
  -	       offset = offset + 1;
  -	       newpath[offset] = '\\';
  -	     */
  -	}
  -	else
  -	    newpath[offset] = path[loop];
  -	offset = offset + 1;
  -    };
  -    /* Debugging code */
  -    /* fprintf(stderr, "%s \n", newpath); */
  -
  -    strcpy(path, newpath);
  -};
  -
  -/* quotes in the string are doubled up.
  - * Used to escape quotes in args passed to OS/2's cmd.exe
  - */
  -char *ap_double_quotes(ap_context_t *p, char *str)
  -{
  -    int num_quotes = 0;
  -    int len = 0;
  -    char *quote_doubled_str, *dest;
  -    
  -    while (str[len]) {
  -        num_quotes += str[len++] == '\"';
  -    }
  -    
  -    quote_doubled_str = ap_palloc(p, len + num_quotes + 1);
  -    dest = quote_doubled_str;
  -    
  -    while (*str) {
  -        if (*str == '\"')
  -            *(dest++) = '\"';
  -        *(dest++) = *(str++);
  -    }
  -    
  -    *dest = 0;
  -    return quote_doubled_str;
  -}
  -#endif
  -
   
   #ifndef HAVE_STRERROR
   char *
  
  
  
  1.9       +2 -0      apache-2.0/src/main/util_date.c
  
  Index: util_date.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/util_date.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- util_date.c	2000/01/09 05:18:24	1.8
  +++ util_date.c	2000/01/19 01:15:14	1.9
  @@ -66,6 +66,8 @@
    * 
    */
   
  +#define CORE_PRIVATE
  +
   #include "ap_config.h"
   #include "util_date.h"
   #include <ctype.h>
  
  
  
  1.23      +2 -0      apache-2.0/src/main/util_script.c
  
  Index: util_script.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/util_script.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- util_script.c	2000/01/09 05:18:24	1.22
  +++ util_script.c	2000/01/19 01:15:14	1.23
  @@ -65,6 +65,8 @@
   #include "http_request.h"	/* for sub_req_lookup_uri() */
   #include "util_script.h"
   #include "util_date.h"		/* For parseHTTPdate() */
  +#include <stdlib.h>
  +#include <string.h>
   
   #ifdef OS2
   #define INCL_DOS
  
  
  
  1.4       +2 -0      apache-2.0/src/main/util_uri.c
  
  Index: util_uri.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/util_uri.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- util_uri.c	1999/08/31 05:33:04	1.3
  +++ util_uri.c	2000/01/19 01:15:15	1.4
  @@ -62,6 +62,8 @@
   #include "httpd.h"
   #include "http_log.h"
   #include "util_uri.h"
  +#include <string.h>
  +#include <netdb.h>
   
   /* Some WWW schemes and their default ports; this is basically /etc/services */
   /* This will become global when the protocol abstraction comes */
  
  
  
  1.63      +1 -0      apache-2.0/src/modules/mpm/dexter/dexter.c
  
  Index: dexter.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/dexter.c,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- dexter.c	1999/12/13 22:53:11	1.62
  +++ dexter.c	2000/01/19 01:15:32	1.63
  @@ -57,6 +57,7 @@
    
   #define CORE_PRIVATE 
    
  +#include "ap_config.h"
   #include "apr_portable.h"
   #include "httpd.h" 
   #include "http_main.h" 
  
  
  
  1.3       +24 -0     apache-2.0/src/modules/mpm/dexter/mpm_default.h
  
  Index: mpm_default.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/mpm_default.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mpm_default.h	1999/07/23 22:43:47	1.2
  +++ mpm_default.h	2000/01/19 01:15:33	1.3
  @@ -111,4 +111,28 @@
   #define HARD_SERVER_LIMIT 8 
   #endif
   
  +/* File used for accept locking, when we use a file */
  +#ifndef DEFAULT_LOCKFILE
  +#define DEFAULT_LOCKFILE "logs/accept.lock"
  +#endif
  +
  +/* Where the main/parent process's pid is logged */
  +#ifndef DEFAULT_PIDLOG
  +#define DEFAULT_PIDLOG "logs/httpd.pid"
  +#endif
  +
  +/*
  + * Interval, in microseconds, between scoreboard maintenance.
  + */
  +#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  +#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  +#endif
  +
  +/* Number of requests to try to handle in a single process.  If <= 0,
  + * the children don't die off.
  + */
  +#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  +#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  +#endif
  +
   #endif /* AP_MPM_DEFAULT_H */
  
  
  
  1.10      +2 -1      apache-2.0/src/modules/mpm/dexter/scoreboard.c
  
  Index: scoreboard.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/scoreboard.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- scoreboard.c	1999/11/18 23:07:53	1.9
  +++ scoreboard.c	2000/01/19 01:15:34	1.10
  @@ -55,6 +55,7 @@
    * 
    */ 
   
  +#include "ap_config.h" 
   #include "httpd.h"
   #include "http_log.h"
   #include "http_main.h"
  @@ -65,8 +66,8 @@
   #include "mpm_status.h"
   #include "scoreboard.h"
   #include "dexter.h" /* for max_daemons_limit */
  -#ifdef USE_SHMGET_SCOREBOARD
   #include <sys/types.h>
  +#ifdef USE_SHMGET_SCOREBOARD
   #include <sys/ipc.h>
   #include <sys/shm.h>
   #endif
  
  
  
  1.2       +19 -0     apache-2.0/src/modules/mpm/mpmt_beos/mpm_default.h
  
  Index: mpm_default.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_beos/mpm_default.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mpm_default.h	1999/10/08 19:02:33	1.1
  +++ mpm_default.h	2000/01/19 01:15:39	1.2
  @@ -118,4 +118,23 @@
   #define DEFAULT_THREADS_PER_CHILD 10
   #endif
   
  +/* Where the main/parent process's pid is logged */
  +#ifndef DEFAULT_PIDLOG
  +#define DEFAULT_PIDLOG "logs/httpd.pid"
  +#endif
  +
  +/*
  + * Interval, in microseconds, between scoreboard maintenance.
  + */
  +#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  +#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  +#endif
  +
  +/* Number of requests to try to handle in a single process.  If <= 0,
  + * the children don't die off.
  + */
  +#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  +#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  +#endif
  +
   #endif /* AP_MPM_DEFAULT_H */
  
  
  
  1.4       +29 -0     apache-2.0/src/modules/mpm/mpmt_pthread/mpm_default.h
  
  Index: mpm_default.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/mpm_default.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- mpm_default.h	1999/07/29 20:43:28	1.3
  +++ mpm_default.h	2000/01/19 01:15:41	1.4
  @@ -118,4 +118,33 @@
   #define DEFAULT_THREADS_PER_CHILD 50
   #endif
   
  +/* File used for accept locking, when we use a file */
  +#ifndef DEFAULT_LOCKFILE
  +#define DEFAULT_LOCKFILE "logs/accept.lock"
  +#endif
  +
  +/* Scoreboard file, if there is one */
  +#ifndef DEFAULT_SCOREBOARD
  +#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
  +#endif
  +
  +/* Where the main/parent process's pid is logged */
  +#ifndef DEFAULT_PIDLOG
  +#define DEFAULT_PIDLOG "logs/httpd.pid"
  +#endif
  +
  +/*
  + * Interval, in microseconds, between scoreboard maintenance.
  + */
  +#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  +#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  +#endif
  +
  +/* Number of requests to try to handle in a single process.  If <= 0,
  + * the children don't die off.
  + */
  +#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  +#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  +#endif
  +
   #endif /* AP_MPM_DEFAULT_H */
  
  
  
  1.54      +3 -0      apache-2.0/src/modules/mpm/mpmt_pthread/mpmt_pthread.c
  
  Index: mpmt_pthread.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/mpmt_pthread.c,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- mpmt_pthread.c	1999/12/13 22:53:19	1.53
  +++ mpmt_pthread.c	2000/01/19 01:15:42	1.54
  @@ -58,6 +58,8 @@
   #define CORE_PRIVATE 
    
   #include "apr_portable.h"
  +#include "apr_thread_proc.h"
  +#include "ap_config.h"
   #include "httpd.h" 
   #include "http_main.h" 
   #include "http_log.h" 
  @@ -71,6 +73,7 @@
   #include "scoreboard.h" 
   
   #include <netinet/tcp.h> 
  +#include <sys/wait.h> 
   #include <pthread.h>
   #include <signal.h>
   
  
  
  
  1.14      +3 -4      apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c
  
  Index: scoreboard.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- scoreboard.c	1999/12/13 22:53:21	1.13
  +++ scoreboard.c	2000/01/19 01:15:42	1.14
  @@ -1,3 +1,4 @@
  +#include "ap_config.h"
   #include "httpd.h"
   #include "http_log.h"
   #include "http_main.h"
  @@ -8,8 +9,8 @@
   #include "mpm_status.h"
   #include "mpmt_pthread.h"
   #include "scoreboard.h"
  -#ifdef USE_SHMGET_SCOREBOARD
   #include <sys/types.h>
  +#ifdef USE_SHMGET_SCOREBOARD
   #include <sys/ipc.h>
   #include <sys/shm.h>
   #endif
  @@ -411,8 +412,6 @@
   #else
   #define SCOREBOARD_FILE
   static scoreboard _scoreboard_image;
  -static int scoreboard_fd = -1;
  -static ap_file_t *scoreboard_file = NULL;
   static ap_file_t *scoreboard_file = NULL;
   
   /* XXX: things are seriously screwed if we ever have to do a partial
  @@ -456,7 +455,7 @@
   API_EXPORT(void) reopen_scoreboard(ap_context_t *p)
   {
       if (scoreboard_fd != -1)
  -	ap_close(scoreboard_fd);
  +	ap_close(scoreboard_file);
   
       ap_open(p, ap_scoreboard_fname, APR_CREATE | APR_BINARY | APR_READ | APR_WRITE,
               APR_UREAD | APR_UWRITE | APR_GREAD | APR_GWRITE | APR_WREAD | APR_WWRITE,
  
  
  
  1.8       +7 -0      apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.h
  
  Index: scoreboard.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- scoreboard.h	1999/11/30 03:52:43	1.7
  +++ scoreboard.h	2000/01/19 01:15:43	1.8
  @@ -63,12 +63,19 @@
   #endif
   
   #ifdef HAVE_SYS_TIMES_H
  +#include <sys/time.h>
   #include <sys/times.h>
   #elif defined(TPF)
   #include <time.h>
   #endif
   
   #include "mpm_default.h"	/* For HARD_.*_LIMIT */
  +
  +/* The optimized timeout code only works if we're not using a scoreboard file
  + */
  +#if (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
  +#define OPTIMIZE_TIMEOUTS
  +#endif
   
   /* Scoreboard info on a process is, for now, kept very brief --- 
    * just status value and pid (the latter so that the caretaker process
  
  
  
  1.2       +29 -0     apache-2.0/src/modules/mpm/prefork/mpm_default.h
  
  Index: mpm_default.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/prefork/mpm_default.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mpm_default.h	1999/07/16 05:30:31	1.1
  +++ mpm_default.h	2000/01/19 01:15:52	1.2
  @@ -94,4 +94,33 @@
   #define HARD_SERVER_LIMIT 256
   #endif
   
  +/* File used for accept locking, when we use a file */
  +#ifndef DEFAULT_LOCKFILE
  +#define DEFAULT_LOCKFILE "logs/accept.lock"
  +#endif
  +
  +/* Scoreboard file, if there is one */
  +#ifndef DEFAULT_SCOREBOARD
  +#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
  +#endif
  +
  +/* Where the main/parent process's pid is logged */
  +#ifndef DEFAULT_PIDLOG
  +#define DEFAULT_PIDLOG "logs/httpd.pid"
  +#endif
  +
  +/*
  + * Interval, in microseconds, between scoreboard maintenance.
  + */
  +#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  +#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  +#endif
  +
  +/* Number of requests to try to handle in a single process.  If <= 0,
  + * the children don't die off.
  + */
  +#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  +#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  +#endif
  +
   #endif /* AP_MPM_DEFAULT_H */
  
  
  
  1.65      +5 -1      apache-2.0/src/modules/mpm/prefork/prefork.c
  
  Index: prefork.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/prefork/prefork.c,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- prefork.c	2000/01/11 13:11:07	1.64
  +++ prefork.c	2000/01/19 01:15:57	1.65
  @@ -87,6 +87,7 @@
   
   #define CORE_PRIVATE
   
  +#include "ap_config.h"
   #include "apr_portable.h"
   #include "httpd.h"
   #include "mpm_default.h"
  @@ -101,8 +102,11 @@
   #include "unixd.h"
   #include "iol_socket.h"
   #include "ap_listen.h"
  -#ifdef USE_SHMGET_SCOREBOARD
  +#include "ap_mmn.h"
  +#include <sys/times.h>
   #include <sys/types.h>
  +#include <sys/wait.h>
  +#ifdef USE_SHMGET_SCOREBOARD
   #include <sys/ipc.h>
   #include <sys/shm.h>
   #endif
  
  
  
  1.5       +6 -2      apache-2.0/src/modules/mpm/prefork/scoreboard.h
  
  Index: scoreboard.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/prefork/scoreboard.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- scoreboard.h	1999/12/15 21:39:09	1.4
  +++ scoreboard.h	2000/01/19 01:15:58	1.5
  @@ -67,11 +67,15 @@
   #include <time.h>
   #else
   #include <sys/times.h>
  +#include <sys/time.h>
   #endif /* TPF */
   #endif
   
  -#ifdef HAVE_SYS_TIMES_H
  -#include <sys/times.h>
  +
  +/* The optimized timeout code only works if we're not using a scoreboard file
  + */
  +#if (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
  +#define OPTIMIZE_TIMEOUTS
   #endif
   
   /* Scoreboard info on a process is, for now, kept very brief --- 
  
  
  
  1.2       +19 -0     apache-2.0/src/modules/mpm/spmt_os2/mpm_default.h
  
  Index: mpm_default.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/spmt_os2/mpm_default.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mpm_default.h	1999/07/16 05:30:34	1.1
  +++ mpm_default.h	2000/01/19 01:16:07	1.2
  @@ -94,4 +94,23 @@
   #define HARD_SERVER_LIMIT 256
   #endif
   
  +/* Where the main/parent process's pid is logged */
  +#ifndef DEFAULT_PIDLOG
  +#define DEFAULT_PIDLOG "logs/httpd.pid"
  +#endif
  +
  +/*
  + * Interval, in microseconds, between scoreboard maintenance.
  + */
  +#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  +#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  +#endif
  +
  +/* Number of requests to try to handle in a single process.  If <= 0,
  + * the children don't die off.
  + */
  +#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  +#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  +#endif
  +
   #endif /* AP_MPM_DEFAULT_H */
  
  
  
  1.5       +6 -0      apache-2.0/src/modules/mpm/spmt_os2/scoreboard.h
  
  Index: scoreboard.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/spmt_os2/scoreboard.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- scoreboard.h	1999/11/30 03:52:51	1.4
  +++ scoreboard.h	2000/01/19 01:16:07	1.5
  @@ -66,6 +66,12 @@
   #include <sys/times.h>
   #endif
   
  +/* The optimized timeout code only works if we're not using a scoreboard file
  + */
  +#if (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
  +#define OPTIMIZE_TIMEOUTS
  +#endif
  +
   /* Scoreboard info on a thread is, for now, kept very brief --- 
    * just status value and pid (the latter so that the caretaker thread
    * can properly update the scoreboard when a thread dies).  We may want
  
  
  
  1.2       +19 -0     apache-2.0/src/modules/mpm/winnt/mpm_default.h
  
  Index: mpm_default.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/winnt/mpm_default.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mpm_default.h	1999/08/05 21:08:25	1.1
  +++ mpm_default.h	2000/01/19 01:16:10	1.2
  @@ -111,4 +111,23 @@
   #define HARD_SERVER_LIMIT 8 
   #endif
   
  +/* Where the main/parent process's pid is logged */
  +#ifndef DEFAULT_PIDLOG
  +#define DEFAULT_PIDLOG "logs/httpd.pid"
  +#endif
  +
  +/*
  + * Interval, in microseconds, between scoreboard maintenance.
  + */
  +#ifndef SCOREBOARD_MAINTENANCE_INTERVAL
  +#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
  +#endif
  +
  +/* Number of requests to try to handle in a single process.  If <= 0,
  + * the children don't die off.
  + */
  +#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
  +#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
  +#endif
  +
   #endif /* AP_MPM_DEFAULT_H */
  
  
  
  1.4       +10 -0     apache-2.0/src/os/beos/beosd.h
  
  Index: beosd.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/beos/beosd.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- beosd.h	1999/11/29 23:33:13	1.3
  +++ beosd.h	2000/01/19 01:16:14	1.4
  @@ -60,6 +60,16 @@
   
   /* common stuff that beos MPMs will want */
   
  +/* Default user name and group name. These may be specified as numbers by
  + * placing a # before a number */
  +
  +#ifndef DEFAULT_USER
  +#define DEFAULT_USER "#-1"
  +#endif
  +#ifndef DEFAULT_GROUP
  +#define DEFAULT_GROUP "#-1"
  +#endif
  +
   typedef struct {
       char *user_name;
       uid_t user_id;
  
  
  
  1.5       +3 -0      apache-2.0/src/os/beos/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/beos/os.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- os.h	1999/11/30 05:56:03	1.4
  +++ os.h	2000/01/19 01:16:15	1.5
  @@ -72,6 +72,9 @@
    */
   
   extern int ap_os_is_path_absolute(const char *file);
  +#define ap_os_canonical_filename(p,f)  (f)
  +#define ap_os_case_canonical_filename(p,f)  (f)
  +#define ap_os_systemcase_filename(p,f)  (f)
   #define ap_os_is_filename_valid(f)          (1)
   #define ap_os_kill(pid, sig)                kill(pid, sig)
   
  
  
  
  1.4       +3 -0      apache-2.0/src/os/os2/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/os2/os.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- os.h	1999/08/31 12:33:06	1.3
  +++ os.h	2000/01/19 01:16:17	1.4
  @@ -29,6 +29,9 @@
   extern int ap_os_is_path_absolute(const char *file);
   #endif
   
  +API_EXPORT(char *) ap_os_canonical_filename(ap_context_t *p, const char *file);
  +#define ap_os_case_canonical_filename(p,f) ap_os_canonical_filename(p,f)
  +#define ap_os_systemcase_filename(p,f) ap_os_canonical_filename(p,f)
   /* FIXME: the following should be implemented on this platform */
   #define ap_os_is_filename_valid(f)         (1)
   
  
  
  
  1.13      +2 -0      apache-2.0/src/os/unix/iol_socket.c
  
  Index: iol_socket.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/unix/iol_socket.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- iol_socket.c	1999/11/30 02:53:12	1.12
  +++ iol_socket.c	2000/01/19 01:16:21	1.13
  @@ -56,11 +56,13 @@
    */
   
   
  +#define CORE_PRIVATE
   #include "httpd.h"
   #include "ap_iol.h"
   #include "apr_network_io.h"
   #include "apr_file_io.h"
   #include "iol_socket.h"
  +#include <malloc.h>
   
   #define FD_NONBLOCKING_SET	(1)
   
  
  
  
  1.7       +3 -0      apache-2.0/src/os/unix/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/unix/os.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- os.h	1999/12/10 16:10:42	1.6
  +++ os.h	2000/01/19 01:16:22	1.7
  @@ -90,6 +90,9 @@
   
   /* Other ap_os_ routines not used by this platform */
   
  +#define ap_os_canonical_filename(p,f)  (f)
  +#define ap_os_case_canonical_filename(p,f)  (f)
  +#define ap_os_systemcase_filename(p,f)  (f)
   #define ap_os_is_filename_valid(f)          (1)
   #define ap_os_kill(pid, sig)                kill(pid, sig)
   
  
  
  
  1.8       +1 -0      apache-2.0/src/os/unix/unixd.c
  
  Index: unixd.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/unix/unixd.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- unixd.c	1999/11/29 23:33:16	1.7
  +++ unixd.c	2000/01/19 01:16:23	1.8
  @@ -60,6 +60,7 @@
   #include "http_main.h"
   #include "http_log.h"
   #include "unixd.h"
  +#include <pwd.h>
   
   unixd_config_rec unixd_config;
   
  
  
  
  1.4       +10 -0     apache-2.0/src/os/unix/unixd.h
  
  Index: unixd.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/unix/unixd.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- unixd.h	1999/11/29 23:33:21	1.3
  +++ unixd.h	2000/01/19 01:16:26	1.4
  @@ -62,6 +62,16 @@
   
   /* common stuff that unix MPMs will want */
   
  +/* Default user name and group name. These may be specified as numbers by
  + * placing a # before a number */
  +
  +#ifndef DEFAULT_USER
  +#define DEFAULT_USER "#-1"
  +#endif
  +#ifndef DEFAULT_GROUP
  +#define DEFAULT_GROUP "#-1"
  +#endif
  +
   typedef struct {
       char *user_name;
       uid_t user_id;
  
  
  
  1.13      +3 -0      apache-2.0/src/os/win32/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/os/win32/os.h,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- os.h	2000/01/17 19:37:55	1.12
  +++ os.h	2000/01/19 01:16:31	1.13
  @@ -172,6 +172,9 @@
   #define spawnle				    os_spawnle
   
   /* OS-dependent filename routines in util_win32.c */
  +API_EXPORT(char *) ap_os_canonical_filename(ap_context_t *p, const char *file);
  +API_EXPORT(char *) ap_os_case_canonical_filename(ap_context_t *pPool, const char *szFile);
  +API_EXPORT(char *) ap_os_systemcase_filename(ap_context_t *pPool, const char *szFile);
   int ap_os_is_filename_valid(const char *file);
   int os_strftime(char *, size_t , const char *, const struct tm *);
   
  
  
  
  1.6       +1 -1      apache-2.0/src/regex/config.m4
  
  Index: config.m4
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/regex/config.m4,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- config.m4	2000/01/11 13:11:14	1.5
  +++ config.m4	2000/01/19 01:16:34	1.6
  @@ -12,7 +12,7 @@
       fi
       REGEX_LIB=regex/libregex.la
       REGEX_DIR=regex
  -    AC_DEFINE(USE_HSREGEX,, [Define this if HS regex will be used])
  +    AC_DEFINE(AP_USE_HSREGEX,, [Define this if HS regex will be used])
       APACHE_FAST_OUTPUT(regex/Makefile)
   fi
   AC_MSG_RESULT($apache_cv_hsregex)