Re: cvs commit: apache-1.3/htdocs/manual/mod core.html
On 21 Mar 1998 [EMAIL PROTECTED] wrote: Log: Has no effect on MS Windows is rather misleading. --- core.html 1998/03/21 17:13:56 1.105 +++ core.html 1998/03/21 22:31:53 1.106 @@ -1634,7 +1634,8 @@ Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost always a bad idea.P -This directive has no effect on Microsoft Windows. +This directive has no effect when used with the Apache Web server on a +Microsoft Windows platform. What am I missing here? Why is it misleading to say the directive has no effect on Windows? It does have no effect. There is no need for the qualifying when using with the Apache Web server because the documents are for Apache so why would anyone think it has an effect on any other software? Or if it is needed, make sure that all the other statements about what works with NT vs. Unix also have the qualification when used with Apache, for example, StartServers, ThreadsPerChild, MinSpareServers. Paul
Re: cvs commit: apache-1.3 STATUS
On 12 Mar 1998 [EMAIL PROTECTED] wrote: + - r-content_language is for backwards compatibility... with modules + that may not link any longer without some minor editing. The new + field is r-content_languages. Heck it's not even mentioned in + apache-devsite/mmn.txt when we got content_languages (note the s!). + The proposal is to remove r-content_language: + Status: Dean +1 Yeah, well, it was done during the 1.2 development, not a beta phase, so it didn't get a specific MMN bump. The next MMN after it was implemented (Oct 1996) was probably 19961125 for 1.2b1. //pcs
Re: cvs commit: apache-2.0 STATUS
On 6 Feb 1998 [EMAIL PROTECTED] wrote: +c) radically revamped API + +d) just new API phases + Brian +1 Um, I'm not sure how to vote on this. Personally I'd like to see (a) the function API left pretty much as it is, (b) the phase API radically updated (a la Alexei et al's proposal -- i.e. remove the module structure from modules etc), and (c) backward compatibility with modules written for 1.3. Paul
Re: cvs commit: apache-2.0 STATUS
On Fri, 6 Feb 1998, Alexei Kosut wrote: Especially not if we need to rename all our functions (see other threads). And there are a number of other parts of the Apache API that really need to be rethought (can we say configuration?) Backwards compatibility with 1.3, either for the API or the config language or anything else, has never (in the year and a half we've been discussing it) been a high priority for 2.0. Well, I think now is probably the time to at least think about how we are going to support current modules in the 2.0 framework. I'm not suggesting we should bend over backwards to make everything 100% backward compatible, but that we should value the work that has been done by third-party module authors and not disregard their efforts. Forcing radical changes on module authors could devalue them and maybe hurt the prospects of them continuing to develop Apache API modules (and move them towards, say, ISAPI where no-compilation is necessary to use later versions of the server). Paul
Re: cvs commit: apache-1.3/src/os/bs2000 os.c
On 3 Feb 1998 [EMAIL PROTECTED] wrote: diff -u -u -r1.2 -r1.3 --- os.c1998/01/26 16:46:16 1.2 +++ os.c1998/02/03 16:55:30 1.3 @@ -56,6 +56,7 @@ * Any inlineable functions should be defined in os-inline.c instead. */ +#include httpd.h #include os.h /* Check the Content-Type to decide if conversion is needed */ Hi Martin, is this really required? The os/* files should not need to know about Apache. They can then be used in other programs (e.g. htpasswd). If there is something in the os dir that needs to know about httpd.h or any other Apache include file, it should probably be moved to the ap library instead //pcs
Re: cvs commit: apachen/src/os/win32 os.h util_win32.c
On 21 Oct 1997 [EMAIL PROTECTED] wrote: ben 97/10/21 02:12:15 Modified:src/main conf.h src/os/win32 os.h util_win32.c Log: Work around buggy stat() implementation on Win95. Does this fix the index.html problem? If not, what does it fix? //pcs
cvs commit: apachen/src/os/unix Makefile.tmpl
pcs 97/09/24 14:27:36 Modified:src/os/unix Makefile.tmpl Log: Do not copy OS header files to src/main, use symlinks instead Revision ChangesPath 1.7 +9 -4 apachen/src/os/unix/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/os/unix/Makefile.tmpl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile.tmpl 1997/09/12 13:35:29 1.6 +++ Makefile.tmpl 1997/09/24 21:27:34 1.7 @@ -5,12 +5,17 @@ INCDIR=../../main OBJS=os.o os-inline.o +COPY=os.h os-inline.c LIB= libos.a -all: $(LIB) - cp os.h ../../main - cp os-inline.c ../../main +all: $(LIB) copy + +copy: + for i in $(COPY); do \ + rm -f $(INCDIR)/$$i ;\ + ln -s `pwd`/$$i $(INCDIR)/$$i ;\ + done $(LIB): $(OBJS) rm -f $@ @@ -26,4 +31,4 @@ $(OBJS): Makefile # DO NOT REMOVE -os.o:os.c +os.o:os.c os-inline.c
cvs commit: apachen/src/main conf.h
pcs 97/09/14 04:53:36 Modified:src/main conf.h Log: Make sure that os.h is used for non-win32 platforms as well Revision ChangesPath 1.138 +2 -0 apachen/src/main/conf.h Index: conf.h === RCS file: /export/home/cvs/apachen/src/main/conf.h,v retrieving revision 1.137 retrieving revision 1.138 diff -u -r1.137 -r1.138 --- conf.h1997/09/13 23:46:28 1.137 +++ conf.h1997/09/14 11:53:35 1.138 @@ -58,6 +58,8 @@ #ifdef WIN32 #include ../os/win32/os.h +#else +#include os.h #endif #if !defined(QNX) !defined(MPE) !defined(WIN32)
cvs commit: apachen/src Configure
pcs 97/09/14 04:55:01 Modified:src Configure Log: The OSDIR has to be built first because it makes the OS specific header file(s) accessable to the other source files. Revision ChangesPath 1.156 +1 -1 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.155 retrieving revision 1.156 diff -u -r1.155 -r1.156 --- Configure 1997/09/12 07:33:00 1.155 +++ Configure 1997/09/14 11:54:59 1.156 @@ -26,7 +26,7 @@ tmpfile3=$tmpfile.3 awkfile=$tmpfile.4 SRCDIR=`pwd` -SUBDIRS='main $(OSDIR) modules' +SUBDIRS='$(OSDIR) main modules' ## Now handle any arguments, which, for now, is -file
cvs commit: apachen/src/os/win32 os.c os.h
pcs 97/09/14 05:09:51 Modified:src/os/win32 os.c os.h Log: Make os_is_path_absolute() inline under Win32 Revision ChangesPath 1.3 +2 -8 apachen/src/os/win32/os.c Index: os.c === RCS file: /export/home/cvs/apachen/src/os/win32/os.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- os.c 1997/09/12 08:54:42 1.2 +++ os.c 1997/09/14 12:09:49 1.3 @@ -1,13 +1,7 @@ /* - * OS abstraction functions + * OS abstraction functions. Small functions should be defined + * as __inline in os.h. */ #include os.h -API_EXPORT(int)os_is_path_absolute(char *file) -{ - /* For now, just do the same check that http_request.c and mod_alias.c - * do. - */ - return (file (file[0] == '/' || file[1] == ':') ? 1 : 0); -} 1.4 +8 -4 apachen/src/os/win32/os.h Index: os.h === RCS file: /export/home/cvs/apachen/src/os/win32/os.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- os.h 1997/09/12 20:13:25 1.3 +++ os.h 1997/09/14 12:09:49 1.4 @@ -1,11 +1,9 @@ /* * This file in included in all Apache source code. It contains definitions * of facilities available on _this_ operating system (HAVE_* macros), - * and prototypes of OS specific functions defined in os.c or os-inline.c + * and prototypes of OS specific functions defined in os.c */ -/* Put your NT stuff here - Ambarish */ - /* temporarily replace crypt */ /* char *crypt(const char *pw, const char *salt); */ #define crypt(buf,salt) (buf) @@ -71,5 +69,11 @@ #define NO_OTHER_CHILD #define NO_RELIABLE_PIPED_LOGS +__inline int os_is_path_absolute(char *file) +{ + /* For now, just do the same check that http_request.c and mod_alias.c + * do. + */ + return file (file[0] == '/' || file[1] == ':'); +} -API_EXPORT(int)os_is_path_absolute(char *f);
cvs commit: apachen/src/os/win32 os.h
pcs 97/09/14 07:20:48 Modified:src/os/win32 os.h Log: For some reason #define STATUS got lost in the OS abstraction. Put it back. Revision ChangesPath 1.5 +3 -0 apachen/src/os/win32/os.h Index: os.h === RCS file: /export/home/cvs/apachen/src/os/win32/os.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- os.h 1997/09/14 12:09:49 1.4 +++ os.h 1997/09/14 14:20:47 1.5 @@ -12,12 +12,15 @@ chdir() */ #include direct.h +#define STATUS #define WIN32_LEAN_AND_MEAN #define STRICT #define NO_UNISTD_H #define NO_WRITEV #define NO_SETSID #define NO_USE_SIGACTION +#define NO_TIMES +#define NO_GETTIMEOFDAY #define NEED_PROCESS_H #define USE_LONGJMP #define HAVE_MMAP
cvs commit: apachen/src/os/win32 ApacheOS.dsp ApacheOS.mak
pcs 97/09/14 08:26:04 Modified:src/os/win32 ApacheOS.dsp ApacheOS.mak Log: By popular request... make ApacheOS into a static library instead of a DLL. Revision ChangesPath 1.4 +15 -36apachen/src/os/win32/ApacheOS.dsp Index: ApacheOS.dsp === RCS file: /export/home/cvs/apachen/src/os/win32/ApacheOS.dsp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ApacheOS.dsp 1997/09/14 12:09:00 1.3 +++ ApacheOS.dsp 1997/09/14 15:26:02 1.4 @@ -2,7 +2,7 @@ # Microsoft Developer Studio Generated Build File, Format Version 5.00 # ** DO NOT EDIT ** -# TARGTYPE Win32 (x86) Dynamic-Link Library 0x0102 +# TARGTYPE Win32 (x86) Static Library 0x0104 CFG=ApacheOS - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, @@ -17,17 +17,14 @@ !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE -!MESSAGE ApacheOS - Win32 Release (based on\ - Win32 (x86) Dynamic-Link Library) -!MESSAGE ApacheOS - Win32 Debug (based on Win32 (x86) Dynamic-Link Library) +!MESSAGE ApacheOS - Win32 Release (based on Win32 (x86) Static Library) +!MESSAGE ApacheOS - Win32 Debug (based on Win32 (x86) Static Library) !MESSAGE # Begin Project # PROP Scc_ProjName # PROP Scc_LocalPath CPP=cl.exe -MTL=midl.exe -RSC=rc.exe !IF $(CFG) == ApacheOS - Win32 Release @@ -40,46 +37,36 @@ # PROP Use_Debug_Libraries 0 # PROP Output_Dir ApacheOSR # PROP Intermediate_Dir ApacheOSR -# PROP Ignore_Export_Lib 0 # PROP Target_Dir -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c -# ADD BASE MTL /nologo /D NDEBUG /mktyplib203 /o NUL /win32 -# ADD MTL /nologo /D NDEBUG /mktyplib203 /o NUL /win32 -# ADD BASE RSC /l 0x809 /d NDEBUG -# ADD RSC /l 0x809 /d NDEBUG +# ADD BASE CPP /nologo /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c BSC32=bscmake.exe # ADD BASE BSC32 /nologo # 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:windows /dll /machine:I386 -# ADD 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:windows /dll /machine:I386 +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo !ELSEIF $(CFG) == ApacheOS - Win32 Debug # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir ApacheOS -# PROP BASE Intermediate_Dir ApacheOS +# PROP BASE Output_Dir Debug +# PROP BASE Intermediate_Dir Debug # PROP BASE Target_Dir # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir ApacheOSD # PROP Intermediate_Dir ApacheOSD -# PROP Ignore_Export_Lib 0 # PROP Target_Dir -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c -# ADD BASE MTL /nologo /D _DEBUG /mktyplib203 /o NUL /win32 -# ADD MTL /nologo /D _DEBUG /mktyplib203 /o NUL /win32 -# ADD BASE RSC /l 0x809 /d _DEBUG -# ADD RSC /l 0x809 /d _DEBUG +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /W3 /GX /Z7 /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c BSC32=bscmake.exe # ADD BASE BSC32 /nologo # 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:windows /dll /debug /machine:I386 /pdbtype:sept -# ADD 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:windows /dll /debug /machine:I386 /pdbtype:sept +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo !ENDIF @@ -87,21 +74,13 @@ # Name ApacheOS - Win32 Release # Name ApacheOS - Win32 Debug -# Begin Group Source Files - -# PROP Default_Filter c # Begin Source File SOURCE=.\os.c # End Source File -# End Group -# Begin Group Header Files - -# PROP Default_Filter # Begin Source File SOURCE=.\os.h # End Source File -# End Group # End Target # End Project 1.4 +63 -51apachen/src/os/win32/ApacheOS.mak Index: ApacheOS.mak ===
cvs commit: apachen/src Makefile.nt
pcs 97/09/14 08:30:31 Modified:src Makefile.nt Log: No longer need to install the ApacheOS dll Revision ChangesPath 1.16 +0 -2 apachen/src/Makefile.nt Index: Makefile.nt === RCS file: /export/home/cvs/apachen/src/Makefile.nt,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Makefile.nt 1997/09/12 08:11:03 1.15 +++ Makefile.nt 1997/09/14 15:30:30 1.16 @@ -47,7 +47,6 @@ -mkdir \Apache\conf copy ApacheR\Apache.exe \Apache copy CoreR\ApacheCore.dll \Apache - copy os\win32\ApacheOSR\ApacheOS.dll \Apache copy os\win32\ApacheModuleStatusR\ApacheModuleStatus.dll \Apache\modules # copy os\win32\ApacheModuleInfoR\ApacheModuleInfo.dll \Apache\modules copy os\win32\ApacheModuleAuthAnonR\ApacheModuleAuthAnon.dll \Apache\modules @@ -65,7 +64,6 @@ -mkdir \Apache\conf copy ApacheD\Apache.exe \Apache copy CoreD\ApacheCore.dll \Apache - copy os\win32\ApacheOSD\ApacheOS.dll \Apache copy os\win32\ApacheModuleStatusD\ApacheModuleStatus.dll \Apache\modules # copy os\win32\ApacheModuleInfoD\ApacheModuleInfo.dll \Apache\modules copy os\win32\ApacheModuleAuthAnonD\ApacheModuleAuthAnon.dll \Apache\modules
cvs commit: apachen/src ApacheCore.mak ApacheCore.dsp
pcs 97/09/14 09:03:10 Modified:src ApacheCore.mak ApacheCore.dsp Log: ApacheCore's release build used the Debug build of ApacheOS. Fix it. Not sure why MSVC made some many other changes to the .dsp file. Revision ChangesPath 1.18 +117 -52 apachen/src/ApacheCore.mak Index: ApacheCore.mak === RCS file: /export/home/cvs/apachen/src/ApacheCore.mak,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- ApacheCore.mak1997/09/13 23:46:26 1.17 +++ ApacheCore.mak1997/09/14 16:03:08 1.18 @@ -28,10 +28,6 @@ NULL=nul !ENDIF -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - !IF $(CFG) == ApacheCore - Win32 Release OUTDIR=.\CoreR @@ -101,18 +97,52 @@ $(OUTDIR) : if not exist $(OUTDIR)/$(NULL) mkdir $(OUTDIR) +CPP=cl.exe CPP_PROJ=/nologo /MD /W3 /GX /O2 /I .\regex /I .\main /D WIN32 /D\ NDEBUG /D _WINDOWS /Fp$(INTDIR)\ApacheCore.pch /YX /Fo$(INTDIR)\\\ /Fd$(INTDIR)\\ /FD /c CPP_OBJS=.\CoreR/ CPP_SBRS=. + +.c{$(CPP_OBJS)}.obj:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cpp{$(CPP_OBJS)}.obj:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cxx{$(CPP_OBJS)}.obj:: + $(CPP) @ + $(CPP_PROJ) $ + + +.c{$(CPP_SBRS)}.sbr:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cpp{$(CPP_SBRS)}.sbr:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cxx{$(CPP_SBRS)}.sbr:: + $(CPP) @ + $(CPP_PROJ) $ + + +MTL=midl.exe MTL_PROJ=/nologo /D NDEBUG /mktyplib203 /win32 +RSC=rc.exe BSC32=bscmake.exe BSC32_FLAGS=/nologo /o$(OUTDIR)\ApacheCore.bsc BSC32_SBRS= \ LINK32=link.exe -LINK32_FLAGS=os\win32\ApacheOSD\ApacheOS.lib regex\release\regex.lib\ +LINK32_FLAGS=os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.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 wsock32.lib\ /nologo /subsystem:windows /dll /incremental:no /pdb:$(OUTDIR)\ApacheCore.pdb\ @@ -284,12 +314,46 @@ $(OUTDIR) : if not exist $(OUTDIR)/$(NULL) mkdir $(OUTDIR) +CPP=cl.exe CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I .\regex /I .\main /D WIN32\ /D _DEBUG /D _WINDOWS /FR$(INTDIR)\\ /Fp$(INTDIR)\ApacheCore.pch /YX\ /Fo$(INTDIR)\\ /Fd$(INTDIR)\\ /FD /c CPP_OBJS=.\CoreD/ CPP_SBRS=.\CoreD/ + +.c{$(CPP_OBJS)}.obj:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cpp{$(CPP_OBJS)}.obj:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cxx{$(CPP_OBJS)}.obj:: + $(CPP) @ + $(CPP_PROJ) $ + + +.c{$(CPP_SBRS)}.sbr:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cpp{$(CPP_SBRS)}.sbr:: + $(CPP) @ + $(CPP_PROJ) $ + + +.cxx{$(CPP_SBRS)}.sbr:: + $(CPP) @ + $(CPP_PROJ) $ + + +MTL=midl.exe MTL_PROJ=/nologo /D _DEBUG /mktyplib203 /win32 +RSC=rc.exe BSC32=bscmake.exe BSC32_FLAGS=/nologo /o$(OUTDIR)\ApacheCore.bsc BSC32_SBRS= \ @@ -401,36 +465,6 @@ !ENDIF -.c{$(CPP_OBJS)}.obj:: - $(CPP) @ - $(CPP_PROJ) $ - - -.cpp{$(CPP_OBJS)}.obj:: - $(CPP) @ - $(CPP_PROJ) $ - - -.cxx{$(CPP_OBJS)}.obj:: - $(CPP) @ - $(CPP_PROJ) $ - - -.c{$(CPP_SBRS)}.sbr:: - $(CPP) @ - $(CPP_PROJ) $ - - -.cpp{$(CPP_SBRS)}.sbr:: - $(CPP) @ - $(CPP_PROJ) $ - - -.cxx{$(CPP_SBRS)}.sbr:: - $(CPP) @ - $(CPP_PROJ) $ - - !IF $(CFG) == ApacheCore - Win32 Release || $(CFG) ==\ ApacheCore - Win32 Debug @@ -444,6 +478,7 @@ .\main\conf.h\ .\main\httpd.h\ .\main\multithread.h\ + .\os\win32\os.h\ .\os\win32\readdir.h\ .\regex\regex.h\ @@ -482,6 +517,7 @@ .\main\conf.h\ .\main\http_main.h\ .\main\httpd.h\ + .\os\win32\os.h\ .\os\win32\readdir.h\ .\regex\regex.h\ @@ -581,6 +617,7 @@ .\main\buff.h\ .\main\conf.h\ .\main\httpd.h\ + .\os\win32\os.h\ .\os\win32\readdir.h\ .\regex\regex.h\ @@ -623,6 +660,7 @@ .\main\http_log.h\ .\main\http_request.h\ .\main\httpd.h\ + .\os\win32\os.h\ .\os\win32\readdir.h\ .\regex\regex.h\ @@ -671,11 +709,13 @@ .\main\http_log.h\ .\main\http_main.h\ .\main\http_protocol.h\ + .\main\http_request.h\ .\main\httpd.h\ .\main\md5.h\ .\main\rfc1413.h\ .\main\scoreboard.h\ .\main\util_md5.h\ + .\os\win32\os.h\ .\os\win32\readdir.h\ .\regex\regex.h\ @@ -726,7 +766,9 @@ .\main\http_config.h\ .\main\http_core.h\ .\main\http_log.h\ + .\main\http_main.h\ .\main\httpd.h\ + .\os\win32\os.h\ .\os\win32\readdir.h\ .\regex\regex.h\
cvs commit: apachen/src/os/unix os-inline.c Makefile.tmpl os.c os.h
pcs 97/09/12 00:28:52 Modified:src/os/unix Makefile.tmpl os.c os.h Added: src/os/unix os-inline.c Log: Add capability to OS abstract on Unix systems, with either functions, inlines or macros. All code in os.c, os.h and os-inline.c is available to all Apache source files. Only GCC is known to support inline at this stage. Revision ChangesPath 1.5 +4 -4 apachen/src/os/unix/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/os/unix/Makefile.tmpl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Makefile.tmpl 1997/09/10 20:05:39 1.4 +++ Makefile.tmpl 1997/09/12 07:28:49 1.5 @@ -4,11 +4,13 @@ LFLAGS=$(LFLAGS1) $(EXTRA_LFLAGS) INCDIR=../../main -OBJS=os.o +OBJS=os.o os-inline.o LIB= libos.a -all: $(LIB) +all: $(LIB) + cp os.h ../../main + cp os-inline.c ../../main $(LIB): $(OBJS) rm -f $@ @@ -20,8 +22,6 @@ clean: rm -f $(OBJS) - -$(OBJS): Makefile # DO NOT REMOVE os.o:os.c 1.3 +6 -1 apachen/src/os/unix/os.c Index: os.c === RCS file: /export/home/cvs/apachen/src/os/unix/os.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- os.c 1997/09/03 16:11:33 1.2 +++ os.c 1997/09/12 07:28:50 1.3 @@ -1 +1,6 @@ -char AP_OPERATING_SYSTEM[] = UNIX; +/* + * This file will include OS specific functions which are not inlineable. + * Any inlineable functions should be defined in os-inline.c instead. + */ + +#include os.h 1.2 +20 -0 apachen/src/os/unix/os.h Index: os.h === RCS file: /export/home/cvs/apachen/src/os/unix/os.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- os.h 1997/08/10 13:33:19 1.1 +++ os.h 1997/09/12 07:28:50 1.2 @@ -0,0 +1,20 @@ +/* + * This file in included in all Apache source code. It contains definitions + * of facilities available on _this_ operating system (HAVE_* macros), + * and prototypes of OS specific functions defined in os.c or os-inline.c + */ + +#if defined(__GNUC__) !defined(INLINE) +/* Compiler supports inline, so include the inlineable functions as + * part of the header + */ +#define INLINE extern inline +#include os-inline.c +#endif + +#ifndef INLINE +/* Compiler does not support inline, so prototype the inlineable functions + * as normal + */ +extern int os_is_path_absolute(char *f); +#endif 1.1 apachen/src/os/unix/os-inline.c Index: os-inline.c === /* * This file contains functions which can be inlined if the compiler * has an inline modifier. Because of this, this file is both a * header file and a compilable module. * * Only inlineable functions should be defined in here. They must all * include the INLINE modifier. * * If the compiler supports inline, this file will be #included as a * header file from os.h to create all the inline function * definitions. INLINE will be defined to whatever is required on * function definitions to make them inline declarations. * * If the compiler does not support inline, this file will be compiled * as a normal C file into libos.a (along with os.c). In this case * INLINE will _not_ be set so we can use this to test if we are * compiling this source file. */ #ifndef INLINE #define INLINE /* Anything required only when compiling */ #endif INLINE int os_is_path_absolute(char *file) { return (file file[0] == '/' ? 1 : 0); }
cvs commit: apachen/src Configure Makefile.tmpl
pcs 97/09/12 00:33:03 Modified:src Configure Makefile.tmpl Log: As part of enabling OS abstractions, the OS specific Makefile is now responsible for copying required header files to src/main, not Configure. Also link with the OS abstraction libary as the last module. Revision ChangesPath 1.155 +0 -2 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.154 retrieving revision 1.155 diff -u -r1.154 -r1.155 --- Configure 1997/09/11 07:37:12 1.154 +++ Configure 1997/09/12 07:33:00 1.155 @@ -944,8 +944,6 @@ echo Makefile.config echo End of Configure created section Makefile.config -cp $OSDIR/os.h main/os.h - # Use TestCompile to see if $(CC) is ANSI and as a final sanity # check 1.64 +2 -2 apachen/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v retrieving revision 1.63 retrieving revision 1.64 diff -u -r1.63 -r1.64 --- Makefile.tmpl 1997/09/06 23:38:40 1.63 +++ Makefile.tmpl 1997/09/12 07:33:01 1.64 @@ -11,8 +11,8 @@ OBJS= \ modules.o \ $(MODULES) \ - $(OSDIR)/libos.a \ - main/libmain.a + main/libmain.a \ + $(OSDIR)/libos.a .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $
cvs commit: apachen/src/main conf.h
pcs 97/09/12 01:09:10 Modified:src/main conf.h Log: Now conf.h can include os.h in Win32 builds as well. the (large) Win32 section from conf.h is now in os/win32/os.h. Revision ChangesPath 1.135 +2 -67 apachen/src/main/conf.h Index: conf.h === RCS file: /export/home/cvs/apachen/src/main/conf.h,v retrieving revision 1.134 retrieving revision 1.135 diff -u -r1.134 -r1.135 --- conf.h1997/09/12 07:36:34 1.134 +++ conf.h1997/09/12 08:09:09 1.135 @@ -55,9 +55,8 @@ * See README for a listing of what they mean */ -#if !defined(WIN32) + #include os.h -#endif #if !defined(QNX) !defined(MPE) !defined(WIN32) #include sys/param.h @@ -629,73 +628,9 @@ #define isascii(c) (!((c) ~0177)) #elif defined(WIN32) -/* Put your NT stuff here - Ambarish */ -/* temporarily replace crypt */ -/* char *crypt(const char *pw, const char *salt); */ -#define crypt(buf,salt) (buf) - -/* Although DIR_TYPE is dirent (see nt/readdir.h) we need direct.h for - chdir() */ -#include direct.h - -#define STATUS -#define WIN32_LEAN_AND_MEAN -#define STRICT -#define NO_UNISTD_H -#define NO_WRITEV -#define NO_SETSID -#define NO_USE_SIGACTION -#define NO_TIMES -#define NO_GETTIMEOFDAY -#define NEED_PROCESS_H -#define USE_LONGJMP -#define HAVE_MMAP -#define MULTITHREAD -#define HAVE_CANONICAL_FILENAME -typedef int uid_t; -typedef int gid_t; -typedef int pid_t; -typedef int mode_t; -typedef char * caddr_t; +/* All windows stuff is now in os/win32/os.h */ -/* -Define export types. API_EXPORT_NONSTD is a nasty hack to avoid having to declare -every configuration function as __stdcall. -*/ - -#define API_EXPORT(type)__declspec(dllexport) type __stdcall -#define API_EXPORT_NONSTD(type)__declspec(dllexport) type -#ifdef IS_MODULE -# define API_VAR_EXPORT __declspec(dllimport) -#else -# define API_VAR_EXPORT __declspec(dllexport) -#endif -#define MODULE_VAR_EXPORT __declspec(dllexport) - -#define strcasecmp(s1, s2) stricmp(s1, s2) -#define strncasecmp(s1, s2, n) strnicmp(s1, s2, n) -#define lstat(x, y) stat(x, y) -#define S_ISLNK(m) (0) -#define S_ISREG(m) ((m _S_IFREG) == _S_IFREG) -#ifndef S_ISDIR -#define S_ISDIR(m) (((m) S_IFDIR) == S_IFDIR) -#endif -#ifndef S_ISREG -#define S_ISREG(m) (((m)(S_IFREG)) == (S_IFREG)) -#endif -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 -#define JMP_BUF jmp_buf -#define sleep(t) Sleep(t*1000) -#define O_CREAT _O_CREAT -#define O_RDWR _O_RDWR -#define SIGPIPE 17 -/* Seems Windows is not a subgenius */ -#define NO_SLACK -#include stddef.h -/* Unknown system - Edit these to match */ #else #ifdef BSD #define HAVE_GMTOFF
cvs commit: apachen/src/os/win32 os.h
pcs 97/09/12 02:06:44 Modified:src/os/win32 os.h Log: Forgot to update the prototype when chaging from ap_* to os_* Revision ChangesPath 1.2 +1 -1 apachen/src/os/win32/os.h Index: os.h === RCS file: /export/home/cvs/apachen/src/os/win32/os.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- os.h 1997/09/12 08:03:50 1.1 +++ os.h 1997/09/12 09:06:43 1.2 @@ -70,4 +70,4 @@ /* Unknown system - Edit these to match */ -API_EXPORT(int)ap_is_path_absolute(char *f); +API_EXPORT(int)os_is_path_absolute(char *f);
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/09/12 02:27:32 Modified:htdocs/manual sourcereorg.html Log: Note that sub-dirs are build into libraries Revision ChangesPath 1.5 +2 -0 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- sourcereorg.html 1997/08/24 12:33:37 1.4 +++ sourcereorg.html 1997/09/12 09:27:31 1.5 @@ -57,6 +57,8 @@ modules if required, along with a module definition file which contains the information required by CODEConfigure/CODE. /li + liAll the sub-directories (main, modules/* and os/*) are built as + libraries. /ul h2Adding Modules/h2
cvs commit: apachen/htdocs/manual/mod index.html
pcs 97/09/12 02:36:19 Modified:htdocs/manual/mod index.html Log: Add mod_speling to the list of distributed modules Revision ChangesPath 1.20 +2 -0 apachen/htdocs/manual/mod/index.html Index: index.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/index.html,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- index.html1997/09/11 13:59:30 1.19 +++ index.html1997/09/12 09:36:18 1.20 @@ -101,6 +101,8 @@ ddPowerful URI-to-filename mapping using regular expressions dtA HREF=mod_setenvif.htmlmod_setenvif/a Apache 1.3 and up ddSet environment variables based on client information +dtA HREF=mod_speling.htmlmod_speling/a Apache 1.3 and up +ddAutomatically correct minor typos in URLs dtA HREF=mod_status.htmlmod_status/a ddServer status display dtA HREF=mod_userdir.htmlmod_userdir/A
cvs commit: apachen/src/modules/proxy Makefile
pcs 97/09/12 07:23:52 Modified:src/modules/proxy Makefile Log: Fix proxy makefile to use an all target like the other module/* directories. Also do not remove the library on every build. Submitted by: Martin Kraemer Revision ChangesPath 1.17 +1 -1 apachen/src/modules/proxy/Makefile Index: Makefile === RCS file: /export/home/cvs/apachen/src/modules/proxy/Makefile,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Makefile 1997/09/10 20:05:38 1.16 +++ Makefile 1997/09/12 14:23:50 1.17 @@ -66,7 +66,7 @@ OBJS=$(PROXYSRC:.c=.o) -default: force $(LIB) +all: $(LIB) .c.a: $(MAKE) $(CFLAGS) $
cvs commit: apachen/src Configure
pcs 97/09/11 00:37:14 Modified:src Configure Log: Simplify modules/Makefile. Also fixes problem with the old Makefile on BSD. Revision ChangesPath 1.154 +6 -23 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.153 retrieving revision 1.154 diff -u -r1.153 -r1.154 --- Configure 1997/09/10 20:05:35 1.153 +++ Configure 1997/09/11 07:37:12 1.154 @@ -1001,35 +1001,18 @@ echo INCLUDES2=$INCLUDES2 modules/Makefile echo MOD_CFLAGS=\$(INCLUDES2) \$(AUX_CFLAGS) modules/Makefile -CLEANERS= -for i in $MODDIRS ; do - CLEANERS=$CLEANERS${i}_clean -done - cat EOF modules/Makefile MODULES=$MODDIRS -CLEANERS=$CLEANERS - -default: \$(MODULES) - @echo Done building module subdirectories -clean: \$(CLEANERS) - @echo Done cleaning module subdirectories +default: all -\$(MODULES): ForceMe - (cd \$@; \$(MAKE) CC='\$(CC)' AUX_CFLAGS='\$(MOD_CFLAGS)' RANLIB='\$(RANLIB)') - -ForceMe: +all clean :: + for i in \$(MODULES); do \\ + (cd \$\$i; \\ + \$(MAKE) CC='\$(CC)' AUX_CFLAGS='\$(MOD_CFLAGS)' RANLIB='\$(RANLIB)' \$@);\\ + done EOF - -( -for i in $MODDIRS ; do - echo ${i}_clean: - echo (cd ${i}; \$(MAKE) clean) - echo -done -) modules/Makefile for moddir in $AUTODIRS ; do echo Creating Makefile in $moddir
cvs commit: apachen/htdocs/manual/mod mod_example.html mod_info.html mod_mime_magic.html mod_rewrite.html
pcs 97/09/11 06:27:54 Modified:htdocs/manual/mod mod_example.html mod_info.html mod_mime_magic.html mod_rewrite.html Log: Change Module line examples into AddModule to reflect the new Configure syntax Revision ChangesPath 1.4 +3 -2 apachen/htdocs/manual/mod/mod_example.html Index: mod_example.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/mod_example.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_example.html 1997/06/04 16:14:20 1.3 +++ mod_example.html 1997/09/11 13:27:50 1.4 @@ -47,11 +47,12 @@ To include the example module in your server, follow the steps below: /P OL - LIUncomment the Module example_module line near the bottom of + LIUncomment the AddModule modules/example/mod_example line near +the bottom of the CODEsrc/Configuration/CODE file. If there isn't one, add it; it should look like this: PRE - Module example_modulemodules/example/mod_example.o + AddModule modules/example/mod_example.o /PRE /LI LIRun the CODEsrc/Configure/CODE script 1.6 +1 -1 apachen/htdocs/manual/mod/mod_info.html Index: mod_info.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/mod_info.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- mod_info.html 1997/07/30 20:08:17 1.5 +++ mod_info.html 1997/09/11 13:27:51 1.6 @@ -24,7 +24,7 @@ file, and rebuild the server: PRE -Module info_module mod_info.o +AddModule modules/standard/mod_info.o /PRE H2Directives/H2 1.4 +1 -1 apachen/htdocs/manual/mod/mod_mime_magic.html Index: mod_mime_magic.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/mod_mime_magic.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_mime_magic.html 1997/07/11 06:14:19 1.3 +++ mod_mime_magic.html 1997/09/11 13:27:51 1.4 @@ -25,7 +25,7 @@ server build ttConfiguration/tt file: pre - Module mime_magic_module mod_mime_magic.o + AddModule modules/standard/mod_mime_magic.o /pre This should be listed embefore/em mod_mime in the build 1.17 +1 -1 apachen/htdocs/manual/mod/mod_rewrite.html Index: mod_rewrite.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/mod_rewrite.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- mod_rewrite.html 1997/08/05 10:49:44 1.16 +++ mod_rewrite.html 1997/09/11 13:27:52 1.17 @@ -25,7 +25,7 @@ default. To use codemod_rewrite/code you have to enable the following line in the server build Configuration file: pre -Module rewrite_module mod_rewrite.o +AddModule modules/standard/mod_rewrite.o /pre h2Summary/h2
cvs commit: apachen/src/modules/standard Makefile.tmpl
pcs 97/08/24 05:27:44 Modified:src/modules/standard Makefile.tmpl Log: Add dependencies for mod_unique_id Revision ChangesPath 1.2 +4 -0 apachen/src/modules/standard/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/modules/standard/Makefile.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile.tmpl 1997/08/10 14:15:00 1.1 +++ Makefile.tmpl 1997/08/24 12:27:43 1.2 @@ -147,6 +147,10 @@ $(INCDIR)/http_main.h $(INCDIR)/util_script.h \ $(INCDIR)/scoreboard.h $(INCDIR)/http_log.h +mod_unique_id.o: mod_unique_id.c $(INCDIR)/httpd.h \ + $(INCDIR)/http_config.h $(INCDIR)/http_log.h \ + $(INCDIR)/multithread.h + mod_userdir.o: mod_userdir.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/24 05:32:38 Modified:htdocs/manual sourcereorg.html Log: Fix typos Submitted by: Martin Kraemer [EMAIL PROTECTED] Revision ChangesPath 1.3 +13 -13apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- sourcereorg.html 1997/08/13 08:57:40 1.2 +++ sourcereorg.html 1997/08/24 12:32:37 1.3 @@ -15,7 +15,7 @@ !--#include virtual=header.html -- h1 ALIGN=CENTERSource Re-organisation/h1 -As of 1.3, the Apache source directories have been re-organisated. This +As of 1.3, the Apache source directories have been re-organised. This re-organisation is designed to simplify the directory structure, make it easier to add additional modules, and to give module authors a way of specifying compile time options or distribute binary @@ -67,14 +67,14 @@ line added to Configuration looked like this: PRE - Modulemod_status.ostatus_module + Modulestatus_modulemod_status.o /PRE From 1.3 onwards, the CODEAddModule/CODE line should be used instead, and typically looks like this: PRE - AddModulemodules/standard/mod_status.c + AddModulemodules/standard/mod_status.o /PRE The argument to AddModule is the path, relative to CODEsrc/CODE, to @@ -84,8 +84,8 @@ Normally when adding a module you should follow the instructions of the module author. However if the module comes as a single source -file, say mod_foo.c, then the way to add the module to Apache is as -follows: +file, say mod_foo.c, then the recommended way to add the module to +Apache is as follows: ul liPut CODEmod_foo.c/CODE into the directory @@ -124,7 +124,7 @@ module definition file can also be distributed which gives the information Configure needs to add the module, such as extra libraries and the module's structure name. - liModule can be installed anyway on the file system, although a directory + liModules can be installed anywhere on the file system, although a directory under CODEsrc/modules/CODE is recommended. /li liIf the module is in its own directory, Apache can automatically @@ -156,7 +156,7 @@ line to the CODEConfiguration/CODE file: pre - AddModule modules/mod_demo/mod_demo + AddModule modules/mod_demo/mod_demo.o /pre then run CODEConfigure/CODE and CODEmake/CODE as normal. @@ -182,17 +182,17 @@ built into a library file using a supplied makefile. In this case, distribute the makefile as CODEmod_demo/Makefile/CODE and bdo not/b include a CODEmod_demo/Makefile.tmpl/CODE. If -CODEConfigure/CODE see a CODEMakefile.tmpl/CODE it assmes it -is safe to overwrite any existingCODEMakefile/CODE. +CODEConfigure/CODE sees a CODEMakefile.tmpl/CODE it assumes it +is safe to overwrite any existing CODEMakefile/CODE. P See the Apache CODEsrc/modules/standard/CODE for an example of a -module directory where the makeifle is create automatically from a -Makefile.tmpl file (note also that this directory also shows how to -distributed multiple modules in a single directory). See +module directory where the makefile is created automatically from a +Makefile.tmpl file (note that this directory also shows how to +distribute multiple modules in a single directory). See CODEsrc/modules/proxy/CODE and CODEsrc/modules/example/CODE -for examples of modules build using custom makefiles (to build a +for examples of modules built using custom makefiles (to build a library and an object file, respectively). h3Adding Compile time Information/h3
cvs commit: apachen/htdocs/manual install.html
pcs 97/08/24 05:55:10 Modified:htdocs/manual install.html Log: Update sample output from Configure to something more like what it generates now. Revision ChangesPath 1.14 +6 -1 apachen/htdocs/manual/install.html Index: install.html === RCS file: /export/home/cvs/apachen/htdocs/manual/install.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- install.html 1997/08/11 10:04:43 1.13 +++ install.html 1997/08/24 12:55:09 1.14 @@ -83,7 +83,12 @@ + configured for lt;whatevergt; platform + setting C compiler to lt;whatevergt; * + setting C compiler optimization-level to lt;whatevergt; * -% + + Adding selected modules + + doing sanity check on compiler and options +Creating Makefile in support +Creating Makefile in main +Creating Makefile in os/unix +Creating Makefile in modules/standard /PRE /BLOCKQUOTE
cvs commit: apachen CHANGES
pcs 97/08/24 06:15:16 Modified:.CHANGES Log: Revision ChangesPath 1.14 +1 -1 apachen/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/CHANGES,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- CHANGES 1997/08/09 16:11:10 1.13 +++ CHANGES 1997/08/24 13:15:15 1.14 @@ -1,4 +1,4 @@ - OVERVIEW OF NEW FEATURES IN APACHE 1.3 + xOVERVIEW OF NEW FEATURES IN APACHE 1.3 New features with this release, as extensions of the Apache functionality For more information, see the documentation included with this release
cvs commit: apachen CHANGES
pcs 97/08/24 06:16:29 Modified:.CHANGES Log: Fix accidental commit Revision ChangesPath 1.15 +1 -1 apachen/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/CHANGES,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- CHANGES 1997/08/24 13:15:15 1.14 +++ CHANGES 1997/08/24 13:16:28 1.15 @@ -1,4 +1,4 @@ - xOVERVIEW OF NEW FEATURES IN APACHE 1.3 + OVERVIEW OF NEW FEATURES IN APACHE 1.3 New features with this release, as extensions of the Apache functionality For more information, see the documentation included with this release
cvs commit: apachen/htdocs/manual/mod core.html
pcs 97/08/24 06:17:57 Modified:htdocs/manual/mod core.html Log: Attempt to clarify relationship between VirtualHost and Listen/BindAddress/Port. PR: 1046 Revision ChangesPath 1.73 +53 -6 apachen/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/core.html,v retrieving revision 1.72 retrieving revision 1.73 diff -u -r1.72 -r1.73 --- core.html 1997/08/23 03:10:53 1.72 +++ core.html 1997/08/24 13:17:56 1.73 @@ -245,9 +245,15 @@ every IP address, otherwise it will only listen on the IP address specified. p -This option can be used as an alternative method for supporting -A HREF=../virtual-host.htmlvirtual hosts/A instead of using -A HREF=#virtualhostlt;VirtualHostgt;/A sections. +Only one codeBindAddress/code directive can be used. For more +control over which address and ports Apache listens to, use the +codea href=#listenListen/a/code directive instead of +codeBindAddress/code.p + +codeBindAddress/code can be used as an alternative method for +supporting A HREF=../virtual-host.htmlvirtual hosts/A using +multiple independent servers, instead of using codeA +HREF=#virtualhostlt;VirtualHostgt;/A/code sections. pstrongSee Also:/strong a href=../dns-caveats.htmlDNS Issues/abr @@ -783,8 +789,41 @@ pThe Listen directive instructs Apache to listen to more than one IP address or port; by default it responds to requests on all IP -interfaces, but only on the port given by the a href=#portPort/a -directive./p +interfaces, but only on the port given by the codea +href=#portPort/a/code directive./p + +ttListen/tt can be used instead of tta +href=bindaddressBindAddress/a/tt and ttPort/tt. It tells +the server to accept incoming requests on the specified port or +address-and-port combination. If the first format is used, with a port +number only, the server listens to the given port on all interfaces, +instead of the port given by the ttPort/tt directive. If an IP +address is given as well as a port, the server will listen on the +given port and interface. p + +Note that you may still require a ttPort/tt directive so +that URLs that Apache generates that point to your server still +work.p + +Multiple Listen directives may be used +to specify a number of addresses and ports to listen to. The server +will respond to requests from any of the listed addresses and +ports. +p + +For example, to make the server accept connections on both port +80 and port 8000, use: +pre + Listen 80 + Listen 8000 +/pre + +To make the server accept connections on two specified +interfaces and port numbers, use +pre + Listen 192.170.2.1:80 + Listen 192.170.2.5:8000 +/pre pstrongSee Also:/strong a href=../dns-caveats.htmlDNS Issues/abr @@ -1626,6 +1665,12 @@ the directory where logfiles are stored is writable by anyone other than the user that starts the server. +pstrongNOTE/strong: The use of lt;VirtualHostgt; does +strongnot/strong affect what addresses Apache listens on. You may +need to ensure that Apache is listening on the correct addresses using +either a href=#bindaddressBindAddress/a or a +href=#listenListen/a. + pstrongSee also:/strong A HREF=../dns-caveats.htmlWarnings about DNS and Apache/abr strongSee also:/strong @@ -1634,7 +1679,9 @@ strongSee also:/strong a href=../host.htmlNon-IP address-based Virtual Hosts/abr strongSee also:/strong -a href=../vhosts-in-depth.htmlIn-depth description of Virtual Host matching/a +a href=../vhosts-in-depth.htmlIn-depth description of Virtual Host matching/abr +strongSee also:/strong +a href=../bind.htmlSetting which addresses and ports Apache uses/a /p !--#include virtual=footer.html --
cvs commit: apachen/htdocs/manual/mod core.html
pcs 97/08/24 07:16:05 Modified:htdocs/manual/mod core.html Added: htdocs/manual sections.html Log: Add document explaining how Directory, Location and Files sections are merged. Based on Dean's explanation from PR#586. Link to this doc from the directive descriptions in core.html. PR: 586 Revision ChangesPath 1.1 apachen/htdocs/manual/sections.html Index: sections.html === !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 3.2 Final//EN htmlhead titleHow Directory, Location and Files sections work/title /head !-- Background white, links blue (unvisited), navy (visited), red (active) -- BODY BGCOLOR=#FF TEXT=#00 LINK=#FF VLINK=#80 ALINK=#FF !--#include virtual=header.html -- h1 ALIGN=CENTERHow Directory, Location and Files sections work/h1 The sections a href=mod/core.html#directorycodelt;Directorygt;/code/a, a href=mod/core.html#locationcodelt;Locationgt;/code/a and a href=mode/core.html#filescodelt;Filesgt;/code/a can contain directives which only apply to specified directories, URLs or files respectively. Also htaccess files can be used inside a directory to apply directives to that directory. This document explains how these different sections differ and how they relate to each other when Apache decides which directives apply for a particular directory or request URL. h2Directives allowed in the sections/h2 Everything that is syntactically allowed in codelt;Directorygt;/code is also allowed in codelt;Locationgt;/code (except a sub-codelt;Filesgt;/code section, but the code doesn't test for that, Lars has an open bug report on that). Semantically however some things, and the most notable is AllowOverrides, make no sense in codelt;Locationgt;/code. The same for codelt;Filesgt;/code -- syntactically everything is fine, but semantically some things are different. h2How the sections are merged/h2 The order of merging is: ol li codelt;Directorygt;/code (except regular expressions) and .htaccess done simultaneously (with .htaccess overriding codelt;Directorygt;/code) /li li codelt;DirectoryMatchgt;/code, and codelt;Directorygt;/code with regular expressions /li licodelt;Filesgt;/code and codelt;FilesMatchgt;/code done simultaneously /li licodelt;Locationgt;/code and codelt;LocationMatchgt;/code done simultaneously /li /ol Apart from codelt;Directorygt;/code, each group is processed in the order that they appear in the configuration files. codelt;Directorygt;/code (group 1 above) is processed in the order shortest directory component to longest. If multiple codelt;Directorygt;/code sections apply to the same directory they they are processed in the configuration file order. The configuration files are read in the order httpd.conf, srm.conf and access.conf. Configurations included via the codeInclude/code directive will be treated as if they where inside the including file at the location of the codeInclude/code directive. p Sections inside codelt;VirtualHostgt;/code sections are applied iafter/i the corresponding sections outside the virtual host definition. This allows virtual hosts to override the main server configuration. (Note: this only works correctly from 1.2.2 and 1.3a2 onwards. Before those releases sections inside virtual hosts were applied ibefore/i the main server). h2Notes about using sections/h2 The general guidelines are: p ul li If you are attempting to match objects at the filesystem level then you must use codelt;Directorygt;/code and/or codelt;Filesgt;/code. /li li If you are attempting to match objects at the URL level then you must use codelt;Locationgt;/code /li /ul But a notable exception is: ul li proxy control is done via codelt;Directorygt;/code. This is a legacy mistake because the proxy existed prior to codelt;Locationgt;/code. A future version of the config language should probably switch this to codelt;Locationgt;/code. /li /ul Note also that modifying .htaccess parsing during Location doesn't do anything because .htaccess parsing has already occured. p Another note: p ul li There is actually a codelt;Locationgt;/code/codelt;LocationMatchgt;/code sequence performed just before the name translation phase (where codeAliases/code and codeDocumentRoots/code are used to map URLs to filenames). The results of this sequence are completely thrown away after the translation has completed. /li /ul !--#include virtual=footer.html -- /body/html 1.74 +37 -4 apachen/htdocs/manual/mod/core.html Index: core.html
cvs commit: apachen/src/support Makefile.tmpl httpd_monitor.c
pcs 97/08/23 05:10:44 Modified:src/support Makefile.tmpl Removed: src/support httpd_monitor.c Log: Remove httpd_monitor which now longer works with current scoreboard format, and use of a file for the scoreboard is bad anyway. Revision ChangesPath 1.5 +1 -4 apachen/src/support/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/support/Makefile.tmpl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Makefile.tmpl 1997/07/20 23:44:49 1.4 +++ Makefile.tmpl 1997/08/23 12:10:42 1.5 @@ -11,7 +11,7 @@ .c.o: $(CC) -c $(CFLAGS) $(INCLUDES) $ -TARGETS=htpasswd htdigest httpd_monitor rotatelogs logresolve +TARGETS=htpasswd htdigest rotatelogs logresolve all: $(TARGETS) @@ -20,9 +20,6 @@ htdigest: htdigest.c $(CC) $(CFLAGS) htdigest.c -o htdigest $(LIBS) - -httpd_monitor: httpd_monitor.c - $(CC) $(INCLUDES) $(CFLAGS) httpd_monitor.c -o httpd_monitor rotatelogs: rotatelogs.c $(CC) $(INCLUDES) $(CFLAGS) rotatelogs.c -o rotatelogs
cvs commit: apachen/src/support htdigest.c
pcs 97/08/23 05:11:25 Modified:src/support htdigest.c Log: Fix include path after core to main rename Revision ChangesPath 1.9 +1 -1 apachen/src/support/htdigest.c Index: htdigest.c === RCS file: /export/home/cvs/apachen/src/support/htdigest.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- htdigest.c1997/08/15 08:29:14 1.8 +++ htdigest.c1997/08/23 12:11:24 1.9 @@ -17,7 +17,7 @@ #include unistd.h /* This is probably the easiest way to do it */ -#include ../core/md5c.c +#include ../main/md5c.c #define LF 10 #define CR 13
cvs commit: apachen/src CHANGES
pcs 97/08/23 05:15:33 Modified:src CHANGES Log: Note removal of httpd_monitor and suggest alternative Revision ChangesPath 1.412 +4 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.411 retrieving revision 1.412 diff -u -r1.411 -r1.412 --- CHANGES 1997/08/23 04:24:20 1.411 +++ CHANGES 1997/08/23 12:15:32 1.412 @@ -1,5 +1,9 @@ Changes with Apache 1.3a2 + *) support/httpd_monitor is no longer distributed because the + scoreboard should not be file based if at all possible. Use + mod_status to see current server snapshot. + *) (set_file_slot): New function, allowing auth directives to be independent of the server root, so the server documents can be moved to a different directory or machine more easily.
cvs commit: apachen/src/os/win32 ApacheModuleAuthAnon.dsp ApacheModuleAuthAnon.mak ApacheModuleCERNMeta.dsp ApacheModuleCERNMeta.mak ApacheModuleDigest.dsp ApacheModuleDigest.mak ApacheModuleExpires.dsp ApacheModuleExpires.mak ApacheModuleHeaders.dsp ApacheModuleHeaders.mak ApacheModuleInfo.dsp ApacheModuleInfo.mak ApacheModuleRewrite.dsp ApacheModuleRewrite.mak ApacheModuleStatus.dsp ApacheModuleStatus.mak ApacheModuleUserTrack.dsp ApacheModuleUserTrack.mak
pcs 97/08/23 07:12:55 Modified:src/modules/proxy ApacheModuleProxy.dsp ApacheModuleProxy.mak src/os/win32 ApacheModuleAuthAnon.dsp ApacheModuleAuthAnon.mak ApacheModuleCERNMeta.dsp ApacheModuleCERNMeta.mak ApacheModuleDigest.dsp ApacheModuleDigest.mak ApacheModuleExpires.dsp ApacheModuleExpires.mak ApacheModuleHeaders.dsp ApacheModuleHeaders.mak ApacheModuleInfo.dsp ApacheModuleInfo.mak ApacheModuleRewrite.dsp ApacheModuleRewrite.mak ApacheModuleStatus.dsp ApacheModuleStatus.mak ApacheModuleUserTrack.dsp ApacheModuleUserTrack.mak Log: Update module makefiles for core to main directory rename Revision ChangesPath 1.3 +2 -2 apachen/src/modules/proxy/ApacheModuleProxy.dsp Index: ApacheModuleProxy.dsp === RCS file: /export/home/cvs/apachen/src/modules/proxy/ApacheModuleProxy.dsp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ApacheModuleProxy.dsp 1997/08/13 08:37:20 1.2 +++ ApacheModuleProxy.dsp 1997/08/23 14:12:42 1.3 @@ -45,7 +45,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /YX /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I ..\..\core /I ..\..\regex /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I ..\..\main /I ..\..\regex /D WIN32 /D NDEBUG /D _WINDOWS /YX /FD /c # ADD BASE MTL /nologo /D NDEBUG /win32 # ADD MTL /nologo /D NDEBUG /mktyplib203 /win32 # ADD BASE RSC /l 0x809 /d NDEBUG @@ -71,7 +71,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ..\..\core /I ..\..\regex /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ..\..\main /I ..\..\regex /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c # ADD BASE MTL /nologo /D _DEBUG /win32 # ADD MTL /nologo /D _DEBUG /mktyplib203 /win32 # ADD BASE RSC /l 0x809 /d _DEBUG 1.4 +85 -209 apachen/src/modules/proxy/ApacheModuleProxy.mak Index: ApacheModuleProxy.mak === RCS file: /export/home/cvs/apachen/src/modules/proxy/ApacheModuleProxy.mak,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ApacheModuleProxy.mak 1997/08/17 13:56:26 1.3 +++ ApacheModuleProxy.mak 1997/08/23 14:12:43 1.4 @@ -67,7 +67,7 @@ $(OUTDIR) : if not exist $(OUTDIR)/$(NULL) mkdir $(OUTDIR) -CPP_PROJ=/nologo /MD /W3 /GX /O2 /I ..\..\core /I ..\..\regex /D WIN32 /D\ +CPP_PROJ=/nologo /MD /W3 /GX /O2 /I ..\..\main /I ..\..\regex /D WIN32 /D\ NDEBUG /D _WINDOWS /Fp$(INTDIR)\ApacheModuleProxy.pch /YX\ /Fo$(INTDIR)\\ /Fd$(INTDIR)\\ /FD /c CPP_OBJS=.\Release/ @@ -133,7 +133,7 @@ $(OUTDIR) : if not exist $(OUTDIR)/$(NULL) mkdir $(OUTDIR) -CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I ..\..\core /I ..\..\regex /D\ +CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I ..\..\main /I ..\..\regex /D\ WIN32 /D _DEBUG /D _WINDOWS /Fp$(INTDIR)\ApacheModuleProxy.pch /YX\ /Fo$(INTDIR)\\ /Fd$(INTDIR)\\ /FD /c CPP_OBJS=.\Debug/ @@ -199,278 +199,154 @@ !IF $(CFG) == ApacheModuleProxy - Win32 Release || $(CFG) ==\ ApacheModuleProxy - Win32 Debug SOURCE=.\mod_proxy.c - -!IF $(CFG) == ApacheModuleProxy - Win32 Release - DEP_CPP_MOD_P=\ - ..\..\core\alloc.h\ - ..\..\core\buff.h\ - ..\..\core\conf.h\ - ..\..\core\explain.h\ - ..\..\core\http_config.h\ - ..\..\core\http_log.h\ - ..\..\core\http_protocol.h\ - ..\..\core\httpd.h\ + ..\..\main\alloc.h\ + ..\..\main\buff.h\ + ..\..\main\conf.h\ + ..\..\main\explain.h\ + ..\..\main\http_config.h\ + ..\..\main\http_log.h\ + ..\..\main\http_protocol.h\ + ..\..\main\httpd.h\ ..\..\os\win32\readdir.h\ ..\..\regex\regex.h\ .\mod_proxy.h\ + {$(INCLUDE)}sys\stat.h\ + {$(INCLUDE)}sys\types.h\ - -$(INTDIR)\mod_proxy.obj : $(SOURCE) $(DEP_CPP_MOD_P) $(INTDIR) - - -!ELSEIF $(CFG) == ApacheModuleProxy - Win32 Debug - -DEP_CPP_MOD_P=\ - ..\..\core\alloc.h\ - ..\..\core\buff.h\ - ..\..\core\conf.h\ - ..\..\core\explain.h\ - ..\..\core\http_config.h\ - ..\..\core\http_log.h\ - ..\..\core\http_protocol.h\ - ..\..\core\httpd.h\ - ..\..\os\win32\readdir.h\ - ..\..\regex\regex.h\ - .\mod_proxy.h\ +NODEP_CPP_MOD_P=\ +
cvs commit: apachen/src/modules/standard mod_negotiation.c
pcs 97/08/23 07:20:36 Modified:src/modules/standard mod_negotiation.c Log: mod_negotiation marks *all* responses (HTTP/1.0) browsers and proxies caching one variant which may not be the correct one for subsequent requests. The issue is that if you are using mod_negotiation in a trivial way to map (say) requests for index onto index.html *with no other variants*, Apache makes your responses non-cacheable when they probably are safely cacheable. This patch makes responses from mod_negotiation cacheable in the following circumstances: * Variants are found by multiviews (i.e. looking on the disk, rather than reading a .var file) AND * there was only one matching variant found on disk AND * request version is HTTP/1.0 or earlier Reviewed By: Roy Fielding, Dean Gaudet Revision ChangesPath 1.55 +9 -1 apachen/src/modules/standard/mod_negotiation.c Index: mod_negotiation.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_negotiation.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- mod_negotiation.c 1997/08/18 13:12:16 1.54 +++ mod_negotiation.c 1997/08/23 14:20:35 1.55 @@ -227,6 +227,8 @@ array_header *accept_langs; /* accept_recs */ array_header *avail_vars; /* available variants */ +int count_multiviews_variants; /* number of variants found on disk */ + int ua_can_negotiate; /* 1 if ua can do transparent negotiate */ int use_transparent_neg;/* 1 if we are using transparent neg */ int short_accept_headers; /* 1 if ua does trans neg sent short accpt */ @@ -649,6 +651,9 @@ char buffer[MAX_STRING_LEN]; enum header_state hstate; struct var_rec mime_info; + +/* We are not using multiviews */ +neg-count_multiviews_variants = 0; if (rr-status != HTTP_OK) { return rr-status; @@ -809,6 +814,8 @@ new_var = push_array (neg-avail_vars); memcpy (new_var, (void *)mime_info, sizeof (var_rec)); + + neg-count_multiviews_variants++; clean_var_rec(mime_info); } @@ -1994,7 +2001,8 @@ /* Otherwise, use it. */ -if (!do_cache_negotiated_docs(r-server) (r-proto_num 1001)) +if ((!do_cache_negotiated_docs(r-server) (r-proto_num 1001)) + neg-count_multiviews_variants != 1) r-no_cache = 1; if (na_result == na_not_applied)
cvs commit: apachen/src/modules/example Makefile
pcs 97/08/23 08:24:44 Modified:src/modules/example Makefile Log: Make it work after core to main directory rename Revision ChangesPath 1.4 +1 -1 apachen/src/modules/example/Makefile Index: Makefile === RCS file: /export/home/cvs/apachen/src/modules/example/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile 1997/08/10 13:32:30 1.3 +++ Makefile 1997/08/23 15:24:43 1.4 @@ -56,7 +56,7 @@ # directory. If the depth or relationship changes, the following line # may need to be changed. # -INCDIR=../../core +INCDIR=../../main # # Everything below this point should be invariant.
cvs commit: apachen/src Makefile.tmpl
pcs 97/08/21 01:55:35 Modified:src Makefile.tmpl Log: Pass CC=, RANLIB=, OPTIM= options on make command line to sub-dir Makefiles Submitted By: Martin Kraemer [EMAIL PROTECTED] Reviewed By: Dean Gaudet, Jim Jagielski Revision ChangesPath 1.57 +3 -3 apachen/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- Makefile.tmpl 1997/08/14 12:18:28 1.56 +++ Makefile.tmpl 1997/08/21 08:55:34 1.57 @@ -44,13 +44,13 @@ support: support-dir support-dir: - cd support; $(MAKE) + cd support; $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)' core-dir: - cd core; $(MAKE) + cd core; $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)' os-dir: - cd $(OSDIR); $(MAKE) + cd $(OSDIR); $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)' clean: rm -f httpd *.o $(OBJS)
cvs commit: apachen/src CHANGES
pcs 97/08/17 08:33:08 Modified:src CHANGES Log: Log the source re-org and updated Configure functionality Revision ChangesPath 1.400 +11 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.399 retrieving revision 1.400 diff -u -r1.399 -r1.400 --- CHANGES 1997/08/17 11:14:31 1.399 +++ CHANGES 1997/08/17 15:33:06 1.400 @@ -34,6 +34,17 @@ now supported and selectable by new Configuration Rule: IRIXN32; We no longer default to -O2 optimization. [Jim Jagielski] + *) Updated Configure: Configuration now uses AddModule to specify + module source or binary file location, relative to src directory. + Modules can be dropped into modules/extra, or in their own + directory, and modules can come with a Makefile or Configure can + create one. Modules can add compiler or library information to + generated Makefiles. [Paul Sutton] + + *) Source core re-organisation: distibuted modules are now in + modules/standard. All other source code is in core. OS-specific + code is in os/{unix,emx,win32} directories. [Paul Sutton] + *) mod_browser has been removed, since it's replaced by mod_setenvif. [Ken Coar]
cvs commit: apachen/src Configure
pcs 97/08/13 01:52:52 Modified:src Configure Log: If user gives module file source on AddModule line, map onto the object file. Revision ChangesPath 1.132 +1 -0 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.131 retrieving revision 1.132 diff -u -r1.131 -r1.132 --- Configure 1997/08/11 11:58:22 1.131 +++ Configure 1997/08/13 08:52:51 1.132 @@ -752,6 +752,7 @@ modbase=`echo $modfile | sed 's/\.[^.]*$//'` if [ x$ext = x$modfile ]; then ext=o; modbase=$modfile; modfile=$modbase.o; fi if [ x$ext = x ] ; then ext=o; modbase=$modfile; fi + if [ x$ext = xc ] ; then ext=o; fi # modbase is the path+filename without extension, ext is the # extension given, or if none, o
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/13 01:57:40 Modified:htdocs/manual sourcereorg.html Log: Add instructions for adding a single-file module Revision ChangesPath 1.2 +24 -5 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === RCS file: /export/home/cvs/apachen/htdocs/manual/sourcereorg.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- sourcereorg.html 1997/08/11 10:07:48 1.1 +++ sourcereorg.html 1997/08/13 08:57:40 1.2 @@ -61,7 +61,7 @@ h2Adding Modules/h2 -Modules are added to Apache by adding a reference tp them in +Modules are added to Apache by adding a reference to them in CODEsrc/Configuration/CODE then running CODEConfigure/CODE and CODEmake/CODE. In earlier version of Apache before 1.3, the line added to Configuration looked like this: @@ -80,6 +80,25 @@ The argument to AddModule is the path, relative to CODEsrc/CODE, to the module file's source or object file. +P + +Normally when adding a module you should follow the instructions of +the module author. However if the module comes as a single source +file, say mod_foo.c, then the way to add the module to Apache is as +follows: + +ul + liPut CODEmod_foo.c/CODE into the directory + CODEsrc/modules/extra/CODE + /li + liGo to the CODEsrc/CODE directory and add the following line + to CODEConfiguration/CODEbr + CODEAddModule modules/extra/mod_foo.o/CODE + /li + liRun CODE./Configure/CODE/li + liRun CODEmake/CODE/li +/ul + h2New Facilities for Module Authors/h2 In previous releases of Apache, new modules were added to the @@ -129,9 +148,9 @@ limod_demo/Makefile.tmpl /ul -(Of course end-user instructions, README's etc can also be supplied in -the archive). The end user should be told to extract this archive in -the CODEsrc/modules/CODE directory of their Apache source +(Of course end-user instructions, README's, etc can also be supplied +in the archive). The end user should be told to extract this archive +in the CODEsrc/modules/CODE directory of their Apache source tree. This will create a new directory CODEsrc/modules/mod_demo/CODE. Then they need to add the following line to the CODEConfiguration/CODE file: @@ -250,7 +269,7 @@ /PRE See the default distribution's mod_auth_db.module for an example of -an separate module definition file. +a separate module definition file. !--#include virtual=footer.html -- /BODY
cvs commit: apachen/src/modules/extra - New directory
pcs 97/08/13 02:08:47 apachen/src/modules/extra - New directory
cvs commit: apachen/src/modules/extra Makefile.tmpl
pcs 97/08/13 02:09:16 Added: src/modules/extra Makefile.tmpl Log: Default Makefile.tmpl to force Configure to build a Makefile Revision ChangesPath 1.1 apachen/src/modules/extra/Makefile.tmpl Index: Makefile.tmpl === # default Makefile.tmpl to force Configure to create a Makefile
cvs commit: apachen/src/core Makefile.tmpl
pcs 97/08/13 02:28:46 Modified:src Configure src/core Makefile.tmpl Log: Force rebuild if ./Configure is run again. Files in core and modules/* now depend on their local Makefile, so if it is updated they will be rebuilt. Revision ChangesPath 1.133 +1 -0 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.132 retrieving revision 1.133 diff -u -r1.132 -r1.133 --- Configure 1997/08/13 08:52:51 1.132 +++ Configure 1997/08/13 09:28:44 1.133 @@ -973,6 +973,7 @@ clean: rm -f $(OBJS) +$(OBJS): Makefile EOF cat modules/$moddir/Makefile modules/$moddir/Makefile.tmpl 1.2 +1 -1 apachen/src/core/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/core/Makefile.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile.tmpl 1997/08/10 13:30:44 1.1 +++ Makefile.tmpl 1997/08/13 09:28:46 1.2 @@ -27,7 +27,7 @@ #Dependencies -$(OBJS): +$(OBJS): Makefile # DO NOT REMOVE alloc.o: alloc.c httpd.h conf.h alloc.h buff.h multithread.h
cvs commit: apachen/htdocs/manual install.html new_features_1_3.html
pcs 97/08/11 03:04:44 Modified:htdocs/manual install.html new_features_1_3.html Log: Initial documentation for the new Configure Revision ChangesPath 1.13 +1 -1 apachen/htdocs/manual/install.html Index: install.html === RCS file: /export/home/cvs/apachen/htdocs/manual/install.html,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- install.html 1997/08/08 17:24:44 1.12 +++ install.html 1997/08/11 10:04:43 1.13 @@ -51,7 +51,7 @@ LI Select modules to compile into Apache in the CODEConfiguration/CODE file. Uncomment lines corresponding to - those optional modules you wish to include (among the Module lines + those optional modules you wish to include (among the AddModule lines at the bottom of the file), or add new lines corresponding to additional modules you have downloaded or written. (See A HREF=misc/API.htmlAPI.html/A for preliminary docs on how to 1.14 +10 -0 apachen/htdocs/manual/new_features_1_3.html Index: new_features_1_3.html === RCS file: /export/home/cvs/apachen/htdocs/manual/new_features_1_3.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- new_features_1_3.html 1997/08/08 11:28:32 1.13 +++ new_features_1_3.html 1997/08/11 10:04:43 1.14 @@ -30,6 +30,16 @@ ul LIA + HREF=sourcereorg.html +STRONGRe-organised Sources/STRONG/A + BR + The source files for Apache have been re-organised. The main difference + for Apache users is that the Module lines in CODEConfiguration/CODE + have been replaced with AddModule with a slightly different syntax. + For module authors there are some changes designed to make it + easier for users to add their module. +/LI +LIA HREF=mod/mod_autoindex.html STRONGSortable Directory Listings/STRONG/A BR
cvs commit: apachen/htdocs/manual sourcereorg.html
pcs 97/08/11 03:07:49 Added: htdocs/manual sourcereorg.html Log: New configure and re-organised sources documentation Revision ChangesPath 1.1 apachen/htdocs/manual/sourcereorg.html Index: sourcereorg.html === !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 3.2 Final//EN HTML HEAD TITLESource Re-organisation/TITLE /HEAD !-- Background white, links blue (unvisited), navy (visited), red (active) -- BODY BGCOLOR=#FF TEXT=#00 LINK=#FF VLINK=#80 ALINK=#FF !--#include virtual=header.html -- h1 ALIGN=CENTERSource Re-organisation/h1 As of 1.3, the Apache source directories have been re-organisated. This re-organisation is designed to simplify the directory structure, make it easier to add additional modules, and to give module authors a way of specifying compile time options or distribute binary modules. h2Summary of Changes/h2 The source directory changes are: ul liThe non-module source files have moved from CODEsrc/CODE into CODEsrc/core/CODE /li liThe module source files previously in CODEsrc/CODE have moved to CODEsrc/modules/standard/CODE /li liThe CODEsupport/CODE directory is now in CODEsrc/support/CODE /li /ul In addition, the following enhancements have been made: ul liOS abstractions can be added in the CODEsrc/os/CODE directory. Currently this contains information for unix, OS/2 and Windows 32 platforms. /li liCODEConfiguration/CODE syntax has been simplified for adding new modules. Users no longer need to enter the module's structure name. In addition, new modules can be located anywhere on the file system, or typically in new or existing directories under CODEsrc/modules/CODE. /li liModule authors can give simpler instructions for adding their modules to Apache compilation. They can also now provide compile time information required by CODEConfigure/CODE, such as additional libraries required. /li liModule authors can distribute pre-compiled (.a or .o) versions of their modules if required, along with a module definition file which contains the information required by CODEConfigure/CODE. /li /ul h2Adding Modules/h2 Modules are added to Apache by adding a reference tp them in CODEsrc/Configuration/CODE then running CODEConfigure/CODE and CODEmake/CODE. In earlier version of Apache before 1.3, the line added to Configuration looked like this: PRE Modulemod_status.ostatus_module /PRE From 1.3 onwards, the CODEAddModule/CODE line should be used instead, and typically looks like this: PRE AddModulemodules/standard/mod_status.c /PRE The argument to AddModule is the path, relative to CODEsrc/CODE, to the module file's source or object file. h2New Facilities for Module Authors/h2 In previous releases of Apache, new modules were added to the CODEsrc/CODE directory, and if the module required any additional compilation options (such as libaries) they would have to be added to CODEConfiguration/CODE. Also the user would have to be told the module's structure name to add on the Module line of CODEConfiguration/CODE. P From Apache 1.3 onwards, module authors can make use of these new features: ul liSimplified CODEConfiguration/CODE command AddModule which only requires a path to the module source or object file /li liIf the module requires compile time options (such as extra libraries) these can be specified in the module file source or an external module definition file. /li liIf a module is distributed as binary (.o or .a) then an external module definition file can also be distributed which gives the information Configure needs to add the module, such as extra libraries and the module's structure name. liModule can be installed anyway on the file system, although a directory under CODEsrc/modules/CODE is recommended. /li liIf the module is in its own directory, Apache can automatically create a Makefile to build the module given a file containing the module's dependencies. /li /ul The rest of this document shows how to package modules for Apache 1.3 and later and what to tell end-users of the module. h3Building a simple source distibution/h3 Consider a simple add-on module, distributed as a single file. For example, say it is called mod_demo.c. The archive for this module should consist of two files, in a suitable directory name. For example: ul limod_demo/mod_demo.c limod_demo/Makefile.tmpl /ul (Of course end-user instructions, README's etc can also be supplied in the archive). The end user should be told to extract this archive in the
cvs commit: apache-site/info apache_nt.html
pcs 97/08/11 04:15:39 Modified:info apache_nt.html Log: Update the hopelessly out-of-date NT file with something soon to be equally hopelessly out of date. Revision ChangesPath 1.5 +25 -0 apache-site/info/apache_nt.html Index: apache_nt.html === RCS file: /export/home/cvs/apache-site/info/apache_nt.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- apache_nt.html1997/08/03 16:11:59 1.4 +++ apache_nt.html1997/08/11 11:15:39 1.5 @@ -17,6 +17,31 @@ /DIV H1 ALIGN=CENTERWhat's the Status of Apache on Windows NT?/H1 +emAugust 11th, 1997/emP + +The next non-maintenance release of Apache will be version 1.3. This +will work on Windows NT and Windows 95. Apache 1.3 is currently in +alpha testing and available ionly/i as source. When it is released +it will be distributed as a real Windows application, precompiled and +with an easy install procedure. +P + +In addition to the new features in 1.3 common to both Unix and Windows, the +Windows version will add the following Windows-specific capabilities: + +ul + liProper Windows-style install procedure with pre-compiled binaries + /li + liAbility to run ISAPI server extensions (apart from filters) + /li + liUse of multithreading on Windows + /li + liAbility to load modules as dll files specified in the configuration + files at runtime. So there will be no need to recompiled Apache + to add modules. + /li +/ul + emDecember 22nd, 1996/em PApache has been ported to a very wide array of Unix boxes - in fact,
cvs commit: apachen/src Configure
pcs 97/08/10 06:29:08 Modified:src Configure Log: Source re-org: new style Configure Revision ChangesPath 1.127 +272 -119 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- Configure 1997/08/09 00:55:52 1.126 +++ Configure 1997/08/10 13:29:06 1.127 @@ -22,6 +22,8 @@ ## file=Configuration tmpfile=htconf.$$ +tmpfile2=$tmpfile.2 +tmpfile3=$tmpfile.3 makefile_tmpl=Makefile.tmpl @@ -77,6 +79,7 @@ # we bail out # if egrep -v '^%?Module[ ]+[A-Za-z0-9_]+[]+[^]+$' $tmpfile \ + | egrep -v '^%?AddModule[ ]+[^]+$' \ | grep -v = /dev/null then echo Syntax error --- The configuration file is used only to @@ -94,39 +97,6 @@ if [ -f modules.c ] ; then mv modules.c modules.c.bak; fi -# Start building the modules.c file from what was included -# in Configuration - -sed -e 's/_module//' $tmpfile | awk modules.c '\ - BEGIN { modules[n++] = core ; pmodules[pn++] = core} \ - /^Module/ { modules[n++] = $2 ; pmodules[pn++] = $2 } \ - /^%Module/ { pmodules[pn++] = $2 } \ - END { print /* modules.c --- automatically generated by Apache; \ - print * configuration script. DO NOT HAND EDIT!; \ - print */; \ - print ; \ - print #include \httpd.h\; \ - print #include \http_config.h\; \ - print ; \ - for (i = 0; i pn; ++i) { \ - printf (extern module %s_module;\n, pmodules[i]); \ - } \ - print ; \ - print module *prelinked_modules[] = {; \ - for (i = 0; i n; ++i) { \ - printf %s_module,\n, modules[i]; \ - } \ - print NULL; \ - print };; \ - print module *preloaded_modules[] = {; \ - for (i = 0; i pn; ++i) { \ - printf %s_module,\n, pmodules[i]; \ - } \ - print NULL; \ - print };; \ - }' - - # Start creating the Makefile. We add some comments and # then fold in the modules that were included in Configuration # @@ -137,17 +107,6 @@ echo # is re-run Makefile echo # Makefile -awk Makefile $tmpfile '\ - /^Module/ { modules[n++] = $3 } \ - /^%Module/ { modules[n++] = $3 } \ - END { print MODULES=\\; \ - for (i = 0; i n; ++i) { \ - if (i n-1) printf ( %s \\\n, modules[i]); \ - else printf ( %s\n, modules[i]); \ - } \ - print \ - }' - # Now we create a stub file, called Makefile.config, which # just includes those assignments (eg: CC=gcc) in Configuration @@ -197,6 +156,9 @@ PLAT=`./helpers/GuessOS` +SHELL=/bin/sh +OSDIR=os/unix + case $PLAT in *MPE/iX*) OS='MPE/iX' @@ -538,6 +500,7 @@ # Show user what OS we came up with # +SRCDIR=`pwd` echo + configured for $OS platform @@ -642,61 +605,11 @@ # Now we do some general checks and some intelligent Configuration # control. -# -# First, we adjust as needed depending on which modules are -# being used. -# - -# -# Are they using the status monitor module? If so, check -# for STATUS rule and add if needed. -# -STAT_MOD=mod_status -if grep $STAT_MOD Makefile /dev/null; then -if [ $RULE_STATUS = yes ]; then - CFLAGS=$CFLAGS -DSTATUS -fi -fi - -# -# Now HS's POSIX regex implementation if needed/wanted -# -if [ $RULE_WANTHSREGEX = yes ]; then -REGLIB=regex/libregex.a -INCLUDES=$INCLUDES -Iregex -fi - -# -# Now SOCKS4. -# NOTE: We assume that if they are using SOCKS4, then they've -# adjusted EXTRA_LIBS and/or EXTRA_LDFLAGS as required, -# otherwise we assume -L/usr/local/lib -lsocks -# -if [ $RULE_SOCKS4 = yes ]; then -# Set flag and check Makefile for -lsocks line -CFLAGS=$CFLAGS -Dconnect=Rconnect -Dselect=Rselect -CFLAGS=$CFLAGS -Dgethostbyname=Rgethostbyname -if grep EXTRA_ Makefile | grep \-lsocks /dev/null; then : ; -else - LIBS=$LIBS -L/usr/local/lib -lsocks -fi -if [ $OS = Solaris 2 ]; then - LIBS=$LIBS -lresolv -fi -fi # Continue building Makefile.config. We can add all
cvs commit: apachen/src Configuration.tmpl
pcs 97/08/10 06:29:51 Modified:src Configuration.tmpl Log: Source re-org: new style Configuration (Module - AddModule) Revision ChangesPath 1.71 +34 -34apachen/src/Configuration.tmpl Index: Configuration.tmpl === RCS file: /export/home/cvs/apachen/src/Configuration.tmpl,v retrieving revision 1.70 retrieving revision 1.71 diff -u -r1.70 -r1.71 --- Configuration.tmpl1997/08/05 10:17:52 1.70 +++ Configuration.tmpl1997/08/10 13:29:51 1.71 @@ -130,24 +130,24 @@ ## passed to CGI/SSI scripts. It is listed first (lowest priority) since ## it does not do per-request stuff. -Module env_module mod_env.o +AddModule modules/standard/mod_env.o ## mod_dld defines commands that allow other modules to be loaded ## dynamically (at runtime). This module is for experimental use only. -# Module dld_module mod_dld.o +# AddModule modules/standard/mod_dld.o ## ## Request logging modules ## -Module config_log_module mod_log_config.o +AddModule modules/standard/mod_log_config.o ## Optional modules for NCSA user-agent/referer logging compatibility ## We recommend, however, that you just use the configurable access_log. -# Module agent_log_modulemod_log_agent.o -# Module referer_log_module mod_log_referer.o +# AddModule modules/standard/mod_log_agent.o +# AddModule modules/standard/mod_log_referer.o ## ## Type checking modules @@ -160,9 +160,9 @@ ## don't confuse it with the previous module). ## mod_negotiation allows content selection based on the Accept* headers. -# Module mime_magic_module mod_mime_magic.o -Module mime_module mod_mime.o -Module negotiation_module mod_negotiation.o +# AddModule modules/standard/mod_mime_magic.o +AddModule modules/standard/mod_mime.o +AddModule modules/standard/mod_negotiation.o ## ## Content delivery modules @@ -172,22 +172,22 @@ ## STATUS=yes (see the Rules section near the start of this file) to allow ## full status information. Check conf/access.conf on how to enable this. -# Module status_module mod_status.o +# AddModule modules/standard/mod_status.o ## The Info module displays configuration information for the server and ## all included modules. It's very useful for debugging. -# Module info_module mod_info.o +# AddModule modules/standard/mod_info.o ## mod_include translates server-side include (SSI) statements in text files. ## mod_autoindex handles requests for directories which have no index file ## mod_dir handles requests on directories and directory index files. ## mod_cgi handles CGI scripts. -Module includes_module mod_include.o -Module autoindex_modulemod_autoindex.o -Module dir_module mod_dir.o -Module cgi_module mod_cgi.o +AddModule modules/standard/mod_include.o +AddModule modules/standard/mod_autoindex.o +AddModule modules/standard/mod_dir.o +AddModule modules/standard/mod_cgi.o ## The asis module implemented .asis file types, which allow the embedding ## of HTTP headers at the beginning of the document. mod_imap handles internal @@ -195,9 +195,9 @@ ## CGI scripts which act as handlers for particular files, for example to ## automatically convert every GIF to another file type. -Module asis_module mod_asis.o -Module imap_module mod_imap.o -Module action_module mod_actions.o +AddModule modules/standard/mod_asis.o +AddModule modules/standard/mod_imap.o +AddModule modules/standard/mod_actions.o ## ## URL translation modules. @@ -205,43 +205,43 @@ ## The UserDir module for selecting resource directories by user name ## and a common prefix, e.g., /~user , /usr/web/user , etc. -Module userdir_module mod_userdir.o +AddModule modules/standard/mod_userdir.o ## The proxy module enables the server to act as a proxy for outside ## http and ftp services. It's not as complete as it could be yet. ## NOTE: You do not want this module UNLESS you are running a proxy; ## it is not needed for normal (origin server) operation. -# Module proxy_modulemodules/proxy/libproxy.a +# AddModule modules/proxy/libproxy.a ## The Alias module provides simple URL translation and redirection. -Module alias_modulemod_alias.o +AddModule modules/standard/mod_alias.o ## The URL rewriting module allows for powerful URI-to-URI and ## URI-to-filename mapping using a regular expression based ## rule-controlled rewriting engine. -# Module rewrite_module mod_rewrite.o +# AddModule modules/standard/mod_rewrite.o ## ## Access control and authentication modules. ## -Module access_module mod_access.o -Module
cvs commit: apachen/src/core Makefile.tmpl
pcs 97/08/10 06:30:45 Added: src/core Makefile.tmpl Log: Source re-org: Makefile template (suffix) for the new core dir Revision ChangesPath 1.1 apachen/src/core/Makefile.tmpl Index: Makefile.tmpl === # Apache makefile suffix for core files # This is combined with the information in the Configuration file # by the configure script to make the actual Makefile. CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) LIBS=$(EXTRA_LIBS) $(LIBS1) INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES) LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \ http_log.o http_protocol.o rfc1413.o util.o util_script.o buff.o\ md5c.o util_md5.o explain.o http_bprintf.o util_date.o util_snprintf.o \ fnmatch.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $ all: $(OBJS) clean: rm -f $(OBJS) # Work around broken compilers http_bprintf.o: http_bprintf.c $(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c #Dependencies $(OBJS): # DO NOT REMOVE alloc.o: alloc.c httpd.h conf.h alloc.h buff.h multithread.h buff.o: buff.c httpd.h conf.h alloc.h buff.h http_main.h dummy.o: dummy.c explain.o: explain.c explain.h fnmatch.o: fnmatch.c gnu-fnmatch.o: gnu-fnmatch.c fnmatch.h http_bprintf.o: http_bprintf.c httpd.h conf.h alloc.h buff.h http_config.o: http_config.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_log.h http_request.h \ http_conf_globals.h explain.h http_core.o: http_core.c httpd.h conf.h alloc.h buff.h http_config.h \ http_core.h http_protocol.h http_conf_globals.h http_main.h \ http_log.h rfc1413.h util_md5.h md5.h scoreboard.h fnmatch.h http_log.o: http_log.c httpd.h conf.h alloc.h buff.h http_config.h \ http_core.h http_log.h http_main.o: http_main.c httpd.h conf.h alloc.h buff.h http_main.h \ http_log.h http_config.h http_protocol.h http_request.h \ http_conf_globals.h http_core.h scoreboard.h multithread.h explain.h http_protocol.o: http_protocol.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_protocol.h http_main.h http_log.h \ util_date.h http_request.o: http_request.c httpd.h conf.h alloc.h buff.h \ http_config.h http_request.h http_core.h http_protocol.h http_log.h \ http_main.h scoreboard.h fnmatch.h md5c.o: md5c.c conf.h md5.h mod_access.o: mod_access.c httpd.h conf.h alloc.h buff.h http_core.h \ http_config.h http_log.h http_request.h mod_actions.o: mod_actions.c httpd.h conf.h alloc.h buff.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: mod_alias.c httpd.h conf.h alloc.h buff.h http_config.h mod_asis.o: mod_asis.c httpd.h conf.h alloc.h buff.h http_config.h \ http_protocol.h http_log.h util_script.h http_main.h http_request.h mod_auth.o: mod_auth.c httpd.h conf.h alloc.h buff.h http_config.h \ http_core.h http_log.h http_protocol.h mod_auth_anon.o: mod_auth_anon.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_log.h http_protocol.h http_request.h mod_auth_db.o: mod_auth_db.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_log.h http_protocol.h mod_auth_dbm.o: mod_auth_dbm.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_log.h http_protocol.h mod_auth_msql.o: mod_auth_msql.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_log.h http_protocol.h mod_autoindex.o: mod_autoindex.c httpd.h conf.h alloc.h buff.h \ http_config.h http_core.h http_request.h http_protocol.h http_log.h \ http_main.h util_script.h mod_browser.o: mod_browser.c httpd.h conf.h alloc.h buff.h \ http_config.h mod_cern_meta.o: mod_cern_meta.c httpd.h conf.h alloc.h buff.h \ http_config.h util_script.h http_log.h http_request.h mod_cgi.o: mod_cgi.c httpd.h conf.h alloc.h buff.h http_config.h \ http_request.h http_core.h http_protocol.h http_main.h http_log.h \ util_script.h http_conf_globals.h mod_digest.o: mod_digest.c httpd.h conf.h alloc.h buff.h http_config.h \ http_core.h http_log.h http_protocol.h util_md5.h md5.h mod_dir.o: mod_dir.c httpd.h conf.h alloc.h buff.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: mod_dld.c httpd.h conf.h alloc.h buff.h http_config.h \ http_conf_globals.h mod_env.o: mod_env.c httpd.h conf.h alloc.h buff.h http_config.h mod_expires.o: mod_expires.c httpd.h conf.h alloc.h buff.h \ http_config.h http_log.h mod_headers.o: mod_headers.c httpd.h conf.h alloc.h buff.h \ http_config.h mod_imap.o: mod_imap.c httpd.h conf.h alloc.h buff.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: mod_include.c httpd.h
cvs commit: apachen/src/modules/standard mod_auth_db.module
pcs 97/08/10 06:31:18 Added: src/modules/standard mod_auth_db.module Log: Source re-org: module definition file Revision ChangesPath 1.1 apachen/src/modules/standard/mod_auth_db.module Index: mod_auth_db.module === Name: db_auth_module ConfigStart LIBS=$LIBS $DB_LIB if [ X$DB_LIB != X ]; then echo + using $DB_LIB for mod_auth_db fi ConfigEnd
cvs commit: apachen/src/modules/standard mod_auth_dbm.c mod_status.c
pcs 97/08/10 06:32:01 Modified:src/modules/standard mod_auth_dbm.c mod_status.c Log: Source re-org: add information required by Configure for this module Revision ChangesPath 1.22 +16 -0 apachen/src/modules/standard/mod_auth_dbm.c Index: mod_auth_dbm.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_auth_dbm.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- mod_auth_dbm.c1997/07/28 18:22:52 1.21 +++ mod_auth_dbm.c1997/08/10 13:31:59 1.22 @@ -71,6 +71,22 @@ #include http_protocol.h #include ndbm.h +/* + * Module definition information - the part between the -START and -END + * lines below is used by Configure. This could be stored in a separate + * instead. + * + * MODULE-DEFINITION-START + * Name: dbm_auth_module + * ConfigStart +LIBS=$LIBS $DBM_LIB +if [ X$DBM_LIB != X ]; then + echo + using $DBM_LIB for mod_auth_dbm +fi + * ConfigEnd + * MODULE-DEFINITION-END + */ + typedef struct { char *auth_dbmpwfile; 1.59 +15 -0 apachen/src/modules/standard/mod_status.c Index: mod_status.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_status.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- mod_status.c 1997/07/28 18:23:05 1.58 +++ mod_status.c 1997/08/10 13:31:59 1.59 @@ -87,6 +87,21 @@ * 21.5.96 Additional Status codes (DNS and LOGGING only enabled if extended STATUS is enabled) [George Burgyan/Jim J.] */ +/* + * Module definition information - the part between the -START and -END + * lines below is used by Configure. This could be stored in a separate + * instead. + * + * MODULE-DEFINITION-START + * Name: status_module + * ConfigStart +if [ $RULE_STATUS = yes ]; then + CFLAGS=$CFLAGS -DSTATUS +fi + * ConfigEnd + * MODULE-DEFINITION-END + */ + #define IS_MODULE #include httpd.h
cvs commit: apachen/src/modules/proxy Makefile
pcs 97/08/10 06:32:37 Modified:src/modules/example Makefile src/modules/proxy Makefile Log: Source re-org: refer to new core dir for include files Revision ChangesPath 1.3 +1 -1 apachen/src/modules/example/Makefile Index: Makefile === RCS file: /export/home/cvs/apachen/src/modules/example/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile 1997/07/23 18:08:45 1.2 +++ Makefile 1997/08/10 13:32:30 1.3 @@ -56,7 +56,7 @@ # directory. If the depth or relationship changes, the following line # may need to be changed. # -INCDIR=../.. +INCDIR=../../core # # Everything below this point should be invariant. 1.12 +1 -1 apachen/src/modules/proxy/Makefile Index: Makefile === RCS file: /export/home/cvs/apachen/src/modules/proxy/Makefile,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Makefile 1997/03/18 10:23:56 1.11 +++ Makefile 1997/08/10 13:32:36 1.12 @@ -53,7 +53,7 @@ SHELL = /bin/sh -INCDIR = ../.. +INCDIR = ../../core LIB=libproxy.a
cvs commit: apachen/src/os/unix Makefile.tmpl os.c os.h
pcs 97/08/10 06:33:20 Added: src/os/unix Makefile.tmpl os.c os.h Log: Source re-org: add dummy OS abstraction files for Unix Revision ChangesPath 1.1 apachen/src/os/unix/Makefile.tmpl Index: Makefile.tmpl === CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) LIBS=$(EXTRA_LIBS) $(LIBS1) INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES) LFLAGS=$(LFLAGS1) $(EXTRA_LFLAGS) INCDIR=../../core OBJS= os.o all: $(OBJS) .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $ clean: rm -f $(OBJS) # DO NOT REMOVE os.o: os.c 1.1 apachen/src/os/unix/os.c Index: os.c === 1.1 apachen/src/os/unix/os.h Index: os.h ===
cvs commit: apachen/src Makefile.tmpl
pcs 97/08/10 06:33:59 Modified:src Makefile.tmpl Log: Source re-org: new simplified top-level makefile suffix Revision ChangesPath 1.55 +29 -118 apachen/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- Makefile.tmpl 1997/08/06 20:21:19 1.54 +++ Makefile.tmpl 1997/08/10 13:33:58 1.55 @@ -8,15 +8,21 @@ INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES) LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) -OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \ - http_log.o http_protocol.o rfc1413.o util.o util_script.o modules.o buff.o\ - md5c.o util_md5.o explain.o http_bprintf.o util_date.o util_snprintf.o\ - fnmatch.o $(MODULES) +OBJS= \ + core/alloc.o core/http_main.o core/http_core.o \ + core/http_config.o core/http_request.o core/http_log.o \ + core/http_protocol.o core/rfc1413.o core/util.o \ + core/util_script.o core/buff.o core/md5c.o \ + core/util_md5.o core/explain.o core/http_bprintf.o \ + core/util_date.o core/util_snprintf.o core/fnmatch.o \ + modules.o \ + $(OSOBJ) \ + $(MODULES) .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $ -all: @@Configuration@@ httpd +all: @@Configuration@@ os-dir core-dir modules/last-built httpd @@Configuration@@: Configuration.tmpl @echo @@Configuration@@ older than Configuration.tmpl, or doesn't exist. @@ -25,7 +31,7 @@ @echo If not, you will at least have to touch @@Configuration@@. @false -httpd: $(REGLIB) $(OBJS) +httpd: $(REGLIB) modules.o $(CC) $(LDFLAGS) -o httpd $(OBJS) $(REGLIB) $(LIBS) regex/libregex.a: @@ -35,10 +41,23 @@ (cd modules; \ $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') +support: support-dir + +support-dir: + cd support; $(MAKE) + +core-dir: + cd core; $(MAKE) + +os-dir: + cd $(OSDIR); $(MAKE) + clean: - rm -f httpd *.o core + rm -f httpd *.o $(OBJS) + cd core; $(MAKE) clean cd regex; $(MAKE) clean cd modules; $(MAKE) clean + cd support; $(MAKE) clean dist.tar: # Assure a semi-sensible configuration going out... @@ -47,10 +66,6 @@ tar cvf dist.tar README INSTALL CHANGES TODO API.html \ Configuration Configure Makefile.tmpl Makefile *.h *.c -# Work around broken compilers -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. @@ -60,115 +75,11 @@ mv Makefile.tmpl Makefile.tmpl.bak \ mv Makefile.new Makefile.tmpl + #Dependencies $(OBJS): Makefile # DO NOT REMOVE -alloc.o: alloc.c httpd.h conf.h alloc.h buff.h multithread.h -buff.o: buff.c httpd.h conf.h alloc.h buff.h http_main.h -dummy.o: dummy.c -explain.o: explain.c explain.h -fnmatch.o: fnmatch.c -gnu-fnmatch.o: gnu-fnmatch.c fnmatch.h -http_bprintf.o: http_bprintf.c httpd.h conf.h alloc.h buff.h -http_config.o: http_config.c httpd.h conf.h alloc.h buff.h \ - http_config.h http_core.h http_log.h http_request.h \ - http_conf_globals.h explain.h -http_core.o: http_core.c httpd.h conf.h alloc.h buff.h http_config.h \ - http_core.h http_protocol.h http_conf_globals.h http_main.h \ - http_log.h rfc1413.h util_md5.h md5.h scoreboard.h fnmatch.h -http_log.o: http_log.c httpd.h conf.h alloc.h buff.h http_config.h \ - http_core.h http_log.h -http_main.o: http_main.c httpd.h conf.h alloc.h buff.h http_main.h \ - http_log.h http_config.h http_protocol.h http_request.h \ - http_conf_globals.h http_core.h scoreboard.h multithread.h explain.h -http_protocol.o: http_protocol.c httpd.h conf.h alloc.h buff.h \ - http_config.h http_core.h http_protocol.h http_main.h http_log.h \ - util_date.h -http_request.o: http_request.c httpd.h conf.h alloc.h buff.h \ - http_config.h http_request.h http_core.h http_protocol.h http_log.h \ - http_main.h scoreboard.h fnmatch.h -md5c.o: md5c.c conf.h md5.h -mod_access.o: mod_access.c httpd.h conf.h alloc.h buff.h http_core.h \ - http_config.h http_log.h http_request.h -mod_actions.o: mod_actions.c httpd.h conf.h alloc.h buff.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: mod_alias.c httpd.h conf.h alloc.h buff.h http_config.h -mod_asis.o: mod_asis.c httpd.h conf.h alloc.h buff.h http_config.h \ - http_protocol.h http_log.h util_script.h http_main.h http_request.h -mod_auth.o: mod_auth.c httpd.h conf.h alloc.h buff.h
cvs commit: apachen/src/modules/standard Makefile.tmpl
pcs 97/08/10 07:15:02 Added: src/modules/standard Makefile.tmpl Log: Source re-org: Makefile suffix for standard modules Revision ChangesPath 1.1 apachen/src/modules/standard/Makefile.tmpl Index: Makefile.tmpl === mod_access.o: mod_access.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_core.h \ $(INCDIR)/http_config.h $(INCDIR)/http_log.h \ $(INCDIR)/http_request.h mod_actions.o: mod_actions.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h mod_alias.o: mod_alias.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_asis.o: mod_asis.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ $(INCDIR)/util_script.h $(INCDIR)/http_main.h \ $(INCDIR)/http_request.h mod_auth.o: mod_auth.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_anon.o: mod_auth_anon.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_db.o: mod_auth_db.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_dbm.o: mod_auth_dbm.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_msql.o: mod_auth_msql.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_autoindex.o: mod_autoindex.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_request.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ $(INCDIR)/http_main.h $(INCDIR)/util_script.h mod_browser.o: mod_browser.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_cern_meta.o: mod_cern_meta.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/util_script.h $(INCDIR)/http_log.h \ $(INCDIR)/http_request.h mod_cgi.o: mod_cgi.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h \ $(INCDIR)/http_conf_globals.h mod_digest.o: mod_digest.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h $(INCDIR)/util_md5.h $(INCDIR)/md5.h mod_dir.o: mod_dir.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_request.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ $(INCDIR)/http_main.h $(INCDIR)/util_script.h mod_dld.o: mod_dld.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_conf_globals.h mod_env.o: mod_env.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_expires.o: mod_expires.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_log.h mod_headers.o: mod_headers.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_imap.o: mod_imap.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h mod_include.o: mod_include.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
cvs commit: apachen/src/support Makefile.tmpl
pcs 97/07/26 14:08:09 Modified:src Configure Makefile.tmpl Log: Source re-organisation. Configure can get module info from source file or separet file for binary modules. Revision ChangesPath 1.123 +290 -108 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.122 retrieving revision 1.123 diff -u -r1.122 -r1.123 --- Configure 1997/07/25 02:10:46 1.122 +++ Configure 1997/07/26 21:06:47 1.123 @@ -21,6 +21,8 @@ ## file=Configuration tmpfile=htconf.$$ +tmpfile2=$tmpfile.2 +tmpfile3=$tmpfile.3 makefile_tmpl=Makefile.tmpl @@ -76,6 +78,7 @@ # we bail out # if egrep -v '^%?Module[ ]+[A-Za-z0-9_]+[]+[^]+$' $tmpfile \ + | egrep -v '^%?AddModule[ ]+[^]+$' \ | grep -v = /dev/null then echo Syntax error --- The configuration file is used only to @@ -93,39 +96,6 @@ if [ -f modules.c ] ; then mv modules.c modules.c.bak; fi -# Start building the modules.c file from what was included -# in Configuration - -sed -e 's/_module//' $tmpfile | awk modules.c '\ - BEGIN { modules[n++] = core ; pmodules[pn++] = core} \ - /^Module/ { modules[n++] = $2 ; pmodules[pn++] = $2 } \ - /^%Module/ { pmodules[pn++] = $2 } \ - END { print /* modules.c --- automatically generated by Apache; \ - print * configuration script. DO NOT HAND EDIT!; \ - print */; \ - print ; \ - print #include \httpd.h\; \ - print #include \http_config.h\; \ - print ; \ - for (i = 0; i pn; ++i) { \ - printf (extern module %s_module;\n, pmodules[i]); \ - } \ - print ; \ - print module *prelinked_modules[] = {; \ - for (i = 0; i n; ++i) { \ - printf %s_module,\n, modules[i]; \ - } \ - print NULL; \ - print };; \ - print module *preloaded_modules[] = {; \ - for (i = 0; i pn; ++i) { \ - printf %s_module,\n, pmodules[i]; \ - } \ - print NULL; \ - print };; \ - }' - - # Start creating the Makefile. We add some comments and # then fold in the modules that were included in Configuration # @@ -136,17 +106,6 @@ echo # is re-run Makefile echo # Makefile -awk Makefile $tmpfile '\ - /^Module/ { modules[n++] = $3 } \ - /^%Module/ { modules[n++] = $3 } \ - END { print MODULES=\\; \ - for (i = 0; i n; ++i) { \ - if (i n-1) printf ( %s \\\n, modules[i]); \ - else printf ( %s\n, modules[i]); \ - } \ - print \ - }' - # Now we create a stub file, called Makefile.config, which # just includes those assignments (eg: CC=gcc) in Configuration @@ -196,6 +155,9 @@ PLAT=`./helpers/GuessOS` +SHELL=/bin/sh +OSDIR=os/unix + case $PLAT in *MPE/iX*) OS='MPE/iX' @@ -536,6 +498,7 @@ # Show user what OS we came up with # +SRCDIR=`pwd` echo + configured for $OS platform @@ -662,45 +625,6 @@ fi fi -# -# Now HS's POSIX regex implementation if needed/wanted -# -if [ $RULE_WANTHSREGEX = yes ]; then -REGLIB=regex/libregex.a -INCLUDES=$INCLUDES -Iregex -fi - -# -# Now SOCKS4. -# NOTE: We assume that if they are using SOCKS4, then they've -# adjusted EXTRA_LIBS and/or EXTRA_LDFLAGS as required, -# otherwise we assume -L/usr/local/lib -lsocks -# -if [ $RULE_SOCKS4 = yes ]; then -# Set flag and check Makefile for -lsocks line -CFLAGS=$CFLAGS -Dconnect=Rconnect -Dselect=Rselect -CFLAGS=$CFLAGS -Dgethostbyname=Rgethostbyname -if grep EXTRA_ Makefile | grep \-lsocks /dev/null; then : ; -else - LIBS=$LIBS -L/usr/local/lib -lsocks -fi -if [ $OS = Solaris 2 ]; then - LIBS=$LIBS -lresolv -fi -fi - - -# Continue building Makefile.config. We can add all flags with -# the exception of LIBS at this point -# -echo CFLAGS1=$CFLAGS Makefile.config -echo INCLUDES1=$INCLUDES Makefile.config -echo LDFLAGS1=$LDFLAGS Makefile.config -echo BROKEN_BPRINTF_FLAGS=$OSBPRINTF Makefile.config -echo REGLIB=$REGLIB Makefile.config -echo RANLIB=$RANLIB Makefile.config -echo SHELL=$SHELL Makefile.config -
cvs commit: apachen/src Configure
pcs 97/07/26 14:09:45 Modified:src Configure Log: Remove check for gdbm (added by mistake) Revision ChangesPath 1.124 +0 -2 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.123 retrieving revision 1.124 diff -u -r1.123 -r1.124 --- Configure 1997/07/26 21:06:47 1.123 +++ Configure 1997/07/26 21:09:44 1.124 @@ -660,8 +660,6 @@ DBM_LIB=-ldbm elif ./helpers/TestCompile lib ndbm; then DBM_LIB=-lndbm - elif ./helpers/TestCompile lib gdbm; then - DBM_LIB=-lgdbm fi ;; esac
cvs commit: apachen/src Configuration.tmpl
pcs 97/07/26 14:12:13 Modified:src Configuration.tmpl Log: AddModule replaces Module in new Configure Revision ChangesPath 1.68 +35 -35apachen/src/Configuration.tmpl Index: Configuration.tmpl === RCS file: /export/home/cvs/apachen/src/Configuration.tmpl,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- Configuration.tmpl1997/07/21 17:51:29 1.67 +++ Configuration.tmpl1997/07/26 21:12:12 1.68 @@ -43,7 +43,7 @@ # EXTRA_CFLAGS= EXTRA_LDFLAGS= -EXTRA_LIBS= +EXTRA_LIBS=-lbind EXTRA_INCLUDES= #CC= @@ -130,24 +130,24 @@ ## passed to CGI/SSI scripts. It is listed first (lowest priority) since ## it does not do per-request stuff. -Module env_module mod_env.o +AddModule modules/standard/mod_env.o ## mod_dld defines commands that allow other modules to be loaded ## dynamically (at runtime). This module is for experimental use only. -# Module dld_module mod_dld.o +# AddModule modules/standard/mod_dld.o ## ## Request logging modules ## -Module config_log_module mod_log_config.o +AddModule modules/standard/mod_log_config.o ## Optional modules for NCSA user-agent/referer logging compatibility ## We recommend, however, that you just use the configurable access_log. -# Module agent_log_modulemod_log_agent.o -# Module referer_log_module mod_log_referer.o +# AddModule modules/standard/mod_log_agent.o +# AddModule modules/standard/mod_log_referer.o ## ## Type checking modules @@ -160,9 +160,9 @@ ## don't confuse it with the previous module). ## mod_negotiation allows content selection based on the Accept* headers. -# Module mime_magic_module mod_mime_magic.o -Module mime_module mod_mime.o -Module negotiation_module mod_negotiation.o +# AddModule modules/standard/mod_mime_magic.o +AddModule modules/standard/mod_mime.o +AddModule modules/standard/mod_negotiation.o ## ## Content delivery modules @@ -172,22 +172,22 @@ ## STATUS=yes (see the Rules section near the start of this file) to allow ## full status information. Check conf/access.conf on how to enable this. -# Module status_module mod_status.o +# AddModule modules/standard/mod_status.o ## The Info module displays configuration information for the server and ## all included modules. It's very useful for debugging. -# Module info_module mod_info.o +# AddModule modules/standard/mod_info.o ## mod_include translates server-side include (SSI) statements in text files. ## mod_autoindex handles requests for directories which have no index file ## mod_dir handles requests on directories and directory index files. ## mod_cgi handles CGI scripts. -Module includes_module mod_include.o -Module autoindex_modulemod_autoindex.o -Module dir_module mod_dir.o -Module cgi_module mod_cgi.o +AddModule modules/standard/mod_include.o +AddModule modules/standard/mod_autoindex.o +AddModule modules/standard/mod_dir.o +AddModule modules/standard/mod_cgi.o ## The asis module implemented .asis file types, which allow the embedding ## of HTTP headers at the beginning of the document. mod_imap handles internal @@ -195,9 +195,9 @@ ## CGI scripts which act as handlers for particular files, for example to ## automatically convert every GIF to another file type. -Module asis_module mod_asis.o -Module imap_module mod_imap.o -Module action_module mod_actions.o +AddModule modules/standard/mod_asis.o +AddModule modules/standard/mod_imap.o +AddModule modules/standard/mod_actions.o ## ## URL translation modules. @@ -205,42 +205,42 @@ ## The UserDir module for selecting resource directories by user name ## and a common prefix, e.g., /~user , /usr/web/user , etc. -Module userdir_module mod_userdir.o +AddModule modules/standard/mod_userdir.o ## The proxy module enables the server to act as a proxy for outside ## http and ftp services. It's not as complete as it could be yet. ## NOTE: You do not want this module UNLESS you are running a proxy; ## it is not needed for normal (origin server) operation. -# Module proxy_modulemodules/proxy/libproxy.a +# AddModule modules/proxy/libproxy.a ## The Alias module provides simple URL translation and redirection. -Module alias_modulemod_alias.o +AddModule modules/standard/mod_alias.o ## mod_rewrite allows for powerful URI-to-URI and URI-to-filename mapping, ## using regular expressions. -# Module rewrite_module mod_rewrite.o +# AddModule modules/standard/mod_rewrite.o ## ## Access control and authentication modules. ##
cvs commit: apachen/src Configuration.tmpl
pcs 97/07/26 14:14:54 Modified:src Configuration.tmpl Log: Bummer. Remove -lbind accidently commited Revision ChangesPath 1.69 +1 -1 apachen/src/Configuration.tmpl Index: Configuration.tmpl === RCS file: /export/home/cvs/apachen/src/Configuration.tmpl,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- Configuration.tmpl1997/07/26 21:12:12 1.68 +++ Configuration.tmpl1997/07/26 21:14:53 1.69 @@ -43,7 +43,7 @@ # EXTRA_CFLAGS= EXTRA_LDFLAGS= -EXTRA_LIBS=-lbind +EXTRA_LIBS= EXTRA_INCLUDES= #CC=
cvs commit: apachen/src/modules/standard Makefile.tmpl
pcs 97/07/26 14:15:37 Added: src/modules/standard Makefile.tmpl Log: Add dependencies for standard modules dir, required to trigger Makefile generation Revision ChangesPath 1.1 apachen/src/modules/standard/Makefile.tmpl Index: Makefile.tmpl === mod_access.o: mod_access.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_core.h \ $(INCDIR)/http_config.h $(INCDIR)/http_log.h \ $(INCDIR)/http_request.h mod_actions.o: mod_actions.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h mod_alias.o: mod_alias.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_asis.o: mod_asis.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ $(INCDIR)/util_script.h $(INCDIR)/http_main.h \ $(INCDIR)/http_request.h mod_auth.o: mod_auth.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_anon.o: mod_auth_anon.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_db.o: mod_auth_db.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_dbm.o: mod_auth_dbm.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_auth_msql.o: mod_auth_msql.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h mod_autoindex.o: mod_autoindex.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_request.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ $(INCDIR)/http_main.h $(INCDIR)/util_script.h mod_browser.o: mod_browser.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_cern_meta.o: mod_cern_meta.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/util_script.h $(INCDIR)/http_log.h \ $(INCDIR)/http_request.h mod_cgi.o: mod_cgi.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h \ $(INCDIR)/http_conf_globals.h mod_digest.o: mod_digest.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_log.h \ $(INCDIR)/http_protocol.h $(INCDIR)/util_md5.h $(INCDIR)/md5.h mod_dir.o: mod_dir.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_request.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_log.h \ $(INCDIR)/http_main.h $(INCDIR)/util_script.h mod_dld.o: mod_dld.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_conf_globals.h mod_env.o: mod_env.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_expires.o: mod_expires.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_log.h mod_headers.o: mod_headers.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h mod_imap.o: mod_imap.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/http_config.h \ $(INCDIR)/http_request.h $(INCDIR)/http_core.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h mod_include.o: mod_include.c $(INCDIR)/httpd.h
cvs commit: apachen/src/modules/standard mod_auth_db.module
pcs 97/07/26 14:25:15 Added: src/modules/standard mod_auth_db.module Log: Example of a module definition file - intended for use when module is distributed as a binary. Revision ChangesPath 1.1 apachen/src/modules/standard/mod_auth_db.module Index: mod_auth_db.module === Name: db_auth_module ConfigStart LIBS=$LIBS $DB_LIB if [ X$DB_LIB != X ]; then echo + using $DB_LIB for mod_auth_db fi ConfigEnd
cvs commit: apachen/src/modules/standard mod_auth_dbm.c
pcs 97/07/26 14:26:46 Modified:src/modules/standard mod_auth_dbm.c Log: Example of building information required by Configure into the module source Revision ChangesPath 1.20 +17 -0 apachen/src/modules/standard/mod_auth_dbm.c Index: mod_auth_dbm.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_auth_dbm.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- mod_auth_dbm.c1997/07/19 08:02:05 1.19 +++ mod_auth_dbm.c1997/07/26 21:26:45 1.20 @@ -71,6 +71,23 @@ #include http_protocol.h #include ndbm.h +/* + * Module definition information - the part between the -START and -END + * lines below is used by Configure. This could be stored in a separate + * instead. + * + * MODULE-DEFINITION-START + * Name: dbm_auth_module + * ConfigStart +LIBS=$LIBS $DBM_LIB +if [ X$DBM_LIB != X ]; then + echo + using $DBM_LIB for mod_auth_dbm +fi + * ConfigEnd + * MODULE-DEFINITION-END + */ + + typedef struct { char *auth_dbmpwfile;
cvs commit: apachen/src Configure
pcs 97/07/26 14:31:23 Modified:src Configure Log: Remove knowledge about module requirements from Configure. Modules now supply this information themselves. Revision ChangesPath 1.125 +0 -27 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.124 retrieving revision 1.125 diff -u -r1.124 -r1.125 --- Configure 1997/07/26 21:09:44 1.124 +++ Configure 1997/07/26 21:31:22 1.125 @@ -609,21 +609,6 @@ # Now we do some general checks and some intelligent Configuration # control. -# -# First, we adjust as needed depending on which modules are -# being used. -# - -# -# Are they using the status monitor module? If so, check -# for STATUS rule and add if needed. -# -STAT_MOD=mod_status -if grep $STAT_MOD Makefile /dev/null; then -if [ $RULE_STATUS = yes ]; then - CFLAGS=$CFLAGS -DSTATUS -fi -fi # Use TestCompile to see if $(CC) is ANSI @@ -667,18 +652,6 @@ # # Are they using dbm/db auth? If so, add DBM/DB library. # -#if grep mod_auth_dbm Makefile /dev/null; then -#LIBS=$LIBS $DBM_LIB -#if [ X$DBM_LIB != X ]; then -#echo + using $DBM_LIB for mod_auth_dbm -#fi -#fi -#if grep mod_auth_db Makefile /dev/null; then -#LIBS=$LIBS $DB_LIB -#if [ X$DB_LIB != X ]; then -#echo + using $DB_LIB for mod_auth_db -#fi -#fi # # Now HS's POSIX regex implementation if needed/wanted
cvs commit: apachen/src/modules/standard mod_status.c
pcs 97/07/26 14:44:41 Modified:src/modules/standard mod_status.c Log: Add info to get Configure to add -DSTATUS Revision ChangesPath 1.55 +16 -0 apachen/src/modules/standard/mod_status.c Index: mod_status.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_status.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- mod_status.c 1997/07/24 04:32:29 1.54 +++ mod_status.c 1997/07/26 21:44:40 1.55 @@ -87,6 +87,22 @@ * 21.5.96 Additional Status codes (DNS and LOGGING only enabled if extended STATUS is enabled) [George Burgyan/Jim J.] */ +/* + * Module definition information - the part between the -START and -END + * lines below is used by Configure. This could be stored in a separate + * instead. + * + * MODULE-DEFINITION-START + * Name: status_module + * ConfigStart +if [ $RULE_STATUS = yes ]; then + CFLAGS=$CFLAGS -DSTATUS +fi + * ConfigEnd + * MODULE-DEFINITION-END + */ + + #include httpd.h #include http_config.h #include http_core.h
cvs commit: apache-devsite styleguide.html
pcs 97/07/16 03:15:49 Modified:. styleguide.html Log: Update indent options Revision ChangesPath 1.3 +1 -1 apache-devsite/styleguide.html Index: styleguide.html === RCS file: /export/home/cvs/apache-devsite/styleguide.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C3 -r1.2 -r1.3 *** styleguide.html 1997/07/09 22:04:42 1.2 --- styleguide.html 1997/07/16 10:15:48 1.3 *** *** 21,27 PThis style can be generated with the following arguments to indent: ! PULcode-npsl -di0 -br -nce -d0 -cli0 -npcs/code/UL H2The Guidelines/H2 --- 21,27 PThis style can be generated with the following arguments to indent: ! PULcode-i4 -npsl -di0 -br -nce -d0 -cli0 -npcs -nfc1/code/UL H2The Guidelines/H2
cvs commit: apache/htdocs/manual/misc known_bugs.html
pcs 97/07/11 06:01:21 Modified:htdocs/manual/misc Tag: APACHE_1_2_X known_bugs.html Log: Bring known bugs in 1_2_X up-to-date from HEAD Revision ChangesPath No revision No revision 1.14.2.5 +43 -11apache/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.14.2.4 retrieving revision 1.14.2.5 diff -C3 -r1.14.2.4 -r1.14.2.5 *** known_bugs.html 1997/06/28 21:51:44 1.14.2.4 --- known_bugs.html 1997/07/11 13:01:19 1.14.2.5 *** *** 27,34 H2Apache 1.2 Bugs/H2 ! OLa name=listenbug/a ! LIOn some architectures if your configuration uses multiple a href=../mod/core.html#listenListen/a directives then it is possible that the server will starve one of the sockets while serving hits on another. The work-around is to add --- 27,67 H2Apache 1.2 Bugs/H2 ! OL ! LIbExists in 1.2.1 only./b ! On Solaris 2.x the server will stop running after receiving a ! SIGHUP. Four workarounds exist (choose one):p ! ul ! liRetrieve a href=http://www.apache.org/dist/patches/apply_to_1.2.1/solaris_hup.patch;this patch/a. ! codecd/code to your codeapache_1.2.1/code directory, and ! type codepatch -s -p1 /path/to/patchfile/code. Then rebuild ! Apache.p ! liUse SIGUSR1 instead of SIGHUP, see a href=../stopping.html ! Stopping and Restarting Apache/a for more details.p ! liAdd code-DNO_SLACK/code to ! codeEXTRA_CFLAGS/code in ! your codeConfiguration/code file, re-run codeConfigure/code ! and rebuild your server. This disables the ! a href=descriptors.htmldescriptor slack workaround/ap ! li(Least preferable) Use Apache 1.2.0 instead of 1.2.1.p ! /ul ! This problem will be tracked as ! a href=http://www.apache.org/bugdb.cgi/full/832;PR#832/a.p ! /li ! ! LI(Exists in 1.2.0 and in 1.2.1 after either of the ! codeNO_SLACK/code or patch provided by the previous bug are applied.) ! Solaris 2.5.1 (and probably other versions of Solaris) appear to have ! a race condition completely unrelated to all the others. It is possible ! during a SIGHUP that the server will fail to start because it will not ! be able to re-open its sockets. To our knowledge this has only shown ! up during testing when we pummel the server with as many SIGHUP requests ! per second as we can. This appears unrelated to the similar sounding bug ! described in a href=http://www.apache.org/bugdb.cgi/full/832;PR#832/a. ! p ! ! LIa name=listenbugOn some architectures/A ! if your configuration uses multiple a href=../mod/core.html#listenListen/a directives then it is possible that the server will starve one of the sockets while serving hits on another. The work-around is to add *** *** 43,54 a href=http://www.apache.org/bugdb.cgi/full/467;PR#467/a. P/LI - a name=cnegbug/a LIbFixed in 1.2.1./b ! Apache's A HREF=../content-negotiation.htmlContent Negotiation/A should pick the smallest variant if there are several that are equally acceptable. A bug in 1.2 means it no ! longer does this unless all the variants have character sets. This A HREF=../../dist/contrib/patches/1.2/conneg-bug.patchpatch/A fixes this problem. It also fixes the problem which makes Apache pick the last equally acceptable variant instead of the first. --- 76,86 a href=http://www.apache.org/bugdb.cgi/full/467;PR#467/a. P/LI LIbFixed in 1.2.1./b ! a name=cnegbugApache's/A A HREF=../content-negotiation.htmlContent Negotiation/A should pick the smallest variant if there are several that are equally acceptable. A bug in 1.2 means it no ! longer does this unless all the variants have character sets. This A HREF=../../dist/contrib/patches/1.2/conneg-bug.patchpatch/A fixes this problem. It also fixes the problem which makes Apache pick the last equally acceptable variant instead of the first. *** *** 58,64 LI The PATH_INFO part of a request URI cannot include the sequence ! CODE%2f/CODE. This will be tracked as A HREF=http://www.apache.org/bugdb.cgi/full/543;PR#543/A. P/LI --- 90,96 LI The PATH_INFO part of a request URI cannot include the sequence ! CODE%2f/CODE. This will be tracked as A HREF=http://www.apache.org/bugdb.cgi/full/543;PR#543/A. P/LI *** *** 80,94 LIIf
cvs commit: apache-devsite styleguide.html
pcs 97/07/09 15:04:44 Modified:. styleguide.html Log: HTML fix, typo. Revision ChangesPath 1.2 +2 -2 apache-devsite/styleguide.html Index: styleguide.html === RCS file: /export/home/cvs/apache-devsite/styleguide.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C3 -r1.1 -r1.2 *** styleguide.html 1997/06/17 10:43:34 1.1 --- styleguide.html 1997/07/09 22:04:42 1.2 *** *** 2,8 TITLEApache Developers' C Language Style Guide/TITLE /HEADBODY ! H1Apache Developers' C Language Style Guide/H2 BCompiled by Paul Sutton A HREF=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/A/B. Based on a vote --- 2,8 TITLEApache Developers' C Language Style Guide/TITLE /HEADBODY ! H1Apache Developers' C Language Style Guide/H1 BCompiled by Paul Sutton A HREF=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/A/B. Based on a vote *** *** 12,18 H2Introduction/H2 ! P[This bit could state That code should be laid out to be clear to someone else familiar with Apache. Functions should be short and easily understood. Comments should be provided to explain the rationale for code which is not obvious, and to document behavior of --- 12,18 H2Introduction/H2 ! P[This bit could state that code should be laid out to be clear to someone else familiar with Apache. Functions should be short and easily understood. Comments should be provided to explain the rationale for code which is not obvious, and to document behavior of
cvs commit: apache/htdocs/manual/misc known_bugs.html
pcs 97/06/12 02:35:50 Modified:htdocs/manual/misc known_bugs.html Log: Remove all old fixed bugs. Add some real 1.2 bugs. Revision ChangesPath 1.17 +59 -258 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.16 retrieving revision 1.17 diff -C3 -r1.16 -r1.17 *** known_bugs.html 1997/06/08 00:02:47 1.16 --- known_bugs.html 1997/06/12 09:35:48 1.17 *** *** 17,31 The most up-to-date resource for bug tracking and information is the A HREF=http://www.apache.org/bugdb.cgi;Apache bug database/A. ! All existing bugs will be noted there. Below is a synopsis of ! significant outstanding bugs at release time. In fact you really ! shouldn't trust anything this page says other than the 1.2 ! information. PSee Also: A HREF=compat_notes.htmlCompatibility notes/A/P HR ! H2Version 1.2 (all)/H2 OLa name=listenbug/a LIOn some architectures if your configuration uses multiple --- 17,31 The most up-to-date resource for bug tracking and information is the A HREF=http://www.apache.org/bugdb.cgi;Apache bug database/A. ! Significant bugs at release time will also be noted there. ! If you are running a 1.2 beta release or version 1.1.3 or earlier ! and thing you have found a bug, please upgrade to 1.2. Many bugs ! in early versions have been fixed in 1.2. PSee Also: A HREF=compat_notes.htmlCompatibility notes/A/P HR ! H2Apache 1.2 Bugs/H2 OLa name=listenbug/a LIOn some architectures if your configuration uses multiple *** *** 39,45 This affects any architecture that doesn't use one of the codeUSE_x_SERIALIZED_ACCEPT/code definitions, see the source file codeconf.h/code for your architecture. ! pThis will be tracked as a href=http://www.apache.org/bugdb.cgi/full/467;PR#467/a. /LI --- 39,45 This affects any architecture that doesn't use one of the codeUSE_x_SERIALIZED_ACCEPT/code definitions, see the source file codeconf.h/code for your architecture. ! This will be tracked as a href=http://www.apache.org/bugdb.cgi/full/467;PR#467/a. /LI *** *** 51,318 This A HREF=../../dist/contrib/patches/1.2/conneg-bug.patchpatch/A fixes this problem. It also fixes the problem which makes Apache pick the last equally acceptable variant instead of the first. ! pThis will be tracked as a href=http://www.apache.org/bugdb.cgi/full/94;PR#94/a. /LI - /OL - - H2Version 1.2b8/H2 - - There are several known bugs in 1.2b8. See the - A HREF=http://www.apache.org/dist/patches/apply_to_1.2b8/;1.2b8 patches - directory/A for patches for some of the ones that have been fixed since - the release of 1.2b8.P - - H2Version 1.2b1/H2 - - OL - - LIusers have reported problems with many connections stuck in the - FIN_WAIT_2 state due to server timeouts. This is a quite complicated - problem; see our A HREF=fin_wait_2.htmlFIN_WAIT_2/A page for - details. - - LIhard_timeout() for request reads uses incorrect logic, and - ends up waiting for an initial request read for the default timeout - number of seconds, 1200, yet only the KeepAliveTimeout number of - seconds on keepalive connections. - - LImod_info output is not displaying current configuration as - it should. - - LIInvalid commands in .htaccess files may cause segmentation faults. - - /OL - - H2Version 1.1.1/H2 - - OL - - LIHostnames such as 123.hotwired.com are valid, yet - find_allowdeny does not properly handle them. This should be put on - Known Bugs. Be careful when fixing this because just removing the - isalpha() check creates a security hole, consider the DNS map - 1.1.1.1.in-addr.arpa IN PTR 2.2.2. if the user has a config line - allow from 2.2.2 it will allow 1.1.1.1 in (unless -DMAXIMUM_DNS). - -- which is bad because it breaks people who understand double reverse - lookup and are trying to avoid it by using only IP addresses on - allow/deny statements. - reported by Dean Gaudet, fixed in 1.2. - - /OL - - - H2Version 1.1.0/H2 - - OL - LImod_auth_msql misbehaviors. Grab a newer version from - A HREF=http://www.apache.org/dist/contrib/modules/;the modules distribution - directory/A. -fixed in 1.1 - - LIHanging on Netscape 2.0-3.0b4 on MSWindows (3.1 and 95) - - we investigated pretty seriously, and as best we can tell - this is a Netscape bug, and was fixed in 3.0b5. Please read our - A HREF=windoz_keepalive.htmllab report/A. -
cvs commit: apache/htdocs/manual/misc known_bugs.html
pcs 97/06/12 07:05:32 Modified:htdocs/manual/misc known_bugs.html Log: Ooops, fix links to the real public bugdb.cgi Revision ChangesPath 1.18 +4 -4 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.17 retrieving revision 1.18 diff -C3 -r1.17 -r1.18 *** known_bugs.html 1997/06/12 09:35:48 1.17 --- known_bugs.html 1997/06/12 14:05:31 1.18 *** *** 58,64 LI The PATH_INFO part of a request URI cannot include the sequence CODE%2f/CODE. This will be tracked as ! A HREF=http://dev.apache.org/private/bugdb.cgi/full/543;PR#543/A. /LI LIUsers of early 1.2 betas reported problems with many --- 58,64 LI The PATH_INFO part of a request URI cannot include the sequence CODE%2f/CODE. This will be tracked as ! A HREF=http://www.apache.org/bugdb.cgi/full/543;PR#543/A. /LI LIUsers of early 1.2 betas reported problems with many *** *** 79,85 then you have probably installed version 8 of bind. You will need to explicitly link with the bind library by adding CODE-lbind/CODE to CODEEXTRA_LFLAGS/CODE in CODEConfiguration/CODE. See ! A HREF=http://dev.apache.org/private/bugdb.cgi/full/616;PR#616/A and the A HREF=http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#bind8.1;Apache FAQ/A. /LI --- 79,85 then you have probably installed version 8 of bind. You will need to explicitly link with the bind library by adding CODE-lbind/CODE to CODEEXTRA_LFLAGS/CODE in CODEConfiguration/CODE. See ! A HREF=http://www.apache.org/bugdb.cgi/full/616;PR#616/A and the A HREF=http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#bind8.1;Apache FAQ/A. /LI *** *** 93,106 Compiling on Solaris 2 with SunSoft's C compiler gives the warning CODEmod_include.c, line 1123: warning: end-of-loop code not reached/CODE. This is a bogus warning and can be ignored. ! See A HREF=http://dev.apache.org/private/bugdb.cgi/full/681;PR#681/A. /LI LI There appears to be a problem on BSDI 2.1 with large numbers of virtual hosts. This appears similar to a file-descriptor limit but BSDI should not have this problem. This will be tracked as ! A HREF=http://dev.apache.org/private/bugdb.cgi/full/611;PR#611/A. See also the A HREF=http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#fdlim;Apache FAQ/A. --- 93,106 Compiling on Solaris 2 with SunSoft's C compiler gives the warning CODEmod_include.c, line 1123: warning: end-of-loop code not reached/CODE. This is a bogus warning and can be ignored. ! See A HREF=http://www.apache.org/bugdb.cgi/full/681;PR#681/A. /LI LI There appears to be a problem on BSDI 2.1 with large numbers of virtual hosts. This appears similar to a file-descriptor limit but BSDI should not have this problem. This will be tracked as ! A HREF=http://www.apache.org/bugdb.cgi/full/611;PR#611/A. See also the A HREF=http://192.168.2.4:8080/htdocs/manual/misc/FAQ.html#fdlim;Apache FAQ/A.
cvs commit: apache/htdocs/manual/misc known_bugs.html
pcs 97/06/09 07:17:29 Modified:htdocs/manual/misc Tag: APACHE_1_2_X known_bugs.html Log: Add content negotiation known bug Revision ChangesPath No revision No revision 1.14.2.1 +13 -1 apache/htdocs/manual/misc/known_bugs.html
cvs commit: apache/htdocs/manual/misc compat_notes.html
pcs 97/06/09 07:42:13 Modified:htdocs/manual/misc Tag: APACHE_1_2_X compat_notes.html Log: remove out-of-date compat note Revision ChangesPath No revision No revision 1.7.2.1 +0 -12 apache/htdocs/manual/misc/compat_notes.html
cvs commit: apache/htdocs/manual/misc compat_notes.html
pcs 97/06/07 05:22:06 Modified:htdocs/manual/misc compat_notes.html Log: Remove an invalid compat. note about AddType only taking a single extension which must not have a dot (PR#489) Revision ChangesPath 1.8 +0 -12 apache/htdocs/manual/misc/compat_notes.html Index: compat_notes.html === RCS file: /export/home/cvs/apache/htdocs/manual/misc/compat_notes.html,v retrieving revision 1.7 retrieving revision 1.8 diff -C3 -r1.7 -r1.8 *** compat_notes.html 1997/06/04 11:42:56 1.7 --- compat_notes.html 1997/06/07 12:22:06 1.8 *** *** 34,51 format allows commas between user names - Apache does not.BR I- added 12/1/96/I - LICODEAddType/CODE only accepts one file extension per line, without - any dots (code./code) in the extension, and does not take full filenames. - If you need multiple extensions per type, use multiple lines, e.g. - blockquotecode - AddType application/foo foobr - AddType application/foo bar - /code/blockquote - To map code.foo/code and code.bar/code to codeapplication/foo/code - p - - - LIPIf you follow the NCSA guidelines for setting up access restrictions based on client domain, you may well have added entries for, CODEAuthType, AuthName, AuthUserFile/CODE or CODEAuthGroupFile/CODE. --- 34,39
cvs commit: apache/htdocs/manual/mod mod_mime.html
pcs 97/06/07 05:27:51 Modified:htdocs/manual/mod mod_mime.html Log: Document AddHandler can be used with multiple extensions (like the other Add* directives). Remove ... around AddHandler, ForceType and SetHandler syntax. Revision ChangesPath 1.12 +4 -4 apache/htdocs/manual/mod/mod_mime.html Index: mod_mime.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_mime.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C3 -r1.11 -r1.12 *** mod_mime.html 1997/06/04 16:14:22 1.11 --- mod_mime.html 1997/06/07 12:27:50 1.12 *** *** 72,85 h2a name=addhandlerAddHandler/a/h2 ! strongSyntax:/strong lt;AddHandler emhandler-name extension/emgt;br strongContext:/strong server config, virtual host, directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_mimebr strongCompatibility:/strong AddHandler is only available in Apache 1.1 and laterp ! pAddHandler maps the filename extension emextension/em to the a href=../handler.htmlhandler/a emhandler-name/em. For example, to activate CGI scripts with the file extension code.cgi/code, you might use: --- 72,85 h2a name=addhandlerAddHandler/a/h2 ! strongSyntax:/strong AddHandler emhandler-name extension extension.../embr strongContext:/strong server config, virtual host, directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_mimebr strongCompatibility:/strong AddHandler is only available in Apache 1.1 and laterp ! pAddHandler maps the filename extensions emextension/em to the a href=../handler.htmlhandler/a emhandler-name/em. For example, to activate CGI scripts with the file extension code.cgi/code, you might use: *** *** 138,144 h2a name=forcetypeForceType/a/h2 ! strongSyntax:/strong lt;ForceType emmedia type/emgt;br strongContext:/strong directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_mimebr --- 138,144 h2a name=forcetypeForceType/a/h2 ! strongSyntax:/strong ForceType emmedia type/embr strongContext:/strong directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_mimebr *** *** 159,165 h2a name=sethandlerSetHandler/a/h2 ! strongSyntax:/strong lt;SetHandler emhandler-name/emgt;br strongContext:/strong directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_mimebr --- 159,165 h2a name=sethandlerSetHandler/a/h2 ! strongSyntax:/strong SetHandler emhandler-name/embr strongContext:/strong directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_mimebr
cvs commit: apache KEYS
pcs 97/06/05 03:25:21 Modified:. KEYS Log: My key Revision ChangesPath 1.8 +16 -0 apache/KEYS Index: KEYS === RCS file: /export/home/cvs/apache/KEYS,v retrieving revision 1.7 retrieving revision 1.8 diff -C3 -r1.7 -r1.8 *** KEYS 1997/06/05 07:55:25 1.7 --- KEYS 1997/06/05 10:25:20 1.8 *** *** 139,141 --- 139,157 HqnD7HCS9Oj1INdyyQuCxZYGHAgxHhpfNTZt+33tMSFIZTQ= =uIkU -END PGP PUBLIC KEY BLOCK- + + Type Bits/KeyIDDate User ID + pub 1024/2F90A69D 1997/02/24 Paul Sutton [EMAIL PROTECTED] + + -BEGIN PGP PUBLIC KEY BLOCK- + Version: 2.6.3ia + + mQCNAzMRsB0AAAEEAKj2XYYEGcZhT69x4gskQ3xz+KMTLn7gKSqqcyyeinJ0ZjLl + 6AJjb1/68nGsF+IIY+IJS+5smq8do1qpC3UZcmw423Sg8F71GeqDO4HZXOAOieVy + rpVs6S5TaXlJOcrC7zZCx+iql97+xJFjUGkkS7j/jIkx1AajzMNkSr0vkKadAAUR + tBxQYXVsIFN1dHRvbiA8cGF1bEB1a3dlYi5jb20+iQCVAwUQMxGwHcNkSr0vkKad + AQGrigP9F43zbiOigYel+JCMiB0HK/UdqSrf3xWxHIKWKNhQNjhnyeF+jKQwFld6 + 7KQYsqZIpHsWLWmSk0AmKQOUIw+DxclDxBL2dT4p+CjgTgIAcbvPpahWkBAw/E+c + EGTiYbe+Y3sHJhhP+d0TOLmsETG9tpi7gFZ6FfNcWPxFMdxGrf4= + =0jQW + -END PGP PUBLIC KEY BLOCK-
cvs commit: apache-site/contributors index.html
pcs 97/05/15 10:13:35 Modified:contributors index.html Log: Added my entry as suggested by Roy. Revision ChangesPath 1.7 +18 -0 apache-site/contributors/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/contributors/index.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C3 -r1.6 -r1.7 *** index.html1997/05/13 11:39:12 1.6 --- index.html1997/05/15 17:13:34 1.7 *** *** 36,41 --- 36,42 LIBA HREF=#skolnickCliff Skolnick/A/B nbsp;nbsp;nbsp;Solaris porting. LIBA HREF=#smileyGarey Smiley/A/B nbsp;nbsp;nbsp;OS/2 ports. LIBAdam Sussman/B nbsp;nbsp;nbsp;Various patches. + LIBA HREF=#suttonPaul Sutton/A/B nbsp;nbsp;nbsp;Documention writing, code hacking, bug fixing LIBA HREF=#terbushRandy Terbush/A/B nbsp;nbsp;nbsp;Logo design, bugfixes, NetBSD, BSDI SunOS porting. LIBA HREF=#thauRobert Thau/A/B nbsp;nbsp;nbsp;Designed and implemented module API, did server core overhaul, process pool model, content negotiation, lots and lots of other stuff. LIBA HREF=#vangulikDirk van Gulik/A/B nbsp;nbsp;nbsp; *** *** 287,292 --- 288,310 P + P + + BName:/B A NAME=suttonPaul Sutton/ABR + BEmail:/B A HREF=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/ABR + BURL:/B A HREF=http://www.ukweb.com/~paul/; http://www.ukweb.com/~paul/ BR/A + BOrganization:/B UK Web LtdBR + BOccupation:/B Technical Director BR + BLocation:/B Leeds, UKBR + BComments:/B I like documenting things, I really do. Why are you wearing white suits?BR + BContributions:/B + Long time Apache convert (fixed a bug in version 0.5.2). Actually + likes documention and commenting source. Contributions include some + content negotiation stuff, various bug fixes and testing, mod_headers, + multiple log files, options +/-. Also edits a + href=http://www.apacheweek.com/;Apache Week/A. + + P BName:/B A NAME=terbushRandy Terbush/ABR BEmail:/B A HREF=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/ABR
cvs commit: apache/htdocs/manual/misc FAQ.html
pcs 97/04/18 13:42:20 Modified:htdocs/manual/misc FAQ.html Log: Two cookies questions Revision ChangesPath 1.25 +58 -1 apache/htdocs/manual/misc/FAQ.html Index: FAQ.html === RCS file: /export/home/cvs/apache/htdocs/manual/misc/FAQ.html,v retrieving revision 1.24 retrieving revision 1.25 diff -C3 -r1.24 -r1.25 *** FAQ.html 1997/04/15 21:17:46 1.24 --- FAQ.html 1997/04/18 20:42:19 1.25 *** *** 8,14 !--#include virtual=header.html -- H1Apache Server Frequently Asked Questions/H1 P ! $Revision: 1.24 $ ($Date: 1997/04/15 21:17:46 $) /P P Throughout the text of this FAQ you may find numbers enclosed in --- 8,14 !--#include virtual=header.html -- H1Apache Server Frequently Asked Questions/H1 P ! $Revision: 1.25 $ ($Date: 1997/04/18 20:42:19 $) /P P Throughout the text of this FAQ you may find numbers enclosed in *** *** 95,100 --- 95,105 LIA HREF=#setgidWhy do I get quot;setgid: Invalid argumentquot; at startup?/A /LI +LIA HREF=#cookies1Why does Apache send a cookie on every response?/A +/LI +LIA HREF=#cookies2Why don't my cookies work, I even compiled in + mod_cookies?/A +/LI /OL /LI LIA *** *** 760,765 --- 765,805 /P HR /LI + LIA NAME=cookies1 + STRONGWhy does Apache send a cookie on every response?/STRONG/A + P +Apache does inot/i send automatically send a cookie on every +response, unless you have re-compiled it with the + A + HREF=../mod/mod_cookiesmod_cookies/AA + HREF=#References[22]/A/SAMP module. +This module was distributed with Apache prior to 1.2. +This module may help track users, and uses cookies to do this. If +you are not using the data generated by mod_cookies, do not compile +it into Apache. Note that in 1.2 this module was renamed to the +more correct name + A + HREF=../mod/mod_usertrackmod_usertrack/AA + HREF=#References[23]/A/SAMP, and cookies +have to be specifically enabled with the SAMP + A + HREF=../mod/mod_usertrack#cookietrackingCookieTracking/AA + HREF=#References[24]/A/SAMP +directive. + /P + HR + /LI + LIA NAME=cookies2 + STRONGWhy don't my cookies work, I even compiled in mod_cookies? + /STRONG/A +P + Firstly, you do inot/i need to compile in mod_cookies in order + for your scripts to work (see A HREF=#cookies1this question/A + for more about mod_cookies). Apache passes on your Set-Cookie header + fine, with or without this module. If cookies do not work it will + be because your script does not work properly or your browser does + not use cookies or is not set-up to accept them. + /LI /OL HR A NAME=References *** *** 893,898 --- 933,955 DDA HREF=http://www.apache.org/docs/mod/core.html#group; http://www.apache.org/docs/mod/core.html#group/A +DT[22] +/DT +DDA + HREF=http://www.apache.org/docs/mod/mod_cookies; +http://www.apache.org/docs/mod/mod_cookies/A +/DD +DT[23] +/DT +DDA + HREF=http://www.apache.org/docs/mod/mod_usertrack; +http://www.apache.org/docs/mod/mod_usertrack/A +/DD +DT[24] +/DT +DDA + HREF=http://www.apache.org/docs/mod/mod_usertrack#cookietracking; +http://www.apache.org/docs/mod/mod_usertrack#cookietracking/A /DD /DL !--#include virtual=footer.html --
cvs commit: apache/htdocs/manual new_features_1_2.html
pcs 97/04/18 14:45:58 Modified:htdocs/manual new_features_1_2.html Log: Remove to be documented on vhost enhancements. Mention _default_ as a new feature. Revision ChangesPath 1.26 +4 -4 apache/htdocs/manual/new_features_1_2.html Index: new_features_1_2.html === RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_2.html,v retrieving revision 1.25 retrieving revision 1.26 diff -C3 -r1.25 -r1.26 *** new_features_1_2.html 1997/02/20 10:40:25 1.25 --- new_features_1_2.html 1997/04/18 21:45:57 1.26 *** *** 109,120 the cookie module is compiled in. Also, an expiry time can be set on the cookies. ! libxa href=multi_ip.htmlMultiple IPs in ! lt;VirtualHostgt;/a/b ! [Documentation to be written]br The lt;VirtualHostgt; directive can now take more than one IP address or hostname. This lets a single vhost handles requests ! for multiple IPs or hostnames. liba href=mod/mod_cgi.html#cgi_debugCGI Debugging Environment/a/bbr codeScriptLog/code allows you to now set up a log that records --- 109,120 the cookie module is compiled in. Also, an expiry time can be set on the cookies. ! liba href=mod/core.html#virtualhostlt;VirtualHostgt; Enhancements/a/bbr The lt;VirtualHostgt; directive can now take more than one IP address or hostname. This lets a single vhost handles requests ! for multiple IPs or hostnames. Also the special section ! lt;VirtualHost _default_gt; can be used to handle requests normally ! left for the main server configuration. liba href=mod/mod_cgi.html#cgi_debugCGI Debugging Environment/a/bbr codeScriptLog/code allows you to now set up a log that records
cvs commit: apache/htdocs/manual/mod core.html
pcs 97/04/18 14:55:12 Modified:htdocs/manual/mod core.html Log: Explain Satisfy directive. Revision ChangesPath 1.47 +12 -2 apache/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v retrieving revision 1.46 retrieving revision 1.47 diff -C3 -r1.46 -r1.47 *** core.html 1997/04/16 09:09:34 1.46 --- core.html 1997/04/18 21:55:11 1.47 *** *** 1060,1071 A name=satisfyh2Satisfy/h2/A !--%plaintext lt;?INDEX {\tt Satisfy} directivegt; -- strongSyntax:/strong Satisfy em'any' or 'all'/embr strongContext:/strong server config, virtual host, directory, .htaccessbr strongStatus:/strong corebr strongCompatibility:/strong Satisfy is only available in Apache 1.2 and laterp ! Access policy if both allow and require used. The parameter can be either ! em'all'/em or em'any'/em. phr --- 1060,1081 A name=satisfyh2Satisfy/h2/A !--%plaintext lt;?INDEX {\tt Satisfy} directivegt; -- strongSyntax:/strong Satisfy em'any' or 'all'/embr + strongDefault:/strong Satisy allbr strongContext:/strong server config, virtual host, directory, .htaccessbr strongStatus:/strong corebr strongCompatibility:/strong Satisfy is only available in Apache 1.2 and laterp ! Access policy if both allow and require used. The parameter can be ! either em'all'/em or em'any'/em. This directive is only useful ! if access to a particular area is being restricted by both ! username/password iand/i client host address. In this case the ! default behavior (all) is to require that the client passes the ! address access restriction iand/i enters a valid username and ! password. With the any option the client will be granted access if ! they either pass the host restriction or enter a valid username and ! password. This can be used to password restrict an area, but to let ! clients from particular addresses in without prompting for a password. ! phr
cvs commit: apache/htdocs/manual/mod mod_include.html
pcs 97/04/18 15:13:51 Modified:htdocs/manual/mod mod_include.html Log: Provide information on enabling SSI files. Document how to enable SSI using a handler name, and relegate the magic mime types to back-compat. status. Revision ChangesPath 1.7 +28 -5 apache/htdocs/manual/mod/mod_include.html Index: mod_include.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_include.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C3 -r1.6 -r1.7 *** mod_include.html 1997/02/12 04:37:35 1.6 --- mod_include.html 1997/04/18 22:13:50 1.7 *** *** 10,23 This module is contained in the codemod_include.c/code file, and is compiled in by default. It provides for server-parsed html ! documents, known as SPML documents. Any document with mime type ! codetext/x-server-parsed-html/code or ! codetext/x-server-parsed-html3/code will be parsed by this module, ! with the resulting output given the mime type codetext/html/code. ! Several directives beyond the original NCSA SPML definition have been included in Apache 1.2 - these are flagged below with the phrase Apache 1.2 and above. Of particular significance are the new flow control directives documented at the bottom. h2Basic Elements/h2 --- 10,46 This module is contained in the codemod_include.c/code file, and is compiled in by default. It provides for server-parsed html ! documents. Several directives beyond the original NCSA definition have been included in Apache 1.2 - these are flagged below with the phrase Apache 1.2 and above. Of particular significance are the new flow control directives documented at the bottom. + + H2Enabling Server-Side Includes/H2 + + Any document with handler of server-parsed will be parsed by this + module, if the CODEIncludes/CODE option is set. If documents + containing server-side include directives are given the extension + .shtml, the following directives will make Apache parse them and + assign the resulting document the mime type of CODEtext/html/CODE: + + PRE + AddType text/html .shtml + AddHandler server-parsed .shtml + /PRE + + The following directive must be given for the directories containing + the shtml files (typically in a CODElt;Directorygt;/CODE section, + but this directive is also valid .htaccess files if CODEAllowOverride + Options/CODE is set): + + PRE + Options +Includes + /PRE + + For backwards compatibility, documents with mime type + codetext/x-server-parsed-html/code or + codetext/x-server-parsed-html3/code will also be parsed + (and the resulting output given the mime type codetext/html/code). h2Basic Elements/h2
cvs commit: apache/htdocs/manual/mod mod_include.html
pcs 97/04/18 15:19:59 Modified:htdocs/manual/mod mod_include.html Log: Forgot to mention XBitHack as a method of enabling SSI. Update docs for this directive to state it only applies to text/html files. Revision ChangesPath 1.8 +6 -0 apache/htdocs/manual/mod/mod_include.html Index: mod_include.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_include.html,v retrieving revision 1.7 retrieving revision 1.8 diff -C3 -r1.7 -r1.8 *** mod_include.html 1997/04/18 22:13:50 1.7 --- mod_include.html 1997/04/18 22:19:58 1.8 *** *** 37,42 --- 37,46 Options +Includes /PRE + Alternatively the A HREF=#xbithackCODEXBitHack/CODE/A + directive can be used to parse normal (CODEtext/html/CODE) files, + based on file permissions. P + For backwards compatibility, documents with mime type codetext/x-server-parsed-html/code or codetext/x-server-parsed-html3/code will also be parsed *** *** 316,321 --- 320,327 strongModule:/strong mod_includep The XBitHack directives controls the parsing of ordinary html documents. + This directive only affects files associated with the MIME type + CODEtext/html/CODE. emStatus/em can have the following values: dl dtoff
cvs commit: apache/htdocs/manual/mod core.html
pcs 97/04/16 02:09:35 Modified:htdocs/manual/mod core.html Log: Put ClearModuleList in correct place. Submitted By: [EMAIL PROTECTED] Revision ChangesPath 1.46 +11 -11apache/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v retrieving revision 1.45 retrieving revision 1.46 diff -C3 -r1.45 -r1.46 *** core.html 1997/04/15 15:56:46 1.45 --- core.html 1997/04/16 09:09:34 1.46 *** *** 209,225 A HREF=mod_auth.html#authuserfileAuthUserFile/A and A HREF=mod_auth.html#authgroupfileAuthGroupFile/A to work.phr - A name=clearmodulelisth2ClearModuleList directive/h2/A - !--%plaintext lt;?INDEX {\tt ClearModuleList} directivegt; -- - strongSyntax:/strong ClearModuleListbr - strongContext:/strong server configbr - strongStatus:/strong corebr - strongCompatibility:/strong ClearModuleList is only available in Apache 1.2 and laterp - - The server comes with a built-in list of active modules. This - directive clears the list. It is assumed that the list will then be - re-populated using the A HREF=#addmoduleAddModule/A directive.phr - A name=bindaddressh2BindAddress directive/h2/A !--%plaintext lt;?INDEX {\tt BindAddress} directivegt; -- strongSyntax:/strong BindAddress emsaddr/embr --- 209,214 *** *** 250,255 --- 239,255 a href=../bind.htmlSetting which addresses and ports Apache uses/a/p hr + + A name=clearmodulelisth2ClearModuleList directive/h2/A + !--%plaintext lt;?INDEX {\tt ClearModuleList} directivegt; -- + strongSyntax:/strong ClearModuleListbr + strongContext:/strong server configbr + strongStatus:/strong corebr + strongCompatibility:/strong ClearModuleList is only available in Apache 1.2 and laterp + + The server comes with a built-in list of active modules. This + directive clears the list. It is assumed that the list will then be + re-populated using the A HREF=#addmoduleAddModule/A directive.phr A name=defaulttypeh2DefaultType directive/h2/A !--%plaintext lt;?INDEX {\tt DefaultType} directivegt; --
cvs commit: apache/htdocs/manual/mod mod_auth_anon.html
pcs 97/04/16 02:13:05 Modified:htdocs/manual/mod mod_auth_anon.html Log: Add missing link targets [EMAIL PROTECTED] Module is not compiled in by default. Update directive descriptions to use standard manual page format. Revision ChangesPath 1.5 +71 -38apache/htdocs/manual/mod/mod_auth_anon.html Index: mod_auth_anon.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_auth_anon.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C3 -r1.4 -r1.5 *** mod_auth_anon.html1997/02/15 22:27:57 1.4 --- mod_auth_anon.html1997/04/16 09:13:05 1.5 *** *** 1,15 ! html ! head ! titleModule mod_auth_anon.c/title ! /head ! body !--#include virtual=header.html -- H1Module mod_auth_anon/H1 This module is contained in the codemod_auth_anon.c/code file and ! is compiled in by default. It is only available in Apache 1.1 and ! later. ! p It does access control in a manner similar to anonymous-ftp sites; i.e. have a 'magic' user id 'anonymous' and the email address as a password. These email addresses can be logged. --- 1,18 ! !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN ! HTML ! HEAD ! TITLEApache module mod_auth_anon.c/TITLE ! /HEAD ! BODY !--#include virtual=header.html -- H1Module mod_auth_anon/H1 This module is contained in the codemod_auth_anon.c/code file and ! is not compiled in by default. It is only available in Apache 1.1 and ! later. It allows anonymous user access to authenticated areas. ! ! h2Summary/h2 ! It does access control in a manner similar to anonymous-ftp sites; i.e. have a 'magic' user id 'anonymous' and the email address as a password. These email addresses can be logged. *** *** 22,28 allows users to share URLs. p ! a href=#FullDescriptionFull description/a / a href=#ExampleExample/a / a href=#CompileTimeOptionsCompile time options/a / a href=#RevisionHistoryRevisionHistory/a / --- 25,31 allows users to share URLs. p ! a href=#DirectivesDirectives/a / a href=#ExampleExample/a / a href=#CompileTimeOptionsCompile time options/a / a href=#RevisionHistoryRevisionHistory/a / *** *** 30,41 a href=#SourcecodeSourcecode/a p ! hrh2a name=FullDescriptionFull description of all tokens/a/h2 ! dl - codedt - Anonymous lt; Space separated list gt - /code/dtdd A list of one or more 'magic' userIDs which are allowed access without password verification. The userIDs are space separated. It is possible to use the ' and quotes to allow a space in --- 33,58 a href=#SourcecodeSourcecode/a p ! h2a name=DirectivesDirectives/a/h2 ! ul ! liA HREF=#anonymousAnonymous/A ! liA HREF=#LogMailAnonymous_LogEmail/A ! liA HREF=#VerifyEmailAnonymous_VerifyEmail/A ! liA HREF=#NoUserAnonymous_NoUser/A ! liA HREF=#AuthoritativeAnonymous_Authoritative/A ! /ul ! ! hr ! ! A name=anonymoush2Anonymous/h2/a ! !--%plaintext lt;?INDEX {\tt Anonymous} directivegt; -- ! strongSyntax:/strong Anonymous emuser user .../embr ! strongDefault:/strong nonebr ! strongContext:/strong directory, .htaccessbr ! strongOverride:/strong AuthConfigbr ! strongStatus:/strong Extensionbr ! strongModule:/strong mod_auth_anonp A list of one or more 'magic' userIDs which are allowed access without password verification. The userIDs are space separated. It is possible to use the ' and quotes to allow a space in *** *** 53,89 This would allow the user to enter without password verification by using the userId's 'anonymous', 'AnonyMous','Not Registered' and 'I Don't Know'. ! /dd - codedt - Anonymous_LogEmail lt; on | off gt - /code/dtdd When set 'on', the default, the 'password' entered (which hopefully contains a sensible email address) is logged in the httpd-log file. ! /dd ! codedt ! Anonymous_VerifyEmail lt; on | off gt ! /code/dtdd ! When set 'on', the default is 'off', the 'password' entered is checked for at least one '@' and a '.' to encourage users to enter ! valid email addresses (see the above codeAuth_LogEmail/code. ! /dd ! codedt ! Anonymous_NoUserID lt; on | off gt ! /code/dtdd ! When set 'on', the default is 'off', users can leave the userID (and perhaps the password field) empty. This can be very convenient for MS-Explorer users who can just hit return or click directly on the OK button; which seems a natural reaction. - /dd ! codedt ! a name=AuthoritativeAnonymous_Authoritative lt; on | off gt/a ! /code/dtdd ! Default is 'off'. When set 'on',
cvs commit: apache/htdocs/manual/mod directives.html
pcs 97/04/16 02:50:17 Modified:htdocs/manual/mod directives.html Log: Add ScoreBoardFile, add .. to IfModule Submitted By: [EMAIL PROTECTED] Revision ChangesPath 1.17 +2 -1 apache/htdocs/manual/mod/directives.html Index: directives.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/directives.html,v retrieving revision 1.16 retrieving revision 1.17 diff -C3 -r1.16 -r1.17 *** directives.html 1997/04/12 18:31:54 1.16 --- directives.html 1997/04/16 09:50:17 1.17 *** *** 81,87 liA HREF=mod_dir.html#headernameHeaderName/A liA HREF=core.html#hostnamelookupsHostNameLookups/A liA HREF=core.html#identitycheckIdentityCheck/A ! liA HREF=core.html#ifmoduleIfModule/A liA HREF=mod_imap.html#imapbaseImapBase/A liA HREF=mod_imap.html#imapdefaultImapDefault/A liA HREF=mod_imap.html#imapmenuImapMenu/A --- 81,87 liA HREF=mod_dir.html#headernameHeaderName/A liA HREF=core.html#hostnamelookupsHostNameLookups/A liA HREF=core.html#identitycheckIdentityCheck/A ! liA HREF=core.html#ifmodulelt;IfModulegt;/A liA HREF=mod_imap.html#imapbaseImapBase/A liA HREF=mod_imap.html#imapdefaultImapDefault/A liA HREF=mod_imap.html#imapmenuImapMenu/A *** *** 133,138 --- 133,139 liA HREF=core.html#rlimitmemRLimitMEM/A liA HREF=core.html#rlimitnprocRLimitNPROC/A liA HREF=core.html#satisfySatisfy/A + liA HREF=core.html#scoreboardfileScoreBoardFile/A liA HREF=mod_actions.html#scriptScript/A liA HREF=mod_alias.html#scriptaliasScriptAlias/A liA HREF=mod_cgi.html#scriptlogScriptLog/A
cvs commit: apache/htdocs/manual/mod directives.html mod_env.html
pcs 97/04/16 05:21:10 Modified:htdocs/manual/mod directives.html mod_env.html Log: Document UnsetEnv. Fix documented syntax of SetEnv. Revision ChangesPath 1.18 +1 -0 apache/htdocs/manual/mod/directives.html Index: directives.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/directives.html,v retrieving revision 1.17 retrieving revision 1.18 diff -C3 -r1.17 -r1.18 *** directives.html 1997/04/16 09:50:17 1.17 --- directives.html 1997/04/16 12:21:09 1.18 *** *** 153,158 --- 153,159 liA HREF=mod_log_common.html#transferlogTransferLog/A (mod_log_common) liA HREF=mod_log_config.html#transferlogTransferLog/A (mod_log_config) liA HREF=mod_mime.html#typesconfigTypesConfig/A + liA HREF=mod_env.html#unsetenvUnsetEnv/A liA HREF=core.html#userUser/A liA HREF=mod_userdir.html#userdirUserDir/A liA HREF=core.html#virtualhostlt;VirtualHostgt;/A 1.4 +23 -4 apache/htdocs/manual/mod/mod_env.html Index: mod_env.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_env.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C3 -r1.3 -r1.4 *** mod_env.html 1996/12/02 18:14:05 1.3 --- mod_env.html 1997/04/16 12:21:09 1.4 *** *** 25,48 ul liA HREF=#passenvPassEnv/A liA HREF=#setenvSetEnv/A /ul hr A name=passenvh2PassEnv/h2/A ! strongSyntax:/strong PassEnv emvariable/embr strongContext:/strong server config, virtual hostbr strongStatus:/strong Basebr strongModule:/strong mod_envbr strongCompatibility:/strong PassEnv is only available in Apache 1.1 and later.p ! Passes an environment variable to CGI scripts from the server's own ! environment. Example: pre PassEnv LD_LIBRARY_PATH /pre A name=setenvh2SetEnv/h2/A strongSyntax:/strong SetEnv emvariable value/embr --- 25,50 ul liA HREF=#passenvPassEnv/A liA HREF=#setenvSetEnv/A + liA HREF=#unsetenvUnsetEnv/A /ul hr A name=passenvh2PassEnv/h2/A ! strongSyntax:/strong PassEnv emvariable variable .../embr strongContext:/strong server config, virtual hostbr strongStatus:/strong Basebr strongModule:/strong mod_envbr strongCompatibility:/strong PassEnv is only available in Apache 1.1 and later.p ! Specifies one or more environment variables to pass to CGI scripts ! from the server's own environment. Example: pre PassEnv LD_LIBRARY_PATH /pre + HR A name=setenvh2SetEnv/h2/A strongSyntax:/strong SetEnv emvariable value/embr *** *** 58,65 SetEnv SPECIAL_PATH /foo/bin /pre ! p !--#include virtual=footer.html -- /BODY /HTML --- 60,84 SetEnv SPECIAL_PATH /foo/bin /pre ! hr ! ! A name=unsetenvh2UnsetEnv/h2/A ! strongSyntax:/strong UnsetEnv emvariable variable .../embr ! strongContext:/strong server config, virtual hostbr ! strongStatus:/strong Basebr ! strongModule:/strong mod_envbr ! strongCompatibility:/strong UnsetEnv is only available in ! Apache 1.1 and later.p + Removes one or more environment variables from those passed on to + CGI scripts. Example: + pre + UnsetEnv LD_LIBRARY_PATH + /pre + + + + p !--#include virtual=footer.html -- /BODY /HTML
cvs commit: apache/htdocs/manual handler.html
pcs 97/04/16 05:43:21 Modified:htdocs/manual handler.html Log: Add missing Submitted by: [EMAIL PROTECTED] Revision ChangesPath 1.7 +1 -1 apache/htdocs/manual/handler.html Index: handler.html === RCS file: /export/home/cvs/apache/htdocs/manual/handler.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C3 -r1.6 -r1.7 *** handler.html 1996/12/05 16:53:33 1.6 --- handler.html 1997/04/16 12:43:20 1.7 *** *** 90,96 strongModule:/strong mod_mime pWhen placed into an code.htaccess/code file or a ! codelt;Directorygt;/code or codelt;Location/code section, this directive forces all matching files to be parsed through the handler given by emhandler-name/em. For example, if you had a directory you wanted to be parsed entirely as imagemap rule files, --- 90,96 strongModule:/strong mod_mime pWhen placed into an code.htaccess/code file or a ! codelt;Directorygt;/code or codelt;Locationgt;/code section, this directive forces all matching files to be parsed through the handler given by emhandler-name/em. For example, if you had a directory you wanted to be parsed entirely as imagemap rule files,
cvs commit: apache/htdocs/manual/misc compat_notes.html
pcs 97/04/15 06:31:11 Modified:htdocs/manual/misc compat_notes.html Log: Add note that Apache pre-1.2 ignores last line when final newline is missing. Apparently NCSA does not ignore the final line in this situation. Revision ChangesPath 1.5 +6 -0 apache/htdocs/manual/misc/compat_notes.html Index: compat_notes.html === RCS file: /export/home/cvs/apache/htdocs/manual/misc/compat_notes.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C3 -r1.4 -r1.5 *** compat_notes.html 1997/03/25 04:57:58 1.4 --- compat_notes.html 1997/04/15 13:31:10 1.5 *** *** 98,103 --- 98,109 it added one automatically if the .asis file contained a Location header. 0.8.14 requires a Status header. p + P + LIApache versions before 1.2b1 will ignore the last line of configuration + files if the last line does not have a trailing newline. This affects + configuration files (httpd.conf, access.conf and srm.conf), and + htpasswd and htgroup files. + /OL More to come when we notice them
cvs commit: apache/htdocs/manual/mod mod_log_config.html
pcs 97/03/28 07:16:16 Modified:htdocs/manual/mod mod_log_config.html Log: Fix ELF format Revision ChangesPath 1.15 +1 -1 apache/htdocs/manual/mod/mod_log_config.html Index: mod_log_config.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_log_config.html,v retrieving revision 1.14 retrieving revision 1.15 diff -C3 -r1.14 -r1.15 *** mod_log_config.html 1997/03/27 20:09:02 1.14 --- mod_log_config.html 1997/03/28 15:16:15 1.15 *** *** 143,149 Note that the common log format is defined by the string code%h %l %u %t \%r\ %s %b/code, which can be used as the basis for extending for format if desired (e.g. to add extra fields at the end). ! NCSA's extended/combined log format would be code%h %l %u %t \%r\ %s %b \%{Referer}i\ \%{Agent}i\/code. h2Using Multiple Log Files/h3 --- 143,149 Note that the common log format is defined by the string code%h %l %u %t \%r\ %s %b/code, which can be used as the basis for extending for format if desired (e.g. to add extra fields at the end). ! NCSA's extended/combined log format would be code%h %l %u %t \%r\ %s %b \%{Referer}i\ \%{User-agent}i\/code. h2Using Multiple Log Files/h3
cvs commit: apache/src Configure
pcs 97/02/06 06:09:56 Modified:src Configure Log: Reviewed by: Brian Behlendorf, Chuck Murcko, Roy T. Fielding Auto-create a Makefile in the support directory: update Configure to write out the configured information to Makefile.config then prepend that to the Makefile.tmpl in both src and support. Revision ChangesPath 1.76 +20 -17apache/src/Configure Index: Configure === RCS file: /export/home/cvs/apache/src/Configure,v retrieving revision 1.75 retrieving revision 1.76 diff -C3 -r1.75 -r1.76 *** Configure 1997/02/04 23:54:22 1.75 --- Configure 1997/02/06 14:09:55 1.76 *** *** 426,435 # Show the final values of the rules ! echo # Platform: $OS Makefile ! echo # Final Rules: Makefile ! echo # Rule WANTHSREGEX=$RULE_WANTHSREGEX Makefile ! echo ### Makefile # # Now that _that's_ done, get on with it --- 426,436 # Show the final values of the rules ! echo ### Makefile.config ! echo # Platform: $OS Makefile.config ! echo # Final Rules: Makefile.config ! echo # Rule WANTHSREGEX=$RULE_WANTHSREGEX Makefile.config ! echo ### Makefile.config # # Now that _that's_ done, get on with it *** *** 532,552 # echo Makefile if [ x$CC != x ]; then ! echo CC=$CC Makefile fi if [ x$OPTIM != x ]; then ! echo OPTIM=$OPTIM Makefile fi ! echo CFLAGS1=$CFLAGS Makefile ! echo INCLUDES1=$INCLUDES Makefile ! echo LIBS1=$LIBS Makefile ! echo LFLAGS1=$LFLAGS Makefile ! echo BROKEN_BPRINTF_FLAGS=$OSBPRINTF Makefile ! echo REGLIB=$REGLIB Makefile ! echo RANLIB=$RANLIB Makefile ! echo Makefile ! echo End of Configure created section Makefile ! echo Makefile - cat $makefile_tmpl Makefile --- 533,555 # echo Makefile if [ x$CC != x ]; then ! echo CC=$CC Makefile.config fi if [ x$OPTIM != x ]; then ! echo OPTIM=$OPTIM Makefile.config fi ! echo CFLAGS1=$CFLAGS Makefile.config ! echo INCLUDES1=$INCLUDES Makefile.config ! echo LIBS1=$LIBS Makefile.config ! echo LFLAGS1=$LFLAGS Makefile.config ! echo BROKEN_BPRINTF_FLAGS=$OSBPRINTF Makefile.config ! echo REGLIB=$REGLIB Makefile.config ! echo RANLIB=$RANLIB Makefile.config ! echo Makefile.config ! echo End of Configure created section Makefile.config + # Now (finish) creating the makefiles + cat Makefile.config Makefile + cat $makefile_tmpl Makefile + cat Makefile.config ../support/Makefile.tmpl ../support/Makefile
cvs commit: apache/htdocs/manual content-negotiation.html
pcs 97/01/28 07:38:15 Modified:htdocs/manual content-negotiation.html Log: Typos and other minor mistakes Revision ChangesPath 1.6 +25 -26apache/htdocs/manual/content-negotiation.html Index: content-negotiation.html === RCS file: /export/home/cvs/apache/htdocs/manual/content-negotiation.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C3 -r1.5 -r1.6 *** content-negotiation.html 1996/12/20 16:13:14 1.5 --- content-negotiation.html 1997/01/28 15:38:14 1.6 *** *** 86,92 named codetype-map/code (or, for backwards-compatibility with older Apache configurations, the mime type codeapplication/x-type-map/code). Note that to use this feature, ! you've got to have an codeSetHanlder/code some place which defines a file suffix as codetype-map/code; this is best done with a pre --- 86,92 named codetype-map/code (or, for backwards-compatibility with older Apache configurations, the mime type codeapplication/x-type-map/code). Note that to use this feature, ! you've got to have an codeSetHandler/code some place which defines a file suffix as codetype-map/code; this is best done with a pre *** *** 162,168 containing the actual raw data, this says how that was done. For compressed files (the only case where this generally comes up), content encoding should be !codex-compress/code, or codegzip/code, as appropriate. dt codeContent-length:/code dd The size of the file. Clients can ask to receive a given media type only if the variant isn't too big; specifying a content --- 162,168 containing the actual raw data, this says how that was done. For compressed files (the only case where this generally comes up), content encoding should be !codex-compress/code, or codex-gzip/code, as appropriate. dt codeContent-length:/code dd The size of the file. Clients can ask to receive a given media type only if the variant isn't too big; specifying a content *** *** 173,184 h3Multiviews/h3 This is a per-directory option, meaning it can be set with an ! codeOptions/code directive within a codelt;Directorygt;/code section in codeaccess.conf/code, or (if codeAllowOverride/code is properly set) in code.htaccess/code files. Note that codeOptions All/code does not set codeMultiViews/code; you have to ask for it by name. (Fixing this is a one-line change to ! codehttpd.h/code). p --- 173,185 h3Multiviews/h3 This is a per-directory option, meaning it can be set with an ! codeOptions/code directive within a codelt;Directorygt;/code, ! codelt;Locationgt;/code or codelt;Filesgt;/code section in codeaccess.conf/code, or (if codeAllowOverride/code is properly set) in code.htaccess/code files. Note that codeOptions All/code does not set codeMultiViews/code; you have to ask for it by name. (Fixing this is a one-line change to ! codehttp_core.h/code). p *** *** 236,243 trthDimension thNotes trtdMedia Type ! tdBrowser indicates preferences on Accept: header. Each item ! can have an associate quality factor. Variant description can also have a quality factor. trtdLanguage tdBrowser indicates preferneces on Accept-Language: header. Each --- 237,244 trthDimension thNotes trtdMedia Type ! tdBrowser indicates preferences on Accept: header. Each item ! can have an associated quality factor. Variant description can also have a quality factor. trtdLanguage tdBrowser indicates preferneces on Accept-Language: header. Each *** *** 247,253 trtdEncoding tdBrowser indicates preference with Accept-Encoding: header. trtdCharset ! tdBrowser indicates preference with Accept-Charset: header. Variant can indicate a charset as a parameter of the media type. /table --- 248,254 trtdEncoding tdBrowser indicates preference with Accept-Encoding: header. trtdCharset ! tdBrowser indicates preference with Accept-Charset: header. Variants can indicate a charset as a parameter of the media type. /table *** *** 280,286 liSelect the variants with the highest language quality factor liSelect the variants with the best language match, using either the ! order of languages on the LanguagePriority directive (if present), else the order of languages on the Accept-Language header. liSelect the variants with the highest 'level' media parameter --- 281,287 liSelect the variants with the highest language quality factor liSelect the variants with the
cvs commit: apache/htdocs/manual content-negotiation.html
pcs 96/12/20 08:13:15 Modified:htdocs/manual content-negotiation.html Log: Expand documentation of content negotiation for Apache 1.2 including HTTP/1.1 stuff. Document the algorithm apache uses to choose a variant. Revision ChangesPath 1.5 +304 -97 apache/htdocs/manual/content-negotiation.html Index: content-negotiation.html === RCS file: /export/home/cvs/apache/htdocs/manual/content-negotiation.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C3 -r1.4 -r1.5 *** content-negotiation.html 1996/12/12 01:09:38 1.4 --- content-negotiation.html 1996/12/20 16:13:14 1.5 *** *** 1,57 ! html ! head ! titleApache server Content arbitration: MultiViews and *.var files/title ! /head ! body !--#include virtual=header.html -- ! h1Content Arbitration: MultiViews and *.var files/h1 ! The HTTP standard allows clients (i.e., browsers like Mosaic or ! Netscape) to specify what data formats they are prepared to accept. ! The intention is that when information is available in multiple ! variants (e.g., in different data formats), servers can use this ! information to decide which variant to send. This feature has been ! supported in the CERN server for a while, and while it is not yet ! supported in the NCSA server, it is likely to assume a new importance ! in light of the emergence of HTML3 capable browsers. p ! ! The Apache module A HREF=mod/mod_negotiation.htmlmod_negotiation/A handles ! content negotiation in two different ways; special treatment for the ! pseudo-mime-type codeapplication/x-type-map/code, and the ! MultiViews per-directory Option (which can be set in srm.conf, or in ! .htaccess files, as usual). These features are alternate user ! interfaces to what amounts to the same piece of code (in the new file ! codehttp_mime_db.c/code) which implements the content negotiation ! portion of the HTTP protocol. p ! ! Each of these features allows one of several files to satisfy a ! request, based on what the client says it's willing to accept; the ! differences are in the way the files are identified: ul ! li A type map (i.e., a code*.var/code file) names the files !containing the variants explicitly ! li In a MultiViews search, the server does an implicit filename !pattern match, and chooses from among the results. /ul ! Apache also supports a new pseudo-MIME type, ! text/x-server-parsed-html3, which is treated as text/html;level=3 ! for purposes of content negotiation, and as server-side-included HTML ! elsewhere. ! ! h3Type maps (*.var files)/h3 ! ! A type map is a document which is typed by the server (using its ! normal suffix-based mechanisms) as ! codeapplication/x-type-map/code. Note that to use this feature, ! you've got to have an codeAddType/code some place which defines a ! file suffix as codeapplication/x-type-map/code; the easiest thing ! may be to stick a pre ! AddType application/x-type-map var /pre in codesrm.conf/code. See comments in the sample config files for --- 1,96 ! !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN ! HTML ! HEAD ! TITLEApache Content Negotiation/TITLE ! /HEAD ! BODY !--#include virtual=header.html -- ! h1Content Negotiation/h1 ! Apache's support for content negotiation has been updated to meet the ! HTTP/1.1 specification. It can choose the best representation of a ! resource based on the browser-supplied preferences for media type, ! languages, character set and encoding. It is also implements a ! couple of features to give more intelligent handling of requests from ! browsers which send incomplete negotiation information. p ! ! Content negotiation is provided by the ! a href=mod/mod_negotiation.htmlmod_negotiation/a module, ! which is compiled in by default. ! ! hr ! ! h2About Content Negotiation/h2 ! ! A resource may be available in several different representations. For ! example, it might be available in different languages or different ! media types, or a combination. One way of selecting the most ! appropriate choice is to give the user an index page, and let them ! select. However it is often possible for the server to choose ! automatically. This works because browsers can send as part of each ! request information about what representations they prefer. For ! example, a browser could indicate that it would like to see ! information in French, if possible, else English will do. Browsers ! indicate their preferences by headers in the request. To request only ! French representations, the browser would send ! ! pre ! Accept-Language: fr ! /pre ! ! Note that this preference will only be applied when there is a choice ! of
cvs commit: apache/htdocs/manual/mod core.html
pcs 96/11/30 08:53:30 Modified:htdocs/manual new_features_1_2.html htdocs/manual/mod core.html Log: Document Options +/- stuff. Remove duplicate what's new section about mod_headers Revision ChangesPath 1.8 +8 -7 apache/htdocs/manual/new_features_1_2.html Index: new_features_1_2.html === RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_2.html,v retrieving revision 1.7 retrieving revision 1.8 diff -C3 -r1.7 -r1.8 *** new_features_1_2.html 1996/11/28 08:08:17 1.7 --- new_features_1_2.html 1996/11/30 16:53:28 1.8 *** *** 82,92 a new process and doing application initialization (e.g. connecting to a database) each time somebody requests a document. The processes start up with the Web server and keep on running. - liba href=mod/mod_headers.htmlOptional Headers Module to Set or Remove HTTP Headers/a/bbr - The optional codemod_headers/code header can be used to set custom - headers in the HTTP response. It can append to existing headers, - replace them, or remove headers from the response. - liba href=mod/mod_log_config.htmlEnhanced, Configurable Logging/a/bbr The optional codemod_log_config/code included with earlier --- 82,87 *** *** 135,146 The process of configuring Apache for compilation has been simplified. liba href=help.htmlCommand-line Help/a/bbr The code-h/code command-line option now lists all the available directives. ! liba href=mod/mod_headers.htmlOptional headers module/a/bbr ! An optional module is included which can set arbitrary headers in responses. liba href=mod/core.html#ifmoduleConditional Config Directives/a/bbr A new codelt;IfModulegt;/code section allows directives to be --- 130,147 The process of configuring Apache for compilation has been simplified. + liba href=mod/core.html#optionsAdd or Remove Options/a/bbr + The codeOptions/codedirective can now add or remove options from + those currently in force, rather than always replacing them. + liba href=help.htmlCommand-line Help/a/bbr The code-h/code command-line option now lists all the available directives. ! liba href=mod/mod_headers.htmlOptional Headers Module to Set or Remove HTTP Headers/a/bbr ! The optional codemod_headers/code module can be used to set custom ! headers in the HTTP response. It can append to existing headers, ! replace them, or remove headers from the response. liba href=mod/core.html#ifmoduleConditional Config Directives/a/bbr A new codelt;IfModulegt;/code section allows directives to be 1.8 +26 -5 apache/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v retrieving revision 1.7 retrieving revision 1.8 diff -C3 -r1.7 -r1.8 *** core.html 1996/11/28 08:08:19 1.7 --- core.html 1996/11/30 16:53:29 1.8 *** *** 694,706 A name=optionsh2Options directive/h2/A !--%plaintext lt;?INDEX {\tt Options} directivegt; -- ! strongSyntax:/strong Options emoption option .../embr strongContext:/strong server config, virtual host, directory, .htaccessbr strongOverride:/strong Optionsbr strongStatus:/strong corep The Options directive controls which server features are available in ! a particular directory.p emoption/em can be set to codeNone/code, in which case none of the extra features are enabled, or one or more of the following: dl --- 694,707 A name=optionsh2Options directive/h2/A !--%plaintext lt;?INDEX {\tt Options} directivegt; -- ! strongSyntax:/strong Options em[+|-]option [+|-]option .../embr strongContext:/strong server config, virtual host, directory, .htaccessbr strongOverride:/strong Optionsbr strongStatus:/strong corep The Options directive controls which server features are available in ! a particular directory. ! p emoption/em can be set to codeNone/code, in which case none of the extra features are enabled, or one or more of the following: dl *** *** 741,748 file or directory is owned by the same user id as the link. /dl ! If multiple Options could apply to a directory, then the most specific one is ! taken complete; the options are not merged. For example: blockquotecode lt;Directory /web/docsgt; br Options Indexes FollowSymLinksbr --- 742,757 file or directory is owned by the same user id as the link. /dl ! Normally, if multiple codeOptions/code could apply to a directory, ! then the most specific one is taken complete; the options are not !
cvs commit: apache/htdocs/manual/mod mod_alias.html
pcs 96/11/27 01:30:52 Modified:htdocs/manual/mod mod_alias.html Log: Document the Redirect [ temp | permanent | seeother | gone ] ... format of Redirect directive. Revision ChangesPath 1.4 +26 -4 apache/htdocs/manual/mod/mod_alias.html Index: mod_alias.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_alias.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C3 -r1.3 -r1.4 *** mod_alias.html1996/11/26 06:13:47 1.3 --- mod_alias.html1996/11/27 09:30:51 1.4 *** *** 45,56 A name=redirecth2Redirect/h2/A !--%plaintext lt;?INDEX {\tt Redirect} directivegt; -- ! strongSyntax:/strong Redirect emurl-path url/embr StrongContext:/strong server config, virtual host, directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_aliasbr strongCompatibility:/strong The directory and .htaccess context's ! are only available in versions 1.1 and laterp The Redirect directive maps an old URL into a new one. The new URL is returned to the client which attempts to fetch it again with the new address. --- 45,56 A name=redirecth2Redirect/h2/A !--%plaintext lt;?INDEX {\tt Redirect} directivegt; -- ! strongSyntax:/strong Redirect [ emstatus/em ] emurl-path url/embr StrongContext:/strong server config, virtual host, directory, .htaccessbr strongStatus:/strong Basebr strongModule:/strong mod_aliasbr strongCompatibility:/strong The directory and .htaccess context's ! are only available in versions 1.1 and later. The emstatus/em argument is only available in Apache 1.2 or later.p The Redirect directive maps an old URL into a new one. The new URL is returned to the client which attempts to fetch it again with the new address. *** *** 64,69 --- 64,91 Note: Redirect directives take precedence over Alias and ScriptAlias directives, irrespective of their ordering in the configuration file.p + If no emstatus/em argument is given, the redirect will be + temporary (HTTP status 302). This indicates to the client that the + resources is has moved temporarily. The emstatus/em + argument can be used to return other HTTP status codes: + dl + dtpermanentddReturns a permanent redirect status (301) indicating that + the resource has moved permanently. + dttempddReturns a temporary redirect status (302). This is the + default. + dtseeotherddReturns a See Other status (303) indicating that + the resource has been replaced. + dtgoneddReturns a Gone status (410) indicating that the resource + has been permanently removed. When this status is used the emurl/em + argument should be omitted. + /dl + + Other status codes can be returned by giving the numeric status code + as the value of emstatus/em. If the status is between 300 and 399, + the emurl/em argument must be present, otherwise it must be + omitted. Note that the status must be known to the Apache code (see + the function codesend_error_response/code in http_protocol.c). + A name=redirecttemph2RedirectTemp/h2/A !--%plaintext lt;?INDEX {\tt Redirect} directivegt; -- strongSyntax:/strong RedirectTemp emurl-path url/embr *** *** 73,79 strongCompatibility:/strong This directive is only available in 1.2P This directive makes the client know that the Redirect is only ! temporary. (Status 302).P A name=redirectpermh2RedirectPermanent/h2/A !--%plaintext lt;?INDEX {\tt Redirect} directivegt; -- --- 95,101 strongCompatibility:/strong This directive is only available in 1.2P This directive makes the client know that the Redirect is only ! temporary. (Status 302). Exactly equivalent to codeRedirect temporary /codeP A name=redirectpermh2RedirectPermanent/h2/A !--%plaintext lt;?INDEX {\tt Redirect} directivegt; -- *** *** 84,90 strongCompatibility:/strong This directive is only available in 1.2P This directive makes the client know that the Redirect is permanent. ! (Status 301).P hr A name=scriptaliash2ScriptAlias/h2/A --- 106,112 strongCompatibility:/strong This directive is only available in 1.2P This directive makes the client know that the Redirect is permanent. ! (Status 301). Exactly equivalent to codeRedirect perm /codeP hr A name=scriptaliash2ScriptAlias/h2/A
cvs commit: apache/htdocs/manual new_features_1_2.html
pcs 96/11/27 01:37:12 Modified:htdocs/manual new_features_1_2.html Log: Add mod_headers and new redirect options to the new in 1.2 page Revision ChangesPath 1.4 +10 -0 apache/htdocs/manual/new_features_1_2.html Index: new_features_1_2.html === RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_2.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C3 -r1.3 -r1.4 *** new_features_1_2.html 1996/11/26 20:09:56 1.3 --- new_features_1_2.html 1996/11/27 09:37:11 1.4 *** *** 80,85 --- 80,90 a new process and doing application initialization (e.g. connecting to a database) each time somebody requests a document. The processes start up with the Web server and keep on running. + liba href=mod/mod_headers.htmlOptional Headers Module to Set or Remove HTTP Headers/a/bbr + The optional codemod_headers/code header can be used to set custom + headers in the HTTP response. It can append to existing headers, + replace them, or remove headers from the response. + liba href=mod/mod_log_config.htmlEnhanced, Configurable Logging/a/bbr The optional codemod_log_config/code included with earlier *** *** 114,119 --- 119,129 New directives allow the limiting of resources used by CGI scripts (e.g. max CPU time). This is helpful in preventing 'runaway' CGI processes. + + liba href=mod/mod_alias.htmlRedirect Directive Can Returns Additional Statuses/a/bbr + The Redirect directive can return permanent or temporary redirectes, + Gone or See Other HTTP statuses. For NCSA-compatability, + RedirectTemp and RedirectPermanent are also implemented. liba href=graceful.htmlGraceful Restarts/a/bbr Apache can re-read the config files and re-open log files without
cvs commit: apache/htdocs/manual/mod mod_negotiation.html
pcs 96/11/26 01:23:52 Modified:htdocs/manual/mod mod_negotiation.html Log: Replace magic mime type with handler name Add notes to CacheNegotiatedDocs and LanguagePriority about HTTP/1.1 Revision ChangesPath 1.3 +23 -13apache/htdocs/manual/mod/mod_negotiation.html Index: mod_negotiation.html === RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_negotiation.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C3 -r1.2 -r1.3 *** mod_negotiation.html 1996/11/21 10:30:52 1.2 --- mod_negotiation.html 1996/11/26 09:23:51 1.3 *** *** 8,18 !--#include virtual=header.html -- H1Module mod_negotiation/h1 ! This module is contained in the codemod_negotiation.c/code file, and ! is compiled in by default. It provides for ! A HREF=content-negotiation.htmlcontent negotiation/A. Any document with ! mime type codeapplication/x-type-map/code will be processed by this module. ! !--%plaintext lt;?INDEX {\tt application/x-type-map} mime typegt; -- h2Summary/h2 Content negotiation, or more accurately content selection, is the --- 8,16 !--#include virtual=header.html -- H1Module mod_negotiation/h1 ! This module is contained in the codemod_negotiation.c/code file, ! and is compiled in by default. It provides for A ! HREF=../content-negotiation.htmlcontent negotiation/A. h2Summary/h2 Content negotiation, or more accurately content selection, is the *** *** 20,26 capabilities, from one of several available documents. There are two implementations of this. ul ! li A type map (a file with the mime type codeapplication/x-type-map/code) which explicitly lists the files containing the variants. li A MultiViews search (enabled by the MultiViews A HREF=core.html#optionsOption/A, where the server does an implicit --- 18,24 capabilities, from one of several available documents. There are two implementations of this. ul ! li A type map (a file with the handler codetype-map/code) which explicitly lists the files containing the variants. li A MultiViews search (enabled by the MultiViews A HREF=core.html#optionsOption/A, where the server does an implicit *** *** 37,44 name, which always ends in a colon, followed by a value. Whitespace is allowed between the header name and value, and between the tokens of value. ! The headers ! allowed are: dl dtContent-Encoding: --- 35,41 name, which always ends in a colon, followed by a value. Whitespace is allowed between the header name and value, and between the tokens of value. ! The headers allowed are: dl dtContent-Encoding: *** *** 98,108 strongCompatibility:/strong CacheNegotiatedDocs is only available in Apache 1.1 and later.p ! pIf set, this directive allows content-negotiated documents to be cached ! by ! proxy servers. This could mean that clients behind those proxys could ! retrieve versions of the documents that are not the best match for ! their abilities, but it will make caching more efficient./p A name=languagepriorityh2LanguagePriority/h2/A --- 95,112 strongCompatibility:/strong CacheNegotiatedDocs is only available in Apache 1.1 and later.p ! pIf set, this directive allows content-negotiated documents to be ! cached by proxy servers. This could mean that clients behind those ! proxys could retrieve versions of the documents that are not the best ! match for their abilities, but it will make caching more ! efficient. ! p ! ! This directive only applies to requests which come from HTTP/1.0 browsers. ! HTTP/1.1 provides much better control over the caching of negotiated ! documents, and this directive has no effect in responses to ! HTTP/1.1 requests. ! A name=languagepriorityh2LanguagePriority/h2/A *** *** 123,128 --- 127,138 For a request for codefoo.html/code, where codefoo.html.fr/code and codefoo.html.de/code both existed, but the browser did not express a language preference, then codefoo.html.fr/code would be returned.p + + P + + Note that this directive only has an effect if a 'best' language + cannot be determined by other any other means. Correctly implemented + HTTP/1.1 requests will mean this directive has no effect. !--#include virtual=footer.html -- /BODY
cvs commit: apache/src mod_negotiation.c
pcs 96/10/29 07:23:05 Modified:src mod_negotiation.c Log: Reviewed By: Brian Behlendorf, Jim Jagielski Update mod_negotation.c to support variants with multiple language types. Languages can either be obtained from file extensions (eg foo.fr.en.html) or on the Content-Language line in a type-map file (eg Content-Language: fr, en). This patch: * Allows multiple comma separated languages on the Content-Language: header in a type-map file * Updates the function which sets the language quality factor for each variant to select the best (highest q) match from the tags of the variant, using the algorithm in HTTP/1.1 14.4 * If the new (HTTP/1.1) language negotiation results in a tie between variants, falls back onto the Apache 1.1 language negotiation algorythm, using _just_ the first language of the variant * Updates the 406 text and Alternates header to list multiple languages if necessary Revision ChangesPath 1.23 +174 -89 apache/src/mod_negotiation.c Index: mod_negotiation.c === RCS file: /export/home/cvs/apache/src/mod_negotiation.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C3 -r1.22 -r1.23 *** mod_negotiation.c 1996/10/28 16:28:17 1.22 --- mod_negotiation.c 1996/10/29 15:23:03 1.23 *** *** 82,87 --- 82,98 module negotiation_module; + char *merge_string_array (pool *p, array_header *arr, char *sep) + { + int i; + char *t = ; + + for (i = 0; i arr-nelts; i++) { + t = pstrcat(p, t, i ? sep : , ((char**)arr-elts)[i], NULL); + } + return t; + } + void *create_neg_dir_config (pool *p, char *dummy) { neg_dir_config *new = *** *** 162,168 char *type_name; char *file_name; char *content_encoding; ! char *content_language; char *content_charset; char *description; --- 173,179 char *type_name; char *file_name; char *content_encoding; ! array_header *content_languages; /* list of languages for this variant */ char *content_charset; char *description; *** *** 230,236 mime_info-type_name = ; mime_info-file_name = ; mime_info-content_encoding = ; ! mime_info-content_language = ; mime_info-content_charset = ; mime_info-description = ; --- 241,247 mime_info-type_name = ; mime_info-file_name = ; mime_info-content_encoding = ; ! mime_info-content_languages = NULL; mime_info-content_charset = ; mime_info-description = ; *** *** 392,397 --- 403,429 return accept_recs; } + /* Given the text of the Content-Languages: line from the var map file, + * return an array containing the languages of this variant + */ + + array_header *do_languages_line (pool *p, char **lang_line) + { + array_header *lang_recs = make_array (p, 2, sizeof (char *)); + + if (!lang_line) return lang_recs; + + while (**lang_line) { + char **new = (char **)push_array (lang_recs); + *new = get_token (p, lang_line, 0); + str_tolower (*new); + if (**lang_line == ',') + ++(*lang_line); + } + + return lang_recs; + } + /* * * Handling header lines from clients... *** *** 648,655 mime_info.bytes = atoi(body); } else if (!strncmp (buffer, content-language:, 17)) { ! mime_info.content_language = get_token (neg-pool, body, 0); ! str_tolower (mime_info.content_language); } else if (!strncmp (buffer, content-encoding:, 17)) { mime_info.content_encoding = get_token (neg-pool, body, 0); --- 680,687 mime_info.bytes = atoi(body); } else if (!strncmp (buffer, content-language:, 17)) { ! mime_info.content_languages = ! do_languages_line(neg-pool, body); } else if (!strncmp (buffer, content-encoding:, 17)) { mime_info.content_encoding = get_token (neg-pool, body, 0); *** *** 756,764 mime_info.content_encoding = sub_req-content_encoding; str_tolower(mime_info.content_encoding); } ! if (sub_req-content_language) { ! mime_info.content_language = sub_req-content_language; ! str_tolower(mime_info.content_language); } get_entry (neg-pool, accept_info, sub_req-content_type); --- 788,800 mime_info.content_encoding =