Re: cvs commit: apache-2.0 STATUS

1998-02-06 Thread Alexei Kosut
On Fri, 6 Feb 1998, Paul Sutton wrote:

> 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.

Um... if you remove the module structure, it is physically impossible to
retain bacwards compatibility with modules written for 1.3. And I don't
think it's a good idea to try.

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.

Also, if, as certain threads here might be leaning, Apache 2.0 is
C++-based (I'm +0 personally - I don't mind C++, but the lack of legacy
support is a bit troubling), you pretty much have to throw the 1.x API
completely out the window.

-- Alexei Kosut <[EMAIL PROTECTED]> <http://www.stanford.edu/~akosut/>
   Stanford University, Class of 2001 * Apache <http://www.apache.org> *




cvs commit: apachen/src/modules/extra .cvsignore

1997-09-12 Thread Alexei Kosut
akosut  97/09/12 15:56:46

  Added:   src/modules/extra .cvsignore
  Log:
  Ignore the machine-generated Makefile in modules/standard/extra
  
  Revision  ChangesPath
  1.1  apachen/src/modules/extra/.cvsignore
  
  Index: .cvsignore
  ===
  Makefile
  
  
  


cvs commit: apachen/src/main http_config.c

1997-09-12 Thread Alexei Kosut
akosut  97/09/12 15:55:17

  Modified:src/main http_config.c
  Log:
  Have create_empty_config() create DYNAMIC_MODULE_LIMIT more vector space
  than it needs, in case you put LoadModule after a  or
   in a config file.
  
  Also have add_module() complain and exit if you try and load more than
  DYNAMIC_MODULE_LIMIT module.
  
  Revision  ChangesPath
  1.79  +20 -3 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.78
  retrieving revision 1.79
  diff -u -u -r1.78 -r1.79
  --- http_config.c 1997/08/31 21:28:49 1.78
  +++ http_config.c 1997/09/12 22:55:15 1.79
  @@ -83,8 +83,15 @@
* of modules which control just about all of the server operation.
*/
   
  -/* total_modules is the number of modules linked in.  */
  +/* total_modules is the number of modules that have been linked
  + * into the server.
  + */
   static int total_modules = 0;
  +/* dynamic_modules is the number of modules that have been added
  + * after the pre-linked ones have been set up. It shouldn't be larger
  + * than DYNAMIC_MODULE_LIMIT.
  + */
  +static int dynamic_modules = 0;
   module *top_module = NULL;
   
   typedef int (*handler_func)(request_rec *);
  @@ -117,7 +124,8 @@
   void *
   create_empty_config (pool *p)
   {
  -   void **conf_vector = (void **)pcalloc(p, sizeof(void*) * total_modules);
  +   void **conf_vector = (void **)pcalloc(p, sizeof(void*) *
  +  (total_modules+DYNAMIC_MODULE_LIMIT));
  return (void *)conf_vector;
   }
   
  @@ -472,8 +480,17 @@
   }
   if (m->module_index == -1) {
m->module_index = total_modules++;
  + dynamic_modules++;
  +
  + if (dynamic_modules > DYNAMIC_MODULE_LIMIT) {
  + fprintf(stderr, "httpd: module \"%s\" could not be loaded, because"
  + " the dynamic\n", m->name);
  + fprintf(stderr, "module limit was reached. Please increase "
  + "DYNAMIC_MODULE_LIMIT and recompile.\n");
  + exit(1);
  + }
   }
  -
  +
   /* Some C compilers put a complete path into __FILE__, but we want
* only the filename (e.g. mod_includes.c). So check for path
* components (Unix and DOS), and remove them.
  
  
  


cvs commit: apachen/src/modules/standard mod_status.c mod_usertrack.c

1997-09-11 Thread Alexei Kosut
akosut  97/09/11 12:32:52

  Modified:src/main conf.h http_main.c scoreboard.h
   src/modules/standard mod_status.c mod_usertrack.c
  Log:
  Cause Windows to compile again, with full STATUS reports turned on.
  This involves removing a bit of status data, since Windows supports
  neither times() nor gettimeofday().
  
  Revision  ChangesPath
  1.133 +3 -0  apachen/src/main/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apachen/src/main/conf.h,v
  retrieving revision 1.132
  retrieving revision 1.133
  diff -u -r1.132 -r1.133
  --- conf.h1997/09/09 22:33:55 1.132
  +++ conf.h1997/09/11 19:32:40 1.133
  @@ -532,6 +532,7 @@
   #define NEED_STRCASECMP
   #define NEED_STRNCASECMP
   #define NO_SETSID
  +#define NO_TIMES
   /* Add some drive name support */
   #define chdir _chdir2
   #include  
  @@ -641,6 +642,8 @@
   #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
  
  
  
  1.217 +7 -1  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.216
  retrieving revision 1.217
  diff -u -r1.216 -r1.217
  --- http_main.c   1997/09/10 17:43:22 1.216
  +++ http_main.c   1997/09/11 19:32:43 1.217
  @@ -1523,7 +1523,7 @@
   void time_process_request (int child_num, int status)
   {
   short_score *ss;
  -#if defined(NO_GETTIMEOFDAY)
  +#if defined(NO_GETTIMEOFDAY) && !defined(NO_TIMES)
   struct tms tms_blk;
   #endif
   
  @@ -1535,7 +1535,9 @@
   
   if (status == START_PREQUEST) {
   #if defined(NO_GETTIMEOFDAY)
  +#ifndef NO_TIMES
if ((ss->start_time = times(&tms_blk)) == -1)
  +#endif /* NO_TIMES */
ss->start_time = (clock_t)0;
   #else
if (gettimeofday(&ss->start_time, (struct timezone *)0) < 0)
  @@ -1545,7 +1547,9 @@
   }
   else if (status == STOP_PREQUEST) {
   #if defined(NO_GETTIMEOFDAY)
  +#ifndef NO_TIMES
if ((ss->stop_time = times(&tms_blk)) == -1)
  +#endif
ss->stop_time = ss->start_time = (clock_t)0;
   #else
if (gettimeofday(&ss->stop_time, (struct timezone *)0) < 0)
  @@ -1571,7 +1575,9 @@
   if (r->sent_bodyct)
   bgetopt(r->connection->client, BO_BYTECT, &bs);
   
  +#ifndef NO_TIMES
   times(&ss->times);
  +#endif
   ss->access_count ++;
   ss->my_access_count ++;
   ss->conn_count ++;
  
  
  
  1.29  +2 -0  apachen/src/main/scoreboard.h
  
  Index: scoreboard.h
  ===
  RCS file: /export/home/cvs/apachen/src/main/scoreboard.h,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- scoreboard.h  1997/08/17 11:40:14 1.28
  +++ scoreboard.h  1997/09/11 19:32:44 1.29
  @@ -116,7 +116,9 @@
   struct timeval start_time;
   struct timeval stop_time;
   #endif
  +#ifndef NO_TIMES
   struct tms times;
  +#endif
   time_t last_used;
   char client[32]; /* Keep 'em small... */
   char request[64];/* We just want an idea... */
  
  
  
  1.62  +12 -6 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.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- mod_status.c  1997/09/01 02:49:44 1.61
  +++ mod_status.c  1997/09/11 19:32:49 1.62
  @@ -213,9 +213,9 @@
   unsigned long bcount=0;
   unsigned long kbcount=0;
   long req_time;
  -#ifdef NEXT
  +#if defined(NEXT)
   float tick=HZ;
  -#else
  +#elif !defined(WIN32)
   float tick=sysconf(_SC_CLK_TCK);
   #endif
   #endif /* STATUS */
  @@ -303,10 +303,12 @@
   if (lres!=0 || (score_record.status != SERVER_READY
  && score_record.status != SERVER_DEAD))
{
  +#ifndef NO_TIMES
tu+=score_record.times.tms_utime;
ts+=score_record.times.tms_stime;
tcu+=score_record.times.tms_cutime;
tcs+=score_record.times.tms_cstime;
  +#endif /* NO_TIMES */
   count+=lres;
bcount+=bytes;
if (bcount>=KBYTE) {
  @@ -339,7 +341,7 @@
   {
   rprintf(r,"Total Accesses: %lu\nTotal kBytes: %lu\n",count,kbcount);
   
  -#ifndef __EMX__
  +#ifndef NO_TIMES
   /* Allow for OS/2 not having CPU stats */
if(ts || tu || tcu || tcs)
rprintf(r,"CPULoad: %g\n",(tu+ts+tcu+tcs)/tick/up_time*100.);
  @@ -359,7 +361,7 @@
rprintf(r,"Total accesses: %lu - Total Traffic: ", count);
format_kbyte_out(r,kbcount);
   
  -#ifndef __EMX__
  

cvs commit: apachen/src/main http_request.c

1997-09-11 Thread Alexei Kosut
akosut  97/09/11 12:07:53

  Modified:src/main http_request.c
  Log:
  entry_dir is the string, not entry_core... Make Windows compile.
  
  Revision  ChangesPath
  1.83  +1 -1  apachen/src/main/http_request.c
  
  Index: http_request.c
  ===
  RCS file: /export/home/cvs/apachen/src/main/http_request.c,v
  retrieving revision 1.82
  retrieving revision 1.83
  diff -u -r1.82 -r1.83
  --- http_request.c1997/09/11 18:46:45 1.82
  +++ http_request.c1997/09/11 19:07:51 1.83
  @@ -384,7 +384,7 @@
   
if (entry_core->r
   #if defined(__EMX__) || defined(WIN32)
  - || (entry_core[0] != '/' && entry_core[1] != ':')
  + || (entry_dir[0] != '/' && entry_dir[1] != ':')
   #else
|| entry_dir[0] != '/'
   #endif
  
  
  


cvs commit: apache-devsite how-to-release.html

1997-09-10 Thread Alexei Kosut
akosut  97/09/10 15:41:55

  Modified:.how-to-release.html
  Log:
  Add some tenative instructions for creating pre-InstallSheild Windows
  releases.
  
  Revision  ChangesPath
  1.14  +59 -0 apache-devsite/how-to-release.html
  
  Index: how-to-release.html
  ===
  RCS file: /export/home/cvs/apache-devsite/how-to-release.html,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -u -r1.13 -r1.14
  --- how-to-release.html   1997/08/22 07:22:34 1.13
  +++ how-to-release.html   1997/09/10 22:41:53 1.14
  @@ -94,6 +94,65 @@
   
   
   
  +
  +
  +
  +How to build an Apache Windows release
  +
  +
  +Note: These instructions are temporary, until we have a
  +working installation of InstallShield, which will eventually be used to
  +distribute Apache for Windows. At that time, these instructions will be
  +replaced.
  +
  +
  +
  +
  +
  +
  +  [ Building a source release ]
  +  
  +  Follow the instructions numbered 3-7 for Unix, to build an Apache
  +  distribution. Be sure to use CVS running on Windows, so that the
  +  linebreaks will be correct (alternately, export the repository with
  +  Unix, and convert all text files - all text files - from \n to
  +  \r\n)
  +  Create a zipfile, using your favorite zip program, containing the
  +  apache_1.X.Y directory. Name this zipfile
  +  apache_1.X.Y-src.zip.
  +
  +  
  +  
  +  [ Building a binary release ]
  +  
  +  First, build the source release (see above).
  +  Compile and "install" a release version of Apache:Mbr>
  +  > nmake /f Makefile.nt _apacher
  +  > namke /f Makefile.nt installr
  +  Rename the directory
  +  > move \Apache \Apache_1.X.Y
  +  Move the configuration files into the correct place
  +  > copy conf\access.conf-dist-win
  +  \Apache_1.X.Y\access.conf-dist
  +  > copy conf\httpd.conf-dist-win
  +  \Apache_1.X.Y\httpd.conf-dist
  +  > copy conf\srm.conf-dist-win
  +  \Apache_1.X.Y\srm.conf
  +  > copy conf\mime.types
  +  \Apache_1.X.Y\mime.types
  +  > copy conf\magic
  +  \Apache_1.X.Y\magic
  +  Move the HTML documents into place
  +  > copy htdocs \Apache_1.X.Y\htdocs
  +  Copy the readme file
  +  > copy README.NT \Apache_1.X.Y\readme.txt
  +  Install the Visual C++ runtime DLLs, wherever it is they need to
  +  go (???)
  +  Create a zipfile of \Apache_1.X.Y named
  +  apache_1.X.Y-bin.zip.  
  +
  +
  +
   
   
   Written by Alexei Kosut and Ralf S. Engelschall.
  
  
  


cvs commit: apachen/src/main http_core.c

1997-09-09 Thread Alexei Kosut
akosut  97/09/09 11:39:19

  Modified:src/main http_core.c
  Log:
  Canonicalize Windows pathnames in  and  sections, so
  they will match the filenames you expect them to match. Also do
  case-insentitive matching for  and , for the
  same reason.
  
  Reviewed by: Ben Laurie
  
  Revision  ChangesPath
  1.119 +25 -6 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.118
  retrieving revision 1.119
  diff -u -u -r1.118 -r1.119
  --- http_core.c   1997/09/02 16:12:08 1.118
  +++ http_core.c   1997/09/09 18:39:17 1.119
  @@ -753,6 +753,16 @@
   return NULL;
   }
   
  +/* We use this in  and , to ensure that 
  + * people don't get bitten by wrong-cased regex matches
  + */
  +
  +#ifdef WIN32
  +#define USE_ICASE REG_ICASE
  +#else
  +#define USE_ICASE 0
  +#endif
  +
   static const char end_dir_magic[] = " outside of any  
section";
   
   const char *end_dirsection (cmd_parms *cmd, void *dummy) {
  @@ -782,11 +792,15 @@
   cmd->override = OR_ALL|ACCESS_CONF;
   
   if (cmd->info) { /*  */
  - r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  + r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
   }
   else if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
  - r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  + r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
  +}
  +else {
  + /* Ensure that the pathname is canonical */
  + cmd->path = os_canonical_filename(cmd->pool, cmd->path);
   }
   
   errmsg = srm_command_loop (cmd, new_dir_conf);
  @@ -881,16 +895,21 @@
   if (cmd->info) { /*  */
if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
   cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  -r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  +r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
   }
   else if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  - r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  + r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
  +}
  +else {
  + if (old_path && cmd->path[0] != '/')
  + cmd->path = pstrcat(cmd->pool, old_path, cmd->path, NULL);
  +
  + /* Ensure that the pathname is canonical */
  + cmd->path = os_canonical_filename(cmd->pool, cmd->path);
   }
  -else if (old_path && cmd->path[0] != '/')
  - cmd->path = pstrcat(cmd->pool, old_path, cmd->path, NULL);
   
   errmsg = srm_command_loop (cmd, new_file_conf);
   if (errmsg != end_file_magic) return errmsg;
  
  
  


cvs commit: apachen/src/main conf.h

1997-09-09 Thread Alexei Kosut
akosut  97/09/09 11:36:59

  Modified:src  CHANGES
   src/main conf.h
  Log:
  Have Windows do full status reports with mod_status.
  
  PR: 1094
  Reviewed by: Ben Laurie
  
  Revision  ChangesPath
  1.431 +3 -0  apachen/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.430
  retrieving revision 1.431
  diff -u -u -r1.430 -r1.431
  --- CHANGES   1997/09/09 11:06:55 1.430
  +++ CHANGES   1997/09/09 18:36:53 1.431
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b1
   
  +  *) Windows now defaults to using full status reports with mod_status.
  + [Alexei Kosut, PR #1094]
  +
 *) *Really* disable all mod_rewrite operations if the engine is off.
Some things (like RewriteMaps) were checked/performed even if they
weren't supposed to be.  [Ken Coar, PR #991]
  
  
  
  1.131 +1 -0  apachen/src/main/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apachen/src/main/conf.h,v
  retrieving revision 1.130
  retrieving revision 1.131
  diff -u -u -r1.130 -r1.131
  --- conf.h1997/08/28 01:36:59 1.130
  +++ conf.h1997/09/09 18:36:58 1.131
  @@ -630,6 +630,7 @@
  chdir() */
   #include 
   
  +#define STATUS
   #define WIN32_LEAN_AND_MEAN
   #define STRICT
   #define NO_UNISTD_H
  
  
  


cvs commit: apachen/src CHANGES

1997-08-27 Thread Alexei Kosut
akosut  97/08/27 18:38:51

  Modified:src  CHANGES
  Log:
  Update CHANGES file to reflect BeOS port.
  
  Revision  ChangesPath
  1.424 +2 -0  apachen/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.423
  retrieving revision 1.424
  diff -u -u -r1.423 -r1.424
  --- CHANGES   1997/08/27 05:45:14 1.423
  +++ CHANGES   1997/08/28 01:38:48 1.424
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3a2
   
  +  *) PORT: BeOS support added [Alexei Kosut]
  +
 *) Configure no longer accepts the -make option, since it creates
Makefile on the fly based on Makefile.tmpl and Configuration.
   
  
  
  


cvs commit: apachen/src/main conf.h http_main.c util.c

1997-08-27 Thread Alexei Kosut
akosut  97/08/27 18:37:03

  Modified:src  Configure
   src/main conf.h http_main.c util.c
  Log:
  Add initial (not-quite-tested) support for the BeOS.
  
  Revision  ChangesPath
  1.144 +5 -0  apachen/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apachen/src/Configure,v
  retrieving revision 1.143
  retrieving revision 1.144
  diff -u -u -r1.143 -r1.144
  --- Configure 1997/08/27 01:12:19 1.143
  +++ Configure 1997/08/28 01:36:57 1.144
  @@ -480,6 +480,11 @@
MAKE="make"
DEF_WANTHSREGEX=yes
;;
  +*-BeOS*)
  + OS='BeOS';
  + CFLAGS="$CFLAGS -DBEOS"
  + DEF_WANTHSREGEX=yes
  + ;;
   *) # default: Catch systems we don't know about
echo Sorry, but we cannot grok \"$PLAT\"
echo uname -m
  
  
  
  1.130 +16 -2 apachen/src/main/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apachen/src/main/conf.h,v
  retrieving revision 1.129
  retrieving revision 1.130
  diff -u -u -r1.129 -r1.130
  --- conf.h1997/08/27 14:22:06 1.129
  +++ conf.h1997/08/28 01:36:59 1.130
  @@ -605,6 +605,20 @@
   #define NEED_STRNCASECMP
   #define NEED_STRDUP
   
  +#elif defined(BEOS)
  +#include 
  +
  +#define JMP_BUF sigjmp_buf
  +#define NO_WRITEV
  +#define NO_KILLPG
  +#define NEED_INITGROUPS
  +
  +/* BeOS doesn't have a couple signals... redefine to close ones*/
  +#define SIGBUS SIGSEGV
  +#define SIGURG SIGPIPE
  +
  +#define isascii(c)   (!((c) & ~0177))
  +
   #elif defined(WIN32) 
   /* Put your NT stuff here - Ambarish */
   
  @@ -756,9 +770,9 @@
   #include 
   #include 
   #include 
  -#ifndef MPE
  +#if !defined(MPE) && !defined(BEOS)
   #include   /* for inet_ntoa */
  -#endif /* ndef MPE */
  +#endif
   #include 
   #include 
   #include 
  
  
  
  1.212 +7 -2  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.211
  retrieving revision 1.212
  diff -u -u -r1.211 -r1.212
  --- http_main.c   1997/08/28 00:56:41 1.211
  +++ http_main.c   1997/08/28 01:36:59 1.212
  @@ -98,7 +98,7 @@
   #endif
   #ifdef WIN32
   #include "../os/win32/getopt.h"
  -#else
  +#elif !defined(BEOS)
   #include 
   #endif
   
  @@ -1947,7 +1947,7 @@
 name = ent->pw_name;
   } else name = user_name;
   
  -#ifndef __EMX__ 
  +#ifndef __EMX__
   /* OS/2 dosen't support groups. */
   
   /* Reset `groups' attributes. */
  @@ -2307,11 +2307,14 @@
   exit(1);
   }
   one = 1;
  +#ifndef BEOS
  +/* BeOS does not support SO_KEEPALIVE */
   if (setsockopt(s, SOL_SOCKET,SO_KEEPALIVE,(char *)&one,sizeof(int)) < 0) 
{
   log_unixerr("setsockopt", "(SO_KEEPALIVE)", NULL, server_conf);
   exit(1);
   }
   #endif
  +#endif
   
   sock_disable_nagle(s);
   sock_enable_linger(s);
  @@ -2335,6 +2338,7 @@
*
* If no size is specified, use the kernel default.
*/
  +#ifndef BEOS /* BeOS does not support SO_SNDBUF */
   if (server_conf->send_buffer_size) {
   if (setsockopt(s, SOL_SOCKET, SO_SNDBUF,
 (char *)&server_conf->send_buffer_size, sizeof(int)) < 0) {
  @@ -2344,6 +2348,7 @@
/* not a fatal error */
}
   }
  +#endif
   
   #ifdef MPE
   /* MPE requires CAP=PM and GETPRIVMODE to bind to ports less than 1024 */
  
  
  
  1.68  +2 -2  apachen/src/main/util.c
  
  Index: util.c
  ===
  RCS file: /export/home/cvs/apachen/src/main/util.c,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -u -r1.67 -r1.68
  --- util.c1997/07/27 03:13:31 1.67
  +++ util.c1997/08/28 01:37:00 1.68
  @@ -1079,8 +1079,8 @@
   #ifdef NEED_INITGROUPS
   int initgroups(const char *name, gid_t basegid)
   {
  -#if defined(QNX) || defined(MPE)
  -/* QNX and MPE do not appear to support supplementary groups. */
  +#if defined(QNX) || defined(MPE) || defined(BEOS)
  +/* QNX, MPE and BeOS do not appear to support supplementary groups. */
return 0;
   #else /* ndef QNX */
 gid_t groups[NGROUPS_MAX];
  
  
  


cvs commit: apachen/src/main http_main.c

1997-08-27 Thread Alexei Kosut
akosut  97/08/27 17:56:45

  Modified:src/main http_main.c
  Log:
  Dean's new timer scheme (http_main.c revision 1.202) seems to have
  broken non-shared memory-based systems, by accidentally removing a
  #define. Put it back.
  
  Revision  ChangesPath
  1.211 +1 -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.210
  retrieving revision 1.211
  diff -u -u -r1.210 -r1.211
  --- http_main.c   1997/08/26 00:00:55 1.210
  +++ http_main.c   1997/08/28 00:56:41 1.211
  @@ -1301,6 +1301,7 @@
   }
   
   #else
  +#define SCOREBOARD_FILE
   static scoreboard _scoreboard_image;
   static int scoreboard_fd;
   
  
  
  


cvs commit: apachen/src/main http_config.c http_main.c

1997-08-25 Thread Alexei Kosut
akosut  97/08/25 17:00:57

  Modified:src  CHANGES
   src/main http_config.c http_main.c
  Log:
  Update sig_term to shutdown gracefully when a SIGTERM is received.
  
  Reviewed by: Dean Gaudet, Randy Terbush
  
  Revision  ChangesPath
  1.421 +4 -0  apachen/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.420
  retrieving revision 1.421
  diff -u -u -r1.420 -r1.421
  --- CHANGES   1997/08/25 16:02:21 1.420
  +++ CHANGES   1997/08/26 00:00:50 1.421
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3a2
   
  +  *) Apache now gracefully shuts down when it receives a SIGTERM, instead
  + of forcibly killing off all its processes and exiting without
  + cleaning up. [Alexei Kosut]
  +
 *) API: A new field in the request_rec, r->mtime, has been added to
avoid gratuitous parsing of date strings.  It is intended to hold
the last-modified date of the resource (if applicable).  An
  
  
  
  1.76  +0 -1  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.75
  retrieving revision 1.76
  diff -u -u -r1.75 -r1.76
  --- http_config.c 1997/08/25 02:26:57 1.75
  +++ http_config.c 1997/08/26 00:00:54 1.76
  @@ -1293,7 +1293,6 @@
   if (m->child_exit)
(*m->child_exit) (s, p);
   
  -exit(0);
   }
   
   /
  
  
  
  1.210 +48 -18apachen/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apachen/src/main/http_main.c,v
  retrieving revision 1.209
  retrieving revision 1.210
  diff -u -u -r1.209 -r1.210
  --- http_main.c   1997/08/24 18:41:29 1.209
  +++ http_main.c   1997/08/26 00:00:55 1.210
  @@ -746,6 +746,8 @@
   if (alarms_blocked == 0) {
if (exit_after_unblock) {
child_exit_modules(pconf, server_conf);
  + destroy_pool(pconf);
  + exit(0);
}
if (alarm_pending) {
alarm_pending = 0;
  @@ -1591,7 +1593,7 @@
   return -1;
   }
   
  -static void reclaim_child_processes (void)
  +static void reclaim_child_processes (int start_tries)
   {
   #ifndef MULTITHREAD
   int i, status;
  @@ -1602,7 +1604,7 @@
   
if (pid != my_pid && pid != 0) { 
int waitret = 0,
  - tries = 1;
  + tries = start_tries;
   
while (waitret == 0 && tries <= 4) {
long int waittime = 4096; /* in usecs */
  @@ -1745,17 +1747,6 @@
   }
   
   
  -void sig_term(int sig) {
  -log_error("httpd: caught SIGTERM, shutting down", server_conf);
  -cleanup_scoreboard();
  -accept_mutex_cleanup();
  -#ifdef SIGKILL
  -ap_killpg (pgrp, SIGKILL);
  -#endif /* SIGKILL */
  -close(sd);
  -exit(1);
  -}
  -
   void bus_error(int sig) {
   char emsg[256];
   
  @@ -1790,6 +1781,8 @@
exit_after_unblock = 1;
   } else {
child_exit_modules(pconf, server_conf);
  + destroy_pool(pconf);
  + exit(0);
   }
   }
   
  @@ -1805,10 +1798,15 @@
   }
   
   /* volatile just in case */
  +static int volatile shutdown_pending;
   static int volatile restart_pending;
   static int volatile is_graceful;
   static int volatile generation;
   
  +static void sig_term(int sig) {
  +shutdown_pending = 1;
  +}
  +
   static void restart (int sig)
   {
   #ifdef WIN32
  @@ -2642,13 +2640,18 @@
clear_pool (ptrans);

sync_scoreboard_image();
  - if (scoreboard_image->global.exit_generation >= generation)
  + if (scoreboard_image->global.exit_generation >= generation) {
child_exit_modules(pconf, server_conf);
  + destroy_pool(pconf);
  + exit(0);
  + }

if ((max_requests_per_child > 0
&& ++requests_this_child >= max_requests_per_child))
{
child_exit_modules(pconf, server_conf);
  + destroy_pool(pconf);
  + exit(0);
}
   
(void)update_child_status(my_child_num, SERVER_READY, 
(request_rec*)NULL);
  @@ -2692,6 +2695,8 @@
if (deferred_die) {
/* we didn't get a socket, and we were told to die */
child_exit_modules(pconf, server_conf);
  + destroy_pool(pconf);
  + exit(0);
}
}
   
  @@ -2714,13 +2719,18 @@
if (deferred_die) {
/* ok maybe not, see ya later */
child_exit_modules(pconf, server_conf);
  + destroy_pool(pconf);
  +  

cvs commit: apache/src util_script.c

1997-08-04 Thread Alexei Kosut
akosut  97/08/04 14:10:17

  Modified:src   util_script.c
  Log:
  Correctly set PATH_TRANSLATED to a Windows filename when running under
  Windows.
  
  Revision  ChangesPath
  1.68  +12 -4 apache/src/util_script.c
  
  Index: util_script.c
  ===
  RCS file: /export/home/cvs/apache/src/util_script.c,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- util_script.c 1997/07/24 04:24:00 1.67
  +++ util_script.c 1997/08/04 21:10:16 1.68
  @@ -305,10 +305,18 @@
 * is pointing to an object which doesn't exist.
 */

  - if (pa_req->filename)
  - table_set (e, "PATH_TRANSLATED",
  -pstrcat (r->pool, pa_req->filename, pa_req->path_info,
  - NULL));
  + if (pa_req->filename) {
  + char buffer[HUGE_STRING_LEN];
  + char *pt = pstrcat (r->pool, pa_req->filename, pa_req->path_info,
  + NULL);
  +#ifdef WIN32
  + /* We need to make this a real Windows path name */
  + GetFullPathName(pt, HUGE_STRING_LEN, buffer, NULL);
  + table_set (e, "PATH_TRANSLATED", pstrdup(r->pool, buffer));
  +#else
  + table_set (e, "PATH_TRANSLATED", pt);
  +#endif
  + }
   }
   }
   
  
  
  


cvs commit: apache-site index.html

1997-07-23 Thread Alexei Kosut
akosut  97/07/23 13:40:22

  Modified:. index.html
  Log:
  Add Apache 1.3a1 blurb
  
  Revision  ChangesPath
  1.29  +25 -0 apache-site/index.html
  
  Index: index.html
  ===
  RCS file: /export/home/cvs/apache-site/index.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -c -u -r1.28 -r1.29
  /usr/bin/diff: conflicting specifications of output style
  --- index.html1997/07/19 15:59:50 1.28
  +++ index.html1997/07/23 20:40:20 1.29
  @@ -77,6 +77,31 @@
   
   
   
  +Apache 1.3a1 - Microsoft Windows Support
  +
  +
  +
  +Apache 1.3a1 is a public alpha of the forthcoming Apache 1.3, an update
  +which includes several new enhancements, including the ability to run
  +under Microsoft Windows NT and 95. This is an alpha release, and is for
  +experimental purposes; use at your own risk. It is available in source
  +format only, so a compiler is neccessary to use it (Microsoft Visual C++
  +5.0 for Windows).
  +
  +If you are not familiar with software development, and wish to use
  +a stable, working, web server, we strongly reccomend you download
  +Apache 1.2.1 instead. Please report any bugs 
you
  +find.
  +
  +
  +
  +
  +Download Apache 1.3a1 | 
  +Apache for Windows |
  +New Features in Apache 1.3
  +
  +
  +
   Important Information about Java and HTTP/1.1
   
   There are known problems with older versions of the Java
  
  
  


cvs commit: apache/src Makefile.nt

1997-07-23 Thread Alexei Kosut
akosut  97/07/23 13:09:49

  Modified:src   Makefile.nt
  Log:
  Oops... forgot to change a little bit of Makefile.nt
  
  Revision  ChangesPath
  1.9   +2 -2  apache/src/Makefile.nt
  
  Index: Makefile.nt
  ===
  RCS file: /export/home/cvs/apache/src/Makefile.nt,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Makefile.nt   1997/07/21 23:05:28 1.8
  +++ Makefile.nt   1997/07/23 20:09:49 1.9
  @@ -34,7 +34,7 @@
cd nt & set CFG=ApacheModuleUserTrack - Win32 Debug& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Debug& nmake 
/nologo -f ApacheModuleProxy.mak
   
  -installr: release
  +installr: apacher
-mkdir \Apache
-mkdir \Apache\modules
-mkdir \Apache\logs
  @@ -51,7 +51,7 @@
copy nt\ApacheModuleUserTrackR\ApacheModuleUserTrack.dll \Apache\modules
copy modules\proxy\Release\ApacheModuleProxy.dll \Apache\modules
   
  -installd: debug
  +installd: apached
-mkdir \Apache
-mkdir \Apache\modules
-mkdir \Apache\logs
  
  
  


cvs commit: apache-site 404.html

1997-07-23 Thread Alexei Kosut
akosut  97/07/23 12:24:31

  Modified:. 404.html
  Log:
  Add Apache background colors to not found error message.
  
  Revision  ChangesPath
  1.2   +9 -3  apache-site/404.html
  
  Index: 404.html
  ===
  RCS file: /export/home/cvs/apache-site/404.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -c -u -r1.1 -r1.2
  /usr/bin/diff: conflicting specifications of output style
  --- 404.html  1997/03/25 04:43:15 1.1
  +++ 404.html  1997/07/23 19:24:31 1.2
  @@ -4,9 +4,15 @@
   File not found!
   
   
  -
  -
  -
  +
  +
   
   File not found
   
  
  
  


cvs commit: apache/src httpd.h

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 17:09:04

  Modified:src   httpd.h
  Log:
  Set version to 1.3a2-dev... continue development
  
  Revision  ChangesPath
  1.132 +1 -1  apache/src/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /export/home/cvs/apache/src/httpd.h,v
  retrieving revision 1.131
  retrieving revision 1.132
  diff -c -u -r1.131 -r1.132
  /usr/bin/diff: conflicting specifications of output style
  --- httpd.h   1997/07/23 00:06:06 1.131
  +++ httpd.h   1997/07/23 00:09:02 1.132
  @@ -288,7 +288,7 @@
* Example: "Apache/1.1.0 MrWidget/0.1-alpha" 
*/
   
  -#define SERVER_BASEVERSION "Apache/1.3a1" /* SEE COMMENTS ABOVE */
  +#define SERVER_BASEVERSION "Apache/1.3a2-dev" /* SEE COMMENTS ABOVE */
   #ifdef SERVER_SUBVERSION
   #define SERVER_VERSION   SERVER_BASEVERSION " " SERVER_SUBVERSION
   #else
  
  
  


cvs commit: apache/src CHANGES httpd.h

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 17:06:08

  Modified:. README
   src   CHANGES httpd.h
  Log:
  Prep for 1.3a1
  
  Revision  ChangesPath
  1.10  +5 -1  apache/README
  
  Index: README
  ===
  RCS file: /export/home/cvs/apache/README,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -c -u -r1.9 -r1.10
  /usr/bin/diff: conflicting specifications of output style
  --- README1997/06/16 06:00:15 1.9
  +++ README1997/07/23 00:06:02 1.10
  @@ -1,5 +1,5 @@
Apache
  - Version 1.2 (and up)
  + Version 1.3 (and up)
   
   What is it?
   ---
  @@ -19,6 +19,10 @@
   
   Installation
   
  +
  +NOTE: Windows users please see http://www.apache.org/docs/windows.html,
  +  or the htdocs/manual/windows.html file included with Apache. The
  +  following applies only to Unix users.
   
   Unless you grabbed a binary distribution of Apache, you must compile
   it for your specific platform.  In order to compile it, you must set
  
  
  
  1.360 +1 -1  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.359
  retrieving revision 1.360
  diff -c -u -r1.359 -r1.360
  /usr/bin/diff: conflicting specifications of output style
  --- CHANGES   1997/07/21 19:40:12 1.359
  +++ CHANGES   1997/07/23 00:06:05 1.360
  @@ -1,4 +1,4 @@
  -Changes with Apache 1.3
  +Changes with Apache 1.3a1
   
 *) Added another Configure helper script: TestLib. It determines
if a specified library exists.
  
  
  
  1.131 +1 -1  apache/src/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /export/home/cvs/apache/src/httpd.h,v
  retrieving revision 1.130
  retrieving revision 1.131
  diff -c -u -r1.130 -r1.131
  /usr/bin/diff: conflicting specifications of output style
  --- httpd.h   1997/07/21 05:53:46 1.130
  +++ httpd.h   1997/07/23 00:06:06 1.131
  @@ -288,7 +288,7 @@
* Example: "Apache/1.1.0 MrWidget/0.1-alpha" 
*/
   
  -#define SERVER_BASEVERSION "Apache/1.3-dev" /* SEE COMMENTS ABOVE */
  +#define SERVER_BASEVERSION "Apache/1.3a1" /* SEE COMMENTS ABOVE */
   #ifdef SERVER_SUBVERSION
   #define SERVER_VERSION   SERVER_BASEVERSION " " SERVER_SUBVERSION
   #else
  
  
  


cvs commit: apache/src http_config.c

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 17:00:05

  Modified:src   http_config.c
  Log:
  Oops... fix off-by-one error.
  
  Revision  ChangesPath
  1.64  +2 -2  apache/src/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- http_config.c 1997/07/22 23:51:58 1.63
  +++ http_config.c 1997/07/23 00:00:04 1.64
  @@ -473,8 +473,8 @@
* components (Unix and DOS), and remove them.
*/
   
  -if (strrchr(m->name, '/')) m->name = strrchr(m->name, '/');
  -if (strrchr(m->name, '\\')) m->name = strrchr(m->name, '\\');
  +if (strrchr(m->name, '/')) m->name = 1 + strrchr(m->name, '/');
  +if (strrchr(m->name, '\\')) m->name = 1 + strrchr(m->name, '\\');
   
   /** XXX: this will be slow if there's lots of add_modules */
   build_method_shortcuts ();
  
  
  


cvs commit: apache/src http_config.c http_main.c

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 16:52:01

  Modified:src   http_config.c http_main.c
  Log:
  Work around compilers (like MSVC++) that don't do what we want with
  __FILE__.
  
  Revision  ChangesPath
  1.63  +8 -0  apache/src/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -c -u -r1.62 -r1.63
  /usr/bin/diff: conflicting specifications of output style
  --- http_config.c 1997/07/21 05:53:41 1.62
  +++ http_config.c 1997/07/22 23:51:58 1.63
  @@ -467,6 +467,14 @@
   if (m->module_index == -1) {
m->module_index = total_modules++;
   }
  +
  +/* Some C compilers put a complete path into __FILE__, but we want
  + * only the filename (e.g. mod_includes.c). So check for path
  + * components (Unix and DOS), and remove them.
  + */
  +
  +if (strrchr(m->name, '/')) m->name = strrchr(m->name, '/');
  +if (strrchr(m->name, '\\')) m->name = strrchr(m->name, '\\');
   
   /** XXX: this will be slow if there's lots of add_modules */
   build_method_shortcuts ();
  
  
  
  1.185 +4 -3  apache/src/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.184
  retrieving revision 1.185
  diff -c -u -r1.184 -r1.185
  /usr/bin/diff: conflicting specifications of output style
  --- http_main.c   1997/07/21 05:53:45 1.184
  +++ http_main.c   1997/07/22 23:51:58 1.185
  @@ -2695,6 +2695,8 @@
   strncpy (server_confname, SERVER_CONFIG_FILE, sizeof(server_root)-1);
   server_confname[sizeof(server_confname)-1] = '\0';
   
  +setup_prelinked_modules();
  +
   while((c = getopt(argc,argv,"Xd:f:vhl")) != -1) {
   switch(c) {
 case 'd':
  @@ -2727,8 +2729,6 @@
   printf("OS/2 port by Garey Smiley <[EMAIL PROTECTED]> \n");
   #endif
   
  -setup_prelinked_modules();
  -
   suexec_enabled = init_suexec();
   server_conf = read_config (pconf, ptrans, server_confname);
   init_modules (pconf, server_conf);
  @@ -3526,6 +3526,8 @@
   strncpy (server_confname, SERVER_CONFIG_FILE, sizeof(server_root)-1);
   server_confname[sizeof(server_confname)-1] = '\0';
   
  +setup_prelinked_modules();
  +
   while((c = getopt(argc,argv,"Xd:f:vhlc:ius")) != -1) {
   switch(c) {
   #ifdef WIN32
  @@ -3587,7 +3589,6 @@
   {
   service_cd();
   }
  -setup_prelinked_modules();
   
   server_conf = read_config (pconf, ptrans, server_confname);
   init_modules (pconf, server_conf);
  
  
  


cvs commit: apache/htdocs/manual/misc descriptors.html

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 15:39:31

  Modified:htdocs/manual/misc  descriptors.html
  Log:
  Fix HTML mistake
  
  Revision  ChangesPath
  1.6   +1 -1  apache/htdocs/manual/misc/descriptors.html
  
  Index: descriptors.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/descriptors.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -c -u -r1.5 -r1.6
  /usr/bin/diff: conflicting specifications of output style
  --- descriptors.html  1997/07/19 09:30:45 1.5
  +++ descriptors.html  1997/07/22 22:39:31 1.6
  @@ -109,7 +109,7 @@
   240 error logs if you do this.
   
   
  -AIX STRONG>
  +AIX
   AIX version 3.2?? appears to have a hard limit of 128 descriptors.
End of story.  Version 4.1.5 has a hard limit of 2000.
   
  
  
  


cvs commit: apache/htdocs/manual windows.html

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 15:33:15

  Modified:conf  httpd.conf-dist-win
   htdocs/manual  windows.html
  Log:
  Change ThreadsPerChild config default from 20 to 50 to match
  compiled-in default.
  
  Revision  ChangesPath
  1.4   +1 -1  apache/conf/httpd.conf-dist-win
  
  Index: httpd.conf-dist-win
  ===
  RCS file: /export/home/cvs/apache/conf/httpd.conf-dist-win,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -c -u -r1.3 -r1.4
  /usr/bin/diff: conflicting specifications of output style
  --- httpd.conf-dist-win   1997/07/22 22:31:36 1.3
  +++ httpd.conf-dist-win   1997/07/22 22:33:11 1.4
  @@ -125,7 +125,7 @@
   # depending on the responsiveness you want and the resources you wish
   # this server to consume).
   
  -ThreadsPerChild 20
  +ThreadsPerChild 50
   
   
   # Proxy Server directives. Uncomment the following line to
  
  
  
  1.4   +1 -1  apache/htdocs/manual/windows.html
  
  Index: windows.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/windows.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -c -u -r1.3 -r1.4
  /usr/bin/diff: conflicting specifications of output style
  --- windows.html  1997/07/22 20:47:38 1.3
  +++ windows.html  1997/07/22 22:33:14 1.4
  @@ -178,7 +178,7 @@
should use. This is the maximum number of connections the server
can handle at once; be sure and set this number high enough for
your site if you get a lot of hits. The recommended default is
  - ThreadsPerChild 20.
  + ThreadsPerChild 50.
 The directives that accept filenames as arguments now must use
 Windows filenames instead of Unix ones. However, because Apache
 uses Unix-style names internally, you must use forward slashes, not
  
  
  


cvs commit: apache/conf access.conf-dist-win httpd.conf-dist-win srm.conf-dist-win

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 15:31:38

  Modified:conf  access.conf-dist-win httpd.conf-dist-win
srm.conf-dist-win
  Log:
  Debinary the Windows config files to match new release plan
  
  Revision  ChangesPath
  1.2   +75 -75apache/conf/access.conf-dist-win
  
  Index: access.conf-dist-win
  ===
  RCS file: /export/home/cvs/apache/conf/access.conf-dist-win,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -c -u -r1.1 -r1.2
  /usr/bin/diff: conflicting specifications of output style
  --- access.conf-dist-win  1997/07/14 19:21:42 1.1
  +++ access.conf-dist-win  1997/07/22 22:31:36 1.2
  @@ -1,75 +1,75 @@
  -# access.conf: Global access configuration
  -# Online docs at http://www.apache.org/
  -
  -# This file defines server settings which affect which types of services
  -# are allowed, and in what circumstances. 
  -
  -# Each directory to which Apache has access, can be configured with respect
  -# to which services and features are allowed and/or disabled in that
  -# directory (and its subdirectories). 
  -
  -# Note: Where filenames are specified, you must use forward slashes
  -# instead of backslashes. e.g. "c:/apache" instead of "c:\apache". If
  -# the drive letter is ommited, the drive where Apache.exe is located
  -# will be assumed
  -
  -# Originally by Rob McCool
  -
  -# This should be changed to whatever you set DocumentRoot to.
  -
  -
  -
  -# This may also be "None", "All", or any combination of "Indexes",
  -# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
  -
  -# Note that "MultiViews" must be named *explicitly* --- "Options All"
  -# doesn't give it to you (or at least, not yet).
  -
  -Options Indexes FollowSymLinks
  -
  -# This controls which options the .htaccess files in directories can
  -# override. Can also be "All", or any combination of "Options", "FileInfo", 
  -# "AuthConfig", and "Limit"
  -
  -AllowOverride None
  -
  -# Controls who can get stuff from this server.
  -
  -order allow,deny
  -allow from all
  -
  -
  -
  -# /apache/cgi-bin should be changed to whatever your ScriptAliased
  -# CGI directory exists, if you have that configured.
  -
  -
  -AllowOverride None
  -Options None
  -
  -
  -# Allow server status reports, with the URL of 
http://servername/server-status
  -# Change the ".your_domain.com" to match your domain to enable.
  -
  -#
  -#SetHandler server-status
  -
  -#order deny,allow
  -#deny from all
  -#allow from .your_domain.com
  -#
  -
  -# There have been reports of people trying to abuse an old bug from pre-1.1
  -# days.  This bug involved a CGI script distributed as a part of Apache.
  -# By uncommenting these lines you can redirect these attacks to a logging 
  -# script on phf.apache.org.  Or, you can record them yourself, using the 
script
  -# support/phf_abuse_log.cgi.
  -
  -#
  -#deny from all
  -#ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
  -#
  -
  -# You may place any other directories or locations you wish to have
  -# access information for after this one.
  -
  +# access.conf: Global access configuration
  +# Online docs at http://www.apache.org/
  +
  +# This file defines server settings which affect which types of services
  +# are allowed, and in what circumstances. 
  +
  +# Each directory to which Apache has access, can be configured with respect
  +# to which services and features are allowed and/or disabled in that
  +# directory (and its subdirectories). 
  +
  +# Note: Where filenames are specified, you must use forward slashes
  +# instead of backslashes. e.g. "c:/apache" instead of "c:\apache". If
  +# the drive letter is ommited, the drive where Apache.exe is located
  +# will be assumed
  +
  +# Originally by Rob McCool
  +
  +# This should be changed to whatever you set DocumentRoot to.
  +
  +
  +
  +# This may also be "None", "All", or any combination of "Indexes",
  +# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
  +
  +# Note that "MultiViews" must be named *explicitly* --- "Options All"
  +# doesn't give it to you (or at least, not yet).
  +
  +Options Indexes FollowSymLinks
  +
  +# This controls which options the .htaccess files in directories can
  +# override. Can also be "All", or any combination of "Options", "FileInfo", 
  +# "AuthConfig", and "Limit"
  +
  +AllowOverride None
  +
  +# Controls who can get stuff from this server.
  +
  +order allow,deny
  +allow from all
  +
  +
  +
  +# /apache/cgi-bin should be changed to whatever your ScriptAliased
  +# CGI directory exists, if you have that configured.
  +
  +
  +AllowOverride None
  +Options None
  +
  +
  +# Allow server status reports, with the URL of 
http://servername/server-status
  +# Change the ".your_domain.com" to match your domain to enable.
  +
  +#
  +#SetHandler server-status
  +
  +#order deny,allow
  +#deny from all
  +#allow from .your_domain.com
  +#
  +
  +# There h

cvs commit: apache/htdocs/manual/misc known_bugs.html

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 15:27:27

  Modified:htdocs/manual/misc  known_bugs.html
  Log:
  Add some known bugs for 1.3a1
  
  Revision  ChangesPath
  1.26  +12 -0 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.25
  retrieving revision 1.26
  diff -c -u -r1.25 -r1.26
  /usr/bin/diff: conflicting specifications of output style
  --- known_bugs.html   1997/07/19 18:32:23 1.25
  +++ known_bugs.html   1997/07/22 22:27:26 1.26
  @@ -25,6 +25,18 @@
   See Also: Compatibility notes
   
   
  +Apache 1.3a1 Bugs
  +
  +
  +  The Listen
  +  directive does not work when running under Windows.
  +  For some reason, mod_isapi
  +  does not work (with Windows) when compiled using the
  +  Release setting; it will crash the server whenever you
  +  access an ISA DLL. It works fine when the server is compiled with
  +  Debug.
  +
  +  
   Apache 1.2 Bugs
   
   
  
  
  


cvs commit: apache/htdocs/manual/mod mod_isapi.html index.html

1997-07-22 Thread Alexei Kosut
akosut  97/07/22 13:47:42

  Modified:htdocs/manual  windows.html
   htdocs/manual/mod  index.html
  Added:   htdocs/manual/mod  mod_isapi.html
  Log:
  Add docs for mod_isapi
  
  Revision  ChangesPath
  1.3   +5 -1  apache/htdocs/manual/windows.html
  
  Index: windows.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/windows.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -c -u -r1.2 -r1.3
  /usr/bin/diff: conflicting specifications of output style
  --- windows.html  1997/07/21 23:05:26 1.2
  +++ windows.html  1997/07/22 20:47:38 1.3
  @@ -153,7 +153,7 @@
   
   Configuring Apache is nearly identical to the Unix version of Apache,
  so most of the standard Apache documentation is
  -   applicable. A few things are, however, different:
  +   applicable. A few things are, however, different, or new:
   
   
 Because Apache for Windows is multithreaded, it does not use a
  @@ -197,6 +197,10 @@
   
 Information on creating module
DLLs is also available.
  +  Apache can also load ISAPI Extensions (i.e., Internet Server
  + Applications), such as those used by Microsoft's IIS, and other
  + Windows servers. More information
  + is available.
   
   
   Once Apache is configured correctly, it is nearly ready to be
  
  
  
  1.18  +2 -0  apache/htdocs/manual/mod/index.html
  
  Index: index.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/index.html,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -c -u -r1.17 -r1.18
  /usr/bin/diff: conflicting specifications of output style
  --- index.html1997/07/21 21:26:56 1.17
  +++ index.html1997/07/22 20:47:40 1.18
  @@ -77,6 +77,8 @@
   Server-parsed documents.
   mod_info
   Server configuration information
  +mod_isapi
  +Windows ISAPI Extension support
   mod_log_agent
   Logging of User Agents.
   mod_log_common up to Apache 1.1.1
  
  
  
  1.1  apache/htdocs/manual/mod/mod_isapi.html
  
  Index: mod_isapi.html
  ===
  
  
  
  Apache module mod_isapi
  
  
  
  
  
  
  Module mod_isapi
  
  This module is contained in the mod_isapi.c file, and is
 compiled in by default. It provides support for ISAPI Extensions when
 running under Microsoft Windows. Any document with a handler of
 isapi-isa will be processed by this module.
  
  Purpose
  
  This module implements the http://www.microsoft.com/win32dev/apiext/isapimrg.htm";>ISAPI
 Extension API. It allows Internet Server Applications (i.e., ISAPI
 Extensions) to be used with Apache for Windows.
  
  Usage
  
  In the server configuration file, add a handler called
 isapi-isa, and map it to files with a .DLL
 extension. In other words:
  
  AddHandler isapi-isa dll
  
  Now simply place the ISA DLLs into your document root, and they will
 be loaded when their URLs are accessed.
  
  ISAPI Extensions are governed by the same restrictions as CGI
 scripts. That is, Options ExecCGI must be active in the
 directory that contains the ISA.
  
  Notes
  
  Apache's ISAPI implementation conforms to all of the ISAPI 2.0
 specification, except for the "Microsoft-specific" extensions dealing
 with ascynchronous I/O. Apache's I/O model does not allow asynchronous
 reading and writing in a manner that the ISAPI could access. If an ISA
 tries to access async I/O, a message will be place in the error log,
 to help with debugging.
  
  Some servers, like Microsoft IIS, load the ISA into the server, and
 keep it loaded until memory usage is too high, and it is
 unloaded. Apache currently loads and unloads the ISA for each
 request. This is inefficient, but Apache's request model makes this
 method the only method that currently works. A future release may use
 a more effective loading method.
  
  Apache 1.3a1 currently limits POST and PUT input to 48k per
 request. This is to work around a problem with the ISAPI implementation
 that could result in a denial of service attack. It is expected that
 support for larger uploads will be added soon.
  
  Also, remember that while Apache supports ISAPI Extensions, it does
 not support ISAPI Filters. Support for filters may be added at a later
 date, but no support is planned at this time.
  
  
  
  
  
  
  


cvs commit: apache/src/nt mod_isapi.c modules.c

1997-07-22 Thread Alexei Kosut
uot; : 
$(SOURCE)\
  @@ -1567,6 +1740,11 @@
".\httpd.h"\
".\nt\readdir.h"\
".\regex\regex.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
  +NODEP_CPP_MOD_U=\
  + ".\sfio.h"\

   
   "$(INTDIR)\mod_userdir.obj"  "$(INTDIR)\mod_userdir.sbr" : $(SOURCE)\
  @@ -1603,6 +1781,11 @@
".\httpd.h"\
".\nt\readdir.h"\
".\regex\regex.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
  +NODEP_CPP_MODUL=\
  + ".\sfio.h"\

   
   "$(INTDIR)\modules.obj"  "$(INTDIR)\modules.sbr" : $(SOURCE) 
$(DEP_CPP_MODUL)\
  @@ -1632,6 +1815,8 @@
".\conf.h"\
".\multithread.h"\
".\regex\regex.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\

   
   "$(INTDIR)\multithread.obj"  "$(INTDIR)\multithread.sbr" : $(SOURCE)\
  @@ -1642,12 +1827,12 @@
   !ENDIF 
   
   SOURCE=.\nt\readdir.c
  -DEP_CPP_READD=\
  - ".\nt\readdir.h"\
  - 
   
   !IF  "$(CFG)" == "ApacheCore - Win32 Release"
   
  +DEP_CPP_READD=\
  + ".\nt\readdir.h"\
  + 
   
   "$(INTDIR)\readdir.obj" : $(SOURCE) $(DEP_CPP_READD) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
  @@ -1655,6 +1840,10 @@
   
   !ELSEIF  "$(CFG)" == "ApacheCore - Win32 Debug"
   
  +DEP_CPP_READD=\
  + ".\nt\readdir.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
   
   "$(INTDIR)\readdir.obj"  "$(INTDIR)\readdir.sbr" : $(SOURCE) 
$(DEP_CPP_READD)\
"$(INTDIR)"
  @@ -1694,6 +1883,11 @@
".\nt\readdir.h"\
".\regex\regex.h"\
".\rfc1413.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
  +NODEP_CPP_RFC14=\
  + ".\sfio.h"\

   
   "$(INTDIR)\rfc1413.obj"  "$(INTDIR)\rfc1413.sbr" : $(SOURCE) 
$(DEP_CPP_RFC14)\
  @@ -1724,6 +1918,8 @@
".\multithread.h"\
".\nt\service.h"\
".\regex\regex.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\

   
   "$(INTDIR)\service.obj"  "$(INTDIR)\service.sbr" : $(SOURCE) 
$(DEP_CPP_SERVI)\
  @@ -1760,6 +1956,11 @@
".\httpd.h"\
".\nt\readdir.h"\
".\regex\regex.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
  +NODEP_CPP_UTIL_=\
  + ".\sfio.h"\

   
   "$(INTDIR)\util.obj" "$(INTDIR)\util.sbr" : $(SOURCE) $(DEP_CPP_UTIL_)\
  @@ -1787,6 +1988,8 @@
".\conf.h"\
".\regex\regex.h"\
".\util_date.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\

   
   "$(INTDIR)\util_date.obj""$(INTDIR)\util_date.sbr" : $(SOURCE)\
  @@ -1824,6 +2027,11 @@
".\nt\readdir.h"\
".\regex\regex.h"\
".\util_md5.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
  +NODEP_CPP_UTIL_M=\
  + ".\sfio.h"\

   
   "$(INTDIR)\util_md5.obj" "$(INTDIR)\util_md5.sbr" : $(SOURCE) 
$(DEP_CPP_UTIL_M)\
  @@ -1873,6 +2081,11 @@
".\nt\readdir.h"\
".\regex\regex.h"\
".\util_script.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\
  + 
  +NODEP_CPP_UTIL_S=\
  + ".\sfio.h"\

   
   "$(INTDIR)\util_script.obj"  "$(INTDIR)\util_script.sbr" : $(SOURCE)\
  @@ -1898,6 +2111,8 @@
   DEP_CPP_UTIL_SN=\
".\conf.h"\
".\regex\regex.h"\
  + {$(INCLUDE)}"sys\stat.h"\
  + {$(INCLUDE)}"sys\types.h"\

   
   "$(INTDIR)\util_snprintf.obj""$(INTDIR)\util_snprintf.sbr" : 
$(SOURCE)\
  
  
  
  1.4   +3 -0  apache/src/nt/modules.c
  
  Index: modules.c
  ===
  RCS file: /export/home/cvs/apache/src/nt/modules.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- modules.c 1997/07/18 23:54:29 1.3
  +++ modules.c 1997/07/22 19:25:20 1.4
  @@ -23,6 +23,7 @@
   extern module imap_module;
   extern module action_module;
   extern module browser_module;
  +extern module isapi_module;
   
   module *prelinked_modules[] = {
 &core_module,
  @@ -43

cvs commit: apache-site ABOUT_APACHE.html

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 16:28:20

  Modified:. ABOUT_APACHE.html
  Log:
  Update this file as well as the one in the source. Also test to see if
  unidiffs are really working now.
  
  Revision  ChangesPath
  1.3   +1 -1  apache-site/ABOUT_APACHE.html
  
  Index: ABOUT_APACHE.html
  ===
  RCS file: /export/home/cvs/apache-site/ABOUT_APACHE.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -c -u -r1.2 -r1.3
  /usr/bin/diff: conflicting specifications of output style
  --- ABOUT_APACHE.html 1997/07/10 16:29:48 1.2
  +++ ABOUT_APACHE.html 1997/07/21 23:28:19 1.3
  @@ -186,7 +186,7 @@

 Alexei Kosut 
 
  -  Nueva High School, California 
  +  Stanford University, California 
 


  
  
  


cvs commit: CVSROOT log_accum.pl

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 16:26:53

  Modified:. log_accum.pl
  Log:
  This time, make unidiffs work for real.
  
  Revision  ChangesPath
  1.30  +1 -1  CVSROOT/log_accum.pl
  
  Index: log_accum.pl
  rcsdiff: unknown option: -U3
  rcsdiff usage: rcsdiff -ksubst -q -rrev1 [-rrev2] -Vn -xsuff -zzone [diff 
options] file ...
  
  
  


cvs commit: apache ABOUT_APACHE

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 16:22:15

  Modified:. ABOUT_APACHE
  Log:
  Change my ABOUT_APACHE entry to something more correct (that I won't have
  to change for four years). Also to test unidiffs.
  
  Revision  ChangesPath
  1.3   +1 -1  apache/ABOUT_APACHE
  
  Index: ABOUT_APACHE
  rcsdiff: unknown option: -U3
  rcsdiff usage: rcsdiff -ksubst -q -rrev1 [-rrev2] -Vn -xsuff -zzone [diff 
options] file ...
  
  
  


cvs commit: CVSROOT log_accum.pl

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 16:20:02

  Modified:. log_accum.pl
  Log:
  Change context diff to unified diff in commit log email.
  
  Reviewed by: Dean Gaudet, Jim Jagielski, , Brian Behlendorf, Ben Laurie
  
  Revision  ChangesPath
  1.29  +1 -1  CVSROOT/log_accum.pl
  
  Index: log_accum.pl
  ===
  RCS file: /export/home/cvs/CVSROOT/log_accum.pl,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -c -C3 -r1.28 -r1.29
  *** log_accum.pl  1997/06/26 21:15:10 1.28
  --- log_accum.pl  1997/07/21 23:20:00 1.29
  ***
  *** 222,228 
 . "=\n";
}
else {
  ! open(DIFF, "-|") || exec 'cvs', '-Qn', 'diff', '-C3',
 "-r$prev_rev", "-r$rev", $file;
}

  --- 222,228 
 . "=\n";
}
else {
  ! open(DIFF, "-|") || exec 'cvs', '-Qn', 'diff', '-U3',
 "-r$prev_rev", "-r$rev", $file;
}

  
  
  


cvs commit: apache/src Makefile.nt

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 16:05:28

  Modified:htdocs/manual  windows.html
   src   Makefile.nt
  Log:
  Change release and debug to apacher and apached, to avoid
  name conflicts with VC++.
  
  Reviewed by: Ben Laurie
  
  Revision  ChangesPath
  1.2   +2 -2  apache/htdocs/manual/windows.html
  
  Index: windows.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/windows.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -C3 -r1.1 -r1.2
  *** windows.html  1997/07/21 21:26:53 1.1
  --- windows.html  1997/07/21 23:05:26 1.2
  ***
  *** 94,101 
   Makefile.nt file. To compile Apache, simply use one of
   the following commands:

  ! nmake /f Makefile.nt release
  ! nmake /f Makefile.nt debug


These will both compile Apache. The latter will include debugging
  --- 94,101 
   Makefile.nt file. To compile Apache, simply use one of
   the following commands:

  ! nmake /f Makefile.nt apacher (release build)
  ! nmake /f Makefile.nt apached (debug build)


These will both compile Apache. The latter will include debugging
  
  
  
  1.8   +2 -4  apache/src/Makefile.nt
  
  Index: Makefile.nt
  ===
  RCS file: /export/home/cvs/apache/src/Makefile.nt,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -C3 -r1.7 -r1.8
  *** Makefile.nt   1997/07/21 19:13:01 1.7
  --- Makefile.nt   1997/07/21 23:05:28 1.8
  ***
  *** 6,14 
# regex makes delete the appropriate apache.exe. Tacky, but it'll work!
# Ben, 5 July 97

  ! _release: release
  ! 
  ! release:
cd regex & set CFG=regex - Win32 Release& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Release& nmake /nologo -f 
ApacheCore.mak
cd . & set CFG=Apache - Win32 Release& nmake /nologo -f Apache.mak
  --- 6,12 
# regex makes delete the appropriate apache.exe. Tacky, but it'll work!
# Ben, 5 July 97

  ! apacher:
cd regex & set CFG=regex - Win32 Release& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Release& nmake /nologo -f 
ApacheCore.mak
cd . & set CFG=Apache - Win32 Release& nmake /nologo -f Apache.mak
  ***
  *** 22,28 
cd nt & set CFG=ApacheModuleUserTrack - Win32 Release& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Release& nmake 
/nologo -f ApacheModuleProxy.mak

  ! debug:
cd regex & set CFG=regex - Win32 Debug& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Debug& nmake /nologo -f ApacheCore.mak
cd . & set CFG=Apache - Win32 Debug& nmake /nologo -f Apache.mak
  --- 20,26 
cd nt & set CFG=ApacheModuleUserTrack - Win32 Release& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Release& nmake 
/nologo -f ApacheModuleProxy.mak

  ! apached:
cd regex & set CFG=regex - Win32 Debug& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Debug& nmake /nologo -f ApacheCore.mak
cd . & set CFG=Apache - Win32 Debug& nmake /nologo -f Apache.mak
  
  
  


cvs commit: apache/src/nt mod_dll.c

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 14:26:59

  Modified:. README.NT
   htdocs/manual  new_features_1_3.html
   htdocs/manual/mod  core.html directives.html index.html
   src/ntmod_dll.c
  Added:   htdocs/manual  windows.html
   htdocs/manual/mod  mod_dll.html
  Log:
  Create some docs on Apache for Windows. Note that some of this is
  tenative, and likely to change soon.
  
  Revision  ChangesPath
  1.2   +11 -0 apache/README.NT
  
  Index: README.NT
  ===
  RCS file: /export/home/cvs/apache/README.NT,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -c -C3 -r1.1 -r1.2
  *** README.NT 1997/06/15 19:22:22 1.1
  --- README.NT 1997/07/21 21:26:52 1.2
  ***
  *** 1,3 
  --- 1,14 
  + NOTE - About this File
  + ==
  + 
  + This file contains development information on Apache for Windows, not all
  + of which is relevant to the current version. For information on
  + installation and use of Apache for Windows, please see
  + http://www.apache.org/docs/windows.html, also available as
  + htdocs/manual/windows.html with this distribution.
  + 
  + Alexei Kosut <[EMAIL PROTECTED]> - July 21, 1997
  + 
Integration with official Apache sources


  
  
  
  1.10  +1 -2  apache/htdocs/manual/new_features_1_3.html
  
  Index: new_features_1_3.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_3.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -c -C3 -r1.9 -r1.10
  *** new_features_1_3.html 1997/07/19 08:58:31 1.9
  --- new_features_1_3.html 1997/07/21 21:26:53 1.10
  ***
  *** 30,37 



  ! Support for Windows NT/95
  ! [Documentation to be written]
Apache now supports the Windows NT and Windows 95 operating systems,
as well as the Unix systems supported in previos releases. Although the
Windows version of Apache may not be perform as well as on the Unix
  --- 30,36 



  ! Support for Windows NT/95
Apache now supports the Windows NT and Windows 95 operating systems,
as well as the Unix systems supported in previos releases. Although the
Windows version of Apache may not be perform as well as on the Unix
  
  
  
  1.1  apache/htdocs/manual/windows.html
  
  Index: windows.html
  ===
  
  
  
  Using Apache with Microsoft Windows
  
  
  
  
  
  
  Using Apache With Microsoft Windows
  
  This document explains how to compile, install, configure and run
 Apache 1.3a1 (or later) under Microsoft Windows. Please note that at
 this time, Windows support is entirely experimental, and is
 recommended only for experienced users. The Apache Group does not
 guarantee that this software will work as documented, or even at
 all. If you find any bugs, or wish to contribute in other ways, please
 use our http://www.apache.org/bug_report.html";>bug reporting
 page.
  
  
  
  
Requirements
Downloading Apache for Windows
Compiling Apache for Windows
Installing Apache for Windows
Using Apache for Windows
  
  
  
  
  Requirements
  
  Apache 1.3a1 requires the following:
  
  
Microsoft Windows NT 4.0*, or Windows 95.
An Intel-based PC-compatible capable of running above OS (exact
requirements unknown) with a connection to a TCP/IP network.
Microsoft Visual C++ 5.0 or later.
  
  
  * Apache may run with Windows NT 3.5.1, but
 has not been tested.
  
  Apache 1.3a1 is available only in source form. Future releases will
 contain prebuilt binaries for use by those without compilers (which we
 understand are the vast majority of Windows users), however the
 current release requires Microsoft Visual C++ 5.0 or later. The Apache
 Group is releasing 1.3a1 only as source to limit the alpha release to
 those who have the tools and knowledge to assist with the development
 processes.
  
  This documentation assumes good working knowledge of Microsoft
 Windows, Microsoft Visual C++, and the Apache web server (for
 Unix).
  
  Downloading Apache for Windows
  
  Information on the latest version of Apache can be found on the Apache
  web server at http://www.apache.org/";>http://www.apache.org/.  This will
  list the current release, any more recent alpha or beta-test release,
  together with details of mirror web and anonymous ftp sites.
  
  You will be able to download Apache 1.3a1 or a later release in
 several forms, including a WinZip (.zip)
 archive. Although this contains the same files as the others (likely
 .tar.gz and .tar.Z), it is recommended for
 Windows use, as all the files 

cvs commit: apache/src Makefile.nt

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 12:13:02

  Modified:src   Makefile.nt
  Log:
  Clean up Makefile.nt a little.
  
  Revision  ChangesPath
  1.7   +10 -4 apache/src/Makefile.nt
  
  Index: Makefile.nt
  ===
  RCS file: /export/home/cvs/apache/src/Makefile.nt,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** Makefile.nt   1997/07/20 15:30:02 1.6
  --- Makefile.nt   1997/07/21 19:13:01 1.7
  ***
  *** 6,12 
# regex makes delete the appropriate apache.exe. Tacky, but it'll work!
# Ben, 5 July 97

  ! _release:
cd regex & set CFG=regex - Win32 Release& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Release& nmake /nologo -f 
ApacheCore.mak
cd . & set CFG=Apache - Win32 Release& nmake /nologo -f Apache.mak
  --- 6,14 
# regex makes delete the appropriate apache.exe. Tacky, but it'll work!
# Ben, 5 July 97

  ! _release: release
  ! 
  ! release:
cd regex & set CFG=regex - Win32 Release& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Release& nmake /nologo -f 
ApacheCore.mak
cd . & set CFG=Apache - Win32 Release& nmake /nologo -f Apache.mak
  ***
  *** 20,26 
cd nt & set CFG=ApacheModuleUserTrack - Win32 Release& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Release& nmake 
/nologo -f ApacheModuleProxy.mak

  ! _debug:
cd regex & set CFG=regex - Win32 Debug& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Debug& nmake /nologo -f ApacheCore.mak
cd . & set CFG=Apache - Win32 Debug& nmake /nologo -f Apache.mak
  --- 22,28 
cd nt & set CFG=ApacheModuleUserTrack - Win32 Release& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Release& nmake 
/nologo -f ApacheModuleProxy.mak

  ! debug:
cd regex & set CFG=regex - Win32 Debug& nmake /nologo -f regex.mak
cd . & set CFG=ApacheCore - Win32 Debug& nmake /nologo -f ApacheCore.mak
cd . & set CFG=Apache - Win32 Debug& nmake /nologo -f Apache.mak
  ***
  *** 34,42 
cd nt & set CFG=ApacheModuleUserTrack - Win32 Debug& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Debug& nmake 
/nologo -f ApacheModuleProxy.mak

  ! installr: _release
-mkdir \Apache
-mkdir \Apache\modules
copy ApacheR\Apache.exe \Apache
copy CoreR\ApacheCore.dll \Apache
copy nt\ApacheModuleStatusR\ApacheModuleStatus.dll \Apache\modules
  --- 36,46 
cd nt & set CFG=ApacheModuleUserTrack - Win32 Debug& nmake /nologo -f 
ApacheModuleUserTrack.mak
cd modules\proxy & set CFG=ApacheModuleProxy - Win32 Debug& nmake 
/nologo -f ApacheModuleProxy.mak

  ! installr: release
-mkdir \Apache
-mkdir \Apache\modules
  + -mkdir \Apache\logs
  + -mkdir \Apache\conf
copy ApacheR\Apache.exe \Apache
copy CoreR\ApacheCore.dll \Apache
copy nt\ApacheModuleStatusR\ApacheModuleStatus.dll \Apache\modules
  ***
  *** 49,57 
copy nt\ApacheModuleUserTrackR\ApacheModuleUserTrack.dll \Apache\modules
copy modules\proxy\Release\ApacheModuleProxy.dll \Apache\modules

  ! installd: _debug
-mkdir \Apache
-mkdir \Apache\modules
copy ApacheD\Apache.exe \Apache
copy CoreD\ApacheCore.dll \Apache
copy nt\ApacheModuleStatusD\ApacheModuleStatus.dll \Apache\modules
  --- 53,63 
copy nt\ApacheModuleUserTrackR\ApacheModuleUserTrack.dll \Apache\modules
copy modules\proxy\Release\ApacheModuleProxy.dll \Apache\modules

  ! installd: debug
-mkdir \Apache
-mkdir \Apache\modules
  + -mkdir \Apache\logs
  + -mkdir \Apache\conf
copy ApacheD\Apache.exe \Apache
copy CoreD\ApacheCore.dll \Apache
copy nt\ApacheModuleStatusD\ApacheModuleStatus.dll \Apache\modules
  
  
  


cvs commit: apache/src dummy.c

1997-07-21 Thread Alexei Kosut
akosut  97/07/21 11:57:18

  Modified:src   dummy.c
  Log:
  Make Apache/Windows work again. Dean's recent change broke it.
  
  Revision  ChangesPath
  1.3   +1 -1  apache/src/dummy.c
  
  Index: dummy.c
  ===
  RCS file: /export/home/cvs/apache/src/dummy.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** dummy.c   1997/07/21 03:37:49 1.2
  --- dummy.c   1997/07/21 18:57:17 1.3
  ***
  *** 1,3 
  ! void main()
{
}
  --- 1,3 
  ! void dummy()
{
}
  
  
  


cvs commit: apache/src/nt modules.c ApacheModuleAccess.mak ApacheModuleActions.mak ApacheModuleAlias.mak ApacheModuleAsis.mak ApacheModuleAuth.mak ApacheModuleAutoIndex.mak ApacheModuleBrowser.mak ApacheModuleCGI.mak ApacheModuleDir.mak ApacheModuleEnv.mak ApacheModuleIMap.mak ApacheModuleLogConfig.mak ApacheModuleMIME.mak ApacheModuleNegotiation.mak modules_dll.c

1997-07-18 Thread Alexei Kosut
akosut  97/07/18 16:54:29

  Modified:src   ApacheCore.mak Makefile.nt
   src/ntmodules.c
  Added:   src   Apache.mak
  Removed: src   ApacheLaunch.mak apache.mak
   src/ntApacheModuleAccess.mak ApacheModuleActions.mak 
ApacheModuleAlias.mak ApacheModuleAsis.mak 
ApacheModuleAuth.mak ApacheModuleAutoIndex.mak 
ApacheModuleBrowser.mak ApacheModuleCGI.mak 
ApacheModuleDir.mak ApacheModuleEnv.mak
ApacheModuleIMap.mak  ApacheModuleLogConfig.mak
ApacheModuleMIME.mak  ApacheModuleNegotiation.mak
modules_dll.c
  Log:
  Update Windows stuff: move standard modules back into ApacheCore. Change
  ApacheLaunch to Apache. Update nt/modules.c
  
  Revision  ChangesPath
  1.5   +10 -10apache/src/ApacheCore.mak
  
  Index: ApacheCore.mak
  ===
  RCS file: /export/home/cvs/apache/src/ApacheCore.mak,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -c -C3 -r1.4 -r1.5
  *** ApacheCore.mak1997/07/18 19:49:27 1.4
  --- ApacheCore.mak1997/07/18 23:54:22 1.5
  ***
  *** 85,91 
[EMAIL PROTECTED] "$(INTDIR)\mod_mime.obj"
[EMAIL PROTECTED] "$(INTDIR)\mod_negotiation.obj"
[EMAIL PROTECTED] "$(INTDIR)\mod_userdir.obj"
  ! [EMAIL PROTECTED] "$(INTDIR)\modules_dll.obj"
[EMAIL PROTECTED] "$(INTDIR)\multithread.obj"
[EMAIL PROTECTED] "$(INTDIR)\readdir.obj"
[EMAIL PROTECTED] "$(INTDIR)\rfc1413.obj"
  --- 85,91 
[EMAIL PROTECTED] "$(INTDIR)\mod_mime.obj"
[EMAIL PROTECTED] "$(INTDIR)\mod_negotiation.obj"
[EMAIL PROTECTED] "$(INTDIR)\mod_userdir.obj"
  ! [EMAIL PROTECTED] "$(INTDIR)\modules.obj"
[EMAIL PROTECTED] "$(INTDIR)\multithread.obj"
[EMAIL PROTECTED] "$(INTDIR)\readdir.obj"
[EMAIL PROTECTED] "$(INTDIR)\rfc1413.obj"
  ***
  *** 159,165 
"$(INTDIR)\mod_mime.obj" \
"$(INTDIR)\mod_negotiation.obj" \
"$(INTDIR)\mod_userdir.obj" \
  ! "$(INTDIR)\modules_dll.obj" \
"$(INTDIR)\multithread.obj" \
"$(INTDIR)\readdir.obj" \
"$(INTDIR)\rfc1413.obj" \
  --- 159,165 
"$(INTDIR)\mod_mime.obj" \
"$(INTDIR)\mod_negotiation.obj" \
"$(INTDIR)\mod_userdir.obj" \
  ! "$(INTDIR)\modules.obj" \
"$(INTDIR)\multithread.obj" \
"$(INTDIR)\readdir.obj" \
"$(INTDIR)\rfc1413.obj" \
  ***
  *** 251,258 
[EMAIL PROTECTED] "$(INTDIR)\mod_negotiation.sbr"
[EMAIL PROTECTED] "$(INTDIR)\mod_userdir.obj"
[EMAIL PROTECTED] "$(INTDIR)\mod_userdir.sbr"
  ! [EMAIL PROTECTED] "$(INTDIR)\modules_dll.obj"
  ! [EMAIL PROTECTED] "$(INTDIR)\modules_dll.sbr"
[EMAIL PROTECTED] "$(INTDIR)\multithread.obj"
[EMAIL PROTECTED] "$(INTDIR)\multithread.sbr"
[EMAIL PROTECTED] "$(INTDIR)\readdir.obj"
  --- 251,258 
[EMAIL PROTECTED] "$(INTDIR)\mod_negotiation.sbr"
[EMAIL PROTECTED] "$(INTDIR)\mod_userdir.obj"
[EMAIL PROTECTED] "$(INTDIR)\mod_userdir.sbr"
  ! [EMAIL PROTECTED] "$(INTDIR)\modules.obj"
  ! [EMAIL PROTECTED] "$(INTDIR)\modules.sbr"
[EMAIL PROTECTED] "$(INTDIR)\multithread.obj"
[EMAIL PROTECTED] "$(INTDIR)\multithread.sbr"
[EMAIL PROTECTED] "$(INTDIR)\readdir.obj"
  ***
  *** 329,335 
"$(INTDIR)\mod_mime.sbr" \
"$(INTDIR)\mod_negotiation.sbr" \
"$(INTDIR)\mod_userdir.sbr" \
  ! "$(INTDIR)\modules_dll.sbr" \
"$(INTDIR)\multithread.sbr" \
"$(INTDIR)\readdir.sbr" \
"$(INTDIR)\rfc1413.sbr" \
  --- 329,335 
"$(INTDIR)\mod_mime.sbr" \
"$(INTDIR)\mod_negotiation.sbr" \
"$(INTDIR)\mod_userdir.sbr" \
  ! "$(INTDIR)\modules.sbr" \
"$(INTDIR)\multithread.sbr" \
"$(INTDIR)\readdir.sbr" \
"$(INTDIR)\rfc1413.sbr" \
  ***
  *** 386,392 
"$(INTDIR)\mod_mime.obj" \
"$(INTDIR)\mod_negotiation.obj" \
"$(INTDIR)\mod_userdir.obj" \
  ! "$(INTDIR)\modules_dll.obj" \
"$(INTDIR)\multithread.obj" \
"$(INTDIR)\readdir.obj" \
"$(INTDIR)\rfc1413.obj" \
  --- 386,392 
"$(INTDIR)\mod_mime.obj" \
"$(INTDIR)\mod_negotiation.obj" \
"$(INTDIR)\mod_userdir.obj" \
  ! "$(INTDIR)\modules.obj" \
"$(INTDIR)\multithread.obj" \
"$(INTDIR)\readdir.obj" \
"$(INTDIR)\rfc1413.obj" \
  ***
  *** 1119,1125 


# Begin Source File

  ! SOURCE=.\nt\modules_dll.c
DEP_CPP_MODUL=\
".\alloc.h"\
".\buff.h"\
  --- 1119,1125 

###

cvs commit: apache/htdocs/manual new_features_1_3.html

1997-07-18 Thread Alexei Kosut
akosut  97/07/18 14:01:31

  Modified:. CHANGES
   htdocs/manual  new_features_1_3.html
  Log:
  Add additional Apache 1.3 docs.
  
  Revision  ChangesPath
  1.10  +57 -121   apache/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/CHANGES,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -c -C3 -r1.9 -r1.10
  *** CHANGES   1997/04/24 23:51:34 1.9
  --- CHANGES   1997/07/18 21:01:29 1.10
  ***
  *** 1,129 
  !OVERVIEW OF NEW FEATURES IN APACHE 1.2

New features with this release, as extensions of the Apache functionality
For more information, see the documentation included with this release
(htdocs/manual/) or http://www.apache.org/docs/

In addition to a number of bug fixes and internal performance
  ! enhancements, Apache 1.2 has the following specific new user
features:

  ! 
  !   *) HTTP/1.1 Compliance
  !Aside from the optional proxy module (which operates as HTTP/1.0),
  !Apache is conditionally compliant with the HTTP/1.1 proposed 
standard,
  !as approved by the IESG and the IETF HTTP working group.
  !HTTP/1.1 provides a much-improved protocol, and should allow for
  !greater performance and efficiency when transferring files. Apache
  !does, however, still work great with HTTP/1.0 browsers.  We are very
  !close to being unconditionally compliant; if you note any deviance
  !from the proposed standard, please report it as a bug.
  ! 
  !   *) eXtended Server Side Includes (XSSI)
  !A new set of server-side include directives allows the user to
  !better create WWW pages. This includes number of powerful new
  !features, such as the ability to set variables and use conditional
  !HTML.
  ! 
  !   *) File-based and Regex-enabled Directive Sections
  !The new  section allows directives to be enabled based on
  !full filename, not just directory and URL. In addition, 
  !sections can appear in .htaccess files. , along with
  ! and , can also now be based on regular
  !expressions, not just simple prefix matching.
  ! 
  !   *) Browser-based Environment Variables
  !Environment variables can now be set based on the User-Agent
  !string of the browser. Combined with XSSI, this allows you to
  !write browser-based conditional HTML documents.
  ! 
  !   *) SetUID CGI Execution 
  !Apache now supports the execution of CGI scripts as users other
  !than the server user. A number of security checks are built in to
  !try and make this as safe as possible.
  ! 
  !   *) URL Rewriting Module
  !The optional mod_rewrite module is now included. This module can
  !provide powerful URL mapping, using regular expressions. There's
  !nothing this module can't do!
  ! 
  !   *) Enhanced, Configurable Logging
  !The optional mod_log_config included with earlier versions of
  !Apache is now standard, and has been enhanced to allow logging of
  !much more detail about the transaction, and can be used to open
  !more than one log at once (each of which can have a different log
  !format).
  ! 
  !   *) User Tracking (Cookies) Revisions
  !The mod_cookies included with previous versions of Apache has been
  !renamed mod_usertrack, to more accurately reflect its function
  !(some people inadvertently thought it enabled cookie support in
  !Apache, which is not true - Apache supports the use of cookies
  !directly). It is also now possible to disable the generation of
  !cookies, even when the cookie module is compiled in. Also, an
  !expiry time can be set on the cookies.
  ! 
  !   *) Multiple IPs in 
  !The  directive can now take more than one IP address
  !or hostname. This lets a single vhost handles requests for
  !multiple IPs or hostnames.
  ! 
  !   *) CGI Debugging Environment
  !ScriptLog allows you to now set up a log that records all input
  !and output to failed CGI scripts. This includes environment
  !variables, input headers, POST data, output, and more. This makes
  !CGI scripts much easier to debug.
  ! 
  !   *) Resource Limits for CGI Scripts
  !New directives allow the limiting of resources used by CGI scripts
  !(e.g. max CPU time). This is helpful in preventing 'runaway' CGI
  !processes.
  ! 
  !   *) Redirect Directive Can Return Alternate Status
  !The Redirect directive can return permanent or temporary redirects,
  !"Gone" or "See Other" HTTP status. For NCSA-compatibility,
  !RedirectTemp and RedirectPermanent are also implemented.
  ! 
  !   *) Graceful Restarts
  !Apache can re

cvs commit: apache/src/regex regcomp.c regerror.c regex.h regex2.h regexec.c regfree.c

1997-07-15 Thread Alexei Kosut
akosut  97/07/15 17:41:28

  Modified:src   conf.h http_core.c http_core.h util_snprintf.c
   src/regex  regcomp.c regerror.c regex.h regex2.h regexec.c
regfree.c
  Log:
  Add a few more API_EXPORT tags. Also ensure that regex.h is correctly
  recreated when mkh is used.
  
  Revision  ChangesPath
  1.115 +2 -1  apache/src/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache/src/conf.h,v
  retrieving revision 1.114
  retrieving revision 1.115
  diff -c -C3 -r1.114 -r1.115
  *** conf.h1997/07/15 22:36:49 1.114
  --- conf.h1997/07/16 00:41:20 1.115
  ***
  *** 634,640 
#define ap_vsnprintfvsnprintf
#else
API_EXPORT(int) ap_snprintf(char *buf, size_t len, const char *format,...);
  ! int ap_vsnprintf(char *buf, size_t len, const char *format, va_list ap);
#endif

#if !defined(NEXT) && !defined(CONVEXOS) && !defined(WIN32)
  --- 634,641 
#define ap_vsnprintfvsnprintf
#else
API_EXPORT(int) ap_snprintf(char *buf, size_t len, const char *format,...);
  ! API_EXPORT(int) ap_vsnprintf(char *buf, size_t len, const char *format,
  !  va_list ap);
#endif

#if !defined(NEXT) && !defined(CONVEXOS) && !defined(WIN32)
  
  
  
  1.96  +5 -6  apache/src/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.95
  retrieving revision 1.96
  diff -c -C3 -r1.95 -r1.96
  *** http_core.c   1997/07/15 22:36:50 1.95
  --- http_core.c   1997/07/16 00:41:21 1.96
  ***
  *** 251,257 
return conf->opts; 
} 

  ! int allow_overrides (request_rec *r) 
{ 
core_dir_config *conf = 
  (core_dir_config *)get_module_config(r->per_dir_config, 
&core_module); 
  --- 251,257 
return conf->opts; 
} 

  ! API_EXPORT(int) allow_overrides (request_rec *r) 
{ 
core_dir_config *conf = 
  (core_dir_config *)get_module_config(r->per_dir_config, 
&core_module); 
  ***
  *** 259,265 
return conf->override; 
} 

  ! char *auth_type (request_rec *r)
{
core_dir_config *conf = 
  (core_dir_config *)get_module_config(r->per_dir_config, 
&core_module); 
  --- 259,265 
return conf->override; 
} 

  ! API_EXPORT(char *) auth_type (request_rec *r)
{
core_dir_config *conf = 
  (core_dir_config *)get_module_config(r->per_dir_config, 
&core_module); 
  ***
  *** 267,273 
return conf->auth_type;
}

  ! char *auth_name (request_rec *r)
{
core_dir_config *conf = 
  (core_dir_config *)get_module_config(r->per_dir_config, 
&core_module); 
  --- 267,273 
return conf->auth_type;
}

  ! API_EXPORT(char *) auth_name (request_rec *r)
{
core_dir_config *conf = 
  (core_dir_config *)get_module_config(r->per_dir_config, 
&core_module); 
  ***
  *** 283,289 
return conf->default_type ? conf->default_type : DEFAULT_TYPE;
}

  ! char *document_root (request_rec *r) /* Don't use this!!! */
{
core_server_config *conf = 
  (core_server_config *)get_module_config(r->server->module_config,
  --- 283,289 
return conf->default_type ? conf->default_type : DEFAULT_TYPE;
}

  ! API_EXPORT(char *) document_root (request_rec *r) /* Don't use this!!! */
{
core_server_config *conf = 
  (core_server_config *)get_module_config(r->server->module_config,
  ***
  *** 387,394 
}
}

  ! const char *
  ! get_remote_logname(request_rec *r)
{
core_dir_config *dir_conf;

  --- 387,393 
}
}

  ! API_EXPORT(const char *) get_remote_logname(request_rec *r)
{
core_dir_config *dir_conf;

  
  
  
  1.24  +5 -5  apache/src/http_core.h
  
  Index: http_core.h
  ===
  RCS file: /export/home/cvs/apache/src/http_core.h,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -c -C3 -r1.23 -r1.24
  *** http_core.h   1997/07/15 22:36:50 1.23
  --- http_core.h   1997/07/16 00:41:21 1.24
  ***
  *** 83,97 
#define SATISFY_NOSPEC 2

API_EXPORT(int) allow_options (request_rec *);
  ! int allow_overrides (request_rec *);
API_EXPORT(char *) default_type (request_rec *); 
  ! char *document_root (request_rec *); /* Don't use this!  If your request 
went
  * through a Userdir, or something like
  * that, it'll screw you.  But it's
  * back-compatible

cvs commit: apache/src/nt mod_dll.c

1997-07-15 Thread Alexei Kosut
akosut  97/07/15 14:51:57

  Modified:src/ntmod_dll.c
  Log:
  Change LoadLibrary() to LoadLibraryEx(), to use a more appropriate search
  path.
  
  Revision  ChangesPath
  1.2   +2 -1  apache/src/nt/mod_dll.c
  
  Index: mod_dll.c
  ===
  RCS file: /export/home/cvs/apache/src/nt/mod_dll.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -c -C3 -r1.1 -r1.2
  *** mod_dll.c 1997/07/13 19:01:34 1.1
  --- mod_dll.c 1997/07/15 21:51:56 1.2
  ***
  *** 111,117 

if (been_there_done_that) return NULL;

  ! if (!(modhandle = LoadLibrary(szModuleFile)))
return pstrcat (cmd->pool, "Cannot load ", szModuleFile, " into server",
NULL);
 
  --- 111,118 

if (been_there_done_that) return NULL;

  ! if (!(modhandle = LoadLibraryEx(szModuleFile, NULL,
  ! LOAD_WITH_ALTERED_SEARCH_PATH)))
return pstrcat (cmd->pool, "Cannot load ", szModuleFile, " into server",
NULL);
 
  
  
  


cvs commit: apache/src alloc.c alloc.h buff.c buff.h http_bprintf.c http_conf_globals.h http_config.c http_config.h http_log.c http_log.h http_main.c http_main.h http_protocol.c http_protocol.h http_request.c http_request.h httpd.h scoreboard.h util.c util_md5.c util_md5.h util_script.c util_script.h

1997-07-15 Thread Alexei Kosut
akosut  97/07/15 14:40:21

  Modified:src   alloc.c alloc.h buff.c buff.h http_bprintf.c 
http_conf_globals.h http_config.c http_config.h
http_log.c  http_log.h http_main.c http_main.h
http_protocol.c  http_protocol.h http_request.c
http_request.h httpd.h  scoreboard.h util.c
util_md5.c util_md5.h util_script.c  util_script.h
  Log:
  Tag (most of) the rest of the Apache module API symbols with API_EXPORT.
  
  Reviewed by: Ben Laurie
  
  Revision  ChangesPath
  1.40  +7 -3  apache/src/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /export/home/cvs/apache/src/alloc.c,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -c -C3 -r1.39 -r1.40
  *** alloc.c   1997/07/14 11:28:54 1.39
  --- alloc.c   1997/07/15 21:39:50 1.40
  ***
  *** 299,305 
permanent_pool = make_sub_pool (NULL);
}

  ! void clear_pool (struct pool *a)
{
  block_alarms();
  
  --- 299,305 
permanent_pool = make_sub_pool (NULL);
}

  ! API_EXPORT(void) clear_pool (struct pool *a)
{
  block_alarms();
  
  ***
  *** 333,340 
  unblock_alarms();
}

  ! long bytes_in_pool (pool *p) { return bytes_in_block_list (p->first); }
  ! long bytes_in_free_blocks () { return bytes_in_block_list (block_freelist); 
}

/*
 *
  --- 333,344 
  unblock_alarms();
}

  ! API_EXPORT(long) bytes_in_pool (pool *p) {
  ! return bytes_in_block_list (p->first);
  ! }
  ! API_EXPORT(long) bytes_in_free_blocks () {
  ! return bytes_in_block_list (block_freelist);
  ! }

/*
 *
  
  
  
  1.29  +3 -3  apache/src/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /export/home/cvs/apache/src/alloc.h,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -c -C3 -r1.28 -r1.29
  *** alloc.h   1997/07/13 19:01:07 1.28
  --- alloc.h   1997/07/15 21:39:50 1.29
  ***
  *** 86,92 

/* Clearing out EVERYTHING in an pool... destroys any sub-pools */

  ! void clear_pool (struct pool *);

/* Preparing for exec() --- close files, etc., but *don't* flush I/O
 * buffers, *don't* wait for subprocesses, and *don't* free any memory.
  --- 86,92 

/* Clearing out EVERYTHING in an pool... destroys any sub-pools */

  ! API_EXPORT(void) clear_pool (struct pool *);

/* Preparing for exec() --- close files, etc., but *don't* flush I/O
 * buffers, *don't* wait for subprocesses, and *don't* free any memory.
  ***
  *** 262,266 

/* Finally, some accounting */

  ! long bytes_in_pool(pool *p);
  ! long bytes_in_free_blocks();
  --- 262,266 

/* Finally, some accounting */

  ! API_EXPORT(long) bytes_in_pool(pool *p);
  ! API_EXPORT(long) bytes_in_free_blocks();
  
  
  
  1.37  +14 -24apache/src/buff.c
  
  Index: buff.c
  ===
  RCS file: /export/home/cvs/apache/src/buff.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -c -C3 -r1.36 -r1.37
  *** buff.c1997/07/13 19:01:08 1.36
  --- buff.c1997/07/15 21:39:50 1.37
  ***
  *** 246,253 
/*
 * Create a new buffered stream
 */
  ! BUFF *
  ! bcreate(pool *p, int flags)
{
BUFF *fb;

  --- 246,252 
/*
 * Create a new buffered stream
 */
  ! API_EXPORT(BUFF *) bcreate(pool *p, int flags)
{
BUFF *fb;

  ***
  *** 290,304 
/*
 * Push some I/O file descriptors onto the stream
 */
  ! void
  ! bpushfd(BUFF *fb, int fd_in, int fd_out)
{
fb->fd = fd_out;
fb->fd_in = fd_in;
}

  ! int
  ! bsetopt(BUFF *fb, int optname, const void *optval)
{
if (optname == BO_BYTECT)
{
  --- 289,301 
/*
 * Push some I/O file descriptors onto the stream
 */
  ! API_EXPORT(void) bpushfd(BUFF *fb, int fd_in, int fd_out)
{
fb->fd = fd_out;
fb->fd_in = fd_in;
}

  ! API_EXPORT(int) bsetopt(BUFF *fb, int optname, const void *optval)
{
if (optname == BO_BYTECT)
{
  ***
  *** 311,318 
}
}

  ! int
  ! bgetopt(BUFF *fb, int optname, void *optval)
{
if (optname == BO_BYTECT)
{
  --- 308,314 
}
}

  ! API_EXPORT(int) bgetopt(BUFF *fb, int optname, void *optval)
{
if (optname == BO_BYTECT)
{
  ***
  *** 415,421 
/*
 * Set a flag on (1) or off (0).
 */
  ! int bsetflag(BUFF *f

cvs commit: apache/conf access.conf-dist-win httpd.conf-dist-win srm.conf-dist-win

1997-07-14 Thread Alexei Kosut
akosut  97/07/14 12:21:43

  Added:   conf  access.conf-dist-win httpd.conf-dist-win
srm.conf-dist-win
  Log:
  Add default Windows *.conf files. These have been added with -kb,
  and should have DOS line breaks.
  
  Reviewed by: Marc Slemko, Jim Jagielski, Randy Terbush
  
  Revision  ChangesPath
  1.1  apache/conf/access.conf-dist-win
  
  Index: access.conf-dist-win
  ===
  # access.conf: Global access configuration
  # Online docs at http://www.apache.org/
  
  # This file defines server settings which affect which types of services
  # are allowed, and in what circumstances. 
  
  # Each directory to which Apache has access, can be configured with respect
  # to which services and features are allowed and/or disabled in that
  # directory (and its subdirectories). 
  
  # Note: Where filenames are specified, you must use forward slashes
  # instead of backslashes. e.g. "c:/apache" instead of "c:\apache". If
  # the drive letter is ommited, the drive where Apache.exe is located
  # will be assumed
  
  # Originally by Rob McCool
  
  # This should be changed to whatever you set DocumentRoot to.
  
  
  
  # This may also be "None", "All", or any combination of "Indexes",
  # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
  
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn't give it to you (or at least, not yet).
  
  Options Indexes FollowSymLinks
  
  # This controls which options the .htaccess files in directories can
  # override. Can also be "All", or any combination of "Options", "FileInfo", 
  # "AuthConfig", and "Limit"
  
  AllowOverride None
  
  # Controls who can get stuff from this server.
  
  order allow,deny
  allow from all
  
  
  
  # /apache/cgi-bin should be changed to whatever your ScriptAliased
  # CGI directory exists, if you have that configured.
  
  
  AllowOverride None
  Options None
  
  
  # Allow server status reports, with the URL of http://servername/server-status
  # Change the ".your_domain.com" to match your domain to enable.
  
  #
  #SetHandler server-status
  
  #order deny,allow
  #deny from all
  #allow from .your_domain.com
  #
  
  # There have been reports of people trying to abuse an old bug from pre-1.1
  # days.  This bug involved a CGI script distributed as a part of Apache.
  # By uncommenting these lines you can redirect these attacks to a logging 
  # script on phf.apache.org.  Or, you can record them yourself, using the 
script
  # support/phf_abuse_log.cgi.
  
  #
  #deny from all
  #ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
  #
  
  # You may place any other directories or locations you wish to have
  # access information for after this one.
  
  
  
  
  1.1  apache/conf/httpd.conf-dist-win
  
  Index: httpd.conf-dist-win
  ===
  # This is the main server configuration file. See URL http://www.apache.org/
  # for instructions.
  
  # Do NOT simply read the instructions in here without understanding
  # what they do, if you are unsure consult the online docs. You have been
  # warned.  
  
  # Note: Where filenames are specified, you must use forward slashes
  # instead of backslashes. e.g. "c:/apache" instead of "c:\apache". If
  # the drive letter is ommited, the drive where Apache.exe is located
  # will be assumed
  
  # Originally by Rob McCool
  
  # ServerType must be standalone.
  
  ServerType standalone
  
  # Port: The port the standalone listens to.
  
  Port 80
  
  # HostnameLookups: Log the names of clients or just their IP numbers
  #   e.g.   www.apache.org (on) or 204.62.129.132 (off)
  # The default is off because it'd be overall better for the net if people
  # had to knowingly turn this feature on.
  HostnameLookups off
  
  # If you wish httpd to run as a different user or group, you must run
  # httpd as root initially and it will switch.  
  
  # User/Group: The name (or #number) of the user/group to run httpd as.
  User nobody
  Group #-1
  
  # The following directive disables keepalives and HTTP header flushes for
  # Netscape 2.x and browsers which spoof it. There are known problems with
  # these
  
  BrowserMatch Mozilla/2 nokeepalive
  
  # ServerAdmin: Your address, where problems with the server should be
  # e-mailed.
  
  ServerAdmin [EMAIL PROTECTED]
  
  # ServerRoot: The directory the server's config, error, and log files
  # are kept in
  
  ServerRoot /apache
  
  # BindAddress: You can support virtual hosts with this option. This option
  # is used to tell the server which IP address to listen to. It can either
  # contain "*", an IP address, or a fully qualified Internet domain name.
  # See also the VirtualHost directive.
  
  #BindAddress *
  
  # ErrorLog: The location of the error log file. If this does not start
  # with /, ServerRoot is prepended

cvs commit: apache/src mod_usertrack.c

1997-07-08 Thread Alexei Kosut
akosut  97/07/08 14:18:51

  Modified:src   mod_usertrack.c
  Log:
  Fix mod_usertrack to work with Windows.
  
  Revision  ChangesPath
  1.12  +18 -2 apache/src/mod_usertrack.c
  
  Index: mod_usertrack.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_usertrack.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -c -C3 -r1.11 -r1.12
  *** mod_usertrack.c   1997/07/07 14:34:28 1.11
  --- mod_usertrack.c   1997/07/08 21:18:50 1.12
  ***
  *** 97,103 
  --- 97,105 
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
  + #ifndef WIN32
#include 
  + #endif

module usertrack_module;

  ***
  *** 106,111 
  --- 108,117 
time_t expires;
} cookie_log_state;

  + static const char month_names[12][4] = {
  + "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"
  + };
  + 
/* Define this to allow post-2000 cookies. Cookies use two-digit dates,
 * so it might be dicey. (Netscape does it correctly, but others may not)
 */
  ***
  *** 123,129 
#if defined(NO_GETTIMEOFDAY)
clock_t mpe_times;
struct tms mpe_tms;
  ! #else
struct timeval tv;
struct timezone tz = { 0 , 0 };
#endif
  --- 129,135 
#if defined(NO_GETTIMEOFDAY)
clock_t mpe_times;
struct tms mpe_tms;
  ! #elif !defined(WIN32)
struct timeval tv;
struct timezone tz = { 0 , 0 };
#endif
  ***
  *** 146,151 
  --- 152,167 

ap_snprintf(cookiebuf, 1024, "%s%d%ld%ld", rname, (int)getpid(),
  (long)time(NULL), (long)mpe_tms.tms_utime);
  + #elif defined(WIN32)
  + /* We lack gettimeofday() and we lack times(). So we'll use
  +  * a combination of time() and GetTickCount(), which returns
  +  * milliseconds since Windows was started. It should be relatively
  +  * unique.
  +  */
  + 
  +  ap_snprintf(cookiebuf, 1024, "%s%d%ld%ld", rname, (int)getpid(),
  +  (long)time(NULL), (long)GetTickCount());
  + 
#else
gettimeofday(&tv, &tz);

  ***
  *** 174,180 
  ap_snprintf(new_cookie, 1024,
   "%s%s; path=/; expires=%s, %.2d-%s-%.2d %.2d:%.2d:%.2d GMT",
  COOKIE_NAME, cookiebuf, days[tms->tm_wday],
  !   tms->tm_mday, month_snames[tms->tm_mon],
  (tms->tm_year >= 100) ? tms->tm_year - 100 : tms->tm_year,
  tms->tm_hour, tms->tm_min, tms->tm_sec);
}
  --- 190,196 
  ap_snprintf(new_cookie, 1024,
   "%s%s; path=/; expires=%s, %.2d-%s-%.2d %.2d:%.2d:%.2d GMT",
  COOKIE_NAME, cookiebuf, days[tms->tm_wday],
  !   tms->tm_mday, month_names[tms->tm_mon],
  (tms->tm_year >= 100) ? tms->tm_year - 100 : tms->tm_year,
  tms->tm_hour, tms->tm_min, tms->tm_sec);
}
  
  
  


cvs commit: apache/src/regex engine.ih regcomp.ih regerror.ih .cvsignore Makefile

1997-07-08 Thread Alexei Kosut
akosut  97/07/08 11:05:44

  Modified:src/regex  .cvsignore Makefile
  Added:   src/regex  engine.ih regcomp.ih regerror.ih
  Log:
  Don't delete .ih files when doing a make clean, and add them to the
  distribution.
  
  Revision  ChangesPath
  1.4   +0 -1  apache/src/regex/.cvsignore
  
  Index: .cvsignore
  ===
  RCS file: /export/home/cvs/apache/src/regex/.cvsignore,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -c -C3 -r1.3 -r1.4
  *** .cvsignore1997/07/05 22:09:29 1.3
  --- .cvsignore1997/07/08 18:05:38 1.4
  ***
  *** 1,4 
  - *.ih
re
Debug
Release
  --- 1,3 
  
  
  
  1.5   +1 -1  apache/src/regex/Makefile
  
  Index: Makefile
  ===
  RCS file: /export/home/cvs/apache/src/regex/Makefile,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -c -C3 -r1.4 -r1.5
  *** Makefile  1996/07/28 10:32:19 1.4
  --- Makefile  1997/07/08 18:05:39 1.5
  ***
  *** 126,132 
rm -f junk* core core.* *.core dtr *.tmp lint

clean:  tidy
  ! rm -f *.o *.s *.ih re libregex.a

# don't do this one unless you know what you're doing
spotless:   clean
  --- 126,132 
rm -f junk* core core.* *.core dtr *.tmp lint

clean:  tidy
  ! rm -f *.o *.s re libregex.a

# don't do this one unless you know what you're doing
spotless:   clean
  
  
  
  1.1  apache/src/regex/engine.ih
  
  Index: engine.ih
  ===
  /* = begin header generated by ./mkh = */
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /* === engine.c === */
  static int matcher(register struct re_guts *g, char *string, size_t nmatch, 
regmatch_t pmatch[], int eflags);
  static char *dissect(register struct match *m, char *start, char *stop, sopno 
startst, sopno stopst);
  static char *backref(register struct match *m, char *start, char *stop, sopno 
startst, sopno stopst, sopno lev);
  static char *fast(register struct match *m, char *start, char *stop, sopno 
startst, sopno stopst);
  static char *slow(register struct match *m, char *start, char *stop, sopno 
startst, sopno stopst);
  static states step(register struct re_guts *g, sopno start, sopno stop, 
register states bef, int ch, register states aft);
  #define   BOL (OUT+1)
  #define   EOL (BOL+1)
  #define   BOLEOL  (BOL+2)
  #define   NOTHING (BOL+3)
  #define   BOW (BOL+4)
  #define   EOW (BOL+5)
  #define   CODEMAX (BOL+5) /* highest code used */
  #define   NONCHAR(c)  ((c) > CHAR_MAX)
  #define   NNONCHAR(CODEMAX-CHAR_MAX)
  #ifdef REDEBUG
  static void print(struct match *m, char *caption, states st, int ch, FILE *d);
  #endif
  #ifdef REDEBUG
  static void at(struct match *m, char *title, char *start, char *stop, sopno 
startst, sopno stopst);
  #endif
  #ifdef REDEBUG
  static char *pchar(int ch);
  #endif
  
  #ifdef __cplusplus
  }
  #endif
  /* = end header generated by ./mkh = */
  
  
  
  1.1  apache/src/regex/regcomp.ih
  
  Index: regcomp.ih
  ===
  /* = begin header generated by ./mkh = */
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /* === regcomp.c === */
  static void p_ere(register struct parse *p, int stop);
  static void p_ere_exp(register struct parse *p);
  static void p_str(register struct parse *p);
  static void p_bre(register struct parse *p, register int end1, register int 
end2);
  static int p_simp_re(register struct parse *p, int starordinary);
  static int p_count(register struct parse *p);
  static void p_bracket(register struct parse *p);
  static void p_b_term(register struct parse *p, register cset *cs);
  static void p_b_cclass(register struct parse *p, register cset *cs);
  static void p_b_eclass(register struct parse *p, register cset *cs);
  static char p_b_symbol(register struct parse *p);
  static char p_b_coll_elem(register struct parse *p, int endc);
  static char othercase(int ch);
  static void bothcases(register struct parse *p, int ch);
  static void ordinary(register struct parse *p, register int ch);
  static void nonnewline(register struct parse *p);
  static void repeat(register struct parse *p, sopno start, int from, int to);
  static int seterr(register struct parse *p, int e);
  static cset *allocset(register struct parse *p);
  static void freeset(register struct parse *p, register cset *cs);
  static int freezeset(register struct parse *p, register cset *cs);
  static int firstch(register struct parse *p, register cset *cs);
  static int nch(register struct parse *p, register cset *cs);
  static void mcadd(register struct parse *p, register cs

cvs commit: apache/src http_config.c

1997-07-08 Thread Alexei Kosut
akosut  97/07/08 11:02:08

  Modified:src   http_config.c
  Log:
  Fix add_module() so it works with modules dynamically loaded at runtime.
  
  Revision  ChangesPath
  1.57  +2 -5  apache/src/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -c -C3 -r1.56 -r1.57
  *** http_config.c 1997/07/08 02:04:41 1.56
  --- http_config.c 1997/07/08 18:02:07 1.57
  ***
  *** 83,90 
 * of modules which control just about all of the server operation.
 */

  - /* num_modules is the number of currently active modules.  */
  - static int num_modules = 0;
/* total_modules is the number of modules linked in.  */
static int total_modules = 0;
module *top_module = NULL;
  --- 83,88 
  ***
  *** 470,477 
top_module = m;
}
if (m->module_index == -1) {
  ! m->module_index = num_modules++;
}
/** XXX: this will be slow if there's lots of add_modules */
build_method_shortcuts ();
}
  --- 468,476 
top_module = m;
}
if (m->module_index == -1) {
  ! m->module_index = total_modules++;
}
  + 
/** XXX: this will be slow if there's lots of add_modules */
build_method_shortcuts ();
}
  ***
  *** 539,546 
*m = NULL;
m = next_m;
}
  - 
  - num_modules = 0;

/* This is required; so we add it always.  */
add_named_module ("http_core.c");
  --- 538,543 
  
  
  


cvs commit: apache/src CHANGES http_core.c mod_alias.c

1997-07-07 Thread Alexei Kosut
server to
run the script /web/cgi-bin/foo.

  + 
  + 
  + 
  + ScriptAliasMatch
  + 
  + Syntax: ScriptAliasMatch regex 
directory-filename
  + Context: server config, virtual host
  + Status: Base
  + Module: mod_alias
  + Compatibility: Available in Apache 1.3 and later
  + 
  + 
  + This directive is equivilent to ScriptAlias, 
but
  + makes use of standard regular expressions, instead of simple prefix
  + matching. The supplied regular expression is matched against the URL,
  + and if it matches, the server will substitute any parenthesized
  + matches into the given string and use it as a filename. For example,
  + to activate the standard /cgi-bin, one might use:
  + 
  + ScriptAlias ^/cgi-bin(.*) /usr/local/etc/httpd/cgi-bin$1
  + 
  + 



  
  
  
  1.327 +5 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.326
  retrieving revision 1.327
  diff -c -C3 -r1.326 -r1.327
  *** CHANGES   1997/07/08 02:04:40 1.326
  --- CHANGES   1997/07/08 04:45:26 1.327
  ***
  *** 1,5 
  --- 1,10 
Changes with Apache 1.3

  +   *) AliasMatch, ScriptAliasMatch and RedirectMatch directives added,
  +  giving regex support to mod_alias. , 
  +  and  sections added to succeed , etc...
  +  [Alexei Kosut]
  + 
  *) The AccessFileName directive can now take more than one filename.
 ["Lou D. Langholtz" <[EMAIL PROTECTED]>]

  
  
  
  1.92  +20 -3 apache/src/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -c -C3 -r1.91 -r1.92
  *** http_core.c   1997/07/08 02:04:43 1.91
  --- http_core.c   1997/07/08 04:45:27 1.92
  ***
  *** 637,643 
#endif
cmd->override = OR_ALL|ACCESS_CONF;

  ! if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
}
  --- 637,646 
#endif
cmd->override = OR_ALL|ACCESS_CONF;

  ! if (cmd->info) { /*  */
  ! r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  ! }
  ! else if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
}
  ***
  *** 681,687 
cmd->path = getword_conf (cmd->pool, &arg);
cmd->override = OR_ALL|ACCESS_CONF;

  ! if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
}
  --- 684,693 
cmd->path = getword_conf (cmd->pool, &arg);
cmd->override = OR_ALL|ACCESS_CONF;

  ! if (cmd->info) { /*  */
  ! r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  ! }
  ! else if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
}
  ***
  *** 728,734 
if (cmd->path)
cmd->override = OR_ALL|ACCESS_CONF;

  ! if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  --- 734,745 
if (cmd->path)
cmd->override = OR_ALL|ACCESS_CONF;

  ! if (cmd->info) { /*  */
  ! if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
  ! cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  ! r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  ! }
  ! else if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  ***
  *** 1206,1211 
  --- 1217,1228 
{ "", endlimit, NULL, OR_ALL, RAW_ARGS, "Marks end of " },
{ "", end_ifmod, NULL, OR_ALL, NO_ARGS, "Marks end of 
" },
  + { "", end_dirsection, NULL, ACCESS_CONF, NO_ARGS, "Marks 
end of " },
  + { "", end_urlsection, NULL, ACCESS_CONF, NO_ARGS, "Ma

cvs commit: apache/src httpd.h

1997-07-03 Thread Alexei Kosut
akosut  97/07/03 13:27:41

  Modified:src   httpd.h
  Log:
  Change default server root to /apache on Windows
  
  Reviewed by: Marc Slemko, Ken Coar
  
  Revision  ChangesPath
  1.125 +3 -0  apache/src/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /export/home/cvs/apache/src/httpd.h,v
  retrieving revision 1.124
  retrieving revision 1.125
  diff -c -C3 -r1.124 -r1.125
  *** httpd.h   1997/07/02 03:38:30 1.124
  --- httpd.h   1997/07/03 20:27:40 1.125
  ***
  *** 69,74 
  --- 69,77 
#ifdef __EMX__
/* Set default for OS/2 file system */ 
#define HTTPD_ROOT "/os2httpd"
  + #elif defined(WIN32)
  + /* Set default for Windows file system */
  + #define HTTPD_ROOT "/apache"
#else
#define HTTPD_ROOT "/usr/local/etc/httpd"
#endif
  
  
  


cvs commit: apache/htdocs/manual new_features_1_3.html index.html

1997-06-23 Thread Alexei Kosut
akosut  97/06/23 00:07:00

  Modified:htdocs/manual  index.html
  Added:   htdocs/manual  new_features_1_3.html
  Log:
  Begin documenting Apache 1.3. It's never too early.
  
  Revision  ChangesPath
  1.15  +1 -0  apache/htdocs/manual/index.html
  
  Index: index.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/index.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -c -C3 -r1.14 -r1.15
  *** index.html1997/06/04 11:07:48 1.14
  --- index.html1997/06/23 07:06:59 1.15
  ***
  *** 19,24 
  --- 19,25 

Release Notes

  + New features in Apache 1.3
New features in Apache 1.2
New features in Apache 1.1
New features in Apache 1.0
  
  
  


cvs commit: apache/src util.c

1997-06-22 Thread Alexei Kosut
akosut  97/06/22 13:35:27

  Modified:src   util.c
  Log:
  Fix pregsub to check the correct value, and not try and substitute
  matches that didn't occur.
  
  Reviewed by: Ralf S. Engelschall, Randy Terbush
  
  Revision  ChangesPath
  1.54  +2 -2  apache/src/util.c
  
  Index: util.c
  ===
  RCS file: /export/home/cvs/apache/src/util.c,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -c -C3 -r1.53 -r1.54
  *** util.c1997/06/15 19:22:34 1.53
  --- util.c1997/06/22 20:35:26 1.54
  ***
  *** 232,238 
if (c == '\\' && (*src == '$' || *src == '&'))
c = *src++;
len++;
  ! } else if (no <= nmatch && pmatch[no].rm_so < pmatch[no].rm_eo) {
len += pmatch[no].rm_eo - pmatch[no].rm_so;
}

  --- 232,238 
if (c == '\\' && (*src == '$' || *src == '&'))
c = *src++;
len++;
  ! } else if (no < nmatch && pmatch[no].rm_so < pmatch[no].rm_eo) {
len += pmatch[no].rm_eo - pmatch[no].rm_so;
}

  ***
  *** 256,262 
if (c == '\\' && (*src == '$' || *src == '&'))
c = *src++;
*dst++ = c;
  ! } else if (no <= nmatch && pmatch[no].rm_so < pmatch[no].rm_eo) {
len = pmatch[no].rm_eo - pmatch[no].rm_so;
strncpy(dst, source + pmatch[no].rm_so, len);
dst += len;
  --- 256,262 
if (c == '\\' && (*src == '$' || *src == '&'))
c = *src++;
*dst++ = c;
  ! } else if (no < nmatch && pmatch[no].rm_so < pmatch[no].rm_eo) {
len = pmatch[no].rm_eo - pmatch[no].rm_so;
strncpy(dst, source + pmatch[no].rm_so, len);
dst += len;
  
  
  


cvs commit: apache/src CHANGES

1997-02-19 Thread Alexei Kosut
akosut  97/02/19 19:37:38

  Modified:src   CHANGES
  Log:
  Add MSIE/byterange to CHANGES
  
  Revision  ChangesPath
  1.170 +3 -2  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.169
  retrieving revision 1.170
  diff -C3 -r1.169 -r1.170
  *** CHANGES   1997/02/19 08:18:56 1.169
  --- CHANGES   1997/02/20 03:37:37 1.170
  ***
  *** 79,86 
  *) Remove free() from clean_env() in suexec wrapper. This was nuking
 the clean environment on some systems.

  !   *) Tweak byteserving code (e.g. serving PDF files) to work around a 
  !  bug in Netscape Navigator. [Alexei Kosut]

  *) Port to HP MPE operating system for HP 3000 machines
 [Mark Bixby <[EMAIL PROTECTED]>]
  --- 79,87 
  *) Remove free() from clean_env() in suexec wrapper. This was nuking
 the clean environment on some systems.

  !   *) Tweak byteserving code (e.g. serving PDF files) to work around
  !  bugs in Netscape Navigator and Microsoft Internet Explorer.
  !  [Alexei Kosut]

  *) Port to HP MPE operating system for HP 3000 machines
 [Mark Bixby <[EMAIL PROTECTED]>]
  
  
  


cvs commit: apache/src http_protocol.c

1997-02-19 Thread Alexei Kosut
akosut  97/02/19 17:23:25

  Modified:src   http_protocol.c
  Log:
  Add a check for MSIE 3 to send multipart/x-byteranges instead of byteranges.
  Remove quotes from the boundary string (MSIE has problems with them).
  
  Reviewed by: Paul, Jim, Ben
  
  Revision  ChangesPath
  1.103 +17 -3 apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -C3 -r1.102 -r1.103
  *** http_protocol.c   1997/02/18 14:41:29 1.102
  --- http_protocol.c   1997/02/20 01:23:23 1.103
  ***
  *** 1053,1058 
  --- 1053,1073 
return OK;
}

  + /*
  +  * Here we try to be compatible with clients that want 
multipart/x-byteranges
  +  * instead of multipart/byteranges (also see above), as per HTTP/1.1. We
  +  * look for the Request-Range header (e.g. Netscape 2 and 3) as an 
indication
  +  * that the browser supports an older protocol. We also check User-Agent
  +  * for Microsoft Internet Explorer 3, which needs this as well.
  +  */
  + 
  + static int use_range_x(request_rec *r) {
  + char *ua;
  + return (table_get(r->headers_in, "Request-Range") ||
  + ((ua = table_get(r->headers_in, "User-Agent"))
  +  && strstr(ua, "MSIE 3")));
  + }
  + 
void send_http_header(request_rec *r)
{
conn_rec *c = r->connection;
  ***
  *** 1083,1091 

if (r->byterange > 1)
bvputs(fd, "Content-Type: multipart/",
  !table_get(r->headers_in, "Request-Range") ?
  !"x-byteranges" : "byteranges",
  !"; boundary=\"", r->boundary, "\"\015\012", NULL);
else if (r->content_type)
bvputs(fd, "Content-Type: ", 
 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
  --- 1098,1105 

if (r->byterange > 1)
bvputs(fd, "Content-Type: multipart/",
  !use_range_x(r) ? "x-byteranges" : "byteranges",
  !"; boundary=", r->boundary, "\015\012", NULL);
else if (r->content_type)
bvputs(fd, "Content-Type: ", 
 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
  
  
  


cvs commit: apache/src http_protocol.c

1997-02-10 Thread Alexei Kosut
akosut  97/02/10 22:33:36

  Modified:src   http_protocol.c
  Log:
  Add Content-Length header to multipart/byteranges responses.
  
  Reviewed by: Roy T. Fielding, Dean Guadet
  
  Revision  ChangesPath
  1.99  +49 -11apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -C3 -r1.98 -r1.99
  *** http_protocol.c   1997/02/06 21:40:35 1.98
  --- http_protocol.c   1997/02/11 06:33:34 1.99
  ***
  *** 106,111 
  --- 106,113 
return 1;
}

  + static int internal_byterange(int, long*, request_rec*, char**, long*, 
long*);
  + 
int set_byterange (request_rec *r)
{
char *range = table_get (r->headers_in, "Range");
  ***
  *** 161,171 
else {
/* a multiple range */
char boundary[33];  /* Long enough */

r->byterange = 2;
  - table_unset(r->headers_out, "Content-Length");
ap_snprintf(boundary, sizeof(boundary), "%lx%lx", r->request_time, 
(long)getpid());
r->boundary = pstrdup(r->pool, boundary);
}

r->status = PARTIAL_CONTENT;
  --- 163,177 
else {
/* a multiple range */
char boundary[33];  /* Long enough */
  + char *r_range = pstrdup(r->pool, range + 6);
  + long tlength = 0;

r->byterange = 2;
ap_snprintf(boundary, sizeof(boundary), "%lx%lx", r->request_time, 
(long)getpid());
r->boundary = pstrdup(r->pool, boundary);
  + while (internal_byterange(0, &tlength, r, &r_range, NULL, NULL));
  + ap_snprintf(ts, sizeof(ts), "%ld", tlength);
  + table_set(r->headers_out, "Content-Length", ts);
}

r->status = PARTIAL_CONTENT;
  ***
  *** 175,205 
}

int each_byterange (request_rec *r, long *offset, long *length) {
long range_start, range_end;
char *range;

  ! if (!*r->range) {
  ! if (r->byterange > 1)
  ! rvputs(r, "\015\012--", r->boundary, "--\015\012", NULL);
return 0;
}

  ! range = getword_nc(r->pool, &r->range, ',');
if (!parse_byterange(range, r->clength, &range_start, &range_end))
  ! return each_byterange(r, offset, length);   /* Skip this one */

if (r->byterange > 1) {
char *ct = r->content_type ? r->content_type : default_type(r);
char ts[MAX_STRING_LEN];
  ! 
ap_snprintf(ts, sizeof(ts), "%ld-%ld/%ld", range_start, range_end, 
r->clength);
  ! rvputs(r, "\015\012--", r->boundary, "\015\012Content-type: ",
   ct, "\015\012Content-range: bytes ", ts, "\015\012\015\012",
   NULL);
}

  ! *offset = range_start;
  ! *length = range_end - range_start + 1;
return 1;
}

  --- 181,243 
}

int each_byterange (request_rec *r, long *offset, long *length) {
  + return internal_byterange(1, NULL, r, &r->range, offset, length);
  + }
  + 
  + /* If this function is called with realreq=1, it will spit out
  +  * the correct headers for a byterange chunk, and set offset and
  +  * length to the positions they should be.
  +  *
  +  * If it is called with realreq=0, it will add to tlength the length
  +  * it *would* have used with realreq=1.
  +  *
  +  * Either case will return 1 if it should be called again, and 0
  +  * when done.
  +  *
  +  */
  + 
  + static int internal_byterange(int realreq, long *tlength, request_rec *r,
  +   char **r_range, long *offset, long *length) {
long range_start, range_end;
char *range;

  ! if (!**r_range) {
  ! if (r->byterange > 1) {
  ! if (realreq)
  ! rvputs(r, "\015\012--", r->boundary, "--\015\012", NULL);
  ! else
  ! *tlength += 4 + strlen(r->boundary) + 4;
  ! }
return 0;
}

  ! range = getword_nc(r->pool, r_range, ',');
if (!parse_byterange(range, r->clength, &range_start, &range_end))
  ! /* Skip this one */
  ! return internal_byterange(realreq, tlength, r, r_range, offset,
  !   length);

if (r->byterange > 1) {
char *ct = r->content_type ? r->content_type : default_type(r);
char ts[MAX_STRING_LEN];
  ! 
ap_snprintf(ts, sizeof(ts), "%ld-%ld/%ld", range_start, range_end, 
r->clength);
  ! if (realreq)
  ! rvputs(r, "\015\012--", r->boundary, "\015\012Content-type: ",
   ct, "\015\012Content-range: bytes ", ts, "\015\012\015\012",
   NULL);
  + else
  + *tlength += 4 + strlen(r->boundary) + 16 + strlen(ct) + 23 +
  + strlen(ts) + 4;
}

  ! if (realreq) {
  ! *offset = range_start;
  ! *length = r

cvs commit: apache/src CHANGES http_protocol.c

1997-02-06 Thread Alexei Kosut
akosut  97/02/06 13:40:38

  Modified:src   CHANGES http_protocol.c
  Log:
  Tweak byteserving code to work around a bug in Netscape Navigator that causes
  it to only recognize multipart/x-byteranges, not multipart/byteranges (as per 
HTTP/1.1).
  
  Reviewed by: Dean Gaudet, Jim Jagielski
  
  Revision  ChangesPath
  1.145 +3 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.144
  retrieving revision 1.145
  diff -C3 -r1.144 -r1.145
  *** CHANGES   1997/02/04 23:57:23 1.144
  --- CHANGES   1997/02/06 21:40:34 1.145
  ***
  *** 1,5 
  --- 1,8 
Changes with Apache 1.2b7

  +   *) Tweak byteserving code (e.g. serving PDF files) to work around a 
  +  bug in Netscape Navigator. [Alexei Kosut]
  + 
  *) Port to  HP MPE operating system for HP 3000 machines
 [Mark Bixby <[EMAIL PROTECTED]>]

  
  
  
  1.98  +15 -2 apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.97
  retrieving revision 1.98
  diff -C3 -r1.97 -r1.98
  *** http_protocol.c   1997/01/30 03:46:13 1.97
  --- http_protocol.c   1997/02/06 21:40:35 1.98
  ***
  *** 113,118 
  --- 113,129 
char ts[MAX_STRING_LEN], *match;
long range_start, range_end;

  + /* Also check, for backwards-compatibility with second-draft
  +  * Luotonen/Franks byte-ranges (e.g. Netscape Navigator 2-3)
  +  *
  +  * We support this form, with Request-Range, and (farther down) we
  +  * send multipart/x-byteranges instead of multipart/byteranges for
  +  * Request-Range based requests to work around a bug in Netscape
  +  * Navigator 2 and 3.
  +  */
  + 
  + if (!range) range = table_get (r->headers_in, "Request-Range");
  + 
/* Reasons we won't do ranges... */

if (!r->clength || r->assbackwards) return 0;
  ***
  *** 1032,1039 
bputs("Transfer-Encoding: chunked\015\012", fd);

if (r->byterange > 1)
  ! bvputs(fd, "Content-Type: multipart/byteranges; boundary=\"",
  !r->boundary, "\"\015\012", NULL);
else if (r->content_type)
bvputs(fd, "Content-Type: ", 
 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
  --- 1043,1052 
bputs("Transfer-Encoding: chunked\015\012", fd);

if (r->byterange > 1)
  ! bvputs(fd, "Content-Type: multipart/",
  !table_get(r->headers_in, "Request-Range") ?
  !"x-byteranges" : "byteranges",
  !"; boundary=\"", r->boundary, "\"\015\012", NULL);
else if (r->content_type)
bvputs(fd, "Content-Type: ", 
 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
  
  
  


cvs commit: apache/htdocs/manual/mod core.html

1997-01-25 Thread Alexei Kosut
akosut  97/01/25 17:31:15

  Modified:htdocs/manual  keepalive.html
   htdocs/manual/mod  core.html
  Log:
  Update documentation for new KeepAlive syntax.
  
  Revision  ChangesPath
  1.5   +3 -0  apache/htdocs/manual/keepalive.html
  
  Index: keepalive.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/keepalive.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -C3 -r1.4 -r1.5
  *** keepalive.html1996/12/12 01:09:40 1.4
  --- keepalive.html1997/01/26 01:31:13 1.5
  ***
  *** 21,26 
  --- 21,29 
Apache 1.1 comes with Keep-Alive support on by default, however there
are some directives you can use to modify Apache's behavior:

  + Note: Apache 1.2 uses a different syntax for the KeepAlive directive.
  + 
KeepAlive
Syntax: KeepAlive max-requests
Default: KeepAlive 5
  
  
  
  1.30  +26 -3 apache/htdocs/manual/mod/core.html
  
  Index: core.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -C3 -r1.29 -r1.30
  *** core.html 1997/01/10 11:22:45 1.29
  --- core.html 1997/01/26 01:31:14 1.30
  ***
  *** 38,43 
  --- 38,44 
Listen

MaxClients
  + MaxKeepAliveRequests
MaxRequestsPerChild
MaxSpareServers
MinSpareServers
  ***
  *** 544,551 
 

KeepAlive
  ! Syntax: KeepAlive max-requests
  ! Default: KeepAlive 5
Context: server config
Status: Core
Compatibility: KeepAlive is only available in Apache
  --- 545,554 
 

KeepAlive
  ! Syntax: (Apache 1.1) KeepAlive max-requests
  ! Default: (Apache 1.1) KeepAlive 5
  ! Syntax: (Apache 1.2) KeepAlive on/off
  ! Default: (Apache 1.2) KeepAlive On
Context: server config
Status: Core
Compatibility: KeepAlive is only available in Apache
  ***
  *** 553,563 

This directive enables
Keep-Alive
  ! support. Set max-requests
to the maximum number of requests you want Apache to entertain per
request. A limit is imposed to prevent a client from hogging your
server resources. Set this to 0 to disable support.

KeepAliveTimeout
Syntax: KeepAliveTimeout seconds
Default: KeepAliveTimeout 15
  --- 556,572 

This directive enables
Keep-Alive
  ! support.
  ! 
  ! Apache 1.1: Set max-requests
to the maximum number of requests you want Apache to entertain per
request. A limit is imposed to prevent a client from hogging your
server resources. Set this to 0 to disable support.

  + Apache 1.2 and later: Set to "On" to enable
  + persistent connections, "Off" to disable. See also the MaxKeepAliveRequests directive.
  + 
KeepAliveTimeout
Syntax: KeepAliveTimeout seconds
Default: KeepAliveTimeout 15
  ***
  *** 676,681 
  --- 685,704 
The MaxClients directive sets the limit on the number of simultaneous
requests that can be supported; not more than this number of child server
processes will be created.
  + 
  + MaxKeepAliveRequests
  + Syntax: MaxKeepAliveRequests number
  + Default: MaxKeepAliveRequests
  + Context: server config
  + Status: core
  + Compatibility: Only available in Apache
  + 1.2 and later.
  + 
  + The MaxKeepAliveRequests directive limits the number of requests
  + allowed per connection when KeepAlive is
  + on. If it is set to "0," unlimited requests will be
  + allowed. We reccomend that this setting is kept to a high value, for
  + maximum server peformance.

MaxRequestsPerChild directive

  
  
  


cvs commit: apache/conf httpd.conf-dist

1997-01-25 Thread Alexei Kosut
akosut  97/01/25 17:19:16

  Modified:conf  httpd.conf-dist
  Log:
  Change config file to reflect new KeepAlive setup.
  
  Revision  ChangesPath
  1.10  +9 -3  apache/conf/httpd.conf-dist
  
  Index: httpd.conf-dist
  ===
  RCS file: /export/home/cvs/apache/conf/httpd.conf-dist,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -C3 -r1.9 -r1.10
  *** httpd.conf-dist   1997/01/01 18:28:20 1.9
  --- httpd.conf-dist   1997/01/26 01:19:14 1.10
  ***
  *** 91,100 

Timeout 400

  ! # KeepAlive: The number of Keep-Alive persistent requests to accept
  ! # per connection. Set to 0 to deactivate Keep-Alive support

  ! KeepAlive 5

# KeepAliveTimeout: Number of seconds to wait for the next request

  --- 91,106 

Timeout 400

  ! # KeepAlive: Whether or not to allow persistent connections (more than
  ! # one request per connection). Set to "Off" to deactivate.

  ! KeepAlive On
  ! 
  ! # MaxKeepAliveRequests: The maximum number of requests to allow
  ! # during a persistent connection. Set to 0 to allow an unlimited amount.
  ! # We reccomend you leave this number high, for maximum performance.
  ! 
  ! MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request

  
  
  


cvs commit: apache/src mod_info.c

1997-01-25 Thread Alexei Kosut
akosut  97/01/25 17:16:17

  Modified:src   mod_info.c
  Log:
  Change mod_info to correspond to the new keep-alive structure.
  
  Submitted by: Dean Gaudet
  Reviewed by: Alexei Kosut, Marc Slemko
  
  Revision  ChangesPath
  1.11  +1 -1  apache/src/mod_info.c
  
  Index: mod_info.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_info.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** mod_info.c1997/01/20 04:28:14 1.10
  --- mod_info.c1997/01/26 01:16:17 1.11
  ***
  *** 311,317 
rputs(buf,r);
ap_snprintf(buf, sizeof(buf), 
"Daemons: start: %d    min idle: %d    
max idle: %d    max: 
%d\n",daemons_to_start,daemons_min_free,daemons_max_free,daemons_limit);
rputs(buf,r);
  ! ap_snprintf(buf, sizeof(buf), "Max 
Requests: per child: %d    per connection: 
%d\n",max_requests_per_child,serv->keep_alive);
rputs(buf,r);
ap_snprintf(buf, sizeof(buf), 
"Timeouts: connection: %d    keep-alive: 
%d",serv->timeout,serv->keep_alive_timeout);
rputs(buf,r);
  --- 311,317 
rputs(buf,r);
ap_snprintf(buf, sizeof(buf), 
"Daemons: start: %d    min idle: %d    
max idle: %d    max: 
%d\n",daemons_to_start,daemons_min_free,daemons_max_free,daemons_limit);
rputs(buf,r);
  ! ap_snprintf(buf, sizeof(buf), "Max 
Requests: per child: %d    keep alive: %s    
max per connection: %d\n",max_requests_per_child,serv->keep_alive ? 
"on":"off", serv->keep_alive_max);
rputs(buf,r);
ap_snprintf(buf, sizeof(buf), 
"Timeouts: connection: %d    keep-alive: 
%d",serv->timeout,serv->keep_alive_timeout);
rputs(buf,r);
  
  
  


cvs commit: apache/src CHANGES http_config.c http_core.c http_protocol.c httpd.h

1997-01-25 Thread Alexei Kosut
akosut  97/01/25 17:15:18

  Modified:src   CHANGES http_config.c http_core.c http_protocol.c
httpd.h
  Log:
  Change KeepAlive semantics, add MaxKeepAliveRequests directives (NCSA-style).
  Change keep-alive defaults.
  
  Reviewed by: Dean Gaudet, Marc Slemko
  
  Revision  ChangesPath
  1.136 +3 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.135
  retrieving revision 1.136
  diff -C3 -r1.135 -r1.136
  *** CHANGES   1997/01/25 22:42:56 1.135
  --- CHANGES   1997/01/26 01:15:11 1.136
  ***
  *** 1,5 
  --- 1,8 
Changes with Apache 1.2b5

  +   *) Change KeepAlive semantics (On|Off instead of a number), add
  +  MaxKeepAliveRequests directive. [Alexei Kosut]
  + 
  *) Various NeXT compilation patches, as well as a change in
 regex/regcomp.c since that file also used a NEXT define.
 [Andreas Koenig]
  
  
  
  1.42  +6 -1  apache/src/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -C3 -r1.41 -r1.42
  *** http_config.c 1997/01/20 04:28:07 1.41
  --- http_config.c 1997/01/26 01:15:11 1.42
  ***
  *** 936,941 
  --- 936,942 
s->timeout = 0;
s->keep_alive_timeout = 0;
s->keep_alive = -1;
  + s->keep_alive_max = -1;
/* start the list of addreses */
addrs = &s->addrs;
while( hostname[0] ) {
  ***
  *** 998,1003 
  --- 999,1007 
if (virt->keep_alive == -1)
virt->keep_alive = main_server->keep_alive;

  + if (virt->keep_alive_max == -1)
  + virt->keep_alive_max = main_server->keep_alive_max;
  + 
if (virt->send_buffer_size == 0)
virt->send_buffer_size = main_server->send_buffer_size;
}
  ***
  *** 1040,1046 
s->access_confname = ACCESS_CONFIG_FILE;
s->timeout = DEFAULT_TIMEOUT;
s->keep_alive_timeout = DEFAULT_KEEPALIVE_TIMEOUT;
  ! s->keep_alive = DEFAULT_KEEPALIVE;
s->next = NULL;
s->addrs = pcalloc(p, sizeof (server_addr_rec));
s->addrs->host_addr.s_addr = htonl (INADDR_ANY); /* NOT virtual host;
  --- 1044,1051 
s->access_confname = ACCESS_CONFIG_FILE;
s->timeout = DEFAULT_TIMEOUT;
s->keep_alive_timeout = DEFAULT_KEEPALIVE_TIMEOUT;
  ! s->keep_alive_max = DEFAULT_KEEPALIVE;
  ! s->keep_alive = 1;
s->next = NULL;
s->addrs = pcalloc(p, sizeof (server_addr_rec));
s->addrs->host_addr.s_addr = htonl (INADDR_ANY); /* NOT virtual host;
  
  
  
  1.61  +14 -2 apache/src/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -C3 -r1.60 -r1.61
  *** http_core.c   1997/01/24 07:42:45 1.60
  --- http_core.c   1997/01/26 01:15:12 1.61
  ***
  *** 899,905 
}

const char *set_keep_alive (cmd_parms *cmd, void *dummy, char *arg) {
  ! cmd->server->keep_alive = atoi (arg);
return NULL;
}

  --- 899,916 
}

const char *set_keep_alive (cmd_parms *cmd, void *dummy, char *arg) {
  ! /* We've changed it to On/Off, but used to use numbers
  !  * so we accept anything but "Off" or "0" as "On"
  !  */
  ! if (!strcasecmp(arg, "off") || !strcmp(arg, "0"))
  ! cmd->server->keep_alive = 0;
  ! else
  ! cmd->server->keep_alive = 1;
  ! return NULL;
  ! }
  ! 
  ! const char *set_keep_alive_max (cmd_parms *cmd, void *dummy, char *arg) {
  ! cmd->server->keep_alive_max = atoi (arg);
return NULL;
}

  ***
  *** 1172,1178 
  "The pathname the server can be reached at" },
{ "Timeout", set_timeout, NULL, RSRC_CONF, TAKE1, "Timeout duration (sec)"},
{ "KeepAliveTimeout", set_keep_alive_timeout, NULL, RSRC_CONF, TAKE1, 
"Keep-Alive timeout duration (sec)"},
  ! { "KeepAlive", set_keep_alive, NULL, RSRC_CONF, TAKE1, "Maximum Keep-Alive 
requests per connection (0 to disable)" },
{ "IdentityCheck", set_idcheck, NULL, RSRC_CONF|ACCESS_CONF, FLAG, "Enable 
identd (RFC931) user lookups - SLOW" },
{ "ContentDigest", set_content_md5, NULL, RSRC_CONF|ACCESS_CONF|OR_AUTHCFG, 
FLAG, "whether or not to send a Content-MD5 h

cvs commit: apache/src CHANGES

1997-01-11 Thread Alexei Kosut
akosut  97/01/11 23:13:13

  Modified:src   CHANGES
  Log:
  Add some things to CHANGES
  
  Revision  ChangesPath
  1.116 +7 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.115
  retrieving revision 1.116
  diff -C3 -r1.115 -r1.116
  *** CHANGES   1997/01/10 18:47:37 1.115
  --- CHANGES   1997/01/12 07:13:12 1.116
  ***
  *** 1,11 
  --- 1,16 
Changes with Apache 1.2b5

  +   *) Add rflush() function. [Alexei Kosut]
  + 
  *) remove duplicate pcalloc() call in new_connection().

  *) Fix incorrect comparison which could allow number of children =
 MaxClients + 1 if less than HARD_SERVER_LIMIT. Also fix potential
 problem if StartServers > HARD_SERVER_LIMIT. [Ed Korthof]

  +   *) Updated support for OSes (MachTen, ULTRIX, Paragon, ISC, OpenBSD
  +  AIX PS/2, CONVEXOS)
  + 
  *) Replace instances of inet_ntoa() with inet_addr() for ProxyBlock.
 It's more portable. [Martin Kraemer]

  ***
  *** 16,21 
  --- 21,28 
 caching to NoCache directive as well. ProxyBlock works with all
 handlers; NoCache now also works with FTP for anonymous logins.
 Still more code cleanup. [Chuck Murcko]
  + 
  +   *) Add "header parse" API hook [Ben Laurie]

  *) Fix byte ordering problems for REMOTE_PORT [Chuck Murcko]

  
  
  


cvs commit: apache/htdocs/manual/mod mod_cgi.html

1997-01-11 Thread Alexei Kosut
akosut  97/01/11 23:02:00

  Modified:htdocs/manual/mod  mod_cgi.html
  Log:
  Add text about possible problems with ScriptLog. Also fix a spelling error.
  
  Revision  ChangesPath
  1.7   +7 -1  apache/htdocs/manual/mod/mod_cgi.html
  
  Index: mod_cgi.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_cgi.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** mod_cgi.html  1996/12/09 02:04:55 1.6
  --- mod_cgi.html  1997/01/12 07:01:59 1.7
  ***
  *** 33,39 

CGI Environment variables
The server will set the CGI environment variables as described in the CGI
  ! specification, with the following provisons:

REMOTE_HOST
This will only be set if the server has not been compiled with
  --- 33,39 

CGI Environment variables
The server will set the CGI environment variables as described in the CGI
  ! specification, with the following provisions:

REMOTE_HOST
This will only be set if the server has not been compiled with
  ***
  *** 122,127 
  --- 122,133 
into the filename given as argument. If this is a relative file or
path it is
taken relative to the server root.
  + 
  + Note that script logging is meant to be a debugging feature when
  + writing CGI scripts, and is not meant to be activated continuously on
  + running servers. It is not optimized for speed or efficiency, and may
  + have security problems if used in a manner other than that for which
  + it was designed.

ScriptLogLength

  
  
  


cvs commit: apache/src http_protocol.c http_protocol.h

1997-01-10 Thread Alexei Kosut
akosut  97/01/10 11:28:55

  Modified:src   http_protocol.c http_protocol.h
  Log:
  Add rflush() function.
  
  Reviewed by: Dirk van Gulik, Chuck Murcko, Randy Terbush
  
  Revision  ChangesPath
  1.88  +4 -0  apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -C3 -r1.87 -r1.88
  *** http_protocol.c   1997/01/01 18:10:21 1.87
  --- http_protocol.c   1997/01/10 19:28:52 1.88
  ***
  *** 1436,1441 
  --- 1436,1445 
return k;
}

  + int rflush (request_rec *r) {
  + return bflush(r->connection->client);
  + }
  + 
void send_error_response (request_rec *r, int recursive_error)
{
conn_rec *c = r->connection;
  
  
  
  1.17  +1 -0  apache/src/http_protocol.h
  
  Index: http_protocol.h
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.h,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -C3 -r1.16 -r1.17
  *** http_protocol.h   1997/01/01 18:10:21 1.16
  --- http_protocol.h   1997/01/10 19:28:53 1.17
  ***
  *** 115,120 
  --- 115,121 
int rwrite(const void *buf, int nbyte, request_rec *r);
int rvputs(request_rec *r, ...);
int rprintf(request_rec *r,const char *fmt,...);
  + int rflush(request_rec *r);
 
/*
 * Index used in custom_responses array for a specific error code
  
  
  


cvs commit: apache/conf srm.conf-dist

1997-01-06 Thread Alexei Kosut
akosut  97/01/06 22:38:05

  Modified:conf  srm.conf-dist
  Log:
  Remove reference to non-existant CGI script.
  
  Revision  ChangesPath
  1.11  +0 -8  apache/conf/srm.conf-dist
  
  Index: srm.conf-dist
  ===
  RCS file: /export/home/cvs/apache/conf/srm.conf-dist,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** srm.conf-dist 1997/01/01 18:28:21 1.10
  --- srm.conf-dist 1997/01/07 06:38:04 1.11
  ***
  *** 173,186 
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location

  - # For example to add a footer (footer.html in your document root) to
  - # files with extension .foot (e.g. foo.html.foot), you could use:
  - #AddHandler foot-action foot
  - #Action foot-action /cgi-bin/footer
  - 
  - # Or to do this for all HTML files, for example, use:
  - #Action text/html /cgi-bin/footer
  - 
# MetaDir: specifies the name of the directory in which Apache can find
# meta information files. These files contain additional HTTP headers
# to include when sending the document
  --- 173,178 
  
  
  


cvs commit: apache/src CHANGES http_core.c

1996-12-30 Thread Alexei Kosut
akosut  96/12/30 21:48:02

  Modified:src   CHANGES http_core.c
  Log:
  Correctly set overrides for  sections.
  
  Reviewed by: Randy Terbush, Chuck Murcko
  
  Revision  ChangesPath
  1.110 +3 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.109
  retrieving revision 1.110
  diff -C3 -r1.109 -r1.110
  *** CHANGES   1996/12/31 05:38:47 1.109
  --- CHANGES   1996/12/31 05:48:00 1.110
  ***
  *** 1,5 
  --- 1,8 
Changes with Apache 1.2b5

  +   *) Correctly allow access and auth directives in  sections in
  +  server config files. [Alexei Kosut]
  + 
  *) Fix bug with ServerPath that could cause certaub files to be not
 found by the server. [Alexei Kosut] 

  
  
  
  1.56  +5 -0  apache/src/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -C3 -r1.55 -r1.56
  *** http_core.c   1996/12/31 05:38:48 1.55
  --- http_core.c   1996/12/31 05:48:01 1.56
  ***
  *** 685,690 
  --- 685,691 
{
const char *errmsg;
char *endp = strrchr (arg, '>');
  + int old_overrides = cmd->override;
char *old_path = cmd->path;
core_dir_config *conf;
regex_t *r = NULL;
  ***
  *** 696,701 
  --- 697,705 
if (cmd->limited != -1) return "Can't have  within ";

cmd->path = getword_conf (cmd->pool, &arg);
  + /* Only if not an .htaccess file */
  + if (cmd->path)
  + cmd->override = OR_ALL|ACCESS_CONF;

if (!strcmp(cmd->path, "~")) {
cmd->path = getword_conf (cmd->pool, &arg);
  ***
  *** 716,721 
  --- 720,726 
add_file_conf (c, new_file_conf);

cmd->path = old_path;
  + cmd->override = old_overrides;

return NULL;
}
  
  
  


cvs commit: apache/src CHANGES http_core.c http_protocol.c

1996-12-30 Thread Alexei Kosut
akosut  96/12/30 21:38:51

  Modified:src   CHANGES http_core.c http_protocol.c
  Log:
  Make ServerPath properly recognize path segments.
  
  Reviewed by: Randy Terbush, Chuck Murcko
  
  Revision  ChangesPath
  1.109 +5 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.108
  retrieving revision 1.109
  diff -C3 -r1.108 -r1.109
  *** CHANGES   1996/12/31 02:28:59 1.108
  --- CHANGES   1996/12/31 05:38:47 1.109
  ***
  *** 1,3 
  --- 1,8 
  + Changes with Apache 1.2b5
  + 
  +   *) Fix bug with ServerPath that could cause certaub files to be not
  +  found by the server. [Alexei Kosut] 
  + 
Changes with Apache 1.2b4:

  *) Fix possible race condition in accept_mutex_init() that
  
  
  
  1.55  +4 -1  apache/src/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -C3 -r1.54 -r1.55
  *** http_core.c   1996/12/28 00:04:49 1.54
  --- http_core.c   1996/12/31 05:38:48 1.55
  ***
  *** 1223,1229 
if ((r->uri[0] != '/') && strcmp(r->uri, "*")) return BAD_REQUEST;

if (r->server->path &&
  ! !strncmp(r->uri, r->server->path, r->server->pathlen))
  r->filename = pstrcat (r->pool, conf->document_root,
 (r->uri + r->server->pathlen), NULL);
else
  --- 1223,1232 
if ((r->uri[0] != '/') && strcmp(r->uri, "*")) return BAD_REQUEST;

if (r->server->path &&
  ! !strncmp(r->uri, r->server->path, r->server->pathlen) &&
  ! (r->server->path[r->server->pathlen - 1] == '/' ||
  !  r->uri[r->server->pathlen] == '/' ||
  !  r->uri[r->server->pathlen] == '\0'))
  r->filename = pstrcat (r->pool, conf->document_root,
 (r->uri + r->server->pathlen), NULL);
else
  
  
  
  1.86  +4 -1  apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.85
  retrieving revision 1.86
  diff -C3 -r1.85 -r1.86
  *** http_protocol.c   1996/12/28 00:04:51 1.85
  --- http_protocol.c   1996/12/31 05:38:49 1.86
  ***
  *** 614,620 
   */

  for (s = r->server->next; s; s = s->next) {
  ! if (s->path && !strncmp(r->uri, s->path, s->pathlen))
  r->server = r->connection->server = s;
  }
}
  --- 614,623 
   */

  for (s = r->server->next; s; s = s->next) {
  ! if (s->path && !strncmp(r->uri, s->path, s->pathlen) &&
  ! (s->path[s->pathlen - 1] == '/' ||
  !  r->uri[s->pathlen] == '/' ||
  !  r->uri[s->pathlen] == '\0'))
  r->server = r->connection->server = s;
  }
}
  
  
  


cvs commit: apache/htdocs/manual cgi_path.html new_features_1_2.html

1996-12-19 Thread Alexei Kosut
akosut  96/12/19 21:42:15

  Modified:htdocs/manual  new_features_1_2.html
  Added:   htdocs/manual  cgi_path.html
  Log:
  Document the change in SCRIPT_NAME/PATH_INFO behavior, and the addition of
  FILEPATH_INFO.
  
  Revision  ChangesPath
  1.20  +5 -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.19
  retrieving revision 1.20
  diff -C3 -r1.19 -r1.20
  *** new_features_1_2.html 1996/12/14 12:35:41 1.19
  --- new_features_1_2.html 1996/12/20 05:42:14 1.20
  ***
  *** 15,20 
  --- 15,25 
href="misc/client_block_api.html">programmer's note on the subject is
available.

  + Additionally, some changes were made to the CGI environment that
  + may cause some CGI scripts to work incorrectly. If you are
  + experiencing trouble with a CGI that worked fine under Apache 1.1.1,
  + please see our explanation of the changes.
  + 
New Features with Apache 1.2
New features with this release, as extensions of the Apache
functionality. Because the core code has changed so
  
  
  


cvs commit: apache/src CHANGES util_script.c

1996-12-15 Thread Alexei Kosut
akosut  96/12/15 14:06:55

  Modified:src   CHANGES util_script.c
  Log:
  Add FILEPATH_INFO env variable, which contains the old-style PATH_INFO.
  
  Reviewed by: Ben Laurie, Randy Terbush
  
  Revision  ChangesPath
  1.87  +4 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.86
  retrieving revision 1.87
  diff -C3 -r1.86 -r1.87
  *** CHANGES   1996/12/12 17:01:59 1.86
  --- CHANGES   1996/12/15 22:06:53 1.87
  ***
  *** 1,5 
  --- 1,9 
Changes with Apache 1.2b3:

  +   *) Add FILEPATH_INFO variable to CGI environment, which is equal to
  +  PATH_INFO from previous versions of Apache (in certain situations,
  +  Apache 1.2's PATH_INFO will be different than 1.1's). [Alexei Kosut]
  + 
  *) Add rwrite() function to API to allow for sending strings of
 arbitrary length. [Doug MacEachern]

  
  
  
  1.30  +11 -0 apache/src/util_script.c
  
  Index: util_script.c
  ===
  RCS file: /export/home/cvs/apache/src/util_script.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -C3 -r1.29 -r1.30
  *** util_script.c 1996/12/09 01:00:40 1.29
  --- util_script.c 1996/12/15 22:06:53 1.30
  ***
  *** 236,241 
  --- 236,252 
table_set (e, "PATH_INFO", r->uri + path_info_start);
}

  + /* Some CGI apps need the old-style PATH_INFO (taken from the
  +  * filename, not the URL), so we provide it in a different env
  +  * variable. CGI scripts can use something like (in Perl)
  +  * $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
  +  * to get the right information with both old and new
  +  * versions of Apache (and other servers).
  +  */
  + 
  + if (r->path_info && *r->path_info)
  + table_set (e, "FILEPATH_INFO", r->path_info);
  + 
if (r->path_info && r->path_info[0]) {
/*
 * To get PATH_TRANSLATED, treat PATH_INFO as a URI path.
  
  
  


cvs commit: apache/src CHANGES http_config.h

1996-12-11 Thread Alexei Kosut
akosut  96/12/11 17:02:14

  Modified:src   CHANGES http_config.h
  Log:
  Add CHANGES entry for rwrite(), and update MODULE_MAGIC_NUMBER.
  
  Revision  ChangesPath
  1.85  +3 -0  apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.84
  retrieving revision 1.85
  diff -C3 -r1.84 -r1.85
  *** CHANGES   1996/12/11 05:21:38 1.84
  --- CHANGES   1996/12/12 01:02:02 1.85
  ***
  *** 1,5 
  --- 1,8 
Changes with Apache 1.2b3:

  +   *) Add rwrite() function to API to allow for sending strings of
  +  arbitrary length. [Doug MacEachern]
  + 
  *) Remove rlim_t typedef for NetBSD. Do older versions need this?

  *) Defined rlim_t and WANTHSREGEX=yes for NeXT.
  
  
  
  1.24  +1 -1  apache/src/http_config.h
  
  Index: http_config.h
  ===
  RCS file: /export/home/cvs/apache/src/http_config.h,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -C3 -r1.23 -r1.24
  *** http_config.h 1996/12/01 20:28:20 1.23
  --- http_config.h 1996/12/12 01:02:12 1.24
  ***
  *** 225,231 
 * handle it back-compatibly, or at least signal an error).
 */

  ! #define MODULE_MAGIC_NUMBER 19961125
#define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL

/* Generic accessors for other modules to get at their own module-specific
  --- 225,231 
 * handle it back-compatibly, or at least signal an error).
 */

  ! #define MODULE_MAGIC_NUMBER 19961211
#define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL

/* Generic accessors for other modules to get at their own module-specific
  
  
  


cvs commit: apache/htdocs/manual .htaccess

1996-12-10 Thread Alexei Kosut
akosut  96/12/10 13:29:34

  Removed: htdocs/manual  .htaccess
  Log:
  Remove this darn file already...


cvs commit: apache/src mod_negotiation.c

1996-12-08 Thread Alexei Kosut
akosut  96/12/08 20:37:05

  Modified:src   mod_negotiation.c
  Log:
  Fix infinite loop when processing Content-language lines in type-map files.
  
  Reviewed by: Randy Terbush, Chuck Murcko
  
  Revision  ChangesPath
  1.27  +1 -1  apache/src/mod_negotiation.c
  
  Index: mod_negotiation.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_negotiation.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -C3 -r1.26 -r1.27
  *** mod_negotiation.c 1996/12/09 03:56:24 1.26
  --- mod_negotiation.c 1996/12/09 04:37:03 1.27
  ***
  *** 417,423 
char **new = (char **)push_array (lang_recs);
*new = get_token (p, lang_line, 0);
str_tolower (*new);
  ! if (**lang_line == ',')
++(*lang_line);
}

  --- 417,423 
char **new = (char **)push_array (lang_recs);
*new = get_token (p, lang_line, 0);
str_tolower (*new);
  ! if (**lang_line == ',' || **lang_line == ';')
++(*lang_line);
}

  
  
  


cvs commit: apache/htdocs/manual/mod mod_cgi.html mod_log_config.html mod_usertrack.html

1996-12-08 Thread Alexei Kosut
akosut  96/12/08 18:05:01

  Modified:htdocs/manual/mod  mod_cgi.html mod_log_config.html
mod_usertrack.html
  Log:
  Fix some typos. Make some clarifications in mod_usertrack.html (and
  put the directives in alphabetical order).
  
  Submitted by by: WWW server manager <[EMAIL PROTECTED]>
  
  Revision  ChangesPath
  1.6   +3 -3  apache/htdocs/manual/mod/mod_cgi.html
  
  Index: mod_cgi.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_cgi.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** mod_cgi.html  1996/12/02 18:14:03 1.5
  --- mod_cgi.html  1996/12/09 02:04:55 1.6
  ***
  *** 73,79 
  %% HTTP-status CGI-script-filename


  ! If the error is the that CGI script cannot be run, the log file will
contain
an extra two lines:

  --- 73,79 
  %% HTTP-status CGI-script-filename


  ! If the error is that CGI script cannot be run, the log file will
contain
an extra two lines:

  ***
  *** 82,88 
  error-message


  ! Alternatively, if the error is the result of the script returning the
incorrect header information (often due to a bug in the script), the
following information is logged:

  --- 82,88 
  error-message


  ! Alternatively, if the error is the result of the script returning
incorrect header information (often due to a bug in the script), the
following information is logged:

  ***
  *** 146,152 
Status: mod_cgi


  ! The size of any PUR or POST entity body that is logged to the file is
limited, to prevent the log file growing too big too quickly if large
bodies are being received. By default, up to 1024 bytes are logged,
but this can be changed with this directive.
  --- 146,152 
Status: mod_cgi


  ! The size of any PUT or POST entity body that is logged to the file is
limited, to prevent the log file growing too big too quickly if large
bodies are being received. By default, up to 1024 bytes are logged,
but this can be changed with this directive.
  
  
  
  1.7   +3 -3  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.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** mod_log_config.html   1996/12/02 18:14:08 1.6
  --- mod_log_config.html   1996/12/09 02:04:56 1.7
  ***
  *** 20,26 
to create a log file, LogFormat to set a custom format,
and CustomLog to define a log file and format in one go.
The TransferLog and CustomLog directives can
  ! be use multiple times in each server to cause each request to be
logged to multiple files.


  --- 20,26 
to create a log file, LogFormat to set a custom format,
and CustomLog to define a log file and format in one go.
The TransferLog and CustomLog directives can
  ! be used multiple times in each server to cause each request to be
logged to multiple files.


  ***
  *** 29,36 

This module is based on mod_log_config distributed with
previous Apache releases, now updated to handle multiple logs.
  ! There is now no need to re-configure Apache to get use
  ! configuration log formats.

The module also implements the CookieLog directive,
used to log user-tracking information created by 
This module is based on mod_log_config distributed with
previous Apache releases, now updated to handle multiple logs.
  ! There is now no need to re-configure Apache to use configuration log
  ! formats.

The module also implements the CookieLog directive,
used to log user-tracking information created by Directives


  - CookieTracking
CookieExpires




CookieTracking
Syntax: CookieTracking on | off
Context: server config, virtual host, directory,
  --- 40,66 
Directives


CookieExpires
  + CookieTracking




  + CookieExpires
  + Syntax: CookieExpires expiry-period
  + Context: server config, virtual host
  + Status: optional
  + Module: mod_usertrack
  + 
  + When used, this directive sets an expiry time on the cookie generated
  + by the usertrack module. The expiry-period can be given either
  + as a number of seconds, or in the format such as "2 weeks 3 days 7
  + hours".  Valid denominations are: years, months, weeks, hours, minutes
  + and seconds.
  + 
  + If this directive is not used, cookies last only for the current
  + browser session.
  + 
CookieTracking
Syntax: CookieTracking on | off
Context: server config, virtual host, directory,
  

cvs commit: apache/htdocs/manual new_features_1_2.html

1996-12-01 Thread Alexei Kosut
akosut  96/12/01 09:27:09

  Modified:htdocs/manual  new_features_1_2.html
  Log:
  This file exists now, sorta.
  
  Revision  ChangesPath
  1.12  +1 -2  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.11
  retrieving revision 1.12
  diff -C3 -r1.11 -r1.12
  *** new_features_1_2.html 1996/12/01 07:44:37 1.11
  --- new_features_1_2.html 1996/12/01 17:27:09 1.12
  ***
  *** 66,73 
href="xssi.html">XSSI, this allows you to write browser-based
conditional HTML documents.

  ! SetUID CGI Execution
  ! [Documentation to be written]
Apache now
supports the execution of CGI scripts as users other
than the server user. A number of security checks are built in
  --- 66,72 
href="xssi.html">XSSI, this allows you to write browser-based
conditional HTML documents.

  ! SetUID CGI Execution
Apache now
supports the execution of CGI scripts as users other
than the server user. A number of security checks are built in
  
  
  


cvs commit: apache/src CHANGES

1996-12-01 Thread Alexei Kosut
akosut  96/12/01 02:41:19

  Modified:src   CHANGES
  Log:
  Update src/CHANGES: remove entries from the first of each major
  release (1.0.0, 1.1b1, 1.2b1)
  
  Reviewed by: Well, no one objected (and I proposed it three times)...
  
  Revision  ChangesPath
  1.72  +6 -337apache/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -C3 -r1.71 -r1.72
  *** CHANGES   1996/11/03 20:56:02 1.71
  --- CHANGES   1996/12/01 10:41:17 1.72
  ***
  *** 1,116 
Changes with Apache 1.2b1:

  !   *) Allow directives to have any number of arguments between one
  !  and three, with TAKE12, TAKE23, TAKE123, TAKE13 and TAKE3.
  ! 
  !   *) Phase I proxy overhaul:
  !  Added support for null form data set [Petr Lampa]
  !  Added RFC 850 date support (Netscape uses it) [Andrew Daviel]
  !  Removed old ftp handler and conditional compile stuff
  !  Added server.sin_family=AF_INET to guarantee new ftp works
  !  Changed proxy ftp userid to [EMAIL PROTECTED] [Chuck Murcko]
  ! 
  !   *) Cookie module has been renamed from mod_cookies.c to mod_usertrack.c
  !  to stop user confusion.  You only need the usertrack module if you
  !  want to accurately track users clickstreams.  You do not need any
  !  special modules to just use Cookies on your site. [Mark Cox]
  ! 
  !   *) Cookies module now logs initial transaction.  Logging for Cookies is
  !  now handled by using %{Cookie}n directive in log module.  Old
  !  "CookieLog" directive still works but isn't recommended; see 
  !  mod_cookies.c for explanation [Mark Cox]
  ! 
  !   *) New logging directives, %U (URL path requested), %f filename, 
  !  %P (Process ID), %{}n (item from notes table) [Alexei Kosut]
  ! 
  !   *) Requests can be logged to more than one log file, using multiple
  !   TransferLog directives, and/or new CustomLog directives with a
  !   configurable format. [Paul Sutton]
  ! 
  !   *) Negotiation updated to implement all aspects of HTTP/1.1, including
  !   charset and encoding negotiation. Now server-driven negotiation
  !   can return a list of variants (the 406 response).
  !   Some code included for transparent negotiation (not compiled
  !   in by default). [Paul Sutton]
  ! 
  !   *) IP Virtual Hosts now work where the vhost IP address is the main
  !   IP address of the host and the port s not the default port.
  !   [Paul Sutton]
  ! 
  !   *) Domain names on 'allow' and 'deny' lines are now case-insensitive.
  !   [Paul Sutton]
  ! 
  !   *) Netscape 2.x keepalive fix, using BrowserMatch/mod_browser.
  !  [Chuck Murcko]
  ! 
  !   *) Status module updates: prevent rollover/overflow with heavily
  !   used systems. Add additional information, such as time
  !   to process request and additional "states" [Jim Jagielski]
  ! 
  !   *) Fix a race condition which could cause the parent server to hang on
  !   heavily loaded systems. [Ben Laurie]
  ! 
  !   *) Configuration flags should be either "on" or "off". Apache was not
  !   enforcing this restriction. Fixed. [Ben Laurie]
  ! 
  !   *) Really fix misspellings of Authoritative in various directives.
  ! 
  !   *) Add new option; "-h". This lists all directives known to Apache,
  !   together with their help text and the module which implements them.
  !   [Ben Laurie].
  ! 
  !   *) Somewhat cleaner Configure implementation
  !   GuessOS script  used to determine OS/Platform for Configure.
  !   Concept of "Rules" added to allow for control of Configure's
  !   behavior. [Jim Jagielski]
  ! 
  !   *) Add setuid/gid execution via setuid wrapper
  !   Apache can now execute CGI scripts as the User/Group of the
  !   virtualhost, or as the owner of the UserDir through ~user.
  !   The wrapper program (suexec) is detected and configured at
  !   startup. [Randy Terbush, Jason Dour]
  ! 
  !   *) Add RLimit??? resource control
  !   For systems supporting the setrlimit() functionality, it is
  !   now possible to limit system resource usage of CGI programs
  !   via RLimitCPU, RLimitNPROC and RLimitMEM directives. Each
  !   directive takes 1|2 arguments to set the soft/hard limit values
  !   for each system limit. Setting the hard limit requires the
  !   server to be running as root. [Randy Terbush, Ben Laurie]
  ! 
  !   *) Centralize exec() code
  !   Changed as a first step toward handling setuid()/setgid()
  !   execution with a setuid wrapper program directly from Apache.
  !   Modules requiring the use of exec() should probably do so
  !   through a call to cal_exec(). [Randy Terbush]
  ! 
  !   *) Supplemental

cvs commit: apache/htdocs/manual/mod mod_browser.html

1996-12-01 Thread Alexei Kosut
akosut  96/12/01 00:40:01

  Modified:htdocs/manual/mod  mod_browser.html
  Log:
  Oops... HTML muckup. I think I got it right this time (knock on wood).
  
  Revision  ChangesPath
  1.5   +3 -3  apache/htdocs/manual/mod/mod_browser.html
  
  Index: mod_browser.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_browser.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -C3 -r1.4 -r1.5
  *** mod_browser.html  1996/12/01 08:38:24 1.4
  --- mod_browser.html  1996/12/01 08:40:01 1.5
  ***
  *** 32,39 
Sytnax: BrowserMatch regex attr1 attr2...
Context: server config
Status: base
  ! Module: mod_browser
  ! Compatibility: Apache 1.2 and above

The BrowserMatch directive defines environment variables based on the
User-Agent
  --- 32,39 
Sytnax: BrowserMatch regex attr1 attr2...
Context: server config
Status: base
  ! Module: mod_browser
  ! Compatibility: Apache 1.2 and above

The BrowserMatch directive defines environment variables based on the
User-Agent
  ***
  *** 59,65 
Sytnax: BrowserMatchNoCase regex attr1 
attr2...
Context: server config
Status: base
  ! Module: mod_browser
Compatibility: Apache 1.2 and above

The BrowserMatchNoCase directive is semantically identical 
to
  --- 59,65 
Sytnax: BrowserMatchNoCase regex attr1 
attr2...
Context: server config
Status: base
  ! Module: mod_browser
Compatibility: Apache 1.2 and above

The BrowserMatchNoCase directive is semantically identical 
to
  
  
  


cvs commit: apache/htdocs/manual/mod mod_browser.html

1996-12-01 Thread Alexei Kosut
akosut  96/12/01 00:38:25

  Modified:htdocs/manual/mod  mod_browser.html
  Log:
  Forgot to add 1.2-only lines. Oops.
  
  Revision  ChangesPath
  1.4   +3 -1  apache/htdocs/manual/mod/mod_browser.html
  
  Index: mod_browser.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_browser.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -C3 -r1.3 -r1.4
  *** mod_browser.html  1996/12/01 08:31:23 1.3
  --- mod_browser.html  1996/12/01 08:38:24 1.4
  ***
  *** 9,15 
Apache module mod_browser

This module is contained in the mod_browser.c file, and
  ! is compiled in by default. It provides for
setting environment variables based on the browser.

Summary
  --- 9,15 
Apache module mod_browser

This module is contained in the mod_browser.c file, and
  ! is compiled in by default with Apache 1.2 and above. It provides for
setting environment variables based on the browser.

Summary
  ***
  *** 33,38 
  --- 33,39 
Context: server config
Status: base
Module: mod_browser
  + Compatibility: Apache 1.2 and above

The BrowserMatch directive defines environment variables based on the
User-Agent
  ***
  *** 59,64 
  --- 60,66 
Context: server config
Status: base
Module: mod_browser
  + Compatibility: Apache 1.2 and above

The BrowserMatchNoCase directive is semantically identical 
to
   the BrowserMatch
  
  
  


cvs commit: apache/htdocs/manual/mod directives.html mod_browser.html

1996-12-01 Thread Alexei Kosut
akosut  96/12/01 00:31:25

  Modified:htdocs/manual/mod  directives.html mod_browser.html
  Log:
  Enhance mod_browser documentation.
  
  Revision  ChangesPath
  1.5   +2 -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.4
  retrieving revision 1.5
  diff -C3 -r1.4 -r1.5
  *** directives.html   1996/12/01 06:57:35 1.4
  --- directives.html   1996/12/01 08:31:23 1.5
  ***
  *** 39,44 
  --- 39,46 
AuthName
AuthType
BindAdress
  + BrowserMatch
  + BrowserMatchNoCase
CacheDefaultExpire
CacheGcInterval
CacheLastModified
  
  
  
  1.3   +52 -28apache/htdocs/manual/mod/mod_browser.html
  
  Index: mod_browser.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_browser.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** mod_browser.html  1996/11/26 06:03:47 1.2
  --- mod_browser.html  1996/12/01 08:31:23 1.3
  ***
  *** 9,54 
Apache module mod_browser

This module is contained in the mod_browser.c file, and
  ! is compiled in by default. It provides for setting various variables
  ! based on the User-Agent header passed to the server.

Summary

  !  
Directives

  ! BrowserMatch
  ! BrowserMatchNoCase




  ! BrowserMatch
  ! 
  ! Syntax: BrowserMatch User-Agent Regex 
Variable
  ! Context: server config, virtual host
  ! Status: Base
  ! Module: mod_browser
  ! Compatibility: BrowserMatch is only available in
  ! Apache 1.2 and later.
  ! 
  ! If the user-agent passed by the browser matches the regex passed to
  ! browsermatch, th variable is set.
  ! 
  ! BrowserMatchNoCase
  ! 
  ! Syntax: BrowserMatchNoCase User-Agent Regex 
Variable
  ! Context: server config, virtual host
  ! Status: Base
  ! Module: mod_browser
  ! Compatibility: BrowserMatchNoCase is only available in
  ! Apache 1.2 and later.

  - Same as BrowserMatch, but the matching is not case-sensitive.
  - 
  - 





  --- 9,78 
Apache module mod_browser

This module is contained in the mod_browser.c file, and
  ! is compiled in by default. It provides for
  ! setting environment variables based on the browser.

Summary

  ! This module allows you to set environment variables based on the name of
  ! the browser accessing your document, based on the User-Agent
  ! header field. This is especially useful when combined with a conditional
  ! HTML language such as XSSI or PHP, and
  ! can provide for simple browser-based negotiation of HTML features.
  ! 
Directives

  ! BrowserMatch
  ! BrowserMatchNoCase




  ! BrowserMatch
  ! Sytnax: BrowserMatch regex attr1 attr2...
  ! Context: server config
  ! Status: base
  ! Module: mod_browser
  ! 
  ! The BrowserMatch directive defines environment variables based on the
  ! User-Agent
  ! header. The first argument should be a POSIX.2 extended regular
  ! expression (similar to an egrep-style regex). The rest of the arguments
  ! give names of variables to set. These take the form of either
  ! "varname", "!varname or
  ! "varname=value". In the first form, the value will be set
  ! to "1". The second will remove the given variable if already defined,
  ! and the third will set the variable to the value given by 
value. If a User-Agent
  ! string matches more than one entry, they will
  ! be merged. Entries are processed in the order they appear, and later
  ! entries can override earlier ones.
  ! 
  ! For example:
  ! 
  ! BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
  ! BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
  ! BrowserMatch MSIE !javascript
  ! 
  ! 
  ! BrowserMatchNoCase
  ! Sytnax: BrowserMatchNoCase regex attr1 
attr2...
  ! Context: server config
  ! Status: base
  ! Module: mod_browser
  ! 
  ! The BrowserMatchNoCase directive is semantically identical 
to
  !the BrowserMatch
  !directive. However, it provides for case-insensitive matching. For
  !example:
  ! 
  ! BrowserMatchNoCase mac platform=macintosh
  ! BrowserMatchNoCase win platform=windows
  ! 


  + 

  + 



  
  
  


cvs commit: apache/htdocs/manual new_features_1_2.html

1996-11-30 Thread Alexei Kosut
akosut  96/11/30 23:44:38

  Modified:htdocs/manual  new_features_1_2.html
  Log:
  This documentation exists now...
  
  Revision  ChangesPath
  1.11  +1 -2  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.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** new_features_1_2.html 1996/12/01 06:57:20 1.10
  --- new_features_1_2.html 1996/12/01 07:44:37 1.11
  ***
  *** 116,123 
variables, input headers, POST data, output, and more. This makes CGI
scripts much easier to debug.

  ! Resource Limits for CGI 
Scripts
  ! [Documentation to be written]
New directives allow the limiting of resources used by CGI scripts
(e.g. max CPU time). This is helpful in preventing 'runaway' CGI
processes.
  --- 116,122 
variables, input headers, POST data, output, and more. This makes CGI
scripts much easier to debug.

  ! Resource Limits for CGI 
Scripts
New directives allow the limiting of resources used by CGI scripts
(e.g. max CPU time). This is helpful in preventing 'runaway' CGI
processes.
  
  
  


cvs commit: apache/htdocs/manual/mod mod_alias.html mod_userdir.html

1996-11-30 Thread Alexei Kosut
akosut  96/11/30 22:44:41

  Modified:htdocs/manual/mod  mod_alias.html mod_userdir.html
  Log:
  Fix compat notes, and make the UserDir docs to be (a) correct, and (b)
  to use more "friendly" expamples (hah).
  
  Revision  ChangesPath
  1.5   +0 -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.4
  retrieving revision 1.5
  diff -C3 -r1.4 -r1.5
  *** mod_alias.html1996/11/27 09:30:51 1.4
  --- mod_alias.html1996/12/01 06:44:39 1.5
  ***
  *** 30,37 
Context: server config, virtual host
Status: Base
Module: mod_alias
  - Compatibility: Alias is only available in Apache 1.1
  - and later

The Alias directive allows documents to be stored in the local filesystem
other than under the DocumentRoot.
  --- 30,35 
  ***
  *** 115,122 
Context: server config, virtual host
Status: Base
Module: mod_alias
  - Compatibility: ScriptAlias is only available in Apache 1.1
  - and later

The ScriptAlias directive has the same behaviour as the
Alias directive, except that in addition it
  --- 113,118 
  
  
  
  1.3   +9 -7  apache/htdocs/manual/mod/mod_userdir.html
  
  Index: mod_userdir.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_userdir.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** mod_userdir.html  1996/11/21 10:30:53 1.2
  --- mod_userdir.html  1996/12/01 06:44:40 1.3
  ***
  *** 24,46 
Default: UserDir public_html
Context: server config, virtual host
Status: Base
  ! Module: mod_userdir

The UserDir directive sets the real directory in a user's home directory
to use when a request for a document for a user is received.
Directory is either disabled, to disable this feature,
 or the name of a directory, following one of the following
patterns. If not disabled, then a request for
  ! http://www.foo.com/~bar/one/two.html will be translated to:

  ! UserDir public_html -> ~bar/public_html/one/two.html
  ! UserDir /usr/web-> /usr/web/bar/one/two.html
  ! UserDir /home/*/www -> /home/bar/www/one/two.html

The following directives will send redirects to the client:

  ! UserDir http://www.x.com/users   -> http//www.x.com/users/bar/one/two.html
  ! UserDir http://www.x.com/*/y -> http://www.x.com/y/one/two.html



  --- 24,48 
Default: UserDir public_html
Context: server config, virtual host
Status: Base
  ! Module: mod_userdir
  ! Compatibility: All forms except the UserDir
  ! public_html form are only available in Apache 1.1 or above.

The UserDir directive sets the real directory in a user's home directory
to use when a request for a document for a user is received.
Directory is either disabled, to disable this feature,
 or the name of a directory, following one of the following
patterns. If not disabled, then a request for
  ! http://www.foo.com/~bob/one/two.html will be translated to:

  ! UserDir public_html -> ~bob/public_html/one/two.html
  ! UserDir /usr/web-> /usr/web/bob/one/two.html
  ! UserDir /home/*/www -> /home/bob/www/one/two.html

The following directives will send redirects to the client:

  ! UserDir http://www.foo.com/users   -> 
http//www.foo.com/users/bob/one/two.html
  ! UserDir http://www.foo.com/*/usr   -> 
http://www.foo.com/bob/usr/one/two.html



  
  
  


cvs commit: apache/htdocs/manual invoking.html new_features_1_0.html new_features_1_1.html new_features_1_2.html

1996-11-30 Thread Alexei Kosut
akosut  96/11/30 22:38:14

  Modified:htdocs/manual  invoking.html new_features_1_0.html
new_features_1_1.html  new_features_1_2.html
  Log:
  Fix links in release notes. Also invalidate links to non-existent
  files, add "[Documentation to be written]" tag to them, for clarity.
  
  Revision  ChangesPath
  1.4   +1 -1  apache/htdocs/manual/invoking.html
  
  Index: invoking.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/invoking.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -C3 -r1.3 -r1.4
  *** invoking.html 1996/11/21 15:08:32 1.3
  --- invoking.html 1996/12/01 06:38:11 1.4
  ***
  *** 39,45 
-v
Print the version of httpd, and then exit.

  ! -h
Give a list of directives together with expected arguments and
places where the directive is valid

  --- 39,45 
-v
Print the version of httpd, and then exit.

  ! -h
Give a list of directives together with expected arguments and
places where the directive is valid

  
  
  
  1.3   +9 -9  apache/htdocs/manual/new_features_1_0.html
  
  Index: new_features_1_0.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_0.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** new_features_1_0.html 1996/11/21 10:47:14 1.2
  --- new_features_1_0.html 1996/12/01 06:38:11 1.3
  ***
  *** 15,26 
the source directory.  Because the core code has changed so
significantly, there are certain liberties that earlier versions of
Apache (and the NCSA daemon) took that Apache 1.0 is pickier about -
  ! please check the compatibility notes if you 
have any problems.



 API for server extensions --- see below for a brief sermon on
  ! philosophy, or see src/API.html for an actual
overview.  Most server functionality (including includes, CGI, and
most forms of access control) are actually implemented as
API-conformant modules; you can also do other neat stuff (we've
  --- 15,26 
the source directory.  Because the core code has changed so
significantly, there are certain liberties that earlier versions of
Apache (and the NCSA daemon) took that Apache 1.0 is pickier about -
  ! please check the compatibility notes 
if you have any problems.



 API for server extensions --- see below for a brief sermon on
  ! philosophy, or see src/API.html for an actual
overview.  Most server functionality (including includes, CGI, and
most forms of access control) are actually implemented as
API-conformant modules; you can also do other neat stuff (we've
  ***
  *** 28,34 
track click-trails using the http://home.netscape.com/newsref/std/cookie_spec.html";>Netscape
cookie mechanism, for visitors who come in through Netscape
  ! clients).  Modules can also be loaded 
dynamically using GNU DLD.


The API is not yet quite stable (see src/TODO for some possible
  --- 28,34 
track click-trails using the http://home.netscape.com/newsref/std/cookie_spec.html";>Netscape
cookie mechanism, for visitors who come in through Netscape
  ! clients).  Modules can also be loaded 
dynamically using GNU DLD.


The API is not yet quite stable (see src/TODO for some possible
  ***
  *** 94,100 



  !  Configurable logging module --- this
   is a replacement for the standard plane-jane Common Log Format code, 
which
   supports a LogFormat directive which allows you to control the 
formatting of
   entries in the TransferLog, and add some new items if you like (in
  --- 94,100 



  !  Configurable logging module --- 
this
   is a replacement for the standard plane-jane Common Log Format code, 
which
   supports a LogFormat directive which allows you to control the 
formatting of
   entries in the TransferLog, and add some new items if you like (in
  ***
  *** 105,115 

Other features of Apache

  ! Dynamically loading modules using GNU DLD
  ! Imagemap Module
  ! Multiple DirectoryIndex 
filenames
  !  "Send as is" file types
  ! XBITHACK last modified



  --- 105,115 

Other features of Apache

  ! Dynamically loading modules using GNU DLD
  ! Imagemap Module
  ! Multiple DirectoryIndex 
filenames
  !  "Send as is" file types
  ! XBITHACK last modified



  
  
  
  1.4   +21 -21apache/htdocs/manual/new_features_1_1.html
  
  Index: new_features_1_1.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_1.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -C3 -r

cvs commit: apache/htdocs/manual expand.pl

1996-11-30 Thread Alexei Kosut
akosut  96/11/30 22:18:15

  Added:   htdocs/manual  expand.pl
  Log:
  Add expand.pl Perl script to expand out SSI references in the manual,
  so the end user doesn't need to have them turned on for .html files.


cvs commit: apache CHANGES README

1996-11-30 Thread Alexei Kosut
akosut  96/11/30 21:38:17

  Modified:. CHANGES README
  Log:
  Update top-level CHANGES and README files.
  
  Revision  ChangesPath
  1.6   +124 -80   apache/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache/CHANGES,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** CHANGES   1996/11/03 20:57:23 1.5
  --- CHANGES   1996/12/01 05:38:15 1.6
  ***
  *** 1,85 
New features with this release, as extensions of the Apache functionality
  ! (see also more detailed CHANGES file) in the source directory. For more
  ! information, see http://www.apache.org/docs/1.1/

In addition to a number of bug fixes and internal performance
  ! enhancements, Apache 1.1 has the following specific new user
features:

  !   *) Caching Proxy Server
  !Apache can now act as an HTTP proxy server, allowing clients
  !behind firewalls to use the server to access the outside world. In
  !addition, it can cache documents it proxies, speeding up access to
  !frequently requested documents.
  ! 
  !   *) Filetype-based Script "Actions"
  !You can now run CGI scripts whenever a file of a certion type is
  !requested. Makes it much easier to execute scripts that process
  !files.
  ! 
  !   *) Support for Keep-Alive Persistent Connections
  !Apache now has (optional) support for persistent connections, as
  !defined by the HTTP/1.1 draft. This protocol, supported by a
  !number of current HTTP servers and browsers (including Netscape
  !Navigator 2.0) has been shown to increase speed of document
  !transfer by up to 50% in certain cases.
  ! 
  !   *) Customizable CGI Environment Variables (not in this release)
  !New PassEnv and SetEnv directives allow you to modify the
  !environment variables passed to CGI scripts
  ! 
  !   *) CERN Metafile Support
  !Now emulates the CERN httpd's support for metafiles containing
  !additional HTTP headers to be supplied with a document.
  ! 
  !   *) Redirect Now Usable in .htaccess Files
  !The Redirect directive can now be used in .htaccess files when the
  !FileInfo directive has been set on. This allows users to redirect
  !parts of their directories without requiring CGI scripts
  ! 
  !   *) Improved UserDir Directive (not in this release)
  !Now supports the ability to point user's files (as specificed by
  !URLs beginning with the "~" character) at directories other than
  !those specified by the Unix password file.
  ! 
  !   *) Minimal DNS Now Runtime Option
  !New HostnameLookups server configuration directive can be used to
  !turn On or  Off DNS lookups. This supercedes the -DMINIMAL_DNS
  !compile-time configuration option.
  ! 
  !   *) Listen to Multiple Addresses and Ports
  !Using the new Listen directive, Apache can listen to more than one
  !port and IP address, using the same configuration set.
  ! 
  !   *) Anonymous HTTP Logins
  !New options allow you to allow, using Basic HTTP Authentication,
  !anonymous logins, like those of FTP. This allows you to collect
  !email addresses of people accessing your site.
  ! 
  !   *) File Owner Avialable to Included CGI Scripts
  !Server-side includes that call CGI scripts will now set a
  !USER_NAME environment variable that contains the owner of the file
  !which included it.
  ! 
  !   *) Improved Icons
  !Thanks to Kevin Hughes, Apache's nifty color GIF icons for
  !directory listings have been updated. In addition, the Powered by
  !Apache (apache_pb.gif) logo has been included.
  ! 
  !   *) Log Rotation
  ! New support utility to allow log rotation without shutting down the
  ! server. See support/rotatelogs.c.
  ! 
  ! NEW AUTHENTICATION MODULES:
  ! 
  ! Note: These modules are not compiled into the server by default, as
  ! they require special support on the host system. They must be enabled
  ! specifically in the Configuration file.
  ! 
  !   *) Support for Unix DB Authentication - mod_db.c
  !In addition to DBM support, Apache now contains optional support
  !for Berkeley DB databases.
  ! 
  !   *) mSQL Database Authentication - mod_auth_msql.html
  !Support for the use of mSQL databases for user authentication via
  !HTTP is now supported.
  --- 1,129 
  +OVERVIEW OF NEW FEATURES IN APACHE 1.2
  + 
New features with this release, as extensions of the Apache functionality
  ! For more information, see the documentation included with this release
  ! (htdocs/manual/) or http://www.apache.org/docs/

In addition to a number of bug fixes and internal performance
  ! enhancements, Apache 1.2 h

cvs commit: apache/src mod_dir.c

1996-11-28 Thread Alexei Kosut
akosut  96/11/28 09:26:30

  Modified:src   mod_dir.c
  Log:
  Fix directory indexing so that if an index file encounters an error
  that is not 404, it returns that error instead of a directory index.
  This was causing unsafe behavior.
  
  Reviewed by: Brian Behlendorf, Aram Mirzadeh, Paul Sutton
  
  Revision  ChangesPath
  1.16  +16 -0 apache/src/mod_dir.c
  
  Index: mod_dir.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_dir.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -C3 -r1.15 -r1.16
  *** mod_dir.c 1996/11/03 20:48:33 1.15
  --- mod_dir.c 1996/11/28 17:26:29 1.16
  ***
  *** 768,773 
  --- 768,774 
  (dir_config_rec *)get_module_config (r->per_dir_config, &dir_module);
const char *names_ptr = d->index_names ? d->index_names : DEFAULT_INDEX;
int allow_opts = allow_options (r);
  + int error_notfound = 0;

if (r->uri[0] == '\0' || r->uri[strlen(r->uri)-1] != '/') {
char* ifile;
  ***
  *** 808,815 
  --- 809,831 
return OK;
}

  + /* If the request returned something other than 404 (or 200),
  +  * it means the module encountered some sort of problem. To be
  +  * secure, we should return the error, rather than create
  +  * along a (possibly unsafe) directory index.
  +  *
  +  * So we store the error, and if none of the listed files
  +  * exist, we return the last error response we got, instead
  +  * of a directory listing.
  +  */
  + if (rr->status && rr->status != 404 && rr->status != 200)
  + error_notfound = rr->status;
  + 
destroy_sub_req (rr);
}
  + 
  + if (error_notfound)
  + return error_notfound;

if (r->method_number != M_GET) return NOT_IMPLEMENTED;

  
  
  


cvs commit: apache/htdocs/manual/misc client_block_api.html

1996-11-28 Thread Alexei Kosut
akosut  96/11/28 00:34:05

  Modified:htdocs/manual/misc  client_block_api.html
  Log:
  Update *_client_block documentation to match Roy's changes.
  
  Revision  ChangesPath
  1.3   +17 -4 apache/htdocs/manual/misc/client_block_api.html
  
  Index: client_block_api.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/client_block_api.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** client_block_api.html 1996/11/21 09:55:47 1.2
  --- client_block_api.html 1996/11/28 08:34:05 1.3
  ***
  *** 26,32 
The New API Functions


  !int setup_client_block (request_rec *);
   int should_client_block (request_rec *);
   long get_client_block (request_rec *, char *buffer, int buffer_size);

  --- 26,32 
The New API Functions


  !int setup_client_block (request_rec *, int read_policy);
   int should_client_block (request_rec *);
   long get_client_block (request_rec *, char *buffer, int buffer_size);

  ***
  *** 35,41 
Call setup_client_block() near the beginning of the request
handler. This will set up all the neccessary properties, and
will return either OK, or an error code. If the latter,
  ! the module should return that error code.

When you are ready to possibly accept input, call
should_client_block().
  --- 35,54 
Call setup_client_block() near the beginning of the request
handler. This will set up all the neccessary properties, and
will return either OK, or an error code. If the latter,
  ! the module should return that error code. The second parameter
  ! selects the policy to apply if the request message indicates a
  ! body, and how a chunked
  ! transfer-coding sho uld be interpreted. Choose one of
  ! 
  ! REQUEST_NO_BODY  Send 413 error if message has any body
  ! REQUEST_CHUNKED_ERRORSend 411 error if body without Content-Length
  ! REQUEST_CHUNKED_DECHUNK  If chunked, remove the chunks for me.
  ! REQUEST_CHUNKED_PASS Pass the chunks to me without removal.
  ! 
  ! In order to use the last two options, the caller MUST provide a buffer
  ! large enough to hold a chunk-size line, including any extensions.
  ! 
  ! 

When you are ready to possibly accept input, call
should_client_block().
  ***
  *** 52,59 
buffer and its 
size. It will put data into the buffer (not neccessarily the full
buffer, in the case of chunked inputs), and return the length of
  ! the input block. When it is done reading, it will return 0, and
  ! the module should proceed.



  --- 65,72 
buffer and its 
size. It will put data into the buffer (not neccessarily the full
buffer, in the case of chunked inputs), and return the length of
  ! the input block. When it is done reading, it will
  ! return 0 if EOF, or -1 if there was an error.



  
  
  


cvs commit: apache/htdocs/manual index.html

1996-11-28 Thread Alexei Kosut
akosut  96/11/28 00:21:37

  Modified:htdocs/manual  index.html
  Log:
  Make the images and links here make some sense... no use having two
  links to the page you've linking from.
  
  Revision  ChangesPath
  1.4   +3 -7  apache/htdocs/manual/index.html
  
  Index: index.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/index.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -C3 -r1.3 -r1.4
  *** index.html1996/11/21 14:41:14 1.3
  --- index.html1996/11/28 08:21:37 1.4
  ***
  *** 5,11 



  ! 
Apache User's Guide


  --- 5,11 



  ! 
Apache User's Guide


  ***
  *** 40,53 
Performance hints for heavily loaded web 
servers.


  ! Apache 1.0 documentation (Out of date)

  ! 
  ! 
  ! 
  ! 

  - 



  --- 40,49 
Performance hints for heavily loaded web 
servers.


  ! 

  ! 




  
  
  


cvs commit: apache/htdocs/manual/mod core.html

1996-11-28 Thread Alexei Kosut
akosut  96/11/28 00:08:20

  Modified:htdocs/manual  new_features_1_2.html
   htdocs/manual/mod  core.html
  Log:
  Update Directory/Location/Files docs.
  
  Revision  ChangesPath
  1.7   +7 -5  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.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** new_features_1_2.html 1996/11/28 07:42:15 1.6
  --- new_features_1_2.html 1996/11/28 08:08:17 1.7
  ***
  *** 46,58 
number of powerful new features, such as the ability to set variables
and use conditional HTML.

  ! File-based and Regex-enabled Directive
  ! Sections
  ! The new  section allows directives to be
  ! enabled based on full filename, not just directory and URL. In
addition,  sections can appear in
.htaccess files. , along with
  !  and , can
also now be based on regular expressions, not just simple prefix
matching. 

  --- 46,60 
number of powerful new features, such as the ability to set variables
and use conditional HTML.

  ! File-based and Regex-enabled
  ! Directive Sections
  ! The new 
  ! 
  ! section allows directives to be enabled based on full filename, not just 
directory and URL. In
addition,  sections can appear in
.htaccess files. , along with
  ! 
  !  and , can
also now be based on regular expressions, not just simple prefix
matching. 

  
  
  
  1.7   +71 -17apache/htdocs/manual/mod/core.html
  
  Index: core.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** core.html 1996/11/28 07:42:16 1.6
  --- core.html 1996/11/28 08:08:19 1.7
  ***
  *** 77,88 



  ! Syntax: 
  ! Context: server config, virtualhost, directory
  ! Status: Core. 

  ! The File container applies the directives within to files
  ! which match the regexp.

 

  --- 77,119 



  ! Syntax: 
  ! ... 
  ! Context: server config, virtual host, htaccess
  ! Status: core
  ! Compatibility: only available in Apache
  ! 1.2 and above.
  ! 
  ! The  directive provides for access control by
  ! filename. It is comparable to the  directive and
  !  directives. It
  ! should be matched with a  directive. Directives that
  ! apply to the filename given should be listed
  ! within.  sections are processed in the
  ! order they appear in the configuration file, after the
  !  sections and .htaccess files are
  ! read, but before  sections.

  ! The filename argument should include a filename, or a 
  ! wildcard string, where `?' matches any single character, and `*' matches any
  ! sequences of characters. Extended regular expressions can also be used, 
with the addition of
  ! the ~ character. For example:
  ! 
  ! 
  !
  ! 
  ! 
  ! would match most common Internet graphics formats.
  ! 
  ! Note that unlike  and  sections,
  !  sections can be used inside .htaccess
  ! files. This allows users to control access to their own files, at a
  ! file-by-file level. When used in an .htaccess file, if the
  ! filename does not begin with a / character,
  ! the directory being applied will be prefixed automatically.

 

  ***
  *** 303,310 

 directive

  ! Syntax:  ...
  !  
Context: server config, virtual host
Status: Core. 

  --- 334,340 

 directive

  ! Syntax:  ... 
 
Context: server config, virtual host
Status: Core. 

  ***
  *** 314,325 
context may be used. Directory is either the full path to a 
directory,
or a wildcard string. In a wildcard string, `?' matches any single 
character,
and `*' matches any sequences of characters. Example:
  ! 
  ! 
  ! 
  ! Options Indexes FollowSymLinks
  ! 
  ! If multiple directory sections match the directory (or its parents) 
containing
a document, then the directives are applied in the order of shortest match
first, interspersed with the directives from the
.htaccess files. For example, with
  --- 344,366 
context may be used. Directory is either the full path to a 
directory,
or a wildcard string. In a wildcard string, `?' matches any single 
character,
and `*' matches any sequences of cha

cvs commit: apache/htdocs/manual/mod core.html directives.html mod_cgi.html mod_log_config.html mod_usertrack.html

1996-11-27 Thread Alexei Kosut
akosut  96/11/27 23:42:19

  Modified:htdocs/manual  new_features_1_2.html
   htdocs/manual/mod  core.html directives.html mod_cgi.html
mod_log_config.html  mod_usertrack.html
  Log:
  Some cleanup (the directives go in ALPHABETICAL ORDER, please), plus
  adding of some docs that Paul Sutton sent to the list on October
  10th.
  
  Revision  ChangesPath
  1.6   +2 -2  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.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** new_features_1_2.html 1996/11/28 06:56:43 1.5
  --- new_features_1_2.html 1996/11/28 07:42:15 1.6
  ***
  *** 109,115 
address or hostname. This lets a single vhost handles requests
for multiple IPs or hostnames.

  ! CGI Debugging Environment
ScriptLog allows you to now set up a log that records
all input and output to failed CGI scripts. This includes environment
variables, input headers, POST data, output, and more. This makes CGI
  --- 109,115 
address or hostname. This lets a single vhost handles requests
for multiple IPs or hostnames.

  ! CGI Debugging 
Environment
ScriptLog allows you to now set up a log that records
all input and output to failed CGI scripts. This includes environment
variables, input headers, POST data, output, and more. This makes CGI
  ***
  *** 140,146 
Optional headers module
An optional module is included which can set arbitrary headers in responses.

  ! Conditional Config Directives
A new  section allows directives to be
enabled only if a given module is loaded into the server.

  --- 140,146 
Optional headers module
An optional module is included which can set arbitrary headers in responses.

  ! Conditional Config 
Directives
A new  section allows directives to be
enabled only if a given module is loaded into the server.

  
  
  
  1.6   +44 -14apache/htdocs/manual/mod/core.html
  
  Index: core.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -C3 -r1.5 -r1.6
  *** core.html 1996/11/26 06:52:26 1.5
  --- core.html 1996/11/28 07:42:16 1.6
  ***
  *** 14,41 



  !  
  !  
DocumentRoot
ErrorDocument
ErrorLog
Group
IdentityCheck
KeepAlive
KeepAliveTimeout

  --- 14,39 



  ! RLimitCPU
  ! RLimitMEM
  ! RLimitNPROC
AccessConfig
AccessFileName
  + AddModule
AllowOverride
AuthName
AuthType
BindAdress
  + ClearModuleList
DefaultType

DocumentRoot
ErrorDocument
ErrorLog
  + 
Group
IdentityCheck
  + 
  ***
  *** 50,55 
  --- 48,55 
Port
require
ResourceConfig
  + Satisfy
  + ServerAdmin
ServerAlias
ServerName
  ***
  *** 87,98 
 


  ! Syntax: 
  ! Context: server config, virtual host, directory
  ! Status: core

  ! Directives within the  container are activated
  ! if the specified module is configured into the server.

 

  --- 87,128 
 


  ! Syntax:  ...
  ! 
  ! Default: None
  ! Context: all
  ! Status: Core
  ! Compatibility: ScriptLog is only available in 1.2 and
  ! later.
  ! 
  ! 
  ! 
  ! The ...
  ! section is used to mark directives that are conditional. The
  ! directives within an IfModule section are only
  ! processed if the test is true. If test
  ! is false, everything between the start and end markers
  ! is ignored.
  ! 
  ! The test in the  section directive
  ! can be one of two forms:
  ! 
  ! 
  ! module name
  ! !module name
  ! 
  ! 
  ! In the former case, the directives between the start and end markers
  ! are only processed if the module named module name is compiled
  ! in to Apache. The second format reverses the test, and only processes
  ! the directives if module name is not compiled in.
  ! 
  ! The module name argument is a module name as given as the file
  ! name of the module, at the time it was compiled. For example,
  ! mod_rewrite.c.

  !  sections are nestable, which can be used to impleme

cvs commit: apache/htdocs/manual/mod mod_rewrite.html

1996-11-27 Thread Alexei Kosut
akosut  96/11/27 23:09:19

  Added:   htdocs/manual/mod  mod_rewrite.html
  Log:
  Add docs for mod_rewrite


cvs commit: apache/htdocs/manual/mod mod_fastcgi.html

1996-11-27 Thread Alexei Kosut
akosut  96/11/27 22:56:45

  Modified:htdocs/manual  new_features_1_2.html
   htdocs/manual/mod  mod_fastcgi.html
  Log:
  Fix FastCGI link and trivia.
  
  Revision  ChangesPath
  1.5   +1 -1  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.4
  retrieving revision 1.5
  diff -C3 -r1.4 -r1.5
  *** new_features_1_2.html 1996/11/27 09:37:11 1.4
  --- new_features_1_2.html 1996/11/28 06:56:43 1.5
  ***
  *** 74,80 
module can provide powerful URL mapping, using regular
expressions. There's nothing this module can't do!

  ! Optional FastCGI Module 
Included
FastCGI is a high-performance alternative to CGI. FastCGI gets its speed by 
having the Web server keep the
application processes running between requests. So, unlike CGI, you do not 
have the overhead of starting up
a new process and doing application initialization (e.g. connecting to a 
database) each time somebody requests
  --- 74,80 
module can provide powerful URL mapping, using regular
expressions. There's nothing this module can't do!

  ! Optional FastCGI Module 
Included
FastCGI is a high-performance alternative to CGI. FastCGI gets its speed by 
having the Web server keep the
application processes running between requests. So, unlike CGI, you do not 
have the overhead of starting up
a new process and doing application initialization (e.g. connecting to a 
database) each time somebody requests
  
  
  
  1.3   +1 -9  apache/htdocs/manual/mod/mod_fastcgi.html
  
  Index: mod_fastcgi.html
  ===
  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_fastcgi.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -C3 -r1.2 -r1.3
  *** mod_fastcgi.html  1996/11/21 10:30:47 1.2
  --- mod_fastcgi.html  1996/11/28 06:56:45 1.3
  ***
  *** 20,40 
applications in a variety of languages, including Perl, C, C++,
Java, and Python.

  - mod_fastcgi is not compiled into the server by
  - default. To use mod_fastcgi you first copy
  - src/mod_fastcgi.c from this kit into your Apache server's
  - source directory. Then you add the following line to the server build
  - Configuration file:
  - 
  - Module fastcgi_modulemod_fastcgi.o
  - 
  - 
Any request for a file with the MIME type
application/x-httpd-fcgi will be processed by
mod_fastcgi.  For the request to succeed, the server's
configuration must have started the application (executable file)
using the AppClass directive.


Summary

  --- 20,32 
applications in a variety of languages, including Perl, C, C++,
Java, and Python.

Any request for a file with the MIME type
application/x-httpd-fcgi will be processed by
mod_fastcgi.  For the request to succeed, the server's
configuration must have started the application (executable file)
using the AppClass directive.

  + This module is included optionally in Apache 1.2 and later.

Summary

  
  
  


cvs commit: apache/src Configuration.tmpl Configure conf.h

1996-10-21 Thread Alexei Kosut
akosut  96/10/21 21:21:47

  Modified:src   Configuration.tmpl Configure conf.h
  Log:
  Remove the BADMMAP rule, and fix HP-UX shared memory (finally).
  
  Revision  ChangesPath
  1.46  +2 -8  apache/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===
  RCS file: /export/home/cvs/apache/src/Configuration.tmpl,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -C3 -r1.45 -r1.46
  *** Configuration.tmpl1996/10/22 00:03:06 1.45
  --- Configuration.tmpl1996/10/22 04:21:43 1.46
  ***
  *** 1,4 
  ! # $Id: Configuration.tmpl,v 1.45 1996/10/22 00:03:06 jim Exp $
# Config file for the Apache httpd.

# Configuration.tmpl is the template for Configuration. Configuration should
  --- 1,4 
  ! # $Id: Configuration.tmpl,v 1.46 1996/10/22 04:21:43 akosut Exp $
# Config file for the Apache httpd.

# Configuration.tmpl is the template for Configuration. Configuration should
  ***
  *** 53,59 
# functions. The format is: Rule RULE=value
#
# At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
  ! # STATUS, BADMMAP and IRIXNIS.
#
# For all Rules, if set to "yes", then Configure knows we want that
# capability and does what is required to add it in. If set to "default"
  --- 53,59 
# functions. The format is: Rule RULE=value
#
# At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
  ! # STATUS and IRIXNIS.
#
# For all Rules, if set to "yes", then Configure knows we want that
# capability and does what is required to add it in. If set to "default"
  ***
  *** 94,107 
#  not use this one by setting WANTHSREGEX to 'no' or commenting
#  out the Rule. The "default" action is "no" unless overruled
#  by OS specifics
  - #
  - # BADMMAP:
  - #  If you find that your OS can't cope with mmap (compiles OKAY but refuses
  - #  to run and moans "httpd: Could not mmap memory" .. or similar) set
  - #  this to 'yes'.

Rule WANTHSREGEX=default
  - Rule BADMMAP=default


# Module configuration
  --- 94,101 
  
  
  
  1.29  +3 -23 apache/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apache/src/Configure,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -C3 -r1.28 -r1.29
  *** Configure 1996/10/22 00:03:06 1.28
  --- Configure 1996/10/22 04:21:44 1.29
  ***
  *** 1,5 
#!/bin/sh
  ! # $Id: Configure,v 1.28 1996/10/22 00:03:06 jim Exp $
trap 'rm $tmpfile; exit' 0 1 2 3 15

# Apache configuration script, first cut --- rst.
  --- 1,5 
#!/bin/sh
  ! # $Id: Configure,v 1.29 1996/10/22 04:21:44 akosut Exp $
trap 'rm $tmpfile; exit' 0 1 2 3 15

# Apache configuration script, first cut --- rst.
  ***
  *** 112,118 
RULE_WANTHSREGEX=`./CutRule WANTHSREGEX $file`
RULE_STATUS=`./CutRule STATUS $file`
RULE_SOCKS4=`./CutRule SOCKS4 $file`
  - RULE_BADMMAP=`./CutRule BADMMAP $file`
RULE_IRIXNIS=`./CutRule IRIXNIS $file`

#
  --- 112,117 
  ***
  *** 123,129 
# options) as required. Setting CC and OPTIM here has no effect
# if they were set in Configure.
#
  ! # Also, we set DEF_WANTHSREGEX and DEF_BADMMAP to the appropriate
# value for each platform.
#
# As more PLATFORMs are added to Configuration.tmpl, be sure to
  --- 122,128 
# options) as required. Setting CC and OPTIM here has no effect
# if they were set in Configure.
#
  ! # Also, we set DEF_WANTHSREGEX and to the appropriate
# value for each platform.
#
# As more PLATFORMs are added to Configuration.tmpl, be sure to
  ***
  *** 143,149 
LIBS="$LIBS -lposix -lbsd"
LFLAGS="$LFLAGS -s"
DEF_WANTHSREGEX=no
  - DEF_BADMMAP=no
;;
*-ibm-aix*)
OS='IBM AIX'
  --- 142,147 
  ***
  *** 172,178 
;;
*-sgi-irix*)
DEF_WANTHSREGEX=yes
  - DEF_BADMMAP=no
DBM_LIB=""
if [ "$RULE_IRIXNIS" = "yes" ]; then
OS='SGI IRIX w/NIS'
  --- 170,175 
  ***
  *** 234,240 
LIBS="$LIBS -lsocket -lmalloc -lprot"
OSBPRINTF="-K noinline"
DEF_WANTHSREGEX=no
  - DEF_BADMMAP=no
;;
*-solaris2*)
OS='Solaris 2'
  --- 231,236 
  ***
  *** 276,282 
esac

#
  ! # See if we need to override WANTHSREGEX or BADMMAP
#
if [ "$RULE_WANTHSREGEX" = "default" ]; then
if [ "x$DEF_WANTHSREGEX" = "x" ]; then
  --- 272,278 
esac

#
  ! # See if we need to override WANTHSREGEX
#
if [ "$RULE_WANTHSREGEX" = "de

cvs commit: apache/src http_protocol.c httpd.h

1996-09-02 Thread Alexei Kosut
akosut  96/09/02 17:31:29

  Modified:src   http_protocol.c httpd.h
  Log:
  Upgrade protocol version to 1.1. Clean up persistent connection support
  a bit.
  
  Reviewed by: Rob Hartill, Jim Jagielski, Chuck Murcko, Roy T. Fielding
  
  Revision  ChangesPath
  1.45  +14 -24apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -C3 -r1.44 -r1.45
  *** http_protocol.c   1996/08/24 16:04:54 1.44
  --- http_protocol.c   1996/09/03 00:31:26 1.45
  ***
  *** 50,56 
 *
 */
  
  ! /* $Id: http_protocol.c,v 1.44 1996/08/24 16:04:54 ben Exp $ */

/*
 * http_protocol.c --- routines which directly communicate with the
  --- 50,56 
 *
 */
  
  ! /* $Id: http_protocol.c,v 1.45 1996/09/03 00:31:26 akosut Exp $ */

/*
 * http_protocol.c --- routines which directly communicate with the
  ***
  *** 284,316 
{
char *conn = table_get (r->headers_in, "Connection");
char *length = table_get (r->headers_out, "Content-length");

if ((r->server->keep_alive > r->connection->keepalives) &&
(r->server->keep_alive_timeout > 0) &&
(r->header_only || length ||
 ((r->proto_num >= 1001) && (r->byterange > 1 || (r->chunked = 1 &&
(!find_token(r->pool, conn, "close")) &&
  ! #ifdef FORHTTP11
  ! ((proto_num >= 1001) || find_token(r->pool, conn, "keep-alive"))) {
  ! #else
  ! (find_token(r->pool, conn, "keep-alive"))) {
  ! #endif
char header[26];
int left = r->server->keep_alive - r->connection->keepalives;

r->connection->keepalive = 1;
r->connection->keepalives++;

  ! #ifdef FORHTTP11
  ! if (r->proto_num < 1001) {
  ! #endif
sprintf(header, "timeout=%d, max=%d",
r->server->keep_alive_timeout, left);
  ! table_merge (r->headers_out, "Connection", "Keep-Alive");
  ! table_set (r->headers_out, "Keep-Alive", pstrdup(r->pool, header));
  ! #ifdef FORHTTP11
}
  - #endif  

return 1;
}
  --- 284,311 
{
char *conn = table_get (r->headers_in, "Connection");
char *length = table_get (r->headers_out, "Content-length");
  + int ka_sent;

if ((r->server->keep_alive > r->connection->keepalives) &&
(r->server->keep_alive_timeout > 0) &&
(r->header_only || length ||
 ((r->proto_num >= 1001) && (r->byterange > 1 || (r->chunked = 1 &&
(!find_token(r->pool, conn, "close")) &&
  ! ((ka_sent = find_token(r->pool, conn, "keep-alive")) ||
  !  r->proto_num >= 1001)) {
char header[26];
int left = r->server->keep_alive - r->connection->keepalives;

r->connection->keepalive = 1;
r->connection->keepalives++;

  ! /* If they sent a Keep-Alive token, send one back */
  ! if (ka_sent) {
sprintf(header, "timeout=%d, max=%d",
r->server->keep_alive_timeout, left);
  ! rputs("Connection: Keep-Alive\015\012", r);
  ! rvputs(r, "Keep-Alive: ", header, "\015\012", NULL);
}

return 1;
}
  ***
  *** 320,326 
 * as HTTP/1.0, but pass our request along with our HTTP/1.1 tag
 * to a HTTP/1.1 client. Better safe than sorry.
 */
  ! table_merge (r->headers_out, "Connection", "close");

return 0;
}
  --- 315,321 
 * as HTTP/1.0, but pass our request along with our HTTP/1.1 tag
 * to a HTTP/1.1 client. Better safe than sorry.
 */
  ! rputs("Connection: close\015\012", r);

return 0;
}
  ***
  *** 1274,1293 
if (etag) bvputs(c->client, "ETag: ", etag, "\015\012", NULL);
if (cloc) bvputs(c->client, "Content-Location: ", cloc,
 "\015\012", NULL);
  ! if (set_keepalive(r)) {
  ! #ifdef FORHTTP11
  ! if (r->proto_num < 1001)
  ! #endif
  ! bputs("Connection: Keep-Alive\015\012", c->client);
  ! }
  ! else bputs("Connection: close\015\012", c->client);
bputs("\015\012", c->client);
return;
}

  ! /* We don't want persistent connections here, for several reasons.
  !  * Most importantly, if there's been an error, we don't want
  !  * it screwing up the next request.
 */
bputs("Connection: close\015\012", c->client);

  --- 1269,1283 
if (etag) bvputs(c->client, "ETag: ", etag, "\015\012", NULL);
if (cloc) bvputs(c->client, "Content-Location: ", cloc,
 "\015\012", NULL);
  ! set_keepalive(r);
bputs("\01

cvs commit: apache/src mod_log_config.c

1996-08-26 Thread Alexei Kosut
akosut  96/08/26 20:34:48

  Modified:src   mod_log_config.c
  Log:
  Fix LogFormat so it is passed onto virtual hosts by default.
  
  Revision  ChangesPath
  1.11  +3 -3  apache/src/mod_log_config.c
  
  Index: mod_log_config.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_log_config.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -C3 -r1.10 -r1.11
  *** mod_log_config.c  1996/08/20 11:51:15 1.10
  --- mod_log_config.c  1996/08/27 03:34:45 1.11
  ***
  *** 50,56 
 *
 */

  ! /* $Id: mod_log_config.c,v 1.10 1996/08/20 11:51:15 paul Exp $  */

/*
 * This is module implements the TransferLog directive (same as the
  --- 50,56 
 *
 */

  ! /* $Id: mod_log_config.c,v 1.11 1996/08/27 03:34:45 akosut Exp $  */

/*
 * This is module implements the TransferLog directive (same as the
  ***
  *** 586,595 
{
multi_log_state *base = (multi_log_state *)basev;
multi_log_state *add = (multi_log_state *)addv;
  - multi_log_state *new = 
  - (multi_log_state *)palloc (p, sizeof(multi_log_state));

add->server_config_logs = base->config_logs;

return add;
}
  --- 586,595 
{
multi_log_state *base = (multi_log_state *)basev;
multi_log_state *add = (multi_log_state *)addv;

add->server_config_logs = base->config_logs;
  + if (!add->default_format)
  + add->default_format = base->default_format;

return add;
}
  
  
  


Re: ServerPath?

1996-08-24 Thread Alexei Kosut
On Sat, 24 Aug 1996, Ben Laurie wrote:

> Can someone explain the ServerPath directive to me in words of one syllable,
> please?

I can try (but it will be hard, and more hard to parse than if I could use
words more than one beat long). When you have a host that's based on
Host:, and get it the old way, with no Host:, there is no way to tell what
host it is, and you will get the main host. With the line you talk about
(I can't use it, for it is more than one beat long), you can skip this,
and make your host work for all, both old and new ways.

If you put this line in your file, with "/foo", and then get "/foo" the
old and new ways, you will get the right page. And you can still use "/"
the new way. Do you get it now?  I doubt it: since I can't use real words,
I don't make much sense.

Hope this helps.

Thanks!

-- Alexei Kosut <[EMAIL PROTECTED]>The Apache HTTP Server 
   http://www.nueva.pvt.k12.ca.us/~akosut/  http://www.apache.org/



cvs commit: apache/src mod_rewrite.c mod_rewrite.h

1996-08-23 Thread Alexei Kosut
akosut  96/08/23 09:16:55

  Modified:src   mod_rewrite.c mod_rewrite.h
  Log:
  Update mod_rewrite to version 2.2
  
  Submitted by: Ralf S. Engelschall
  
  Revision  ChangesPath
  1.4   +96 -70apache/src/mod_rewrite.c
  
  
  
  
  1.5   +42 -24apache/src/mod_rewrite.h
  
  
  
  


cvs commit: apache/src Configuration.tmpl Configure conf.h

1996-08-21 Thread Alexei Kosut
akosut  96/08/21 11:40:05

  Modified:src   Configuration.tmpl Configure conf.h
  Log:
  Add configuration settings for UXP/DS
  
  Submitted by: Fumio Moriya <[EMAIL PROTECTED]>
  
  Revision  ChangesPath
  1.32  +2 -1  apache/src/Configuration.tmpl
  
  
  
  
  1.13  +6 -1  apache/src/Configure
  
  
  
  
  1.35  +16 -1 apache/src/conf.h
  
  
  
  


cvs commit: apache/src util_script.c

1996-08-20 Thread Alexei Kosut
akosut  96/08/20 13:18:18

  Modified:src   util_script.c
  Log:
  Fix directory index sizes.
  
  Submitted by: Joel Shprentz
  
  Revision  ChangesPath
  1.22  +5 -3  apache/src/util_script.c
  
  
  
  


cvs commit: apache/src http_config.c http_core.c http_main.c http_protocol.c httpd.h

1996-08-19 Thread Alexei Kosut
akosut  96/08/19 11:33:03

  Modified:src   http_config.c http_core.c http_main.c
http_protocol.c httpd.h
  Log:
  Allow for multiple IP addresses per virtual host.
  
  Submitted by: Dean Gaudet
  Reviewed by: Alexei Kosut, Mark J Cox
  
  Revision  ChangesPath
  1.20  +86 -6 apache/src/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -C3 -r1.19 -r1.20
  *** http_config.c 1996/08/15 13:56:53 1.19
  --- http_config.c 1996/08/19 18:32:56 1.20
  ***
  *** 685,693 
  --- 685,763 
 * are with the command table in http_core.c.
 */

  + /*
  +  * Parses a host of the form [:port]
  +  * paddr is used to create a list in the order of input
  +  * **paddr is the ->next pointer of the last entry (or s->addrs)
  +  * *paddr is the variable used to keep track of **paddr between calls
  +  */
  + static void get_addresses (pool *p, char *w, server_addr_rec ***paddr)
  + {
  + struct hostent *hep;
  + unsigned long my_addr;
  + int ports;
  + server_addr_rec *sar;
  + char *t;
  + int i;
  + 
  + if( *w == 0 ) return;
  + 
  + t = strchr(w, ':');
  + ports = 0;
  + if (t != NULL && strcmp(t+1, "*") != 0) ports = atoi(t+1);
  + 
  + if (t != NULL) *t = '\0';
  + if (strcmp(w, "*") == 0) {
  + sar = pcalloc( p, sizeof( server_addr_rec ) );
  + **paddr = sar;
  + *paddr = &sar->next;
  + sar->host_addr.s_addr = htonl(INADDR_ANY);
  + sar->host_port = ports;
  + sar->virthost = pstrdup(p, w);
  + if (t != NULL) *t = ':';
  + return;
  + }
  + 
  + #ifdef DGUX
  + my_addr = inet_network(w);
  + #else
  + my_addr = inet_addr(w);
  + #endif
  + if (my_addr != ((unsigned long) 0x)) {
  + sar = pcalloc( p, sizeof( server_addr_rec ) );
  + **paddr = sar;
  + *paddr = &sar->next;
  + sar->host_addr.s_addr = my_addr;
  + sar->host_port = ports;
  + sar->virthost = pstrdup(p, w);
  + if (t != NULL) *t = ':';
  + return;
  + }
  + 
  + hep = gethostbyname(w);
  + 
  + if ((!hep) || (hep->h_addrtype != AF_INET || !hep->h_addr_list[0])) {
  + fprintf (stderr, "Cannot resolve host name %s --- exiting!\n", w);
  + exit(1);
  + }
  + 
  + for( i = 0; hep->h_addr_list[i]; ++i ) {
  + sar = pcalloc( p, sizeof( server_addr_rec ) );
  + **paddr = sar;
  + *paddr = &sar->next;
  + sar->host_addr = *(struct in_addr *)hep->h_addr_list[i];
  + sar->host_port = ports;
  + sar->virthost = pstrdup(p, w);
  + }
  + 
  + if (t != NULL) *t = ':';
  + }
  + 
server_rec *init_virtual_host (pool *p, char *hostname)
{
server_rec *s = (server_rec *)pcalloc (p, sizeof (server_rec));
  + char *t;
  + server_addr_rec **addrs;

#ifdef RLIMIT_NOFILE
struct rlimit limits;
  ***
  *** 708,719 
s->timeout = 0;
s->keep_alive_timeout = 0;
s->keep_alive = -1;
  ! s->host_addr.s_addr = get_virthost_addr (hostname, &s->host_port);
  ! s->port = s->host_port;  /* set them the same, by default */
s->next = NULL;

s->is_virtual = 1;
  - s->virthost = pstrdup(p, hostname);
s->names = NULL;

s->module_config = create_empty_config (p);
  --- 778,798 
s->timeout = 0;
s->keep_alive_timeout = 0;
s->keep_alive = -1;
  ! /* start the list of addreses */
  ! addrs = &s->addrs;
  ! while( hostname[0] ) {
  ! get_addresses( p, getword_conf( p, &hostname ), &addrs );
  ! }
  ! /* terminate the list */
  ! *addrs = NULL;
  ! if( s->addrs == NULL ) {
  ! fprintf( stderr, "virtual host must have at least one address\n" );
  ! exit(1);
  ! }
  ! s->port = s->addrs->host_port;  /* set them the same, by default */
s->next = NULL;

s->is_virtual = 1;
s->names = NULL;

s->module_config = create_empty_config (p);
  ***
  *** 804,818 
s->keep_alive_timeout = DEFAULT_KEEPALIVE_TIMEOUT;
s->keep_alive = DEFAULT_KEEPALIVE;
s->next = NULL;
  ! s->host_addr.s_addr = htonl (INADDR_ANY); /* NOT virtual host;
   * don't match any real network
   * interface.
   */
  ! s->host_port = 0; /* matches any port */

s->module_config = create_ser

cvs commit: apache/src mod_log_config.c

1996-08-19 Thread Alexei Kosut
akosut  96/08/19 11:12:37

  Modified:src   mod_log_config.c
  Log:
  Add CustomLog capability to mod_log_config.
  
  Submitted by: Paul Sutton
  Reviewed by: Alexei Kosut, Mark J Cox
  
  Revision  ChangesPath
  1.9   +231 -75   apache/src/mod_log_config.c
  
  Index: mod_log_config.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_log_config.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -C3 -r1.8 -r1.9
  *** mod_log_config.c  1996/08/06 19:33:31 1.8
  --- mod_log_config.c  1996/08/19 18:12:35 1.9
  ***
  *** 54,63 

/*
 * This is module implements the TransferLog directive (same as the
  !  * common log module), and an additional directive, LogFormat.
 *
  !  * The argument to LogFormat is a string, which can include literal
  !  * characters copied into the log files, and '%' directives as follows:
 *
 * %...b:  bytes sent.
 * %...h:  remote host
  --- 54,112 

/*
 * This is module implements the TransferLog directive (same as the
  !  * common log module), and additional directives, LogFormat and CustomLog.
 *
  !  *
  !  * Syntax:
  !  *
  !  *TransferLog fn  Logs transfers to fn in standard log format, 
unless
  !  *a custom format is set with LogFormat
  !  *LogFormat formatSet a log format from TransferLog files
  !  *CustomLog fn format
  !  *Log to file fn with format given by the format
  !  *argument
  !  *
  !  * There can be any number of TransferLog and CustomLog
  !  * commands. Each request will be logged to _ALL_ the
  !  * named files, in the appropriate format.
  !  *
  !  * If no TransferLog or CustomLog directive appears in a VirtualHost,
  !  * the request will be logged to the log file(s) defined outside
  !  * the virtual host section. If a TransferLog or CustomLog directive
  !  * appears in the VirtualHost section, the log files defined outside
  !  * the VirtualHost will _not_ be used. This makes this module compatable
  !  * with the CLF and config log modules, where the use of TransferLog
  !  * inside the VirtualHost section overrides its use outside.
  !  * 
  !  * Examples:
  !  *
  !  *TransferLoglogs/access_log
  !  *
  !  *LogFormat  "... custom format ..."
  !  *TransferLoglog/virtual_only
  !  *CustomLog  log/virtual_useragents "%t %{user-agent}i"
  !  *
  !  *
  !  * This will log using CLF to access_log any requests handled by the
  !  * main server, while any requests to the virtual host will be logged
  !  * with the "... custom format..." to virtual_only _AND_ using
  !  * the custom user-agent log to virtual_useragents.
  !  *
  !  * Note that the NCSA referer and user-agent logs are easily added with
  !  * CustomLog:
  !  *   CustomLog   logs/referer  "%{referer}i -> %U"
  !  *   CustomLog   logs/agent"%{user-agent}i"
  !  *
  !  * Except: no RefererIgnore functionality
  !  * logs '-' if no Referer or User-Agent instead of nothing
  !  *
  !  * But using this method allows much easier modification of the
  !  * log format, e.g. to log hosts along with UA:
  !  *   CustomLog   logs/referer "%{referer}i %U %h"
  !  *
  !  * The argument to LogFormat and CustomLog is a string, which can include
  !  * literal characters copied into the log files, and '%' directives as
  !  * follows:
 *
 * %...b:  bytes sent.
 * %...h:  remote host
  ***
  *** 117,122 
  --- 166,201 
static mode_t xfer_mode = ( S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH );
#endif

  + /*
  +  * multi_log_state is our per-(virtual)-server configuration. We store
  +  * an array of the logs we are going to use, each of type config_log_state.
  +  * If a default log format is given by LogFormat, store in default_format
  +  * (backward compat. with mod_log_config). We also store a pointer to
  +  * the logs specified for the main server for virtual servers, so that
  +  * if this vhost has now logs defined, we can use the main server's
  +  * logs instead.
  +  *
  +  * So, for the main server, config_logs contains a list of the log files
  +  * and server_config_logs in empty. For a vhost, server_config_logs
  +  * points to the same array as config_logs in the main server, and
  +  * config_logs points to the array of logs defined inside this vhost,
  +  * which might be empty.
  +  */
  + 
  + typedef struct {
  +   array_header *default_format;
  +   array_header *config_logs;
  +   array_header *server_config_logs;
  + } multi_log_state;
  + 
  + /*
  +  * config_log_state holds the status of a single log file. fname cannot
  +  * be NULL. format might be NULL, in which case the default_format from
  +  * the multi_log_state should be used, 

cvs commit: apache/src http_protocol.c

1996-08-19 Thread Alexei Kosut
akosut  96/08/19 11:05:34

  Modified:src   http_protocol.c
  Log:
  Make Apache correctly read continued headers
  
  Submitted by: Paul Sutton
  Reviewed by: Alexei Kosut, Roy T. Fielding
  
  Revision  ChangesPath
  1.40  +36 -8 apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -C3 -r1.39 -r1.40
  *** http_protocol.c   1996/08/19 17:22:56 1.39
  --- http_protocol.c   1996/08/19 18:05:32 1.40
  ***
  *** 530,545 
char w[MAX_STRING_LEN];
char *t;
conn_rec *c = r->connection;

  ! while(getline(w, MAX_STRING_LEN-1, c->client)) {
  ! if(!w[0]) 
  ! return;
  ! if(!(t = strchr(w,':')))
  ! continue;
  ! *t++ = '\0';
  ! while(isspace(*t)) ++t;

  ! table_merge (r->headers_in, w, t);
}
}

  --- 530,573 
char w[MAX_STRING_LEN];
char *t;
conn_rec *c = r->connection;
  + int len = 0;
  + char lookahead[2];

  ! if (getline(w, MAX_STRING_LEN-1, c->client)) {
  ! do {
  ! if(!w[len])
  ! return;
  ! /* w[] contains the _current_ line. Lets read the
  !  * first char of the _next_ line into lookahead[] and see
  !  * if it is a continuation line */
  ! if (!getline(lookahead, 2, c->client) ||
  ! *lookahead == '\0' ||
  ! (*lookahead != ' ' && *lookahead != '\t')) {
  ! /* Not a continuation line -- _next_ line is either
  !  * a read error, empty, or doesn't start with SPACE or TAB
  !  * -- so store the _current_ line now */
  ! if(!(t = strchr(w,':')))
  ! continue;
  ! *t++ = '\0';
  ! while(isspace(*t)) ++t;

  ! table_merge (r->headers_in, w, t);
  ! 
  ! if (!*lookahead) /* did we read an empty line? */
  ! return;
  ! 
  ! /* Put what we read as the start of the new _current_ line */
  ! w[0] = '\0';
  ! }
  ! /* To get here, here have got a lookahead character in
  !  * *lookahead, so append it onto the end of w[], then
  !  * read the next line onto the end of that. Move
  !  * len on to point to the first char read from the next
  !  * line of input... we use this at the top of the loop
  !  * to check whether we actually read anything. */
  ! } while (len = strlen(w),
  !  w[len++] = *lookahead,
  !  getline (w+len, MAX_STRING_LEN-1-len, c->client));
}
}

  
  
  


cvs commit: apache/src util.c

1996-08-19 Thread Alexei Kosut
akosut  96/08/19 10:54:53

  Modified:src   util.c
  Log:
  Fix backslash-quoting in getword_conf()
  
  Reviewed by: Roy T. Fielding, Someone Else (I forget who, exactly)
  
  Revision  ChangesPath
  1.16  +8 -7  apache/src/util.c
  
  Index: util.c
  ===
  RCS file: /export/home/cvs/apache/src/util.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -C3 -r1.15 -r1.16
  *** util.c1996/07/29 02:32:34 1.15
  --- util.c1996/08/19 17:54:52 1.16
  ***
  *** 458,471 
 * all honored
 */

  ! char *substring_conf (pool *p, char *start, int len)
{
char *result = palloc (p, len + 2);
char *resp = result;
int i;

for (i = 0; i < len; ++i) {
  ! if (start[i] == '\\') 
*resp++ = start[++i];
else
*resp++ = start[i];
  --- 458,472 
 * all honored
 */

  ! char *substring_conf (pool *p, char *start, int len, char quote)
{
char *result = palloc (p, len + 2);
char *resp = result;
int i;

for (i = 0; i < len; ++i) {
  ! if (start[i] == '\\' && (start[i+1] == '/'
  !  || (quote && start[i+1] == quote)))
*resp++ = start[++i];
else
*resp++ = start[i];
  ***
  *** 490,508 
if ((quote = *str) == '"' || quote == '\'') {
strend = str + 1;
while (*strend && *strend != quote) {
  ! if (*strend == '\\' && strend[1]) strend += 2;
else ++strend;
}
  ! res = substring_conf (p, str + 1, strend - str - 1);

if (*strend == quote) ++strend;
} else {
strend = str;
while (*strend && !isspace (*strend))
  ! if (*strend == '\\' && strend[1]) strend += 2;
  ! else ++strend;

  ! res = substring_conf (p, str, strend - str);
}

while (*strend && isspace(*strend)) ++ strend;
  --- 491,509 
if ((quote = *str) == '"' || quote == '\'') {
strend = str + 1;
while (*strend && *strend != quote) {
  ! if (*strend == '\\' && strend[1] && strend[1] == quote)
  ! strend += 2;
else ++strend;
}
  ! res = substring_conf (p, str + 1, strend - str - 1, quote);

if (*strend == quote) ++strend;
} else {
strend = str;
while (*strend && !isspace (*strend))
  ! ++strend;

  ! res = substring_conf (p, str, strend - str, 0);
}

while (*strend && isspace(*strend)) ++ strend;
  
  
  


cvs commit: apache/src http_protocol.c

1996-08-19 Thread Alexei Kosut
akosut  96/08/19 10:22:58

  Modified:src   http_protocol.c
  Log:
  Add a missing CRLF. *sigh*
  
  Revision  ChangesPath
  1.39  +1 -1  apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -C3 -r1.38 -r1.39
  *** http_protocol.c   1996/08/18 20:26:30 1.38
  --- http_protocol.c   1996/08/19 17:22:56 1.39
  ***
  *** 1249,1255 
#endif
bputs("Connection: Keep-Alive\015\012", c->client);
}
  ! else bputs("Connection: close", c->client);
bputs("\015\012", c->client);
return;
}
  --- 1249,1255 
#endif
bputs("Connection: Keep-Alive\015\012", c->client);
}
  ! else bputs("Connection: close\015\012", c->client);
bputs("\015\012", c->client);
return;
}
  
  
  


cvs commit: apache/src http_protocol.c

1996-08-18 Thread Alexei Kosut
akosut  96/08/18 13:26:31

  Modified:src   http_protocol.c
  Log:
  Oops. Make If-None-Match and If-Match work again.
  
  Revision  ChangesPath
  1.38  +7 -6  apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -C3 -r1.37 -r1.38
  *** http_protocol.c   1996/08/15 23:41:43 1.37
  --- http_protocol.c   1996/08/18 20:26:30 1.38
  ***
  *** 326,332 

int set_last_modified(request_rec *r, time_t mtime)
{
  ! char *ts, etag[MAX_STRING_LEN];
char *if_modified_since = table_get (r->headers_in, 
"If-Modified-Since");
char *if_unmodified = table_get (r->headers_in, "If-Unmodified-Since");
char *if_nonematch = table_get (r->headers_in, "If-None-Match");
  --- 326,332 

int set_last_modified(request_rec *r, time_t mtime)
{
  ! char *ts, *etag, weak_etag[MAX_STRING_LEN];
char *if_modified_since = table_get (r->headers_in, 
"If-Modified-Since");
char *if_unmodified = table_get (r->headers_in, "If-Unmodified-Since");
char *if_nonematch = table_get (r->headers_in, "If-None-Match");
  ***
  *** 351,362 
 */

if (r->finfo.st_mode != 0)
  ! sprintf(etag, "W/\"%lx-%lx-%lx\"", r->finfo.st_ino, 
r->finfo.st_size,
  ! mtime);
else
  ! sprintf(etag, "W/\"%lx\"", mtime);
  ! table_set (r->headers_out, "ETag",
  !etag + ((r->request_time - mtime > 1) ? 2 : 0));

/* We now do the no_cache stuff using an Expires: header (we used to
 * withhold Last-modified). However, we still want to enforce this by
  --- 351,363 
 */

if (r->finfo.st_mode != 0)
  ! sprintf(weak_etag, "W/\"%lx-%lx-%lx\"", r->finfo.st_ino,
  ! r->finfo.st_size, mtime);
else
  ! sprintf(weak_etag, "W/\"%lx\"", mtime);
  ! 
  ! etag = weak_etag + ((r->request_time - mtime > 1) ? 2 : 0);
  ! table_set (r->headers_out, "ETag", etag);

/* We now do the no_cache stuff using an Expires: header (we used to
 * withhold Last-modified). However, we still want to enforce this by
  
  
  


cvs commit: apache/src mod_rewrite.c mod_rewrite.h

1996-08-16 Thread Alexei Kosut
akosut  96/08/16 16:18:05

  Modified:src   mod_rewrite.c mod_rewrite.h
  Log:
  Update mod_rewrite
  
  Submitted by: Ralf S. Engelschall
  
  Revision  ChangesPath
  1.2   +209 -94   apache/src/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_rewrite.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -C3 -r1.1 -r1.2
  *** mod_rewrite.c 1996/08/14 17:45:15 1.1
  --- mod_rewrite.c 1996/08/16 23:18:02 1.2
  ***
  *** 340,350 
{
rewrite_server_conf *sconf;
rewritemap_entry *new;

sconf = (rewrite_server_conf 
*)get_module_config(cmd->server->module_config, &rewrite_module);
new = push_array(sconf->rewritemaps);
new->name = a1;
  ! new->file = a2;

return NULL;
}
  --- 340,372 
{
rewrite_server_conf *sconf;
rewritemap_entry *new;
  + struct stat st;

sconf = (rewrite_server_conf 
*)get_module_config(cmd->server->module_config, &rewrite_module);
new = push_array(sconf->rewritemaps);
  + 
new->name = a1;
  ! if (strncmp(a2, "txt:", 4) == 0) {
  ! new->file = a2+4;
  ! new->type = MAPTYPE_TXT;
  ! }
  ! else if (strncmp(a2, "dbm:", 4) == 0) {
  ! new->file = a2+4;
  ! new->type = MAPTYPE_DBM;
  ! }
  ! else if (strncmp(a2, "prg:", 4) == 0) {
  ! new->file = a2+4;
  ! new->type = MAPTYPE_PRG;
  ! }
  ! else {
  ! new->file = a2;
  ! new->type = MAPTYPE_TXT;
  ! }
  ! new->fpin  = 0;
  ! new->fpout = 0;
  ! 
  ! if (stat(new->file, &st) == -1)
  ! return pstrcat(cmd->pool, "RewriteMap: map file or program not 
found:", new->file, NULL);

return NULL;
}
  ***
  *** 658,663 
  --- 680,689 
 || strcasecmp(key, "S") == 0   ) {
cfg->skip = atoi(val);
}
  + else if (   strcasecmp(key, "forbidden") == 0
  +  || strcasecmp(key, "F") == 0   ) {
  + cfg->flags |= RULEFLAG_FORBIDDEN;
  + }
else {
return pstrcat(p, "RewriteRule: unknown flag '", key, "'\n", NULL);
}
  ***
  *** 676,684 
static void init_module(server_rec *s, pool *p)
{
/* step through the servers and
  !open eachs rewriting logfile */
  ! for (; s; s = s->next)
open_rewritelog(s, p);

/* create the lookup cache */
cachep = init_cache(p);
  --- 702,713 
static void init_module(server_rec *s, pool *p)
{
/* step through the servers and
  !- open eachs rewriting logfile 
  !- open the RewriteMap prg:xxx programs */
  ! for (; s; s = s->next) {
open_rewritelog(s, p);
  + run_rewritemap_programs(s, p);
  + }

/* create the lookup cache */
cachep = init_cache(p);
  ***
  *** 820,825 
  --- 849,859 
rewritelog(r, 1, "redirect to %s [REDIRECT]", r->filename);
return REDIRECT;
}
  + else if (strlen(r->filename) > 10 &&
  +  strncmp(r->filename, "forbidden:", 10) == 0) {
  + /* This URLs is forced to be forbidden for the requester */
  + return FORBIDDEN; 
  + }
else if (strlen(r->filename) > 12 &&
 strncmp(r->filename, "passthrough:", 12) == 0) {
/* Hack because of underpowered API: passing the current
  ***
  *** 1023,1028 
  --- 1057,1067 
rewritelog(r, 1, "[per-dir %s] redirect to %s [REDIRECT]", 
dconf->directory, r->filename);
return REDIRECT;
}
  + else if (strlen(r->filename) > 10 &&
  +  strncmp(r->filename, "forbidden:", 10) == 0) {
  + /* This URLs is forced to be forbidden for the requester */
  + return FORBIDDEN; 
  + }
else {
/* it was finally rewritten to a local path */

  ***
  *** 1131,1137 
for (i = 0; i < rewriterules->nelts; i++) {
p = &entries[i];

  ! /* ignore this rule if we are explicitly asked to do so
   or this is a proxy throughput or a forced redirect rule */
if (r->main != NULL &&
(p->flags & RULEFLAG_IGNOREONSUBREQ ||
  --- 1170,1176 
for (i = 0; i < rewriterules->nelts; i++) {
p = &entries[i];

  ! /* ignore this rule on subrequests if we are explicitly asked to do 
so
   or this is a proxy throughput or a forced redirect rule */
if (r->main != NULL &&
(p->flags & RULEFLAG_IGNOREONSUBREQ ||
  ***
  *** 1150,1155 
  --- 1189,1200 
changed 

cvs commit: apache/src mod_browser.c

1996-08-16 Thread Alexei Kosut
akosut  96/08/16 16:15:20

  Modified:src   mod_browser.c
  Log:
  Make some changes to mod_browser:
  
  Change BrowserCase to BrowserNoCase
  Let per-server entries add, instead of override.
  Add the ability to use !option to cancel a previously set option.
  
  Reviewed by: Jim Jagielski
  
  Revision  ChangesPath
  1.2   +24 -5 apache/src/mod_browser.c
  
  Index: mod_browser.c
  ===
  RCS file: /export/home/cvs/apache/src/mod_browser.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -C3 -r1.1 -r1.2
  *** mod_browser.c 1996/08/12 18:59:45 1.1
  --- mod_browser.c 1996/08/16 23:15:19 1.2
  ***
  *** 82,87 
  --- 82,97 
return (void *)new;
}

  + void *merge_browser_config (pool *p, void *basev, void *overridesv)
  + {
  + browser_server_config_rec *a =
  + pcalloc(p, sizeof(browser_server_config_rec));
  + browser_server_config_rec *base = basev, *overrides = overridesv;
  + 
  + a->browsers = append_arrays(p, base->browsers, overrides->browsers);
  + return a;
  + }
  + 
char *add_browser(cmd_parms *cmd, void *dummy, char *name, char *feature)
{
browser_server_config_rec *sconf =
  ***
  *** 97,102 
  --- 107,113 
if (!strcmp(b->name, name)) {
var = getword(cmd->pool, &feature, '=');
if (*feature) table_set(b->features, var, feature);
  + else if (*var == '!') table_set(b->features, var + 1, "!");
else table_set(b->features, var, "1");
return NULL;
}
  ***
  *** 113,118 
  --- 124,130 

var = getword(cmd->pool, &feature, '=');
if (*feature) table_set(new->features, var, feature);
  + else if (*var == '!') table_set(new->features, var + 1, "!");
else table_set(new->features, var, "1");

return NULL;
  ***
  *** 121,127 
command_rec browser_module_cmds[] = {
{ "BrowserMatch", add_browser, (void*)0,
RSRC_CONF, ITERATE2, "A browser regex and a list of variables." },
  ! { "BrowserCase", add_browser, (void*)REG_ICASE,
RSRC_CONF, ITERATE2, "a browser regex and a list of variables." },
{ NULL },
};
  --- 133,139 
command_rec browser_module_cmds[] = {
{ "BrowserMatch", add_browser, (void*)0,
RSRC_CONF, ITERATE2, "A browser regex and a list of variables." },
  ! { "BrowserNoCase", add_browser, (void*)REG_ICASE,
RSRC_CONF, ITERATE2, "a browser regex and a list of variables." },
{ NULL },
};
  ***
  *** 132,139 
browser_server_config_rec *sconf = get_module_config (s->module_config,
  &browser_module);
browser_entry *entries = (browser_entry *)sconf->browsers->elts;
char *ua = table_get(r->headers_in, "User-Agent");
  ! int i;

if (!ua) return DECLINED;

  --- 144,152 
browser_server_config_rec *sconf = get_module_config (s->module_config,
  &browser_module);
browser_entry *entries = (browser_entry *)sconf->browsers->elts;
  + table_entry *elts;
char *ua = table_get(r->headers_in, "User-Agent");
  ! int i, j;

if (!ua) return DECLINED;

  ***
  *** 141,148 
browser_entry *b = &entries[i];

if (!regexec(b->preg, ua, 0, NULL, 0)) {
  ! r->subprocess_env = overlay_tables(r->pool, r->subprocess_env,
  !b->features);
}
}

  --- 154,167 
browser_entry *b = &entries[i];

if (!regexec(b->preg, ua, 0, NULL, 0)) {
  ! elts = (table_entry *)b->features->elts;
  ! 
  ! for (j = 0; j < b->features->nelts; ++j) {
  ! if (!strcmp(elts[j].val, "!"))
  ! table_unset(r->subprocess_env, elts[j].key);
  ! else
  ! table_set(r->subprocess_env, elts[j].key, elts[j].val);
  ! }
}
}

  ***
  *** 155,161 
   NULL,/* dir config creater */
   NULL,/* dir merger --- default is to override */
   create_browser_config,   /* server config */
  !NULL,/* merge server configs */
   browser_module_cmds, /* command table */
   NULL,/* handlers */
   NULL,/* filename translation */
  --- 174,180 
   NULL,/* dir config creater */
   NULL,/* dir merger --- default is to override */
   create_browser_config,   /* server config */
  !merge_browser_config,/* merge server configs */
   browser_module_cmds, /* command table */
   NULL,  

cvs commit: apache/src http_protocol.c

1996-08-15 Thread Alexei Kosut
akosut  96/08/15 16:41:44

  Modified:src   http_protocol.c
  Log:
  If a request comes within a second of a file's last-modified date,
  send a weak ETag instead of a strong one. This allows a file to be
  modified twice in one second and still allow strong validation without
  fear of inaccuracies.
  
  Revision  ChangesPath
  1.37  +9 -3  apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -C3 -r1.36 -r1.37
  *** http_protocol.c   1996/08/15 19:22:34 1.36
  --- http_protocol.c   1996/08/15 23:41:43 1.37
  ***
  *** 343,356 
 * length and inode number - note that this doesn't have to match
 * the content-length (i.e. includes), it just has to be unique
 * for the file.
 */

if (r->finfo.st_mode != 0)
  ! sprintf(etag, "\"%lx-%lx-%lx\"", r->finfo.st_ino, r->finfo.st_size,
mtime);
else
  ! sprintf(etag, "\"%lx\"", mtime);
  ! table_set (r->headers_out, "ETag", etag);

/* We now do the no_cache stuff using an Expires: header (we used to
 * withhold Last-modified). However, we still want to enforce this by
  --- 343,362 
 * length and inode number - note that this doesn't have to match
 * the content-length (i.e. includes), it just has to be unique
 * for the file.
  +  *
  +  * If the request was made within a second of the last-modified date,
  +  * we send a weak tag instead of a strong one, since it could
  +  * be modified again later in the second, and the validation
  +  * would be incorrect.
 */

if (r->finfo.st_mode != 0)
  ! sprintf(etag, "W/\"%lx-%lx-%lx\"", r->finfo.st_ino, 
r->finfo.st_size,
mtime);
else
  ! sprintf(etag, "W/\"%lx\"", mtime);
  ! table_set (r->headers_out, "ETag",
  !etag + ((r->request_time - mtime > 1) ? 2 : 0));

/* We now do the no_cache stuff using an Expires: header (we used to
 * withhold Last-modified). However, we still want to enforce this by
  
  
  


  1   2   >