cvs commit: apache-apr/apr/signal/win32 - New directory
rbb 99/06/24 12:49:12 apache-apr/apr/signal/win32 - New directory
cvs commit: apache-2.0/mpm/src/main Makefile.tmpl http_main.c http_request.c
jim 99/06/24 10:48:31 Modified:mpm/src/main Makefile.tmpl http_main.c http_request.c Log: Allow for prefork to compile on systems that don't have pthreads installed Revision ChangesPath 1.8 +1 -2 apache-2.0/mpm/src/main/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-2.0/mpm/src/main/Makefile.tmpl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Makefile.tmpl 1999/06/24 08:58:56 1.7 +++ Makefile.tmpl 1999/06/24 17:48:24 1.8 @@ -133,8 +133,7 @@ $(INCDIR)/apr.h $(INCDIR)/util_uri.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ - $(INCDIR)/http_main.h $(INCDIR)/scoreboard.h /usr/include/pthread.h \ - $(INCDIR)/fnmatch.h + $(INCDIR)/http_main.h $(INCDIR)/fnmatch.h http_vhost.o: http_vhost.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \ $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \ 1.2 +1 -0 apache-2.0/mpm/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- http_main.c 1999/06/18 18:39:30 1.1 +++ http_main.c 1999/06/24 17:48:26 1.2 @@ -244,6 +244,7 @@ pool *plog; /* Pool for error-logging files */ pool *ptemp; /* Pool for temporart config stuff */ pool *pcommands; /* Pool for -C and -c switches */ +extern char *optarg; /* TODO: PATHSEPARATOR should be one of the os defines */ 1.5 +2 -0 apache-2.0/mpm/src/main/http_request.c Index: http_request.c === RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_request.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- http_request.c1999/06/20 12:27:10 1.4 +++ http_request.c1999/06/24 17:48:27 1.5 @@ -73,7 +73,9 @@ #include "http_protocol.h" #include "http_log.h" #include "http_main.h" +#if 0 #include "scoreboard.h" +#endif #include "fnmatch.h" /*
cvs commit: apache-1.3/src/main http_core.c http_main.c
jim 99/06/24 09:38:54 Modified:.STATUS htdocs/manual/mod core.html directives.html src CHANGES src/include http_conf_globals.h src/main http_core.c http_main.c Log: Backout the DocumentRootCheck stuff. I wash my hands of this... :) Revision ChangesPath 1.722 +1 -15 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.721 retrieving revision 1.722 diff -u -r1.721 -r1.722 --- STATUS1999/06/24 16:09:47 1.721 +++ STATUS1999/06/24 16:38:31 1.722 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/06/24 16:09:47 $] + Last modified at [$Date: 1999/06/24 16:38:31 $] Release: @@ -70,20 +70,6 @@ proxy. RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: - -* What to do about DocumentRootCheck? - After commited Dean and Brian suggested just getting rid of - the stat itself and removing the need for the directive. Jim - points out that it's useful to have the stat for the -t - command line. - -Votes: - Keep as is: - Remove directive and stat totally^: - Remove directive but keep stat for -t^: - whatever/don't care: - -^ = CHANGES needs big bold notice about this change. * mod_rewrite/3874: RewriteLock doesn't work for virtual hosts Status: (Ralf): When I find time, I can look at this. But 1.153 +0 -39 apache-1.3/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v retrieving revision 1.152 retrieving revision 1.153 diff -u -r1.152 -r1.153 --- core.html 1999/06/22 01:11:09 1.152 +++ core.html 1999/06/24 16:38:33 1.153 @@ -36,7 +36,6 @@DocumentRoot -DocumentRootCheck ErrorDocument ErrorLog @@ -744,44 +743,6 @@ There appears to be a bug in mod_dir which causes problems when the DocumentRoot has a trailing slash (i.e., "DocumentRoot /usr/web/") so please avoid that. - - - -DocumentRootCheck directive - -Syntax: DocumentRootCheck On/Off -Default: DocumentRootCheck On -Context: server config -Status: core -Compatibility: Available in Apache 1.3.7 and later - -During startup, Apache does a stat of each -DocumentRoot -to determine if the directory exists. If your server is -configured with lots of DocumentRoot directives (for example, -if you serve numerous virtual hosts), this can greatly increase -the startup time. If you are sure that all the DocumentRoot -entries exist, you can tell Apache to bypass this check using: -DocumentRootCheck Off - -This directive is ignored when Apache is called with the --t command line option to perform a configuration -test. 1.58 +0 -1 apache-1.3/htdocs/manual/mod/directives.html Index: directives.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/directives.html,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- directives.html 1999/06/13 19:59:37 1.57 +++ directives.html 1999/06/24 16:38:34 1.58 @@ -95,7 +95,6 @@ DirectoryIndex DocumentRoot -DocumentRootCheck ErrorDocument ErrorLog Example 1.1387+7 -5 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1386 retrieving revision 1.1387 diff -u -r1.1386 -r1.1387 --- CHANGES 1999/06/24 14:30:32 1.1386 +++ CHANGES 1999/06/24 16:38:35 1.1387 @@ -16,11 +16,13 @@ *) Fix apxs build issues on AIX [Rasmus Lerdorf <[EMAIL PROTECTED]>] - *) New directive, DocumentRootCheck, added to determine if - we bother doing the stat of each DocumentRoot during - startup. Ignored when using the '-t' command line option - to perform a configuration test. [Mathijs Maassen <[EMAIL PROTECTED]>. - Jim Jagielski] + *) STARTUP BEHAVIOR CHANGE: Under previous versions, when Apache + first started up, it used to do a stat of each DocumentRoot to + see if it existed and was a directory. If not, then an error + message was printed. THIS HAS BEEN DISABLED. If DocumentRoot + does not exist, you will get error messages in error_log. If + the '-t' command line option is used (to check the configuration) + the check of DocumentRoot IS performed. [Jim Jagielski] *) Win32: The query switch
cvs commit: apache-1.3 STATUS
jim 99/06/24 09:09:58 Modified:.STATUS Log: Furgle Revision ChangesPath 1.721 +15 -1 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.720 retrieving revision 1.721 diff -u -r1.720 -r1.721 --- STATUS1999/06/22 09:11:53 1.720 +++ STATUS1999/06/24 16:09:47 1.721 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/06/22 09:11:53 $] + Last modified at [$Date: 1999/06/24 16:09:47 $] Release: @@ -70,6 +70,20 @@ proxy. RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: + +* What to do about DocumentRootCheck? + After commited Dean and Brian suggested just getting rid of + the stat itself and removing the need for the directive. Jim + points out that it's useful to have the stat for the -t + command line. + +Votes: + Keep as is: + Remove directive and stat totally^: + Remove directive but keep stat for -t^: + whatever/don't care: + +^ = CHANGES needs big bold notice about this change. * mod_rewrite/3874: RewriteLock doesn't work for virtual hosts Status: (Ralf): When I find time, I can look at this. But
cvs commit: apache-1.3/htdocs/manual/misc FAQ-I.html
coar99/06/24 08:06:27 Modified:htdocs/manual/misc FAQ-I.html Log: Whoops, missed one update.. Revision ChangesPath 1.2 +2 -2 apache-1.3/htdocs/manual/misc/FAQ-I.html Index: FAQ-I.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/FAQ-I.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- FAQ-I.html1999/06/24 15:02:52 1.1 +++ FAQ-I.html1999/06/24 15:06:27 1.2 @@ -31,7 +31,7 @@ Apache Server Frequently Asked Questions - $Revision: 1.1 $ ($Date: 1999/06/24 15:02:52 $) + $Revision: 1.2 $ ($Date: 1999/06/24 15:06:27 $) The latest version of this FAQ is always available from the main @@ -66,7 +66,7 @@ - I. Features + Features Does or will Apache act as a Proxy server?
cvs commit: apache-1.3/htdocs/manual/misc FAQ-A.html FAQ-B.html FAQ-C.html FAQ-D.html FAQ-E.html FAQ-F.html FAQ-G.html FAQ-H.html FAQ-I.html FAQ.html
coar99/06/24 08:02:56 Modified:htdocs/manual/misc FAQ.html Added: htdocs/manual/misc FAQ-A.html FAQ-B.html FAQ-C.html FAQ-D.html FAQ-E.html FAQ-F.html FAQ-G.html FAQ-H.html FAQ-I.html Log: Break the FAQ into smaller pieces, stitched together for Web browsing with SSIs but more easily posted on USENET. Revision ChangesPath 1.145 +22 -2397 apache-1.3/htdocs/manual/misc/FAQ.html Index: FAQ.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/FAQ.html,v retrieving revision 1.144 retrieving revision 1.145 diff -u -r1.144 -r1.145 --- FAQ.html 1999/05/27 16:49:26 1.144 +++ FAQ.html 1999/06/24 15:02:53 1.145 @@ -2,6 +2,7 @@ Apache Server Frequently Asked Questions + Apache Server Frequently Asked Questions - $Revision: 1.144 $ ($Date: 1999/05/27 16:49:26 $) + $Revision: 1.145 $ ($Date: 1999/06/24 15:02:53 $) The latest version of this FAQ is always available from the main @@ -80,2406 +81,30 @@ - - A. Background - - What is Apache? - - Why was Apache created? - - How does The Apache Group's work relate to -other servers? - - Why the name "Apache"? - - OK, so how does Apache compare to other servers? - - How thoroughly tested is Apache? - - What are the future plans for Apache? - - Whom do I contact for support? - - Is there any more information on Apache? - - Where can I get Apache? - - - - B. General Technical Questions - - "Why can't I ...? Why won't ... -work?" What to do in case of problems - - How compatible is Apache with my existing -NCSA 1.3 setup? - - Is Apache Year 2000 compliant? - - How do I submit a patch to the Apache Group? - - Why has Apache stolen my favourite site's -Internet address? - - Why am I getting spam mail from the Apache site? - - May I include the Apache software on a CD or other -package I'm distributing? - - What's the best hardware/operating system/... How do -I get the most out of my Apache Web server? - - What are "regular expressions"? - - - - C. Building Apache - - Why do I get an error about an undefined -reference to "__inet_ntoa" or other -__inet_* symbols? - - Why won't Apache compile with my -system's cc? - - Why do I get complaints about redefinition -of "struct iovec" when compiling under Linux? - - I'm using gcc and I get some compilation errors, - what is wrong? - - I'm using RedHat Linux 5.0, or some other -glibc-based Linux system, and I get errors with the -crypt function when I attempt to build Apache 1.2. - - - - - D. Error Log Messages and Problems Starting Apache - - Why do I get "setgid: Invalid -argument" at startup? - - Why am I getting "httpd: could not -set socket option TCP_NODELAY" in my error log? - - Why am I getting "connection -reset by peer" in my error log? - - The errorlog says Apache dumped core, -but where's the dump file? - - When I run it under Linux I get "shmget: -function not found", what should I do? - - Server hangs, or fails to start, and/or error log -fills with "fcntl: F_SETLKW: No record locks -available" or similar messages - - Why am I getting "Expected -but saw " when I try to start Apache? - - I'm using RedHat Linux and I have problems with httpd -dying randomly or not restarting properly - - I upgraded from an Apache version earlier -than 1.2.0 and suddenly I have problems with Apache dying randomly -or not restarting properly - - - - - E. Configuration Questions - - Why can't I run more than-virtual hosts? - - Can I increase FD_SETSIZE -on FreeBSD? - - Why doesn't my ErrorDocument -401 work? - - Why does Apache send a cookie on every response? - - Why don't my cookies work, I even compiled in -mod_cookies? - - Why do my Java app[let]s give me plain text -when I request an URL from an Apache server? - - How do I get Apache to send a MIDI file so the -browser can play it? - - How do I add browsers and referrers to my logs? - - Why does accessing directories only work -when I include the trailing "/" -(e.g., http://foo.domain.com/~user/) but -not when I omit it -
cvs commit: apache-1.3/src CHANGES
bjh 99/06/24 07:30:34 Modified:src/main http_main.c src CHANGES Log: OS/2: Add clean-up to stop children taking the accept mutex with them to their grave. When an OS/2 mutex's owner dies the mutex becomes invalid, causing the error "OS2SEM: Error 105 getting accept lock. Exiting!" PR: 4505 Revision ChangesPath 1.449 +2 -0 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.448 retrieving revision 1.449 diff -u -r1.448 -r1.449 --- http_main.c 1999/06/22 21:55:25 1.448 +++ http_main.c 1999/06/24 14:30:30 1.449 @@ -918,6 +918,8 @@ ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_EMERG, server_conf, "Child cannot open lock semaphore, rc=%d", rc); clean_child_exit(APEXIT_CHILDINIT); +} else { +ap_register_cleanup(p, NULL, accept_mutex_cleanup, ap_null_cleanup); } } 1.1386+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1385 retrieving revision 1.1386 diff -u -r1.1385 -r1.1386 --- CHANGES 1999/06/23 18:24:01 1.1385 +++ CHANGES 1999/06/24 14:30:32 1.1386 @@ -1,5 +1,9 @@ Changes with Apache 1.3.7 + *) OS/2: Fix problem with accept lock semaphores where server would die with + "OS2SEM: Error 105 getting accept lock. Exiting!" + [Brian Havard] PR#4505 + *) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms. [Randy Terbush <[EMAIL PROTECTED]>]
cvs commit: apache-apr/apr/threadproc/win32 proc.c
rbb 99/06/24 07:16:20 Modified:apr/file_io/win32 pipe.c apr/test client.dsp server.dsp testfile.dsp testproc.c testproc.dsp testsock.dsp timetest.dsp apr/threadproc/win32 proc.c Log: Changes to get processes and pipes working again. I don't know how I let this slip by last time. Revision ChangesPath 1.3 +7 -1 apache-apr/apr/file_io/win32/pipe.c Index: pipe.c === RCS file: /home/cvs/apache-apr/apr/file_io/win32/pipe.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- pipe.c1999/06/23 21:09:18 1.2 +++ pipe.c1999/06/24 14:16:14 1.3 @@ -65,6 +65,12 @@ ap_status_t ap_create_pipe(ap_context_t *cont, struct file_t **in, struct file_t **out) { +SECURITY_ATTRIBUTES sa; + +sa.nLength = sizeof(sa); +sa.bInheritHandle = TRUE; +sa.lpSecurityDescriptor = NULL; + (*in) = (struct file_t *)ap_palloc(cont, sizeof(struct file_t)); (*in)->cntxt = cont; (*in)->fname = ap_pstrdup(cont, "PIPE"); @@ -73,7 +79,7 @@ (*out)->cntxt = cont; (*out)->fname = ap_pstrdup(cont, "PIPE"); -if (CreatePipe(&(*in)->filehand, &(*out)->filehand, NULL, 0) == -1) { +if (CreatePipe(&(*in)->filehand, &(*out)->filehand, &sa, 0) == -1) { return errno; } 1.4 +1 -1 apache-apr/apr/test/client.dsp Index: client.dsp === RCS file: /home/cvs/apache-apr/apr/test/client.dsp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- client.dsp1999/06/18 19:11:00 1.3 +++ client.dsp1999/06/24 14:16:15 1.4 @@ -73,7 +73,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 ..\network_io\win32\Debug\network_io.lib ..\lib\Debug\lib.lib ..\misc\win32\Debug\misc.lib ..\threadproc\win32\Debug\threadproc.lib ..\file_io\win32\Debug\file_io.lib ..\time\win32\Debug\time.lib ..\locks\win32\debug\locks.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ..\locks\win32\debug\locks.lib ..\lib\Debug\lib.lib ..\misc\win32\Debug\misc.lib ..\threadproc\win32\Debug\threadproc.lib ..\file_io\win32\Debug\file_io.lib ..\time\win32\Debug\time.lib ..\locks\win32\Debug\locks.lib ..\network_io\win32\Debug\network_io.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF 1.4 +1 -1 apache-apr/apr/test/server.dsp Index: server.dsp === RCS file: /home/cvs/apache-apr/apr/test/server.dsp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- server.dsp1999/06/18 19:11:00 1.3 +++ server.dsp1999/06/24 14:16:17 1.4 @@ -73,7 +73,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 ..\network_io\win32\Debug\network_io.lib ..\lib\Debug\lib.lib ..\misc\win32\Debug\misc.lib ..\threadproc\win32\Debug\threadproc.lib ..\file_io\win32\Debug\file_io.lib ..\time\win32\Debug\time.lib ..\locks\win32\debug\locks.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ..\locks\win32\debug\locks.lib ..\lib\Debug\lib.lib ..\misc\win32\Debug\misc.lib ..\threadproc\win32\Debug\threadproc.lib ..\file_io\win32\Debug\file_io.lib ..\time\win32\Debug\time.lib ..\locks\win32\Debug\locks.lib ..\network_io\win32\Debug\network_io.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF 1.6 +2 -2 apache-apr/apr/test/testfile.dsp Index: testfile.dsp === RCS file: /home/cvs/apache-apr/apr/test/testfile.dsp,v retrieving revision 1.5 retrieving revision 1.6 d
cvs commit: apache-2.0/mpm/src/modules/mpm/mpmt_pthread .cvsignore
jim 99/06/24 05:24:32 Added: mpm/src/modules/mpm/mpmt_pthread .cvsignore Log: Revision ChangesPath 1.1 apache-2.0/mpm/src/modules/mpm/mpmt_pthread/.cvsignore Index: .cvsignore === Makefile
cvs commit: apache-2.0/mpm/src/os/unix Makefile.tmpl
dgaudet 99/06/24 01:59:00 Modified:mpm/src/main Makefile.tmpl mpm/src/modules/mpm/prefork Makefile.tmpl mpm/src/os/unix Makefile.tmpl Log: depends Revision ChangesPath 1.7 +1 -1 apache-2.0/mpm/src/main/Makefile.tmpl Index: Makefile.tmpl === RCS file: /home/cvs/apache-2.0/mpm/src/main/Makefile.tmpl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile.tmpl 1999/06/24 08:58:00 1.6 +++ Makefile.tmpl 1999/06/24 08:58:56 1.7 @@ -143,7 +143,7 @@ $(INCDIR)/http_config.h $(INCDIR)/http_log.h \ $(INCDIR)/http_vhost.h $(INCDIR)/http_protocol.h \ $(INCDIR)/http_core.h -iol_unix.o: iol_unix.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \ +iol_file.o: iol_file.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \ $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \ 1.2 +10 -7 apache-2.0/mpm/src/modules/mpm/prefork/Makefile.tmpl Index: Makefile.tmpl === RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/prefork/Makefile.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile.tmpl 1999/06/24 01:57:58 1.1 +++ Makefile.tmpl 1999/06/24 08:58:58 1.2 @@ -55,12 +55,15 @@ $(OBJS) $(OBJS_PIC): Makefile # DO NOT REMOVE -prefork.o: prefork.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \ - $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ - $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \ - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \ - $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h \ - $(INCDIR)/http_main.h $(INCDIR)/http_log.h $(INCDIR)/http_config.h \ +prefork.o: prefork.c $(INCDIR)/httpd.h \ + $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \ + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ + $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h \ + $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \ + $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \ + $(INCDIR)/ap.h $(INCDIR)/apr.h \ + $(INCDIR)/util_uri.h $(INCDIR)/http_main.h \ + $(INCDIR)/http_log.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_connection.h \ $(INCDIR)/scoreboard_prefork.h $(INCDIR)/ap_mpm.h \ - $(OSDIR)/unixd.h + $(OSDIR)/unixd.h $(OSDIR)/iol_socket.h 1.6 +7 -0 apache-2.0/mpm/src/os/unix/Makefile.tmpl Index: Makefile.tmpl === RCS file: /home/cvs/apache-2.0/mpm/src/os/unix/Makefile.tmpl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile.tmpl 1999/06/24 08:58:04 1.5 +++ Makefile.tmpl 1999/06/24 08:58:59 1.6 @@ -38,6 +38,13 @@ $(OBJS): Makefile # DO NOT REMOVE +iol_socket.o: iol_socket.c $(INCDIR)/httpd.h \ + $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \ + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ + $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h \ + $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \ + $(INCDIR)/ap_iol.h $(INCDIR)/ap.h $(INCDIR)/apr.h \ + $(INCDIR)/util_uri.h os-aix-dso.o: os-aix-dso.c os-inline.o: os-inline.c $(INCDIR)/ap_config.h \ $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h \
cvs commit: apache-2.0/mpm/src/os/unix iol_socket.c iol_socket.h Makefile.tmpl
dgaudet 99/06/24 01:58:06 Modified:mpm/src/include ap_iol.h buff.h mpm/src/main Makefile.tmpl alloc.c buff.c mpm/src/modules/mpm/prefork prefork.c mpm/src/os/unix Makefile.tmpl Added: mpm/src/main iol_file.c mpm/src/os/unix iol_socket.c iol_socket.h Removed: mpm/src/main iol_unix.c Log: I think this is a better i/o layer interface. - move main/iol_unix.c to os/unix/iol_socket.c - create main/iol_file.c ... use APR methods eventually - remove iol_data from ap_iol, instead the ap_iol is just embedded into the private data of the i/o layer - remove ap_bpushfd(), replace with ap_bpush_iol() Revision ChangesPath 1.3 +6 -4 apache-2.0/mpm/src/include/ap_iol.h Index: ap_iol.h === RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_iol.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ap_iol.h 1999/06/19 20:40:16 1.2 +++ ap_iol.h 1999/06/24 08:57:58 1.3 @@ -107,8 +107,10 @@ /* TODO: accept, connect, ... */ }; +/* it is expected that each io layer will extend this structure as they +require; they must only ensure that the methods pointer remains in +the indicated position. */ struct ap_iol { -void *iol_data; const ap_iol_methods *methods; }; @@ -120,8 +122,8 @@ #define iol_setopt(iol, a, b) ((iol)->methods->setopt((iol), (a), (b))) #define iol_getopt(iol, a, b) ((iol)->methods->getopt((iol), (a), (b))) -/* clean this up later as well */ - -void unix_attach_fd(ap_iol *, int fd); +/* the file iol */ +/* TODO: use APR instead of unix semantics for this */ +ap_iol *ap_open_file(const char *name, int flags, int mask); #endif 1.5 +3 -2 apache-2.0/mpm/src/include/buff.h Index: buff.h === RCS file: /home/cvs/apache-2.0/mpm/src/include/buff.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- buff.h1999/06/24 07:29:29 1.4 +++ buff.h1999/06/24 08:57:58 1.5 @@ -145,7 +145,7 @@ ap_pool *pool; -ap_iol iol; +ap_iol *iol; }; /* Options to bset/getopt */ @@ -155,7 +155,8 @@ /* Stream creation and modification */ API_EXPORT(BUFF *) ap_bcreate(pool *p, int flags); -API_EXPORT(void) ap_bpushfd(BUFF *fb, int fd); + +API_EXPORT(void) ap_bpush_iol(BUFF *fb, ap_iol *iol); /* XXX - unused right now - mvsk */ API_EXPORT(BUFF *) ap_bopenf(pool *a, const char *name, int flg, int mode); 1.6 +1 -1 apache-2.0/mpm/src/main/Makefile.tmpl Index: Makefile.tmpl === RCS file: /home/cvs/apache-2.0/mpm/src/main/Makefile.tmpl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile.tmpl 1999/06/20 23:49:32 1.5 +++ Makefile.tmpl 1999/06/24 08:58:00 1.6 @@ -11,7 +11,7 @@ http_config.o http_core.o http_log.o \ http_main.o http_protocol.o http_request.o http_vhost.o \ util.o util_date.o util_script.o util_uri.o util_md5.o \ - rfc1413.o http_connection.o iol_unix.o + rfc1413.o http_connection.o iol_file.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $< 1.5 +4 -0 apache-2.0/mpm/src/main/alloc.c Index: alloc.c === RCS file: /home/cvs/apache-2.0/mpm/src/main/alloc.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- alloc.c 1999/06/22 22:26:10 1.4 +++ alloc.c 1999/06/24 08:58:00 1.5 @@ -2370,6 +2370,9 @@ enum kill_conditions kill_how, BUFF **pipe_in, BUFF **pipe_out, BUFF **pipe_err) { +return 0; +/* TODO: need to abstract the spawning stuff in a more clean manner */ +#if 0 #ifdef WIN32 SECURITY_ATTRIBUTES sa = {0}; HANDLE hPipeOutputRead = NULL; @@ -2588,6 +2591,7 @@ #endif return pid; +#endif } static void free_proc_chain(struct process_chain *procs) 1.6 +13 -14apache-2.0/mpm/src/main/buff.c Index: buff.c === RCS file: /home/cvs/apache-2.0/mpm/src/main/buff.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- buff.c1999/06/24 07:29:31 1.5 +++ buff.c1999/06/24 08:58:00 1.6 @@ -177,17 +177,16 @@ { BUFF *fb = v; -iol_close(&fb->iol); +iol_close(fb->iol); } /* * Push some I/O file descriptors onto the stream */ -API_EXPORT(void) ap_bpushfd(BUFF *fb, APRFile fd) +API_EXPORT(void) ap_bpus
cvs commit: apache-2.0/mpm/src/modules/mpm/prefork .cvsignore
dgaudet 99/06/24 00:29:59 Added: mpm/src/modules/mpm/prefork .cvsignore Log: ignore Makefile Revision ChangesPath 1.1 apache-2.0/mpm/src/modules/mpm/prefork/.cvsignore Index: .cvsignore === Makefile
cvs commit: apache-2.0/mpm/src/modules/mpm/prefork prefork.c
dgaudet 99/06/24 00:29:33 Modified:mpm/src/include buff.h mpm/src/main buff.c http_protocol.c iol_unix.c mpm/src/modules/mpm/prefork prefork.c Log: new-fangled BUFF... this could easily be broken, but hey, the one that was in here before was broken in different ways... I've served up a few pages with this one. Revision ChangesPath 1.4 +38 -6 apache-2.0/mpm/src/include/buff.h Index: buff.h === RCS file: /home/cvs/apache-2.0/mpm/src/include/buff.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- buff.h1999/06/18 23:34:58 1.3 +++ buff.h1999/06/24 07:29:29 1.4 @@ -65,6 +65,37 @@ #include #include "ap_iol.h" +/* +A BUFF is an i/o object which can be used in any of the following +output modes: + +blocking, buffered +blocking, buffered, HTTP-chunked +blocking, unbuffered +blocking, unbuffered, HTTP-chunked +non-blocking, unbuffered +non-blocking, unbuffered, HTTP-chunked + +In all the blocking modes, a bwrite(fb, buf, len) will return less +than len only in an error state. The error may be deferred until +the next use of fb. + +In the non-blocking, chunked mode, the caller of bwrite() makes a +guarantee that if a partial write occurs, they will call back later +with at least as many bytes to write -- prior to disabling chunking. +This is a protocol correctness requirement -- the chunk length may +already have hit the wire, and is in essence "committed". + +bputc, bputs, bvputs, and bprintf are supported only in the buffered +modes. + +The following input modes are supported: + +blocking, buffered +blocking, unbuffered +non-blocking, unbuffered +*/ + /* Reading is buffered */ #define B_RD (1) /* Writing is buffered */ @@ -82,16 +113,12 @@ #undef B_ERROR #endif #define B_ERROR (48) -/* TODO: implement chunked encoding as a layer */ +/* Use chunked writing */ +#define B_CHUNK (64) /* bflush() if a read would block */ /* TODO: #define B_SAFEREAD (128) */ -/* buffer is a socket */ -#define B_SOCKET (256) - /* caller expects non-blocking behaviour */ #define B_NONBLOCK (512) -/* non-blocking bit set on fd */ -#define B_NONBLOCK_SET (1024) /* TODO: implement a ebcdic/ascii conversion layers */ @@ -103,10 +130,15 @@ unsigned char *inptr;/* pointer to next location to read */ int incnt; /* number of bytes left to read from input buffer; * always 0 if had a read error */ +int outchunk; /* location of chunk header when chunking */ int outcnt; /* number of byte put in output buffer */ unsigned char *inbase; unsigned char *outbase; int bufsiz; +int chunk_overcommit;/* when we start a chunk and get a partial write we + * keep track of the #remaining bytes in the chunk + * here + */ void (*error) (BUFF *fb, int op, void *data); void *error_data; long int bytes_sent; /* number of bytes actually written */ 1.5 +266 -143 apache-2.0/mpm/src/main/buff.c Index: buff.c === RCS file: /home/cvs/apache-2.0/mpm/src/main/buff.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- buff.c1999/06/20 12:25:54 1.4 +++ buff.c1999/06/24 07:29:31 1.5 @@ -76,6 +76,17 @@ #define DEFAULT_BUFSIZE (4096) #endif +/* the maximum size of any chunk */ +#ifndef MAX_CHUNK_SIZE +#define MAX_CHUNK_SIZE (0x8000) +#endif + +/* This must be enough to represent MAX_CHUNK_SIZE in hex, + * plus two extra characters. + */ +#ifndef CHUNK_HEADER_SIZE +#define CHUNK_HEADER_SIZE (6) +#endif /* bwrite()s of greater than this size can result in a large_write() call, * which can result in a writev(). It's a little more work to set up the @@ -88,7 +99,6 @@ #define LARGE_WRITE_THRESHOLD 31 #endif - /* * Buffered I/O routines. * These are a replacement for the stdio routines. @@ -136,15 +146,18 @@ fb = ap_palloc(p, sizeof(BUFF)); fb->pool = p; fb->bufsiz = DEFAULT_BUFSIZE; -fb->flags = flags & (B_RDWR | B_SOCKET); +fb->flags = flags & B_RDWR; if (flags & B_RD) fb->inbase = ap_palloc(p, fb->bufsiz); else fb->inbase = NULL; +/* overallocate so that we can put a chunk trailer of CRLF into this + * buffer... and possibly the beginning of a new chunk + */ if (flags & B_WR) - fb->outbase =
cvs commit: apache-2.0/mpm/src/modules/mpm_prefork Makefile.libdir Makefile.tmpl mpm_prefork.c
jim 99/06/23 18:58:13 Modified:mpm/src CHANGES Configure Added: mpm/src/modules/mpm MPM.NAMING mpm/src/modules/mpm/mpmt_pthread Makefile.libdir Makefile.tmpl acceptlock.c acceptlock.h http_accept.c mpmt_pthread.c scoreboard.c mpm/src/modules/mpm/prefork Makefile.libdir Makefile.tmpl prefork.c Removed: mpm/src/modules/mpm_mpmt_pthread Makefile.libdir Makefile.tmpl acceptlock.c acceptlock.h http_accept.c mpm_mpmt_pthread.c scoreboard.c mpm/src/modules/mpm_prefork Makefile.libdir Makefile.tmpl mpm_prefork.c Log: Consistant and shorter naming of MPM methods implemented. Revision ChangesPath 1.11 +1 -1 apache-2.0/mpm/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-2.0/mpm/src/CHANGES,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- CHANGES 1999/06/23 07:17:16 1.10 +++ CHANGES 1999/06/24 01:57:43 1.11 @@ -1,7 +1,7 @@ Changes with MPM * Implement mpm_* methods as "modules". Each method gets it's own - subdir in src/modules (eg: src/modules/mpm_prefork). Selection + subdir in src/modules (eg: src/modules/prefork). Selection of method uses Rule MPM_METHOD. [Jim Jagielski] * Port the hybrid server from the apache-apr repository as 1.8 +56 -41apache-2.0/mpm/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-2.0/mpm/src/Configure,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Configure 1999/06/23 00:28:11 1.7 +++ Configure 1999/06/24 01:57:45 1.8 @@ -1481,37 +1481,47 @@ ## # First, add the shadow MPM method module ## -echo "AddModule modules/mpm_$RULE_MPM_METHOD/libmpm_$RULE_MPM_METHOD.a" >> $tmpfile +echo "AddModule modules/mpm/$RULE_MPM_METHOD/lib$RULE_MPM_METHOD.a" >> $tmpfile +echo "- using mpm method $RULE_MPM_METHOD " + MODFILES=`awk <$tmpfile '($1 == "AddModule" || $1 == "SharedModule") { printf "%s ", $2 }'` MODDIRS=`awk < $tmpfile ' ($1 == "Module" && $3 ~ /^modules\//) { - split ($3, pp, "/") - if (! SEEN[pp[2]]) { - printf "%s ", pp[2] - SEEN[pp[2]] = 1 - } + count = split ($3, pp, "/") + dir = pp[2] + for (i = 3; i < count; i++) dir = dir "/" pp[i] + if (! SEEN[dir]) { + printf "%s ", dir + SEEN[dir] = 1 + } } (($1 == "AddModule" || $1 == "SharedModule") && $2 ~ /^modules\//) { - split ($2, pp, "/") - if (! SEEN[pp[2]]) { - printf "%s ", pp[2] - SEEN[pp[2]] = 1 + count = split ($2, pp, "/") + dir = pp[2] + for (i = 3; i < count; i++) dir = dir "/" pp[i] + if (! SEEN[dir]) { + printf "%s ", dir + SEEN[dir] = 1 } }'` MODDIRS_NO_SO=`awk < $tmpfile ' ($1 == "Module" && $3 ~ /^modules\//) { - split ($3, pp, "/") - if (! SEEN[pp[2]]) { - printf "%s ", pp[2] - SEEN[pp[2]] = 1 - } + count = split ($3, pp, "/") + dir = pp[2] + for (i = 3; i < count; i++) dir = dir "/" pp[i] + if (! SEEN[dir]) { + printf "%s ", dir + SEEN[dir] = 1 + } } (($1 == "AddModule") && $2 ~ /^modules\//) { - split ($2, pp, "/") - if (! SEEN[pp[2]]) { - printf "%s ", pp[2] - SEEN[pp[2]] = 1 + count = split ($2, pp, "/") + dir = pp[2] + for (i = 3; i < count; i++) dir = dir "/" pp[i] + if (! SEEN[dir]) { + printf "%s ", dir + SEEN[dir] = 1 } }'` @@ -1576,7 +1586,14 @@ sed 's/^mod_//' | sed 's/^lib//' | sed 's/$/_module/'` fi if [ "x$ext" != "x$SHLIB_SUFFIX_NAME" ]; then - echo "Module $modname $modbase.$ext" >>$tmpfile + # Special Case: Handle MPM methods. + # Prepend mpm to $modname + mpm="`echo $modbase | awk '/modules\/mpm\// { print 1 }'`" + if [ "x$mpm" = "x1" ]; then + echo "Module mpm_${modname} $modbase.$ext" >>$tmpfile + else + echo "Module $modname $modbase.$ext" >>$tmpfile + fi fi # optionally generate export file for some linkers if [ "x$ext" = "x$SHLIB_SUFFIX_NAME" -a "x$SHLIB_EXPORT_FILES" = "xyes" ]; the
cvs commit: apache-2.0/mpm/src/modules/mpm/mpmt_pthread - New directory
jim 99/06/23 17:24:39 apache-2.0/mpm/src/modules/mpm/mpmt_pthread - New directory
cvs commit: apache-2.0/mpm/src/modules/mpm/prefork - New directory
jim 99/06/23 17:24:38 apache-2.0/mpm/src/modules/mpm/prefork - New directory
cvs commit: apache-2.0/mpm/src/modules/mpm - New directory
jim 99/06/23 17:24:22 apache-2.0/mpm/src/modules/mpm - New directory