cvs commit: apachen/src/main http_main.c

1998-01-25 Thread coar
coar98/01/25 10:53:56

  Modified:src/main http_main.c
  Log:
Good point; add the NEED_HASHBANG_EMUL display to -V IFF.
  
  Revision  ChangesPath
  1.276 +3 -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.275
  retrieving revision 1.276
  diff -u -r1.275 -r1.276
  --- http_main.c   1998/01/25 18:41:52 1.275
  +++ http_main.c   1998/01/25 18:53:55 1.276
  @@ -2867,6 +2867,9 @@
   #ifdef CHARSET_EBCDIC
   printf(" -D CHARSET_EBCDIC\n");
   #endif
  +#ifdef NEED_HASHBANG_EMUL
  +printf(" -D NEED_HASHBANG_EMUL\n");
  +#endif
   printf("\n");
   }
   
  
  
  


cvs commit: apachen/src/main http_main.c

1998-01-25 Thread martin
martin  98/01/25 10:41:54

  Modified:.STATUS
   src/main http_main.c
  Log:
  More switches are printed for the -V switch now
  
  Revision  ChangesPath
  1.128 +1 -0  apachen/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apachen/STATUS,v
  retrieving revision 1.127
  retrieving revision 1.128
  diff -u -u -r1.127 -r1.128
  --- STATUS1998/01/25 03:55:37 1.127
  +++ STATUS1998/01/25 18:41:51 1.128
  @@ -133,6 +133,7 @@
 for OS's which don't support starting them automatically
 (enable with #define NEED_HASHBANG_EMUL)
   * more mod_mime_magic cleanup
  +* Add more compile time diagnosis to main's -V switch
   
   Available Patches:
   
  
  
  
  1.275 +9 -0  apachen/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apachen/src/main/http_main.c,v
  retrieving revision 1.274
  retrieving revision 1.275
  diff -u -u -r1.274 -r1.275
  --- http_main.c   1998/01/24 16:27:55 1.274
  +++ http_main.c   1998/01/25 18:41:52 1.275
  @@ -2801,6 +2801,9 @@
   #ifdef BIG_SECURITY_HOLE
   printf(" -D BIG_SECURITY_HOLE\n");
   #endif
  +#ifdef SECURITY_HOLE_PASS_AUTHORIZATION
  +printf(" -D SECURITY_HOLE_PASS_AUTHORIZATION\n");
  +#endif
   #ifdef HTTPD_ROOT
   printf(" -D HTTPD_ROOT=\"" HTTPD_ROOT "\"\n");
   #endif
  @@ -2857,6 +2860,12 @@
   #ifdef PIPE_BUF
printf(" -D PIPE_BUF=%ld\n",(long)PIPE_BUF);
   #endif
  +#endif
  +#ifdef MULTITHREAD
  +printf(" -D MULTITHREAD\n");
  +#endif
  +#ifdef CHARSET_EBCDIC
  +printf(" -D CHARSET_EBCDIC\n");
   #endif
   printf("\n");
   }
  
  
  


cvs commit: apachen/src/ap Makefile.tmpl ap.h ap_execve.c

1998-01-25 Thread coar
coar98/01/25 08:13:13

  Modified:src/ap   Makefile.tmpl ap.h ap_execve.c
  Log:
Fix some indenting issues in ap_execve.c, and fill in the
blanks in ap.h and Makefile.tmpl.
  
  Revision  ChangesPath
  1.8   +1 -1  apachen/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apachen/src/ap/Makefile.tmpl,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Makefile.tmpl 1998/01/25 01:40:55 1.7
  +++ Makefile.tmpl 1998/01/25 16:13:11 1.8
  @@ -29,4 +29,4 @@
   ap_snprintf.o: $(INCDIR)/conf.h
   ap_strings.o: $(INCDIR)/httpd.h
   ap_cpystrn.o: $(INCDIR)/httpd.h
  -ap_execve.o: $(INCDIR)/httpd.h
  +ap_execve.o: $(INCDIR)/httpd.h $(INCDIR)/http_log.h
  
  
  
  1.4   +3 -2  apachen/src/ap/ap.h
  
  Index: ap.h
  ===
  RCS file: /export/home/cvs/apachen/src/ap/ap.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ap.h  1998/01/21 19:17:34 1.3
  +++ ap.h  1998/01/25 16:13:11 1.4
  @@ -1,5 +1,5 @@
   /* 
  - * Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
  + * Copyright (c) 1998 The Apache Group.  All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
  @@ -62,5 +62,6 @@
   API_EXPORT(char *) ap_escape_quotes(pool *, const char *);
   API_EXPORT(int) ap_snprintf(char *, size_t, const char *, ...);
   API_EXPORT(int) ap_vsnprintf(char *, size_t, const char *, va_list ap);
  -
  +int ap_execle(const char *, const char *, ...);
  +int ap_execve(const char *, const char *argv[], const char *envp[]);
   #endif   /* !APACHE_AP_H */
  
  
  
  1.3   +38 -20apachen/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===
  RCS file: /export/home/cvs/apachen/src/ap/ap_execve.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_execve.c   1998/01/25 02:04:30 1.2
  +++ ap_execve.c   1998/01/25 16:13:12 1.3
  @@ -1,5 +1,5 @@
   /* 
  - * Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
  + * Copyright (c) 1998 The Apache Group.  All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
  @@ -74,7 +74,7 @@
* local argv[] array. The va_arg logic makes sure we do the right thing.
* XXX: malloc() is used because we expect to be overlaid soon.
*/
  -int ap_execle(const char *filename, const char *arg,...)
  +int ap_execle(const char *filename, const char *arg, ...)
   {
   va_list adummy;
   char **envp;
  @@ -83,16 +83,18 @@
   
   /* First pass: Count arguments on stack */
   va_start(adummy, arg);
  -for (argc = 0; va_arg(adummy, char *) != NULL; ++argc)
  +for (argc = 0; va_arg(adummy, char *) != NULL; ++argc) {
continue;
  +}
   va_end(adummy);
   
   argv = (char **) malloc((argc + 2) * sizeof(*argv));
   
   /* Pass two --- copy the argument strings into the result space */
   va_start(adummy, arg);
  -for (argc = 0; (argv[argc] = va_arg(adummy, char *)) != NULL; ++argc)
  +for (argc = 0; (argv[argc] = va_arg(adummy, char *)) != NULL; ++argc) {
continue;
  +}
   envp = va_arg(adummy, char **);
   va_end(adummy);
   
  @@ -103,13 +105,14 @@
   }
   
   int ap_execve(const char *filename, const char *argv[],
  - const char *envp[])
  +   const char *envp[])
   {
   const char *argv0 = argv[0];
   extern char **environ;
   
  -if (envp == NULL)
  +if (envp == NULL) {
envp = (const char **) environ;
  +}
   
   /* Try to execute the file directly first: */
   execve(filename, argv, envp);
  @@ -120,7 +123,8 @@
* EACCES Execute permission is denied for the file.
* EACCES Search  permission  is denied on a component of the path 
prefix.
* EPERM  The file system is mounted noexec.
  - * EPERM  The file system is mounted nosuid and the file  has an SUID or 
SGID bit set.
  + * EPERM  The file system is mounted nosuid and the file  has an SUID
  + *or SGID bit set.
* E2BIG  The argument list is too big.
* ENOEXEC The magic number in the file is incorrect.
* EFAULT filename  points  outside  your  accessible address space.
  @@ -141,14 +145,16 @@
&& (argv = hashbang(filename, argv)) != NULL) {
   
   aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, NULL,
  -"Script %s need

cvs commit: apache-devsite commitpolicies.html

1998-01-25 Thread fielding
fielding98/01/25 01:33:16

  Removed: .commitpolicies.html
  Log:
  Obsoleted by guidelines.html


cvs commit: apache-devsite guidelines.html index.html

1998-01-25 Thread fielding
fielding98/01/25 01:08:34

  Modified:.guidelines.html index.html
  Log:
  Completed draft of project guidelines.  I would have added information
  about the role of release manager of a branch and how we decide when
  a release should be built, but I didn't want to start inventing policy
  until the stuff we already do is approved.
  
  Revision  ChangesPath
  1.7   +150 -160  apache-devsite/guidelines.html
  
  Index: guidelines.html
  ===
  RCS file: /export/home/cvs/apache-devsite/guidelines.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- guidelines.html   1998/01/20 01:06:07 1.6
  +++ guidelines.html   1998/01/25 09:08:33 1.7
  @@ -13,13 +13,14 @@
   
   
   
  -Apache Project Guidelines and Voting Rules
  +Apache Project Guidelines
   
   DRAFT: These guidelines are not yet approved.
   
   
   
  -This document defines the rules and guidelines for the Apache Project.
  +This document defines the guidelines for the
  +http://dev.apache.org/";>Apache Project.
   It includes definitions of how conflict is resolved by voting,
   who is able to vote, and the procedures to follow for proposing and making
   changes to the Apache products.
  @@ -32,9 +33,9 @@
   to be resolved.
   
   
  -
  -The following define some common terms:
  -
  +
  +People, Places, and Things
  +
   
 Apache Group
 The group of volunteers who are responsible for managing the
  @@ -42,7 +43,7 @@
 products of the Apache Project, maintaining the Project's shared
 resources, speaking on behalf of the Apache Project, resolving
 license disputes regarding Apache products, and establishing
  -  these rules and guidelines.
  +  these guidelines.
   
 Membership in the Apache Group is by invitation only and must
 be approved by consensus of the active Apache Group members.
  @@ -76,16 +77,15 @@
   
 CVS
 All of the Apache products are maintained in shared information
  -  repositories using CVS on
  +  repositories using CVS on
 dev.apache.org.  Only some of the Apache developers have
 write access to these repositories; everyone has read access via
  -  anonymous CVS.  Developers who want write
  +  anonymous CVS.  Developers who want write
 access need to ask for it on the mailing list and, if approved, need
 to ask the admin of dev.apache.org for a user account.
   
   
   
  -
   
   STATUS
   
  @@ -121,7 +121,7 @@
   on that issue.  All other votes are non-binding.
   All developers are encouraged to participate in decisions, but the decision
   itself is made by those who have been long-time contributors to the project.
  -In other words, the Apache Project is a meritocracy.
  +In other words, the Apache Project is a minimum-threshold meritocracy.
   
   
   
  @@ -160,12 +160,15 @@
   
   
   
  -An action item requiring consensus must receive
  +An action item requiring consensus approval must receive
   at least 3 binding +1 votes and no vetos.
  -An action item requiring simple approval must receive
  +An action item requiring majority approval must receive
   at least 3 binding +1 votes and more +1
   votes than -1 votes (i.e., a majority with a 
minimum
  -quorum of three positive votes).
  +quorum of three positive votes).  All other action items are considered
  +to have lazy approval until someone votes -1,
  +after which point they are decided by either consensus or a majority vote,
  +depending upon the type of action item.
   
   
   
  @@ -178,38 +181,6 @@
   Types of Action Items
   
   
  -  Release Testing
  -  Release Plan
  -  Showstoppers
  -
  -  Code Changes
  -  Code changes require peer review and testing over a wide range
  -  of server platforms.  Therefore, all code changes must pass through
  -  a formal "patch vote", as described below.
  -  All those participating in a patch vote must be willing and able
  -  to test the patched system.  However, see the section on
  -  "To Commit, or Not to Commit?"
  -  below, which modifies this paragraph.
  -
  -  Documentation Changes
  -  Documentation changes are only voted on after (or during) the change.
  -  The author of the changes must notify the mailing list, preferably
  -  in advance of the work to avoid duplicate efforts, of where the
  -  changes are being made.  If the changes are to existing documents,
  -  the existing documents should not be replaced until at least
  -  24 hours after notifying the list.  Any group member may veto a
  -  change, but must then provide real assistance to the author
  -  in correcting the problem if it can be corrected, and must rescind
  -  the veto once the problem has been corrected (this may be assumed
  -  in good faith).
  -
  -  Short Term Plans
  -  Short term plans are announcements that a developer is worki

cvs commit: apachen STATUS

1998-01-25 Thread dgaudet
dgaudet 98/01/24 19:55:38

  Modified:.STATUS
  Log:
  it's almost party time
  
  Revision  ChangesPath
  1.127 +1 -0  apachen/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apachen/STATUS,v
  retrieving revision 1.126
  retrieving revision 1.127
  diff -u -r1.126 -r1.127
  --- STATUS1998/01/25 01:40:38 1.126
  +++ STATUS1998/01/25 03:55:37 1.127
  @@ -132,6 +132,7 @@
   * [PORT] Add function to emulate the execution of #! scripts
 for OS's which don't support starting them automatically
 (enable with #define NEED_HASHBANG_EMUL)
  +* more mod_mime_magic cleanup
   
   Available Patches:
   
  
  
  


cvs commit: apachen/htdocs/manual/mod mod_mime_magic.html

1998-01-25 Thread dgaudet
dgaudet 98/01/24 19:52:20

  Modified:src  CHANGES
   src/modules/standard mod_mime_magic.c
   htdocs/manual/mod mod_mime_magic.html
  Log:
  - no need to use stat() since r->finfo is already what we need
  - no need to play with atime/mtime crud, the web server doesn't preserve
  that info normally anyhow
  - deal with r->finfo.st_mode == 0 || !r->filename (i.e. not a disk file)
  - don't reference mime_module.type_checker, this should be controlled by
  the ordering within Configuration
  - work properly with multiple vhosts
  - doc update: even prior to this patch, the code was disabled if there
  was no MimeMagicFile directive.
  
  Revision  ChangesPath
  1.599 +6 -0  apachen/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.598
  retrieving revision 1.599
  diff -u -r1.598 -r1.599
  --- CHANGES   1998/01/25 01:40:53 1.598
  +++ CHANGES   1998/01/25 03:52:15 1.599
  @@ -1,5 +1,11 @@
   Changes with Apache 1.3b4
   
  +  *) More mod_mime_magic cleanup:  fewer syscalls; should handle "files"
  + which don't exist on disk more gracefully; handles vhosts properly.
  + Update documentation to reflect the code -- if there's no
  + MimeMagicFile directive then the module is not enabled.
  + [Dean Gaudet]
  +
 *) PORT: Some older *nix dialects cannot automatically start scripts
which begin with a #! interpreter line (the shell starts the scripts
appropriately on these platforms). Apache now supports starting of
  
  
  
  1.24  +56 -95apachen/src/modules/standard/mod_mime_magic.c
  
  Index: mod_mime_magic.c
  ===
  RCS file: /export/home/cvs/apachen/src/modules/standard/mod_mime_magic.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- mod_mime_magic.c  1998/01/07 16:46:53 1.23
  +++ mod_mime_magic.c  1998/01/25 03:52:18 1.24
  @@ -136,9 +136,6 @@
   #define MODNAME"mod_mime_magic"
   #define MIME_MAGIC_DEBUG0
   
  -#ifndef MAGIC
  -#define MAGIC "conf/magic"
  -#endif
   #define MIME_BINARY_UNKNOWN"application/octet-stream"
   #define MIME_TEXT_UNKNOWN"text/plain"
   
  @@ -258,7 +255,7 @@
   static int uncompress(request_rec *, int, const unsigned char *,
  unsigned char **, int);
   static long from_oct(int, char *);
  -static int fsmagic(request_rec *r, const char *fn, struct stat *sb);
  +static int fsmagic(request_rec *r, const char *fn);
   
   /*
* includes for ASCII substring recognition formerly "names.h" in file
  @@ -296,7 +293,8 @@
   "message/rfc822",/* "mail text", */
   "message/news",  /* "news text", */
   "application/binary",/* "can't happen error on names.h/types", */
  -0};
  +0
  +};
   
   static struct names {
   char *name;
  @@ -495,7 +493,6 @@
*/
   
   module mime_magic_module;
  -extern module mime_module;
   
   static void *create_magic_server_config(pool *p, server_rec *d)
   {
  @@ -511,17 +508,8 @@
palloc(p, sizeof(magic_server_config_rec));
   
   new->magicfile = add->magicfile ? add->magicfile : base->magicfile;
  -if (add->magic && add->last) {
  - new->magic = add->magic;
  - new->last = add->last;
  -}
  -else if (base->magic && base->last) {
  - new->magic = base->magic;
  - new->last = base->last;
  -}
  -else {
  - new->magic = new->last = NULL;
  -}
  +new->magic = NULL;
  +new->last = NULL;
   return new;
   }
   
  @@ -545,7 +533,7 @@
   static command_rec mime_magic_cmds[] =
   {
   {"MimeMagicFile", set_magicfile, NULL, RSRC_CONF, TAKE1,
  - "Path to MIME Magic file (in file(1) format, default " MAGIC ")"},
  + "Path to MIME Magic file (in file(1) format)"},
   {NULL}
   };
   
  @@ -847,15 +835,13 @@
   {
   int fd = 0;
   unsigned char buf[HOWMANY + 1];  /* one extra for terminating '\0' */
  -struct utimbuf utbuf;
  -struct stat sb;
   int nbytes = 0;  /* number of bytes read from a datafile */
   int result;
   
   /*
* first try judging the file based on its filesystem status
*/
  -switch ((result = fsmagic(r, r->filename, &sb))) {
  +switch ((result = fsmagic(r, r->filename))) {
   case DONE:
magic_rsl_putchar(r, '\n');
return result;
  @@ -868,10 +854,6 @@
   
   if ((fd = popenf(r->pool, r->filename, O_RDONLY, 0)) < 0) {
/* We can't open it, but we were able to stat it. */
  - /*
  -  * if (sb.st_mode & 0002) magic_rsl_puts(r,"writable, ");
  -  * if (sb.st_mode & 0111) magic_rsl_puts(r,"executable, ");
  -  */
aplog_error(APLOG_MARK, APLOG_ERR, r->server,
MODNAME ": can't 

cvs commit: apachen/src PORTING

1998-01-25 Thread dgaudet
dgaudet 98/01/24 18:07:43

  Modified:src  PORTING
  Log:
  note NEED_HASHBANG_EMUL
  
  Revision  ChangesPath
  1.20  +4 -0  apachen/src/PORTING
  
  Index: PORTING
  ===
  RCS file: /export/home/cvs/apachen/src/PORTING,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- PORTING   1998/01/23 00:36:37 1.19
  +++ PORTING   1998/01/25 02:07:43 1.20
  @@ -334,6 +334,10 @@
  an int *len on some architectures and a size_t *len on others.
  If left undefined apache will default it to int.
   
  +  NEED_HASHBANG_EMUL:
  +   The execve()/etc. functions on this platform do not deal with #!,
  +   so it must be emulated by Apache.
  +
   ---
   Conclusion:
   ---
  
  
  


cvs commit: apachen/src/ap ap_execve.c

1998-01-25 Thread dgaudet
dgaudet 98/01/24 18:04:31

  Modified:src/ap   ap_execve.c
  Log:
  protect against broken linker/librarians
  
  Revision  ChangesPath
  1.2   +2 -0  apachen/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===
  RCS file: /export/home/cvs/apachen/src/ap/ap_execve.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_execve.c   1998/01/25 01:40:55 1.1
  +++ ap_execve.c   1998/01/25 02:04:30 1.2
  @@ -281,4 +281,6 @@
}
   return NULL;
   }
  +#else
  +void ap_execve_is_not_here(void) {}
   #endif /* NEED_HASHBANG_EMUL */
  
  
  


cvs commit: apachen/src/main conf.h

1998-01-25 Thread martin
martin  98/01/24 17:40:57

  Modified:.STATUS
   src  CHANGES
   src/ap   Makefile.tmpl
   src/main conf.h
  Added:   src/ap   ap_execve.c
  Log:
  Add function to emulate the execution of #! scripts
  for OS's which don't support starting them automatically
  (enable with #define NEED_HASHBANG_EMUL)
  
  Obtained from: tcsh-6.07.05, written by [EMAIL PROTECTED] (Peter Wemm)
  
  Revision  ChangesPath
  1.126 +3 -0  apachen/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apachen/STATUS,v
  retrieving revision 1.125
  retrieving revision 1.126
  diff -u -u -r1.125 -r1.126
  --- STATUS1998/01/24 19:30:09 1.125
  +++ STATUS1998/01/25 01:40:38 1.126
  @@ -129,6 +129,9 @@
   * Jim's [PATCH] force Unixware to use mmap() scoreboard (before
 was dependent on ordering of the #defines in http_main.c)
   * table api cleanup
  +* [PORT] Add function to emulate the execution of #! scripts
  +  for OS's which don't support starting them automatically
  +  (enable with #define NEED_HASHBANG_EMUL)
   
   Available Patches:
   
  
  
  
  1.598 +7 -0  apachen/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.597
  retrieving revision 1.598
  diff -u -u -r1.597 -r1.598
  --- CHANGES   1998/01/24 19:39:46 1.597
  +++ CHANGES   1998/01/25 01:40:53 1.598
  @@ -1,5 +1,12 @@
   Changes with Apache 1.3b4
   
  +  *) PORT: Some older *nix dialects cannot automatically start scripts
  + which begin with a #! interpreter line (the shell starts the scripts
  + appropriately on these platforms). Apache now supports starting of
  + "hashbang-scripts" when the NEED_HASHBANG_EMUL define is set.
  + [Martin Kraemer, with code from [EMAIL PROTECTED] (Peter Wemm)
  + taken from tcsh]
  +
 *) "typedef array_header table" removed from alloc.h, folks should have
been writing to use table as if it were an opaque type, but even
some standard modules got this wrong.  By changing the definition
  
  
  
  1.7   +2 -1  apachen/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apachen/src/ap/Makefile.tmpl,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -u -r1.6 -r1.7
  --- Makefile.tmpl 1997/12/30 15:10:42 1.6
  +++ Makefile.tmpl 1998/01/25 01:40:55 1.7
  @@ -6,7 +6,7 @@
   
   LIB=libap.a
   
  -OBJS=ap_signal.o ap_slack.o ap_snprintf.o ap_strings.o ap_cpystrn.o
  +OBJS=ap_signal.o ap_slack.o ap_snprintf.o ap_strings.o ap_cpystrn.o 
ap_execve.o
   
   .c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
  @@ -29,3 +29,4 @@
   ap_snprintf.o: $(INCDIR)/conf.h
   ap_strings.o: $(INCDIR)/httpd.h
   ap_cpystrn.o: $(INCDIR)/httpd.h
  +ap_execve.o: $(INCDIR)/httpd.h
  
  
  
  1.1  apachen/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===
  /* 
   * Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *"This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * 4. The names "Apache Server" and "Apache Group" must not be used to
   *endorse or promote products derived from this software without
   *prior written permission. For written permission, please contact
   *[EMAIL PROTECTED]
   *
   * 5. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *"This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIAB