cvs commit: apache/htdocs index.html
coar97/06/30 03:39:08 Modified:htdocsindex.html Log: Add text to make it clear that the "it worked" page has to do with the server *installation*, not the web site on which it may appear. Submitted by: Rob Hartill Revision ChangesPath 1.7 +21 -7 apache/htdocs/index.html Index: index.html === RCS file: /export/home/cvs/apache/htdocs/index.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C3 -r1.6 -r1.7 *** index.html1997/06/24 18:38:24 1.6 --- index.html1997/06/30 10:39:08 1.7 *** *** 1,7 ! Test Page for Apache ! Test Page for Apache Installation It Worked! ! If you can see this, then your ! http://www.apache.org/";>Apache installation was ! successful. You may now add content to this directory and ! replace this page. ! The Apache documentation has been ! included with this distribution. You are free to use the image below on an Apache-powered web --- 13,40 > It Worked! ! If you can see this, it means that the installation of the ! http://www.apache.org/"; ! >Apache ! software on this system was successful. You may now add content to ! this directory and replace this page. + + +If you are seeing this instead of the content you expected, please +contact the administrator of the site involved. If +you send mail about this to the authors of the Apache software, who almost +certainly have nothing to do with this site, your message will be +ignored. + + ! The Apache ! documentation ! has been included with this distribution. You are free to use the image below on an Apache-powered web
cvs commit: apache/src buff.c buff.h http_main.c
dgaudet 97/06/30 13:28:54 Modified:src buff.c buff.h http_main.c Log: Allow for replacing standalone_main. Allow the use of sfio in buff.c. Submitted by: Doug MacEachern <[EMAIL PROTECTED]> Revision ChangesPath 1.33 +67 -5 apache/src/buff.c Index: buff.c === RCS file: /export/home/cvs/apache/src/buff.c,v retrieving revision 1.32 retrieving revision 1.33 diff -C3 -r1.32 -r1.33 *** buff.c1997/06/29 19:27:20 1.32 --- buff.c1997/06/30 20:28:50 1.33 *** *** 200,206 { int rv; ! #ifdef WIN32 if (fb->flags & B_SOCKET) { rv = recvwithtimeout( fb->fd_in, buf, nbyte, 0 ); if (rv == SOCKET_ERROR) --- 200,206 { int rv; ! #if defined (WIN32) if (fb->flags & B_SOCKET) { rv = recvwithtimeout( fb->fd_in, buf, nbyte, 0 ); if (rv == SOCKET_ERROR) *** *** 218,224 { int rv; ! #ifdef WIN32 if (fb->flags & B_SOCKET) { rv = sendwithtimeout( fb->fd, buf, nbyte, 0); if (rv == SOCKET_ERROR) --- 218,224 { int rv; ! #if defined(WIN32) if (fb->flags & B_SOCKET) { rv = sendwithtimeout( fb->fd, buf, nbyte, 0); if (rv == SOCKET_ERROR) *** *** 226,233 } else rv = write( fb->fd, buf, nbyte ); #else ! rv = write( fb->fd, buf, nbyte ); #endif /* WIN32 */ return rv; } --- 226,235 } else rv = write( fb->fd, buf, nbyte ); + #elif defined (B_SFIO) + i = sfwrite(fb->sf_out, buf, nbyte); #else ! rv = write(fb->fd, buf, nbyte); #endif /* WIN32 */ return rv; } *** *** 279,284 --- 281,295 fb->fd = -1; fb->fd_in = -1; + #ifdef B_SFIO + fb->sf_in = NULL; + fb->sf_out = NULL; + fb->sf_in = sfnew(fb->sf_in, NIL(Void_t*), +(size_t)SF_UNBOUND, 0, SF_READ); + fb->sf_out = sfnew(fb->sf_out, NIL(Void_t*), +(size_t)SF_UNBOUND, 1, SF_WRITE); + #endif + return fb; } *** *** 426,440 return value; } - /* * This is called instead of read() everywhere in here. It implements * the B_SAFEREAD functionality -- which is to force a flush() if a read() * would block. It also deals with the EINTR errno result from read(). * return code is like read() except EINTR is eliminated. */ static int ! saferead( BUFF *fb, void *buf, int nbyte ) { int rv; --- 437,462 return value; } /* * This is called instead of read() everywhere in here. It implements * the B_SAFEREAD functionality -- which is to force a flush() if a read() * would block. It also deals with the EINTR errno result from read(). * return code is like read() except EINTR is eliminated. */ + + + #if !defined (B_SFIO) || defined (WIN32) + #define saferead saferead_guts + #else static int ! saferead(BUFF *fb, char *buf, int nbyte) ! { ! return sfread(fb->sf_in, buf, nbyte); ! } ! #endif ! ! static int ! saferead_guts(BUFF *fb, void *buf, int nbyte) { int rv; *** *** 461,466 --- 483,523 return( rv ); } + #ifdef B_SFIO + int bsfio_read(Sfio_t *f, char *buf, int nbyte, apache_sfio *disc) + { + int rv; + BUFF *fb = disc->buff; + + rv = saferead_guts(fb, buf, nbyte); + + buf[rv] = '\0'; + f->next = 0; + + return(rv); + } + + int bsfio_write(Sfio_t *f, char *buf, int nbyte, apache_sfio *disc) + { + return write(disc->buff->fd, buf, nbyte); + } + + Sfdisc_t *bsfio_new(pool *p, BUFF *b) + { + apache_sfio* disc; + + if(!(disc = (apache_sfio*)palloc(p, sizeof(apache_sfio))) ) + return (Sfdisc_t *)disc; + + disc->disc.readf = (Sfread_f)bsfio_read; + disc->disc.writef = (Sfwrite_f)bsfio_write; + disc->disc.seekf = (Sfseek_f)NULL; + disc->disc.exceptf = (Sfexcept_f)NULL; + disc->buff = b; + + return (Sfdisc_t *)disc; + } + #endif /* * Read up to nbyte bytes into buf. *** *** 1069,1074 --- 1126,1136 fb->flags |= B_EOF | B_EOUT; fb->fd = -1; fb->fd_in = -1; + + #ifdef B_SFIO + sfclose(fb->sf_in); + sfclose(fb->sf_out); + #endif if (rc1 != 0) return rc1; else if (rc2 != 0) return rc2; 1.15 +18 -0 apache/src/buff.h Index: buff.h === RCS file: /export/home/cvs/apache/src/buff.h,v retrieving revisio
cvs commit: apache/src CHANGES
dgaudet 97/06/30 13:30:53 Modified:src CHANGES Log: Forgot them CHANGES. Revision ChangesPath 1.312 +4 -0 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.311 retrieving revision 1.312 diff -C3 -r1.311 -r1.312 *** CHANGES 1997/06/30 01:32:23 1.311 --- CHANGES 1997/06/30 20:30:51 1.312 *** *** 1,4 --- 1,8 Changes with Apache 1.3 + + *) API: It's possible to replace standalone_main (define STANDALONE_MAIN) + and it's possible to use SFIO for the underlying i/o layer. + [Doug MacEachern] *) Enhance UserDir directive (mod_userdir) to accept a list of usernames for the 'disable' keyword, and add 'enable user...' to
cvs commit: apache/src mod_userdir.c
dgaudet 97/06/30 13:38:54 Modified:src mod_userdir.c Log: Fix a compile warning. Revision ChangesPath 1.17 +4 -7 apache/src/mod_userdir.c Index: mod_userdir.c === RCS file: /export/home/cvs/apache/src/mod_userdir.c,v retrieving revision 1.16 retrieving revision 1.17 diff -C3 -r1.16 -r1.17 *** mod_userdir.c 1997/06/30 01:32:24 1.16 --- mod_userdir.c 1997/06/30 20:38:53 1.17 *** *** 161,173 usertable = s_cfg->enabled_users; } else { ! optype = O_DEFAULT; ! } ! /* ! * If the first (only?) value isn't one of our keywords, just copy the ! * string to the userdir string. ! */ ! if (optype == O_DEFAULT) { s_cfg->userdir = pstrdup (cmd->pool, arg); return NULL; } --- 161,170 usertable = s_cfg->enabled_users; } else { ! /* ! * If the first (only?) value isn't one of our keywords, just copy the ! * string to the userdir string. ! */ s_cfg->userdir = pstrdup (cmd->pool, arg); return NULL; }
cvs commit: apache/src buff.c conf.h
dgaudet 97/06/30 14:03:19 Modified:src buff.c conf.h Log: I want to be able to use inline, especially for some of the cleanups where we're factoring out common code. Revision ChangesPath 1.34 +0 -6 apache/src/buff.c Index: buff.c === RCS file: /export/home/cvs/apache/src/buff.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C3 -r1.33 -r1.34 *** buff.c1997/06/30 20:28:50 1.33 --- buff.c1997/06/30 21:03:16 1.34 *** *** 190,201 #endif /* WIN32 */ - - /* these are wrappers to make code below more readable */ - #if !defined (__GNUC__) - #define inline - #endif - static inline int buff_read (BUFF *fb, void *buf, int nbyte) { int rv; --- 190,195 1.108 +5 -0 apache/src/conf.h Index: conf.h === RCS file: /export/home/cvs/apache/src/conf.h,v retrieving revision 1.107 retrieving revision 1.108 diff -C3 -r1.107 -r1.108 *** conf.h1997/06/29 19:27:20 1.107 --- conf.h1997/06/30 21:03:17 1.108 *** *** 738,743 --- 738,748 #define ap_select select #endif + /* so that we can use inline on some critical functions */ + #if !defined(__GNUC__) + #define inline + #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...
cvs commit: apache/htdocs index.html
coar97/06/30 14:10:00 Modified:htdocsTag: APACHE_1_2_X index.html Log: Bringing over changes from 1.3-dev (about how this is a server *running* Apache, not the Apache website itself). Revision ChangesPath No revision No revision 1.5.2.2 +21 -7 apache/htdocs/index.html Index: index.html === RCS file: /export/home/cvs/apache/htdocs/index.html,v retrieving revision 1.5.2.1 retrieving revision 1.5.2.2 diff -C3 -r1.5.2.1 -r1.5.2.2 *** index.html1997/06/27 03:01:56 1.5.2.1 --- index.html1997/06/30 21:09:58 1.5.2.2 *** *** 1,7 ! Test Page for Apache ! Test Page for Apache Installation It Worked! ! If you can see this, then your ! http://www.apache.org/";>Apache installation was ! successful. You may now add content to this directory and ! replace this page. ! The Apache documentation has been ! included with this distribution. You are free to use the image below on an Apache-powered web --- 13,40 > It Worked! ! If you can see this, it means that the installation of the ! http://www.apache.org/"; ! >Apache ! software on this system was successful. You may now add content to ! this directory and replace this page. + + +If you are seeing this instead of the content you expected, please +contact the administrator of the site involved. If +you send mail about this to the authors of the Apache software, who almost +certainly have nothing to do with this site, your message will be +ignored. + + ! The Apache ! documentation ! has been included with this distribution. You are free to use the image below on an Apache-powered web
cvs commit: apache/src CHANGES http_main.c http_main.h httpd.h
dgaudet 97/06/30 14:10:05 Modified:src CHANGES http_main.c http_main.h httpd.h Log: Unix scoreboard management revamp/cleanup. Including a tweaked put_scoreboard_info from Harrie Hazewinkel's SNMP patch. Fix starvation problem with multiple Listens and a busy socket. Early versions of this patch were reviewed by Marc, Ben, Randy and Jim. Revision ChangesPath 1.313 +11 -1 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.312 retrieving revision 1.313 diff -C3 -r1.312 -r1.313 *** CHANGES 1997/06/30 20:30:51 1.312 --- CHANGES 1997/06/30 21:09:56 1.313 *** *** 1,5 Changes with Apache 1.3 ! *) API: It's possible to replace standalone_main (define STANDALONE_MAIN) and it's possible to use SFIO for the underlying i/o layer. [Doug MacEachern] --- 1,15 Changes with Apache 1.3 ! ! *) Revamp of (unix) scoreboard management code such that it avoids ! unnecessary traversals of the scoreboard on each hit. This is ! particularly important for high volume sites with a large ! HARD_SERVER_LIMIT. Some of the previous operations were O(n^2), ! and are now O(n). See also SCOREBOARD_MAINTENANCE_INTERVAL in ! httpd.h. [Dean Gaudet] ! ! *) In configurations using multiple Listen statements it was possible for ! busy sockets to starve other sockets of service. [Dean Gaudet] ! *) API: It's possible to replace standalone_main (define STANDALONE_MAIN) and it's possible to use SFIO for the underlying i/o layer. [Doug MacEachern] 1.172 +248 -197 apache/src/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache/src/http_main.c,v retrieving revision 1.171 retrieving revision 1.172 diff -C3 -r1.171 -r1.172 *** http_main.c 1997/06/30 20:28:51 1.171 --- http_main.c 1997/06/30 21:09:58 1.172 *** *** 156,162 char *lock_fname; char *server_argv0; struct in_addr bind_address; - listen_rec *listeners; int daemons_to_start; int daemons_min_free; int daemons_max_free; --- 156,161 *** *** 165,170 --- 164,196 int suexec_enabled = 0; int listenbacklog; + /* + * The max child slot ever assigned, preserved across restarts. Necessary + * to deal with MaxClients changes across SIGUSR1 restarts. We use this + * value to optimize routines that have to scan the entire scoreboard. + */ + static int max_daemons_limit = -1; + + /* + * During config time, listeners is treated as a NULL-terminated list. + * child_main previously would start at the beginning of the list each time + * through the loop, so a socket early on in the list could easily starve out + * sockets later on in the list. The solution is to start at the listener + * after the last one processed. But to do that fast/easily in child_main it's + * way more convenient for listeners to be a ring that loops back on itself. + * The routine setup_listeners() is called after config time to both open up + * the sockets and to turn the NULL-terminated list into a ring that loops back + * on itself. + * + * head_listener is used by each child to keep track of what they consider + * to be the "start" of the ring. It is also set by make_child to ensure + * that new children also don't starve any sockets. + * + * Note that listeners != NULL is ensured by read_config(). + */ + listen_rec *listeners; + static listen_rec *head_listener; + char server_root[MAX_STRING_LEN]; char server_confname[MAX_STRING_LEN]; *** *** 919,932 /* XXX: things are seriously screwed if we ever have to do a partial * read or write ... we could get a corrupted scoreboard */ ! static int force_write (int fd, char *buffer, int bufsz) { int rv, orig_sz = bufsz; do { rv = write (fd, buffer, bufsz); if (rv > 0) { ! buffer += rv; bufsz -= rv; } } while ((rv > 0 && bufsz > 0) || (rv == -1 && errno == EINTR)); --- 945,958 /* XXX: things are seriously screwed if we ever have to do a partial * read or write ... we could get a corrupted scoreboard */ ! static int force_write (int fd, void *buffer, int bufsz) { int rv, orig_sz = bufsz; do { rv = write (fd, buffer, bufsz); if (rv > 0) { ! buffer = (char *)buffer + rv; bufsz -= rv; } } while ((rv > 0 && bufsz > 0) || (rv == -1 && errno == EINTR)); *** *** 934,947 return rv < 0? rv
cvs commit: apache/src buff.c
dgaudet 97/06/30 14:16:18 Modified:src buff.c Log: Oops I made a tiny goofup when merging the sfio changes. Revision ChangesPath 1.35 +1 -1 apache/src/buff.c Index: buff.c === RCS file: /export/home/cvs/apache/src/buff.c,v retrieving revision 1.34 retrieving revision 1.35 diff -C3 -r1.34 -r1.35 *** buff.c1997/06/30 21:03:16 1.34 --- buff.c1997/06/30 21:16:17 1.35 *** *** 221,227 else rv = write( fb->fd, buf, nbyte ); #elif defined (B_SFIO) ! i = sfwrite(fb->sf_out, buf, nbyte); #else rv = write(fb->fd, buf, nbyte); #endif /* WIN32 */ --- 221,227 else rv = write( fb->fd, buf, nbyte ); #elif defined (B_SFIO) ! rv = sfwrite(fb->sf_out, buf, nbyte); #else rv = write(fb->fd, buf, nbyte); #endif /* WIN32 */
cvs commit: apache/src CHANGES http_config.c
dgaudet 97/06/30 14:18:13 Modified:src CHANGES http_config.c Log: run_method optimized to avoid needless scanning over NULLs in the module list Revision ChangesPath 1.314 +4 -1 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.313 retrieving revision 1.314 diff -C3 -r1.313 -r1.314 *** CHANGES 1997/06/30 21:09:56 1.313 --- CHANGES 1997/06/30 21:18:10 1.314 *** *** 1,5 Changes with Apache 1.3 ! *) Revamp of (unix) scoreboard management code such that it avoids unnecessary traversals of the scoreboard on each hit. This is particularly important for high volume sites with a large --- 1,8 Changes with Apache 1.3 ! ! *) run_method optimized to avoid needless scanning over NULLs in the ! module list. [Dean Gaudet] ! *) Revamp of (unix) scoreboard management code such that it avoids unnecessary traversals of the scoreboard on each hit. This is particularly important for high volume sites with a large 1.55 +99 -16apache/src/http_config.c Index: http_config.c === RCS file: /export/home/cvs/apache/src/http_config.c,v retrieving revision 1.54 retrieving revision 1.55 diff -C3 -r1.54 -r1.55 *** http_config.c 1997/06/29 19:05:20 1.54 --- http_config.c 1997/06/30 21:18:11 1.55 *** *** 144,150 void * merge_per_dir_configs (pool *p, void *base, void *new) { !void **conf_vector = (void **)pcalloc(p, sizeof(void*) * total_modules); void **base_vector = (void **) base; void **new_vector = (void **) new; module *modp; --- 144,150 void * merge_per_dir_configs (pool *p, void *base, void *new) { !void **conf_vector = (void **)palloc(p, sizeof(void*) * total_modules); void **base_vector = (void **) base; void **new_vector = (void **) new; module *modp; *** *** 250,269 * do the dirty work of slogging through the module structures. */ ! int run_method (request_rec *r, int offset, int run_all) { !module *modp; !for (modp = top_module; modp; modp = modp->next) { !handler mod_handler = *(handler *)(offset + (char *)(modp)); !if (mod_handler) { int result; -Explain1("Run %s",ShowMethod(modp,offset)); result = (*mod_handler)(r); -Explain2("%s returned %d",ShowMethod(modp,offset),result); if (result != DECLINED && (!run_all || result != OK)) return result; } --- 250,350 * do the dirty work of slogging through the module structures. */ ! /* ! * Optimized run_method routines. The observation here is that many modules ! * have NULL for most of the methods. So we build optimized lists of ! * everything. If you think about it, this is really just like a sparse array ! * implementation to avoid scanning the zero entries. ! */ ! static const int method_offsets[] = { ! XtOffsetOf (module, translate_handler), ! XtOffsetOf (module, check_user_id), ! XtOffsetOf (module, auth_checker), ! XtOffsetOf (module, access_checker), ! XtOffsetOf (module, type_checker), ! XtOffsetOf (module, fixer_upper), ! XtOffsetOf (module, logger), ! XtOffsetOf (module, header_parser) ! }; ! #define NMETHODS(sizeof (method_offsets)/sizeof (method_offsets[0])) ! ! static struct { ! int translate_handler; ! int check_user_id; ! int auth_checker; ! int access_checker; ! int type_checker; ! int fixer_upper; ! int logger; ! int header_parser; ! } offsets_into_method_ptrs; ! ! /* ! * This is just one big array of method_ptrs. It's constructed such that, ! * for example, method_ptrs[ offsets_into_method_ptrs.logger ] is the first ! * logger function. You go one-by-one from there until you hit a NULL. ! * This structure was designed to hopefully maximize cache-coolness. ! */ ! static handler *method_ptrs; ! ! /* routine to reconstruct all these shortcuts... called after every ! * add_module. ! * XXX: this breaks if modules dink with their methods pointers ! */ ! static void ! build_method_shortcuts (void) ! { ! module *modp; ! int how_many_ptrs; ! int i; ! int next_ptr; ! handler fp; ! ! if (method_ptrs) { ! /* free up any previous set of method_ptrs */ ! free (method_ptrs); ! } ! ! /* first we count how many functions we have */ ! how_many_ptrs = 0; ! for (modp = top_module; modp; modp = modp->next) { !
cvs commit: apache/src CHANGES Configuration.tmpl Configure INSTALL Makefile.tmpl PORTING
dgaudet 97/06/30 14:42:34 Modified:htdocs/manual install.html htdocs/manual/misc FAQ.html known_bugs.html htdocs/manual/mod mod_proxy.html src CHANGES Configuration.tmpl Configure INSTALL Makefile.tmpl PORTING Log: PR#372: EXTRA_LFLAGS was changed to EXTRA_LDFLAGS (and LFLAGS was changed to LDFLAGS) to avoid complications with lex rules in make files. Revision ChangesPath 1.10 +1 -1 apache/htdocs/manual/install.html Index: install.html === RCS file: /export/home/cvs/apache/htdocs/manual/install.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C3 -r1.9 -r1.10 *** install.html 1997/06/04 11:07:49 1.9 --- install.html 1997/06/30 21:42:25 1.10 *** *** 72,78 an additional library required by an optional module) you might need to edit one or more of the following options in the Configuration file: ! EXTRA_CFLAGS, LIBS, LFLAGS, INCLUDES. Run the Configure script: --- 72,78 an additional library required by an optional module) you might need to edit one or more of the following options in the Configuration file: ! EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES. Run the Configure script: 1.77 +4 -4 apache/htdocs/manual/misc/FAQ.html Index: FAQ.html === RCS file: /export/home/cvs/apache/htdocs/manual/misc/FAQ.html,v retrieving revision 1.76 retrieving revision 1.77 diff -C3 -r1.76 -r1.77 *** FAQ.html 1997/06/28 21:05:31 1.76 --- FAQ.html 1997/06/30 21:42:26 1.77 *** *** 15,21 Apache Server Frequently Asked Questions ! $Revision: 1.76 $ ($Date: 1997/06/28 21:05:31 $) The latest version of this FAQ is always available from the main --- 15,21 Apache Server Frequently Asked Questions ! $Revision: 1.77 $ ($Date: 1997/06/30 21:42:26 $) The latest version of this FAQ is always available from the main *** *** 1481,1489 To resolve this, you can either make sure you use the include files and libraries that came with your system or make sure to use the new include files and libraries. Adding -lbind to the ! EXTRA_LFLAGS line in your Configuration file, then re-running Configure, should resolve the ! problem. Note: As of BIND 8.1.1, the bind libraries and files are installed under /usr/local/bind by default. So you --- 1481,1489 To resolve this, you can either make sure you use the include files and libraries that came with your system or make sure to use the new include files and libraries. Adding -lbind to the ! EXTRA_LDFLAGS line in your Configuration file, then re-running Configure, should resolve the ! problem. (Pre 1.3 Apache uses EXTRA_LFLAGS instead.) Note: As of BIND 8.1.1, the bind libraries and files are installed under /usr/local/bind by default. So you *** *** 1491,1497 resolvers you'll have to add the following to the respective lines: EXTRA_CFLAGS=-I/usr/local/bind/include ! EXTRA_LFLAGS=-L/usr/local/bind/lib EXTRA_LIBS=-lbind --- 1491,1497 resolvers you'll have to add the following to the respective lines: EXTRA_CFLAGS=-I/usr/local/bind/include ! EXTRA_LDFLAGS=-L/usr/local/bind/lib EXTRA_LIBS=-lbind 1.21 +1 -1 apache/htdocs/manual/misc/known_bugs.html Index: known_bugs.html === RCS file: /export/home/cvs/apache/htdocs/manual/misc/known_bugs.html,v retrieving revision 1.20 retrieving revision 1.21 diff -C3 -r1.20 -r1.21 *** known_bugs.html 1997/06/28 21:05:32 1.20 --- known_bugs.html 1997/06/30 21:42:27 1.21 *** *** 81,87 If compilation fails complaining about "unknown symbol __inet_ntoa()" then you have probably installed version 8 of bind. You will need to explicitly link with the bind library by adding -lbind ! to EXTRA_LFLAGS in Configuration. See http://www.apache.org/bugdb.cgi/full/616";>PR#616 and the Apache FAQ. --- 81,87 If compilation fails complaining about "unknown symbol __inet_ntoa()" then you have probably installed version 8 of bind. You will need to explicitly link with the bind library by adding -lbind ! to EXTRA_LDFLAGS in Configuration. See http://www.apache.org/bugdb.cgi/full/616";>PR#616 and the Apache FAQ. 1.24 +1 -1
cvs commit: apache/src Makefile.tmpl
dgaudet 97/06/30 15:26:55 Modified:src Makefile.tmpl Log: Add a "depend" rule that uses gcc -MM to rebuild dependencies. Also rebuilt the quite ancient dependency list. Revision ChangesPath 1.50 +106 -69 apache/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache/src/Makefile.tmpl,v retrieving revision 1.49 retrieving revision 1.50 diff -C3 -r1.49 -r1.50 *** Makefile.tmpl 1997/06/30 21:42:31 1.49 --- Makefile.tmpl 1997/06/30 22:26:54 1.50 *** *** 51,126 http_bprintf.o: http_bprintf.c $(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c #Dependencies $(OBJS): Makefile ! alloc.o: conf.h alloc.h ! buff.o: conf.h alloc.h buff.h ! explain.o: explain.h ! http_bprintf.o: conf.h alloc.h buff.h ! http_config.o: httpd.h http_config.h http_core.h http_log.h http_request.h \ !http_conf_globals.h explain.h ! http_core.o: httpd.h http_config.h http_core.h http_protocol.h scoreboard.h \ ! http_conf_globals.h http_main.h http_log.h rfc1413.h util_md5.h ! http_log.o: httpd.h http_config.h http_core.h http_log.h ! http_main.o: httpd.h http_config.h http_core.h http_log.h http_request.h \ ! http_conf_globals.h http_protocol.h http_main.h scoreboard.h \ ! explain.h ! http_protocol.o: httpd.h http_config.h http_core.h http_protocol.h \ ! http_main.h http_log.h util_date.h ! http_request.o: httpd.h http_config.h http_request.h http_core.h \ ! http_protocol.h http_log.h http_main.h scoreboard.h ! md5c.o: md5.h ! mod_access.o: httpd.h http_core.h http_config.h http_log.h ! mod_actions.o: httpd.h http_config.h http_request.h http_core.h \ !http_protocol.h http_main.h http_log.h util_script.h ! mod_alias.o: httpd.h http_config.h ! mod_asis.o: httpd.h http_config.h http_protocol.h http_log.h util_script.h \ ! http_main.h http_request.h ! mod_auth.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_anon.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_db.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_dbm.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_msql.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_browser.o: httpd.h http_config.h ! mod_cern_meta.o: httpd.h http_config.h util_script.h http_log.h ! mod_cgi.o: httpd.h http_config.h http_request.h http_core.h http_protocol.h \ !http_main.h http_log.h util_script.h ! mod_digest.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h \ ! util_md5.h ! mod_dir.o: httpd.h http_config.h http_core.h http_request.h http_protocol.h \ !http_log.h http_main.h util_script.h ! mod_dld.o: httpd.h http_config.h http_conf_globals.h ! mod_env.o: httpd.h http_config.h ! mod_expires.o: httpd.h http_config.h http_log.h ! mod_headers.o: httpd.h http_config.h ! mod_imap.o: httpd.h http_config.h http_request.h http_core.h http_protocol.h \ ! http_main.h http_log.h util_script.h ! mod_include.o: httpd.h http_config.h http_request.h http_core.h http_log.h \ !http_protocol.h http_main.h util_script.h ! mod_info.o: httpd.h http_config.h http_core.h http_log.h http_main.h \ ! http_protocol.h util_script.h ! mod_log_agent.o: httpd.h http_config.h ! mod_log_config.o: httpd.h http_config.h http_core.h ! mod_log_referer.o: httpd.h http_config.h ! mod_mime.o: httpd.h http_config.h ! mod_negotiation.o: httpd.h http_config.h http_request.h http_core.h http_log.h ! mod_rewrite.o: httpd.h http_config.h http_request.h http_core.h http_log.h \ !mod_rewrite.h ! mod_status.o: httpd.h http_config.h http_core.h http_protocol.h http_main.h \ ! util_script.h scoreboard.h ! mod_userdir.o: httpd.h http_config.h ! mod_usertrack.o: httpd.h http_config.h http_core.h ! modules.o: httpd.h http_config.h ! rfc1413.o: httpd.h http_log.h rfc1413.h ! util.o: httpd.h http_conf_globals.h ! util_date.o: util_date.h ! util_md5.o: httpd.h util_md5.h ! util_script.o: httpd.h http_config.h http_conf_globals.h http_main.h \ !http_log.h http_protocol.h http_core.h http_request.h \ !util_script.h ! util_snprintf.o: httpd.h ! ! httpd.h: conf.h alloc.h buff.h ! util_md5.h: md5.h --- 51,163 http_bprintf.o: http_bprintf.c $(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c + # We really don't expect end users to use this rule. It works only with + # gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after + # using it. + depend:
cvs commit: apache/src CHANGES http_core.c http_request.c httpd.h mod_negotiation.c util.c
dgaudet 97/06/30 15:50:45 Modified:src CHANGES http_core.c http_request.c httpd.h mod_negotiation.c util.c Log: directory_walk() is an expensive function, keep a little more state to avoid needless string counting. Add two new functions make_dirstr_parent and make_dirstr_prefix which replace all existing uses of make_dirstr. The new functions are a little less general than make_dirstr, but work more efficiently (less memory, less string counting). Revision ChangesPath 1.316 +7 -0 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.315 retrieving revision 1.316 diff -C3 -r1.315 -r1.316 *** CHANGES 1997/06/30 21:42:29 1.315 --- CHANGES 1997/06/30 22:50:38 1.316 *** *** 1,4 --- 1,11 Changes with Apache 1.3 + + *) directory_walk() is an expensive function, keep a little more state to + avoid needless string counting. Add two new functions make_dirstr_parent + and make_dirstr_prefix which replace all existing uses of make_dirstr. + The new functions are a little less general than make_dirstr, but + work more efficiently (less memory, less string counting). + [Dean Gaudet] *) EXTRA_LFLAGS was changed to EXTRA_LDFLAGS (and LFLAGS was changed to LDFLAGS) to avoid complications with lex rules in make files. 1.90 +1 -1 apache/src/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache/src/http_core.c,v retrieving revision 1.89 retrieving revision 1.90 diff -C3 -r1.89 -r1.90 *** http_core.c 1997/06/29 17:53:03 1.89 --- http_core.c 1997/06/30 22:50:39 1.90 *** *** 117,123 core_dir_config *base = (core_dir_config *)basev; core_dir_config *new = (core_dir_config *)newv; core_dir_config *conf = ! (core_dir_config *)pcalloc (a, sizeof(core_dir_config)); int i; memcpy ((char *)conf, (const char *)base, sizeof(core_dir_config)); --- 117,123 core_dir_config *base = (core_dir_config *)basev; core_dir_config *new = (core_dir_config *)newv; core_dir_config *conf = ! (core_dir_config *)palloc (a, sizeof(core_dir_config)); int i; memcpy ((char *)conf, (const char *)base, sizeof(core_dir_config)); 1.54 +33 -18apache/src/http_request.c Index: http_request.c === RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.53 retrieving revision 1.54 diff -C3 -r1.53 -r1.54 *** http_request.c1997/06/28 21:46:57 1.53 --- http_request.c1997/06/30 22:50:39 1.54 *** *** 251,259 core_dir_config **sec = (core_dir_config **)sec_array->elts; int num_sec = sec_array->nelts; char *test_filename = pstrdup (r->pool, r->filename); int num_dirs, res; ! int i; /* Are we dealing with a file? If not, we can (hopefuly) safely assume * we have a handler that doesn't require one, but for safety's sake, --- 251,260 core_dir_config **sec = (core_dir_config **)sec_array->elts; int num_sec = sec_array->nelts; char *test_filename = pstrdup (r->pool, r->filename); + char *test_dirname, *test_htaccess; int num_dirs, res; ! int i, test_filename_len; /* Are we dealing with a file? If not, we can (hopefuly) safely assume * we have a handler that doesn't require one, but for safety's sake, *** *** 333,360 return res; } ! if (test_filename[strlen(test_filename)-1] == '/') --num_dirs; ! if (S_ISDIR (r->finfo.st_mode)) { ! ++num_dirs; ! } for (i = 1; i <= num_dirs; ++i) { core_dir_config *core_dir = (core_dir_config *)get_module_config(per_dir_defaults, &core_module); int overrides_here; void *this_conf = NULL, *htaccess_conf = NULL; ! char *this_dir = make_dirstr (r->pool, test_filename, i); int j; ! /* Do symlink checks first, because they are done with the * permissions appropriate to the *parent* directory... */ ! if ((res = check_symlinks (this_dir, core_dir->opts))) { ! log_reason("Symbolic link not allowed", this_dir, r); return res; } --- 334,367 return res; } ! test_filename_len = strlen (test_filename); ! if (test_filename[test_filename_len-1] == '/') --num_dirs; ! if (S_ISDIR (
cvs commit: apache/src CHANGES http_protocol.c http_request.c httpd.h
dgaudet 97/06/30 18:13:45 Modified:src CHANGES http_protocol.c http_request.c httpd.h Log: Added begun_read_body to request_rec so that subreqs and internal redirects won't try to read the request body twice. Submitted by: Roy Fielding Reviewed by: Alexei Kosut, Dean Gaudet Revision ChangesPath 1.317 +5 -1 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.316 retrieving revision 1.317 diff -C3 -r1.316 -r1.317 *** CHANGES 1997/06/30 22:50:38 1.316 --- CHANGES 1997/07/01 01:13:40 1.317 *** *** 92,98 lockfile in any location. It previously defaulted to /usr/tmp/htlock. [Somehow it took four of us: Randy Terbush, Jim Jagielski, Dean Gaudet, Marc Slemko] ! *) Add a placeholder in modules/Makefile to avoid errors with certain makes. [Marc Slemko] --- 92,102 lockfile in any location. It previously defaulted to /usr/tmp/htlock. [Somehow it took four of us: Randy Terbush, Jim Jagielski, Dean Gaudet, Marc Slemko] ! ! *) Request processing now retains state of whether or not the request ! body has been read, so that internal redirects and subrequests will ! not try to read it twice (and block). [Roy Fielding] ! *) Add a placeholder in modules/Makefile to avoid errors with certain makes. [Marc Slemko] 1.130 +4 -1 apache/src/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache/src/http_protocol.c,v retrieving revision 1.129 retrieving revision 1.130 diff -C3 -r1.129 -r1.130 *** http_protocol.c 1997/06/29 17:56:47 1.129 --- http_protocol.c 1997/07/01 01:13:41 1.130 *** *** 871,876 --- 871,877 rnew->read_length = r->read_length; rnew->read_body = REQUEST_NO_BODY; + rnew->begun_read_body = r->begun_read_body; rnew->main = (request_rec *)r; } *** *** 1348,1354 int should_client_block (request_rec *r) { ! if (is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) --- 1349,1355 int should_client_block (request_rec *r) { ! if (r->begun_read_body || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) *** *** 1399,1404 --- 1400,1407 int c; long len_read, len_to_read; long chunk_start = 0; + + r->begun_read_body = 1; if (!r->read_chunked) { /* Content-length read */ len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; 1.55 +2 -0 apache/src/http_request.c Index: http_request.c === RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.54 retrieving revision 1.55 diff -C3 -r1.54 -r1.55 *** http_request.c1997/06/30 22:50:39 1.54 --- http_request.c1997/07/01 01:13:42 1.55 *** *** 1112,1117 --- 1112,1119 */ new->no_local_copy = r->no_local_copy; + new->begun_read_body = r->begun_read_body; /* We can only read it once */ + ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); 1.122 +1 -0 apache/src/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache/src/httpd.h,v retrieving revision 1.121 retrieving revision 1.122 diff -C3 -r1.121 -r1.122 *** httpd.h 1997/06/30 22:50:40 1.121 --- httpd.h 1997/07/01 01:13:42 1.122 *** *** 502,507 --- 502,508 long read_length; /* bytes that have been read */ int read_body;/* how the request body should be read */ int read_chunked; /* reading chunked transfer-coding */ + int begun_read_body; /* false (0) until first get_client_block */ /* MIME header environments, in and out. Also, an array containing * environment variables to be passed to subprocesses, so people can
cvs commit: apache/src/helpers GuessOS
dgaudet 97/06/30 18:15:30 Modified:src CHANGES Configure conf.h src/helpers GuessOS Log: PR#333: Fix rlim_t problems with AIX 4.2. Submitted by: Marc Slemko Reviewed by: Dean Gaudet Revision ChangesPath 1.318 +2 -0 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.317 retrieving revision 1.318 diff -C3 -r1.317 -r1.318 *** CHANGES 1997/07/01 01:13:40 1.317 --- CHANGES 1997/07/01 01:15:26 1.318 *** *** 145,150 --- 145,152 *) pregsub had an off-by-1 in its error checking code. [Alexei Kosut] + *) PORT: fix rlim_t problems with AIX 4.2. [Marc Slemko] PR#333 + *) PORT: Update Unixware support for 2.1.2. [Lawrence Rosenman ] PR#511 1.104 +7 -3 apache/src/Configure Index: Configure === RCS file: /export/home/cvs/apache/src/Configure,v retrieving revision 1.103 retrieving revision 1.104 diff -C3 -r1.103 -r1.104 *** Configure 1997/06/30 21:42:30 1.103 --- Configure 1997/07/01 01:15:27 1.104 *** *** 205,214 CFLAGS="$CFLAGS -DAIX -U__STR__ -DUSEBCOPY" DEF_WANTHSREGEX=no ;; *-ibm-aix*) ! OS='IBM AIX' ! CFLAGS="$CFLAGS -DAIX -U__STR__" ! ;; *-apollo-*) OS='Apollo Domain' CFLAGS="$CFLAGS -DAPOLLO" --- 205,218 CFLAGS="$CFLAGS -DAIX -U__STR__ -DUSEBCOPY" DEF_WANTHSREGEX=no ;; + *-ibm-aix[1-3].*|*-ibm-aix4.[0-1]) + OS='IBM AIX < v4.2' + CFLAGS="$CFLAGS -DAIX -DNEED_RLIM_T -U__STR__" + ;; *-ibm-aix*) ! OS='IBM AIX >= 4.2' ! CFLAGS="$CFLAGS -DAIX -U__STR__" ! ;; *-apollo-*) OS='Apollo Domain' CFLAGS="$CFLAGS -DAPOLLO" 1.109 +2 -0 apache/src/conf.h Index: conf.h === RCS file: /export/home/cvs/apache/src/conf.h,v retrieving revision 1.108 retrieving revision 1.109 diff -C3 -r1.108 -r1.109 *** conf.h1997/06/30 21:03:17 1.108 --- conf.h1997/07/01 01:15:27 1.109 *** *** 155,161 --- 155,163 #define DEFAULT_GROUP "nobody" #endif #define DEFAULT_USER "nobody" + #ifdef NEED_RLIM_T typedef int rlim_t; + #endif #elif defined(ULTRIX) #define HAVE_GMTOFF 1.24 +1 -1 apache/src/helpers/GuessOS Index: GuessOS === RCS file: /export/home/cvs/apache/src/helpers/GuessOS,v retrieving revision 1.23 retrieving revision 1.24 diff -C3 -r1.23 -r1.24 *** GuessOS 1997/06/24 01:10:58 1.23 --- GuessOS 1997/07/01 01:15:30 1.24 *** *** 61,67 ;; AIX:*) ! echo "${MACHINE}-ibm-aix"; exit 0 ;; dgux:*) --- 61,67 ;; AIX:*) ! echo "${MACHINE}-ibm-aix${VERSION}.${RELEASE}"; exit 0 ;; dgux:*)
cvs commit: apache/src Makefile.tmpl
dgaudet 97/06/30 18:33:32 Modified:src Tag: APACHE_1_2_X Makefile.tmpl Log: Update dependencies. Revision ChangesPath No revision No revision 1.46.2.2 +105 -69 apache/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache/src/Makefile.tmpl,v retrieving revision 1.46.2.1 retrieving revision 1.46.2.2 diff -C3 -r1.46.2.1 -r1.46.2.2 *** Makefile.tmpl 1997/06/27 02:09:15 1.46.2.1 --- Makefile.tmpl 1997/07/01 01:33:31 1.46.2.2 *** *** 51,126 http_bprintf.o: http_bprintf.c $(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c #Dependencies $(OBJS): Makefile ! alloc.o: conf.h alloc.h ! buff.o: conf.h alloc.h buff.h ! explain.o: explain.h ! http_bprintf.o: conf.h alloc.h buff.h ! http_config.o: httpd.h http_config.h http_core.h http_log.h http_request.h \ !http_conf_globals.h explain.h ! http_core.o: httpd.h http_config.h http_core.h http_protocol.h scoreboard.h \ ! http_conf_globals.h http_main.h http_log.h rfc1413.h util_md5.h ! http_log.o: httpd.h http_config.h http_core.h http_log.h ! http_main.o: httpd.h http_config.h http_core.h http_log.h http_request.h \ ! http_conf_globals.h http_protocol.h http_main.h scoreboard.h \ ! explain.h ! http_protocol.o: httpd.h http_config.h http_core.h http_protocol.h \ ! http_main.h http_log.h util_date.h ! http_request.o: httpd.h http_config.h http_request.h http_core.h \ ! http_protocol.h http_log.h http_main.h scoreboard.h ! md5c.o: md5.h ! mod_access.o: httpd.h http_core.h http_config.h http_log.h ! mod_actions.o: httpd.h http_config.h http_request.h http_core.h \ !http_protocol.h http_main.h http_log.h util_script.h ! mod_alias.o: httpd.h http_config.h ! mod_asis.o: httpd.h http_config.h http_protocol.h http_log.h util_script.h \ ! http_main.h http_request.h ! mod_auth.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_anon.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_db.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_dbm.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_auth_msql.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h ! mod_browser.o: httpd.h http_config.h ! mod_cern_meta.o: httpd.h http_config.h util_script.h http_log.h ! mod_cgi.o: httpd.h http_config.h http_request.h http_core.h http_protocol.h \ !http_main.h http_log.h util_script.h ! mod_digest.o: httpd.h http_config.h http_core.h http_log.h http_protocol.h \ ! util_md5.h ! mod_dir.o: httpd.h http_config.h http_core.h http_request.h http_protocol.h \ !http_log.h http_main.h util_script.h ! mod_dld.o: httpd.h http_config.h http_conf_globals.h ! mod_env.o: httpd.h http_config.h ! mod_expires.o: httpd.h http_config.h http_log.h ! mod_headers.o: httpd.h http_config.h ! mod_imap.o: httpd.h http_config.h http_request.h http_core.h http_protocol.h \ ! http_main.h http_log.h util_script.h ! mod_include.o: httpd.h http_config.h http_request.h http_core.h http_log.h \ !http_protocol.h http_main.h util_script.h ! mod_info.o: httpd.h http_config.h http_core.h http_log.h http_main.h \ ! http_protocol.h util_script.h ! mod_log_agent.o: httpd.h http_config.h ! mod_log_config.o: httpd.h http_config.h http_core.h ! mod_log_referer.o: httpd.h http_config.h ! mod_mime.o: httpd.h http_config.h ! mod_negotiation.o: httpd.h http_config.h http_request.h http_core.h http_log.h ! mod_rewrite.o: httpd.h http_config.h http_request.h http_core.h http_log.h \ !mod_rewrite.h ! mod_status.o: httpd.h http_config.h http_core.h http_protocol.h http_main.h \ ! util_script.h scoreboard.h ! mod_userdir.o: httpd.h http_config.h ! mod_usertrack.o: httpd.h http_config.h http_core.h ! modules.o: httpd.h http_config.h ! rfc1413.o: httpd.h http_log.h rfc1413.h ! util.o: httpd.h http_conf_globals.h ! util_date.o: util_date.h ! util_md5.o: httpd.h util_md5.h ! util_script.o: httpd.h http_config.h http_conf_globals.h http_main.h \ !http_log.h http_protocol.h http_core.h http_request.h \ !util_script.h ! util_snprintf.o: httpd.h ! ! httpd.h: conf.h alloc.h buff.h ! util_md5.h: md5.h --- 51,162 http_bprintf.o: http_bprintf.c $(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c + # We really don't expect end users to use this rule. It works only with + # gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after
cvs commit: apache/src CHANGES http_protocol.c http_request.c httpd.h
dgaudet 97/06/30 18:37:12 Modified:src Tag: APACHE_1_2_X CHANGES http_protocol.c http_request.c httpd.h Log: Added begun_read_body to request_rec so that subreqs and internal redirects won't try to read the request body twice. Submitted by: Roy Fielding Reviewed by: Alexei Kosut, Dean Gaudet Revision ChangesPath No revision No revision 1.286.2.23 +5 -1 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.286.2.22 retrieving revision 1.286.2.23 diff -C3 -r1.286.2.22 -r1.286.2.23 *** CHANGES 1997/06/30 00:02:00 1.286.2.22 --- CHANGES 1997/07/01 01:37:07 1.286.2.23 *** *** 29,35 lockfile in any location. It previously defaulted to /usr/tmp/htlock. [Somehow it took four of us: Randy Terbush, Jim Jagielski, Dean Gaudet, Marc Slemko] ! *) Add a placeholder in modules/Makefile to avoid errors with certain makes. [Marc Slemko] --- 29,39 lockfile in any location. It previously defaulted to /usr/tmp/htlock. [Somehow it took four of us: Randy Terbush, Jim Jagielski, Dean Gaudet, Marc Slemko] ! ! *) Request processing now retains state of whether or not the request ! body has been read, so that internal redirects and subrequests will ! not try to read it twice (and block). [Roy Fielding] ! *) Add a placeholder in modules/Makefile to avoid errors with certain makes. [Marc Slemko] 1.126.2.1 +4 -1 apache/src/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache/src/http_protocol.c,v retrieving revision 1.126 retrieving revision 1.126.2.1 diff -C3 -r1.126 -r1.126.2.1 *** http_protocol.c 1997/05/29 03:44:31 1.126 --- http_protocol.c 1997/07/01 01:37:08 1.126.2.1 *** *** 868,873 --- 868,874 rnew->read_length = r->read_length; rnew->read_body = REQUEST_NO_BODY; + rnew->begun_read_body = r->begun_read_body; rnew->main = (request_rec *)r; } *** *** 1345,1351 int should_client_block (request_rec *r) { ! if (is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) --- 1346,1352 int should_client_block (request_rec *r) { ! if (r->begun_read_body || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) *** *** 1396,1401 --- 1397,1404 int c; long len_read, len_to_read; long chunk_start = 0; + + r->begun_read_body = 1; if (!r->read_chunked) { /* Content-length read */ len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; 1.50.2.2 +2 -0 apache/src/http_request.c Index: http_request.c === RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.50.2.1 retrieving revision 1.50.2.2 diff -C3 -r1.50.2.1 -r1.50.2.2 *** http_request.c1997/06/27 02:21:21 1.50.2.1 --- http_request.c1997/07/01 01:37:09 1.50.2.2 *** *** 1095,1100 --- 1095,1102 */ new->no_local_copy = r->no_local_copy; + new->begun_read_body = r->begun_read_body; /* We can only read it once */ + ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); 1.111.2.4 +1 -0 apache/src/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache/src/httpd.h,v retrieving revision 1.111.2.3 retrieving revision 1.111.2.4 diff -C3 -r1.111.2.3 -r1.111.2.4 *** httpd.h 1997/06/29 18:51:23 1.111.2.3 --- httpd.h 1997/07/01 01:37:09 1.111.2.4 *** *** 472,477 --- 472,478 long read_length; /* bytes that have been read */ int read_body;/* how the request body should be read */ int read_chunked; /* reading chunked transfer-coding */ + int begun_read_body; /* false (0) until first get_client_block */ /* MIME header environments, in and out. Also, an array containing * environment variables to be passed to subprocesses, so people can
cvs commit: apache/src/helpers GuessOS
dgaudet 97/06/30 18:38:17 Modified:src Tag: APACHE_1_2_X CHANGES Configure conf.h src/helpers Tag: APACHE_1_2_X GuessOS Log: PR#333: Fix rlim_t problems with AIX 4.2. Submitted by: Marc Slemko Reviewed by: Dean Gaudet Revision ChangesPath No revision No revision 1.286.2.24 +2 -0 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.286.2.23 retrieving revision 1.286.2.24 diff -C3 -r1.286.2.23 -r1.286.2.24 *** CHANGES 1997/07/01 01:37:07 1.286.2.23 --- CHANGES 1997/07/01 01:38:12 1.286.2.24 *** *** 82,87 --- 82,89 *) pregsub had an off-by-1 in its error checking code. [Alexei Kosut] + *) PORT: fix rlim_t problems with AIX 4.2. [Marc Slemko] PR#333 + *) PORT: Update Unixware support for 2.1.2. [Lawrence Rosenman ] PR#511 1.96.2.7 +7 -3 apache/src/Configure Index: Configure === RCS file: /export/home/cvs/apache/src/Configure,v retrieving revision 1.96.2.6 retrieving revision 1.96.2.7 diff -C3 -r1.96.2.6 -r1.96.2.7 *** Configure 1997/06/29 18:28:24 1.96.2.6 --- Configure 1997/07/01 01:38:13 1.96.2.7 *** *** 205,214 CFLAGS="$CFLAGS -DAIX -U__STR__ -DUSEBCOPY" DEF_WANTHSREGEX=no ;; *-ibm-aix*) ! OS='IBM AIX' ! CFLAGS="$CFLAGS -DAIX -U__STR__" ! ;; *-apollo-*) OS='Apollo Domain' CFLAGS="$CFLAGS -DAPOLLO" --- 205,218 CFLAGS="$CFLAGS -DAIX -U__STR__ -DUSEBCOPY" DEF_WANTHSREGEX=no ;; + *-ibm-aix[1-3].*|*-ibm-aix4.[0-1]) + OS='IBM AIX < v4.2' + CFLAGS="$CFLAGS -DAIX -DNEED_RLIM_T -U__STR__" + ;; *-ibm-aix*) ! OS='IBM AIX >= 4.2' ! CFLAGS="$CFLAGS -DAIX -U__STR__" ! ;; *-apollo-*) OS='Apollo Domain' CFLAGS="$CFLAGS -DAPOLLO" 1.99.2.4 +2 -0 apache/src/conf.h Index: conf.h === RCS file: /export/home/cvs/apache/src/conf.h,v retrieving revision 1.99.2.3 retrieving revision 1.99.2.4 diff -C3 -r1.99.2.3 -r1.99.2.4 *** conf.h1997/06/29 18:08:35 1.99.2.3 --- conf.h1997/07/01 01:38:13 1.99.2.4 *** *** 155,161 --- 155,163 #define DEFAULT_GROUP "nobody" #endif #define DEFAULT_USER "nobody" + #ifdef NEED_RLIM_T typedef int rlim_t; + #endif #elif defined(ULTRIX) #define HAVE_GMTOFF No revision No revision 1.19.2.5 +1 -1 apache/src/helpers/GuessOS Index: GuessOS === RCS file: /export/home/cvs/apache/src/helpers/GuessOS,v retrieving revision 1.19.2.4 retrieving revision 1.19.2.5 diff -C3 -r1.19.2.4 -r1.19.2.5 *** GuessOS 1997/06/27 02:02:01 1.19.2.4 --- GuessOS 1997/07/01 01:38:16 1.19.2.5 *** *** 61,67 ;; AIX:*) ! echo "${MACHINE}-ibm-aix"; exit 0 ;; dgux:*) --- 61,67 ;; AIX:*) ! echo "${MACHINE}-ibm-aix${VERSION}.${RELEASE}"; exit 0 ;; dgux:*)
cvs commit: apache/src CHANGES
dgaudet 97/06/30 23:31:02 Modified:conf Tag: APACHE_1_2_X httpd.conf-dist src Tag: APACHE_1_2_X CHANGES Log: Back out the "HostnameLookups off" change. Revision ChangesPath No revision No revision 1.13.2.2 +4 -3 apache/conf/httpd.conf-dist Index: httpd.conf-dist === RCS file: /export/home/cvs/apache/conf/httpd.conf-dist,v retrieving revision 1.13.2.1 retrieving revision 1.13.2.2 diff -C3 -r1.13.2.1 -r1.13.2.2 *** httpd.conf-dist 1997/06/27 02:15:07 1.13.2.1 --- httpd.conf-dist 1997/07/01 06:30:59 1.13.2.2 *** *** 20,28 # HostnameLookups: Log the names of clients or just their IP numbers # e.g. www.apache.org (on) or 204.62.129.132 (off) ! # The default is off because it'd be overall better for the net if people ! # had to knowingly turn this feature on. ! HostnameLookups off # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. --- 20,29 # HostnameLookups: Log the names of clients or just their IP numbers # e.g. www.apache.org (on) or 204.62.129.132 (off) ! # You should probably turn this off unless you are going to actually ! # use the information in your logs, or with a CGI. Leaving this on ! # can slow down access to your site. ! HostnameLookups on # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. No revision No revision 1.286.2.25 +0 -4 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.286.2.24 retrieving revision 1.286.2.25 diff -C3 -r1.286.2.24 -r1.286.2.25 *** CHANGES 1997/07/01 01:38:12 1.286.2.24 --- CHANGES 1997/07/01 06:31:00 1.286.2.25 *** *** 16,25 *) SECURITY: Apache will refuse to run as "User root" unless BIG_SECURITY_HOLE is defined at compile time. [Dean Gaudet] - *) CONFIG: "HostnameLookups" now defaults to off because it is far better - for the net if we require people that actually need this data to - enable it. [Linus Torvalds] - *) CONFIG: If a symlink pointed to a directory then it would be disallowed if it contained a .htaccess disallowing symlinks. This is contrary to the rule that symlink permissions are tested with the symlink --- 16,21
cvs commit: apache/src CHANGES
dgaudet 97/06/30 23:32:51 Modified:src CHANGES Log: The "HostnameLookups off" change is only in 1.3. Revision ChangesPath 1.319 +4 -4 apache/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.318 retrieving revision 1.319 diff -C3 -r1.318 -r1.319 *** CHANGES 1997/07/01 01:15:26 1.318 --- CHANGES 1997/07/01 06:32:50 1.319 *** *** 1,4 --- 1,8 Changes with Apache 1.3 + + *) CONFIG: "HostnameLookups" now defaults to off because it is far better + for the net if we require people that actually need this data to + enable it. [Linus Torvalds] *) directory_walk() is an expensive function, keep a little more state to avoid needless string counting. Add two new functions make_dirstr_parent *** *** 78,87 *) SECURITY: Apache will refuse to run as "User root" unless BIG_SECURITY_HOLE is defined at compile time. [Dean Gaudet] - - *) CONFIG: "HostnameLookups" now defaults to off because it is far better - for the net if we require people that actually need this data to - enable it. [Linus Torvalds] *) CONFIG: If a symlink pointed to a directory then it would be disallowed if it contained a .htaccess disallowing symlinks. This is contrary --- 82,87
cvs commit: apache/src http_protocol.c http_request.c httpd.h
dgaudet 97/06/30 23:46:05 Modified:src http_protocol.c http_request.c httpd.h Log: We can use read_length instead of adding the new field begun_read_body. Submitted by: Roy Fielding Reviewed by: Dean Gaudet Revision ChangesPath 1.131 +1 -4 apache/src/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache/src/http_protocol.c,v retrieving revision 1.130 retrieving revision 1.131 diff -C3 -r1.130 -r1.131 *** http_protocol.c 1997/07/01 01:13:41 1.130 --- http_protocol.c 1997/07/01 06:46:02 1.131 *** *** 871,877 rnew->read_length = r->read_length; rnew->read_body = REQUEST_NO_BODY; - rnew->begun_read_body = r->begun_read_body; rnew->main = (request_rec *)r; } --- 871,876 *** *** 1349,1355 int should_client_block (request_rec *r) { ! if (r->begun_read_body || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) --- 1348,1354 int should_client_block (request_rec *r) { ! if (r->read_length || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) *** *** 1400,1407 int c; long len_read, len_to_read; long chunk_start = 0; - - r->begun_read_body = 1; if (!r->read_chunked) { /* Content-length read */ len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; --- 1399,1404 1.56 +1 -1 apache/src/http_request.c Index: http_request.c === RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.55 retrieving revision 1.56 diff -C3 -r1.55 -r1.56 *** http_request.c1997/07/01 01:13:42 1.55 --- http_request.c1997/07/01 06:46:02 1.56 *** *** 1112,1118 */ new->no_local_copy = r->no_local_copy; ! new->begun_read_body = r->begun_read_body; /* We can only read it once */ ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); --- 1112,1118 */ new->no_local_copy = r->no_local_copy; ! new->read_length = r->read_length; /* We can only read it once */ ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); 1.123 +0 -1 apache/src/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache/src/httpd.h,v retrieving revision 1.122 retrieving revision 1.123 diff -C3 -r1.122 -r1.123 *** httpd.h 1997/07/01 01:13:42 1.122 --- httpd.h 1997/07/01 06:46:03 1.123 *** *** 502,508 long read_length; /* bytes that have been read */ int read_body;/* how the request body should be read */ int read_chunked; /* reading chunked transfer-coding */ - int begun_read_body; /* false (0) until first get_client_block */ /* MIME header environments, in and out. Also, an array containing * environment variables to be passed to subprocesses, so people can --- 502,507
cvs commit: apache/src http_protocol.c http_request.c httpd.h
dgaudet 97/06/30 23:50:32 Modified:src Tag: APACHE_1_2_X http_protocol.c http_request.c httpd.h Log: We can use read_length instead of adding the new field begun_read_body. Revision ChangesPath No revision No revision 1.126.2.2 +1 -4 apache/src/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache/src/http_protocol.c,v retrieving revision 1.126.2.1 retrieving revision 1.126.2.2 diff -C3 -r1.126.2.1 -r1.126.2.2 *** http_protocol.c 1997/07/01 01:37:08 1.126.2.1 --- http_protocol.c 1997/07/01 06:50:29 1.126.2.2 *** *** 868,874 rnew->read_length = r->read_length; rnew->read_body = REQUEST_NO_BODY; - rnew->begun_read_body = r->begun_read_body; rnew->main = (request_rec *)r; } --- 868,873 *** *** 1346,1352 int should_client_block (request_rec *r) { ! if (r->begun_read_body || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) --- 1345,1351 int should_client_block (request_rec *r) { ! if (r->read_length || is_HTTP_ERROR(r->status)) return 0; if (!r->read_chunked && (r->remaining <= 0)) *** *** 1397,1404 int c; long len_read, len_to_read; long chunk_start = 0; - - r->begun_read_body = 1; if (!r->read_chunked) { /* Content-length read */ len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; --- 1396,1401 1.50.2.3 +1 -1 apache/src/http_request.c Index: http_request.c === RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.50.2.2 retrieving revision 1.50.2.3 diff -C3 -r1.50.2.2 -r1.50.2.3 *** http_request.c1997/07/01 01:37:09 1.50.2.2 --- http_request.c1997/07/01 06:50:30 1.50.2.3 *** *** 1095,1101 */ new->no_local_copy = r->no_local_copy; ! new->begun_read_body = r->begun_read_body; /* We can only read it once */ ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); --- 1095,1101 */ new->no_local_copy = r->no_local_copy; ! new->read_length = r->read_length; /* We can only read it once */ ap_snprintf (t, sizeof(t), "%d", r->status); table_set (new->subprocess_env, "REDIRECT_STATUS", pstrdup (r->pool, t)); 1.111.2.5 +0 -1 apache/src/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache/src/httpd.h,v retrieving revision 1.111.2.4 retrieving revision 1.111.2.5 diff -C3 -r1.111.2.4 -r1.111.2.5 *** httpd.h 1997/07/01 01:37:09 1.111.2.4 --- httpd.h 1997/07/01 06:50:30 1.111.2.5 *** *** 472,478 long read_length; /* bytes that have been read */ int read_body;/* how the request body should be read */ int read_chunked; /* reading chunked transfer-coding */ - int begun_read_body; /* false (0) until first get_client_block */ /* MIME header environments, in and out. Also, an array containing * environment variables to be passed to subprocesses, so people can --- 472,477