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/modules/standard mod_auth_db.module mod_auth_dbm.c
jim 97/08/24 09:43:27 Modified:src/modules/standard mod_auth_db.module mod_auth_dbm.c Log: Not all shells support 'if !' format so we do the normal work around... Revision ChangesPath 1.4 +3 -1 apachen/src/modules/standard/mod_auth_db.module Index: mod_auth_db.module === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_auth_db.module,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_auth_db.module1997/08/21 18:12:23 1.3 +++ mod_auth_db.module1997/08/24 16:43:25 1.4 @@ -1,6 +1,8 @@ Name: db_auth_module ConfigStart -if ! ./helpers/TestCompile func dbopen; then +if ./helpers/TestCompile func dbopen; then +: +else case $PLAT in *-linux*) # many systems have -ldb installed 1.27 +3 -1 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.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- mod_auth_dbm.c1997/08/23 04:00:35 1.26 +++ mod_auth_dbm.c1997/08/24 16:43:26 1.27 @@ -79,7 +79,9 @@ * MODULE-DEFINITION-START * Name: dbm_auth_module * ConfigStart -if ! ./helpers/TestCompile func dbm_open; then +if ./helpers/TestCompile func dbm_open; then +: +else case $PLAT in *-linux*) # many systems don't have -ldbm
cvs commit: apachen/src/main http_main.c
ben 97/08/24 10:10:22 Modified:src/main http_main.c Log: Add child_{init,exit} to Win32. Revision ChangesPath 1.208 +6 -0 apachen/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apachen/src/main/http_main.c,v retrieving revision 1.207 retrieving revision 1.208 diff -u -r1.207 -r1.208 --- http_main.c 1997/08/24 16:12:28 1.207 +++ http_main.c 1997/08/24 17:10:18 1.208 @@ -3523,6 +3523,7 @@ csd = -1; dupped_csd = -1; requests_this_child = 0; + (void)update_child_status(child_num, SERVER_READY, (request_rec*)NULL); /* @@ -3774,6 +3775,8 @@ * - Exit */ +child_init_modules(pconf, server_conf); + allowed_globals.jobsemaphore = create_semaphore(0); allowed_globals.jobmutex = create_mutex(NULL); @@ -3946,6 +3949,9 @@ } destroy_semaphore(allowed_globals.jobsemaphore); destroy_mutex(allowed_globals.jobmutex); + +child_exit_modules(pconf, server_conf); + cleanup_scoreboard(); exit(0);
cvs commit: apachen/src/main conf.h
jim 97/08/24 11:24:04 Modified:src CHANGES Configure src/helpers GuessOS src/main conf.h Log: Two new ports: Acorn RISCiX and Encore UMAX V Revision ChangesPath 1.416 +4 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.415 retrieving revision 1.416 diff -u -r1.415 -r1.416 --- CHANGES 1997/08/24 12:44:29 1.415 +++ CHANGES 1997/08/24 18:23:57 1.416 @@ -1,5 +1,9 @@ Changes with Apache 1.3a2 + *) PORT: 2 new OSs added to the list of ports: + Encore's UMAX V: Arieh Markel [EMAIL PROTECTED] + Acorn RISCiX: Stephen Borrill [EMAIL PROTECTED] + *) Add the server version (SERVER_VERSION macro) to the server configured and running entry in the error_log. Also build an object file at link-time that contains the current time 1.140 +13 -0 apachen/src/Configure Index: Configure === RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.139 retrieving revision 1.140 diff -u -r1.139 -r1.140 --- Configure 1997/08/24 16:39:59 1.139 +++ Configure 1997/08/24 18:23:58 1.140 @@ -427,6 +427,12 @@ CFLAGS=$CFLAGS -DSVR4 LIBS=$LIBS -lsocket -lnsl -lc ;; +88k-encore-sysv4) + OS='Encore UMAX V' + CFLAGS=$CFLAGS -DSVR4 -DENCORE + DEF_WANTHSREGEX=yes + LIBS=$LIBS -lPW + ;; *-uts*) OS='Amdahl UTS' CFLAGS=$CFLAGS -Xa -eft -DUTS21 @@ -468,6 +474,13 @@ DEF_WANTHSREGEX=yes OS='SONY NEWS-OS' CFLAGS=$CFLAGS -DNEWSOS + ;; +*-riscix) + OS='Acorn RISCix' + CFLAGS=$CFLAGS -DRISCIX + OPTIM=-O + MAKE=make + DEF_WANTHSREGEX=yes ;; *) # default: Catch systems we don't know about echo Sorry, but we cannot grok \$PLAT\ 1.28 +8 -0 apachen/src/helpers/GuessOS Index: GuessOS === RCS file: /export/home/cvs/apachen/src/helpers/GuessOS,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- GuessOS 1997/07/21 23:09:31 1.27 +++ GuessOS 1997/08/24 18:24:02 1.28 @@ -167,6 +167,10 @@ echo ${MACHINE}-whatever-sysv4; exit 0 ;; +unix:3.0.9*:*:88k) + echo ${MACHINE}-encore-sysv4; exit 0 + ;; + *:4*:R4*:m88k) echo ${MACHINE}-whatever-sysv4; exit 0 ;; @@ -205,6 +209,10 @@ NonStop-UX:4.[02]*:[BC]*:*) echo ${MACHINE}-tandem-sysv4; exit 0; + ;; + +RISC iX:*) + echo arm-whatever-riscix; exit 0; ;; esac 1.128 +13 -1 apachen/src/main/conf.h Index: conf.h === RCS file: /export/home/cvs/apachen/src/main/conf.h,v retrieving revision 1.127 retrieving revision 1.128 diff -u -r1.127 -r1.128 --- conf.h1997/08/23 16:01:21 1.127 +++ conf.h1997/08/24 18:24:03 1.128 @@ -361,7 +361,9 @@ #undef NO_SETSID #undef NEED_STRDUP #define NEED_STRCASECMP +#ifndef ENCORE #define NEED_STRNCASECMP +#endif #define bzero(a,b) memset(a,0,b) #define JMP_BUF sigjmp_buf /* A lot of SVR4 systems need this */ @@ -565,6 +567,16 @@ typedef int rlim_t; typedef int mode_t; +#elif defined(RISCIX) +#include sys/time.h +#define JMP_BUF jmp_buf +typedef int rlim_t; +#define NO_USE_SIGACTION +#define USE_LONGJMP +#define NEED_STRCASECMP +#define NEED_STRNCASECMP +#define NEED_STRDUP + #elif defined(WIN32) /* Put your NT stuff here - Ambarish */ @@ -846,7 +858,7 @@ */ #if defined(CRAY) || defined(__arm) -#if __STDC__ +#ifdef __STDC__ #define XtOffset(p_type,field) _Offsetof(p_type,field) #else #ifdef CRAY2
cvs commit: apachen/src/main http_main.c
ben 97/08/24 11:41:31 Modified:src/main http_main.c Log: Remove do-nothing cruft. Revision ChangesPath 1.209 +0 -30 apachen/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apachen/src/main/http_main.c,v retrieving revision 1.208 retrieving revision 1.209 diff -u -r1.208 -r1.209 --- http_main.c 1997/08/24 17:10:18 1.208 +++ http_main.c 1997/08/24 18:41:29 1.209 @@ -3804,20 +3804,6 @@ count_down = max_jobs_after_exit_request; release_mutex(start_mutex); start_mutex_released = 1; -/* set the listen queue to 1 */ -{ - listen_rec *lr = listeners; - - do { - /* to prove a point - Ben */ - ap_assert(!lr-used); - if(lr-used) - { - listen(lr-fd, 1); - } - lr = lr-next; - } while (lr != listeners); -} } if(!start_exit) { @@ -3904,22 +3890,6 @@ if(!start_mutex_released) { release_mutex(start_mutex); -} - -{ - listen_rec *lr; - - lr = listeners; - do { - /* prove the point again */ - ap_assert(!lr-used); - if(lr-used) - { - closesocket(lr-fd); - lr-fd = -1; - } - lr = lr-next; - } while (lr != listeners); } for(i=0; inthreads; i++)
cvs commit: apachen/src CHANGES
ben 97/08/24 11:46:18 Modified:src CHANGES Log: Document name canonicalisation. Revision ChangesPath 1.417 +5 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.416 retrieving revision 1.417 diff -u -r1.416 -r1.417 --- CHANGES 1997/08/24 18:23:57 1.416 +++ CHANGES 1997/08/24 18:46:16 1.417 @@ -1,5 +1,10 @@ Changes with Apache 1.3a2 + *) Canonicalise filenames under Win32. Short filenames are + converted to long ones. Backslashes are converted to forward + slashes. Case is converted to lower. Parts of URLs that do not + correspond to files are left completely alone. [Ben Laurie] + *) PORT: 2 new OSs added to the list of ports: Encore's UMAX V: Arieh Markel [EMAIL PROTECTED] Acorn RISCiX: Stephen Borrill [EMAIL PROTECTED]
cvs commit: apachen/src .cvsignore
ben 97/08/24 11:47:00 Modified:src .cvsignore Log: A couple more bits of Win32 gubbins. Revision ChangesPath 1.8 +1 -0 apachen/src/.cvsignore Index: .cvsignore === RCS file: /export/home/cvs/apachen/src/.cvsignore,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- .cvsignore1997/08/19 23:00:25 1.7 +++ .cvsignore1997/08/24 18:46:59 1.8 @@ -9,6 +9,7 @@ *.ncb *.dsw *.opt +*.plg ApacheD ApacheR CoreD
cvs commit: apachen/src/main http_core.c http_core.h http_log.c http_log.h
randy 97/08/24 19:00:43 Modified:src CHANGES src/main http_core.c http_core.h http_log.c http_log.h Log: Add LogLevels functionality through the addition of aplog_error(). This change also provides the ability to log errors via syslogd. Reviewed by: Dean Gaudet, Jim Jagielski, Ken Coar Revision ChangesPath 1.418 +6 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.417 retrieving revision 1.418 diff -u -r1.417 -r1.418 --- CHANGES 1997/08/24 18:46:16 1.417 +++ CHANGES 1997/08/25 02:00:27 1.418 @@ -1,5 +1,11 @@ Changes with Apache 1.3a2 + *) Add aplog_error() providing a mechanism to define levels of + verbosity to the server error logging. This addition also provides + the ablity to log errors using syslogd. Error logging is configurable + on a per-directory basis using the LogLevel directive. Conversion + of log_*() in progress. [Randy Terbush] + *) Canonicalise filenames under Win32. Short filenames are converted to long ones. Backslashes are converted to forward slashes. Case is converted to lower. Parts of URLs that do not 1.114 +31 -0 apachen/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apachen/src/main/http_core.c,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- http_core.c 1997/08/23 01:52:51 1.113 +++ http_core.c 1997/08/25 02:00:38 1.114 @@ -130,6 +130,8 @@ conf-limit_nproc = NULL; #endif +conf-loglevel = DEFAULT_LOGLEVEL; + conf-sec = make_array (a, 2, sizeof(void *)); return (void *)conf; @@ -1372,6 +1374,34 @@ return NULL; } +const char *set_loglevel (cmd_parms *cmd, core_dir_config *conf, const char *arg) +{ + char *str; + + if ((str = getword_conf(cmd-pool, arg))) { + if (!strcasecmp(str, emerg)) +conf-loglevel = APLOG_EMERG; + else if (!strcasecmp(str, alert)) +conf-loglevel = APLOG_ALERT; + else if (!strcasecmp(str, crit)) +conf-loglevel = APLOG_CRIT; + else if (!strcasecmp(str, error)) +conf-loglevel = APLOG_ERR; + else if (!strcasecmp(str, warn)) +conf-loglevel = APLOG_WARNING; + else if (!strcasecmp(str, notice)) +conf-loglevel = APLOG_NOTICE; + else if (!strcasecmp(str, info)) +conf-loglevel = APLOG_INFO; + else if (!strcasecmp(str, debug)) +conf-loglevel = APLOG_DEBUG; + } + else + return LogLevel requires level keyword; + + return NULL; +} + /* Note --- ErrorDocument will now work from .htaccess files. * The AllowOverride of Fileinfo allows webmasters to turn it off */ @@ -1498,6 +1528,7 @@ { ListenBacklog, set_listenbacklog, NULL, RSRC_CONF, TAKE1, maximum length of the queue of pending connections, as used by listen(2) }, { CoreDumpDirectory, set_coredumpdir, NULL, RSRC_CONF, TAKE1, The location of the directory Apache changes to before dumping core }, { Include, include_config, NULL, RSRC_CONF, TAKE1, config file to be included }, +{ LogLevel, set_loglevel, (void*)XtOffsetOf(core_dir_config, loglevel), OR_ALL, TAKE1, set level of verbosity in error logging }, { NULL }, }; 1.28 +3 -0 apachen/src/main/http_core.h Index: http_core.h === RCS file: /export/home/cvs/apachen/src/main/http_core.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- http_core.h 1997/08/23 16:17:12 1.27 +++ http_core.h 1997/08/25 02:00:39 1.28 @@ -189,6 +189,9 @@ struct rlimit *limit_nproc; #endif +/* logging options */ +int loglevel; + /* Access control */ array_header *sec; regex_t *r; 1.22 +144 -33 apachen/src/main/http_log.c Index: http_log.c === RCS file: /export/home/cvs/apachen/src/main/http_log.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- http_log.c1997/07/21 05:53:43 1.21 +++ http_log.c1997/08/25 02:00:40 1.22 @@ -58,15 +58,52 @@ */ +#define CORE_PRIVATE #include httpd.h #include http_config.h #include http_core.h #include http_log.h #include stdarg.h +#include syslog.h -static int -error_log_child (void *cmd) +static TRANS facilities[] = { +{auth, LOG_AUTH}, +{authpriv,LOG_AUTHPRIV}, +{cron, LOG_CRON}, +{daemon,
cvs commit: apachen/src .cvsignore
marc97/08/24 19:12:28 Modified:src .cvsignore Log: Add autogenerated buildmark.c and sort list. Revision ChangesPath 1.9 +9 -9 apachen/src/.cvsignore Index: .cvsignore === RCS file: /export/home/cvs/apachen/src/.cvsignore,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- .cvsignore1997/08/24 18:46:59 1.8 +++ .cvsignore1997/08/25 02:12:26 1.9 @@ -1,17 +1,17 @@ -Configuration -Configuration.lint -Configuration.default -Makefile -modules.c -httpd -Makefile.config +*.dsw *.mdp *.ncb -*.dsw *.opt *.plg ApacheD ApacheR +buildmark.c +Configuration +Configuration.default +Configuration.lint CoreD CoreR - +httpd +Makefile +Makefile.config +modules.c
cvs commit: apachen/src Makefile.tmpl
marc97/08/24 19:19:53 Modified:src Makefile.tmpl Log: Add CFLAGS to buildmark compilation. Don't laugh, some platforms need it. Revision ChangesPath 1.60 +1 -1 apachen/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- Makefile.tmpl 1997/08/24 02:51:33 1.59 +++ Makefile.tmpl 1997/08/25 02:19:49 1.60 @@ -34,7 +34,7 @@ httpd: $(REGLIB) $(OBJS) rm -f buildmark.c echo 'const char SERVER_BUILT[] = '`/bin/date`';' buildmark.c - $(CC) -c buildmark.c + $(CC) -c $(CFLAGS) buildmark.c $(CC) $(LDFLAGS) -o httpd buildmark.o $(OBJS) $(REGLIB) $(LIBS) regex/libregex.a:
cvs commit: apachen/src/main http_config.c
marc97/08/24 19:26:58 Modified:src CHANGES src/main http_config.c Log: If a htaccess file is unreadable, deny access with a HTTP_FORBIDDEN error. The previous behavior of ignoring it if it could not be read is not good from a security viewpoint. The ENOTDIR check is necessary for path_info to work correctly in the current implementation. PR: 817 Reviewed by: Randy Terbush, Paul Sutton Revision ChangesPath 1.419 +6 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.418 retrieving revision 1.419 diff -u -r1.418 -r1.419 --- CHANGES 1997/08/25 02:00:27 1.418 +++ CHANGES 1997/08/25 02:26:52 1.419 @@ -1,5 +1,11 @@ Changes with Apache 1.3a2 + *) If a htaccess file can not be read due to bad permissions, deny + access to the directory with a HTTP_FORBIDDEN. The previous + behavior was to ignore the htaccess file if it could not + be read. This change may make some setups with unreadable + htaccess files stop working. PR#817 [Marc Slemko] + *) Add aplog_error() providing a mechanism to define levels of verbosity to the server error logging. This addition also provides the ablity to log errors using syslogd. Error logging is configurable 1.75 +10 -2 apachen/src/main/http_config.c Index: http_config.c === RCS file: /export/home/cvs/apachen/src/main/http_config.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -r1.74 -r1.75 --- http_config.c 1997/08/23 04:00:27 1.74 +++ http_config.c 1997/08/25 02:26:57 1.75 @@ -952,8 +952,16 @@ } *result = dc; -} else - dc = NULL; +} else { + if (errno == ENOENT || errno == ENOTDIR) + dc = NULL; + else { + log_unixerr(pfopen, filename, + unable to check htaccess file, ensure it is readable, + r-server); + return HTTP_FORBIDDEN; + } +} /* cache it */ new = palloc(r-pool, sizeof(struct htaccess_result));
cvs commit: apachen/logs .cvsignore
fielding97/08/24 19:35:02 Added: logs .cvsignore Log: Adding a .cvsignore file here has the added benefit of creating a logs directory automatically during a cvs export. Revision ChangesPath 1.1 apachen/logs/.cvsignore Index: .cvsignore === access_log error_log httpd.pid