cvs commit: apache-apr/include apr_errno.h apr_file_io.h

1999-05-25 Thread rbb
rbb 99/05/24 20:14:20

  Modified:apr/file_io/unix dir.c fileacc.c filedup.c open.c pipe.c
readwrite.c
   apr/misc/unix start.c
   apr/test testfile.c testthread.c
   include  apr_errno.h apr_file_io.h
  Log:
  Tracked down a heap corruption finally.
  
  Revision  ChangesPath
  1.11  +10 -14apache-apr/apr/file_io/unix/dir.c
  
  Index: dir.c
  ===
  RCS file: /home/cvs/apache-apr/apr/file_io/unix/dir.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- dir.c 1999/05/24 17:28:15 1.10
  +++ dir.c 1999/05/25 03:14:14 1.11
  @@ -74,21 +74,19 @@
   
   ap_status_t ap_opendir(ap_context_t *cont, const char *dirname, struct dir_t 
**new)
   {
  -struct dir_t *thedir = (struct dir_t *)ap_palloc(cont-pool, 
sizeof(struct dir_t));
  +(*new) = (struct dir_t *)ap_palloc(cont-pool, sizeof(struct dir_t));
   
  -thedir-cntxt = cont;
  -thedir-dirname = strdup(dirname);
  -thedir-dirstruct = opendir(dirname);
  -thedir-entry = NULL;
  -
  -if (thedir-dirstruct == NULL) {
  -thedir-dirstruct = NULL;
  -*new = thedir;
  +(*new)-cntxt = cont;
  +(*new)-dirname = strdup(dirname);
  +(*new)-dirstruct = opendir(dirname);
  +(*new)-entry = NULL;
  +
  +if ((*new)-dirstruct == NULL) {
  +(*new)-dirstruct = NULL;
   return errno;
   }
   else {
  -ap_register_cleanup(thedir-cntxt-pool, (void *)thedir, 
dir_cleanup, NULL);
  -*new = thedir;
  +ap_register_cleanup((*new)-cntxt-pool, (void *)(*new), 
dir_cleanup, NULL);
   return APR_SUCCESS;
   }
   }
  @@ -217,9 +215,7 @@
   
   ap_status_t ap_get_dir_filename(struct dir_t *thedir, char **new)
   {
  -char *name = (char *)ap_palloc(thedir-cntxt-pool, 
strlen(thedir-entry-d_name));
  -name = ap_pstrdup(thedir-cntxt-pool, thedir-entry-d_name);
  -*new = name;
  +(*new) = ap_pstrdup(thedir-cntxt-pool, thedir-entry-d_name);
   return APR_SUCCESS;
   }
   
  
  
  
  1.10  +2 -1  apache-apr/apr/file_io/unix/fileacc.c
  
  Index: fileacc.c
  ===
  RCS file: /home/cvs/apache-apr/apr/file_io/unix/fileacc.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- fileacc.c 1999/05/24 17:28:15 1.9
  +++ fileacc.c 1999/05/25 03:14:14 1.10
  @@ -56,6 +56,7 @@
   #include fileio.h
   #include apr_file_io.h
   #include apr_general.h
  +#include apr_lib.h
   #include errno.h
   #include string.h
   #include sys/types.h
  @@ -65,7 +66,7 @@
   ap_status_t ap_get_filename(struct file_t *thefile, char **new)
   {
   if (thefile != NULL) {
  -*new = thefile-fname;
  +*new = ap_pstrdup(thefile-cntxt-pool, thefile-fname);
   return APR_SUCCESS;
   }
   else {
  
  
  
  1.13  +17 -17apache-apr/apr/file_io/unix/filedup.c
  
  Index: filedup.c
  ===
  RCS file: /home/cvs/apache-apr/apr/file_io/unix/filedup.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- filedup.c 1999/05/24 17:28:16 1.12
  +++ filedup.c 1999/05/25 03:14:14 1.13
  @@ -56,29 +56,29 @@
   #include fileio.h
   #include apr_file_io.h
   #include apr_general.h
  +#include apr_lib.h
   #include string.h
   
  -ap_status_t ap_dupfile(struct file_t *old_file, struct file_t **new)
  +ap_status_t ap_dupfile(struct file_t *old_file, struct file_t **new_file)
   {
  -struct file_t *new_file = (struct file_t 
*)ap_palloc(old_file-cntxt-pool,
  +(*new_file) = (struct file_t *)ap_palloc(old_file-cntxt-pool,
  sizeof(struct file_t));
   
  -if (new_file == NULL) {
  -*new = NULL;
  +if ((*new_file) == NULL) {
   return APR_ENOMEM;
  -} 
  -old_file-filedes = dup(new_file-filedes); 
  -old_file-fname = strdup(new_file-fname);
  -old_file-buffered = new_file-buffered;
  -old_file-protection = new_file-protection;
  -old_file-user = new_file-user;
  -old_file-group = new_file-group;
  -old_file-size = new_file-size;
  -old_file-atime = new_file-atime;
  -old_file-mtime = new_file-mtime;
  -old_file-ctime = new_file-ctime;
  -ap_register_cleanup(old_file-cntxt-pool, (void *)new_file, 
file_cleanup, NULL);
  -*new = new_file;
  +}
  +(*new_file)-cntxt = old_file-cntxt; 
  +(*new_file)-filedes = dup(old_file-filedes); 
  +(*new_file)-fname = ap_pstrdup(old_file-cntxt-pool, old_file-fname);
  +(*new_file)-buffered = old_file-buffered;
  +(*new_file)-protection = old_file-protection;
  +(*new_file)-user = old_file-user;
  +(*new_file)-group = old_file-group;
  +(*new_file)-size = old_file-size;
  +

cvs commit: apache-apr/include apr_general.h

1999-05-25 Thread rbb
rbb 99/05/24 20:22:08

  Modified:apr/misc/unix start.c
   apr/test testfile.c testthread.c
   include  apr_general.h
  Log:
  Update misc library to always return a status code.  Also updated some of the
  test files.
  
  Revision  ChangesPath
  1.4   +35 -37apache-apr/apr/misc/unix/start.c
  
  Index: start.c
  ===
  RCS file: /home/cvs/apache-apr/apr/misc/unix/start.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- start.c   1999/05/25 03:14:17 1.3
  +++ start.c   1999/05/25 03:22:06 1.4
  @@ -59,60 +59,58 @@
   #include errno.h
   #include string.h
   
  -ap_context_t *ap_initialize(void *data)
  +ap_status_t ap_create_context(ap_context_t *cont, void *data, ap_context_t 
**newcont)
   {
   ap_context_t *new;
   ap_pool_t *pool;
   
  -pool = ap_init_alloc();
  -
  +if (cont) {
  +pool = ap_make_sub_pool(cont-pool);
  +}
  +else {
  +pool = ap_init_alloc();;
  +}
  +
   if (pool == NULL) {
  -errno = APR_ENOPOOL;
  -return NULL;
  +return APR_ENOPOOL;
   }
   new = (ap_context_t *)ap_palloc(pool, sizeof(ap_context_t));
   new-pool = pool;
  -new-prog_data = data;
  -new-signal_safe = 0;
  -new-cancel_safe = 0;
  -
  -return new;
  +if (data == NULL  cont) {
  +new-prog_data = cont-prog_data;
  +}
  +else {
  +new-prog_data = data;
  +}
  +if (cont) { 
  +new-signal_safe = cont-signal_safe;
  +new-cancel_safe = cont-cancel_safe;
  +}
  +else {
  +new-signal_safe = 0;
  +new-cancel_safe = 0;
  +}
  + 
  +*newcont = new;
  +return APR_SUCCESS;
   }
   
   ap_status_t ap_set_signal_safe(ap_context_t *cont, ap_int16_t safe)
   {
  -cont-signal_safe = safe;
  -return APR_SUCCESS;
  +if (cont) { 
  +cont-signal_safe = safe;
  +return APR_SUCCESS;
  +}
  +return APR_ENOCONT;
   }
   
   ap_status_t ap_set_cancel_safe(ap_context_t *cont, ap_int16_t safe)
   {
  -cont-cancel_safe = safe;
  -return APR_SUCCESS;
  -}
  -
  -ap_context_t *ap_create_sub_context(ap_context_t *cont, void *data)
  -{
  -ap_context_t *new;
  -ap_pool_t *pool;
  -
  -pool = ap_make_sub_pool(cont-pool);
  -if (pool == NULL) {
  -errno = APR_ENOPOOL;
  -return NULL;
  -}
  -new = (ap_context_t *)ap_palloc(pool, sizeof(ap_context_t));
  -new-pool = pool;
  -if (data == NULL) {
  -cont-prog_data = cont-prog_data;
  +if (cont) {
  +cont-cancel_safe = safe;
  +return APR_SUCCESS;
   }
  -else {
  -cont-prog_data = data;
  -}
  -cont-signal_safe = cont-signal_safe;
  -cont-cancel_safe = cont-cancel_safe;
  -
  -return new;
  +return APR_ENOCONT;
   }
   
   ap_status_t ap_destroy_context(ap_context_t *cont)
  
  
  
  1.21  +1 -1  apache-apr/apr/test/testfile.c
  
  Index: testfile.c
  ===
  RCS file: /home/cvs/apache-apr/apr/test/testfile.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- testfile.c1999/05/25 03:14:18 1.20
  +++ testfile.c1999/05/25 03:22:07 1.21
  @@ -77,7 +77,7 @@
   char *str;
   char *filename = test.fil;
   
  -if ((context = ap_initialize(NULL)) == NULL) {
  +if (ap_create_context(NULL, NULL, context) != APR_SUCCESS) {
   fprintf(stderr, Couldn't allocate context.);
   exit(-1);
   }
  
  
  
  1.5   +1 -1  apache-apr/apr/test/testthread.c
  
  Index: testthread.c
  ===
  RCS file: /home/cvs/apache-apr/apr/test/testthread.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- testthread.c  1999/05/25 03:14:18 1.4
  +++ testthread.c  1999/05/25 03:22:07 1.5
  @@ -116,7 +116,7 @@
   ap_status_t st;
   
   fprintf(stdout, Initializing the context...); 
  -if (ap_create_context(NULL, NULL,context) != APR_SUCCESS) {
  +if (ap_create_context(NULL, NULL, context) != APR_SUCCESS) {
   fprintf(stderr, could not initialize\n);
   exit(-1);
   }
  
  
  
  1.12  +1 -2  apache-apr/include/apr_general.h
  
  Index: apr_general.h
  ===
  RCS file: /home/cvs/apache-apr/include/apr_general.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- apr_general.h 1999/05/12 12:00:11 1.11
  +++ apr_general.h 1999/05/25 03:22:08 1.12
  @@ -88,10 +88,9 @@
   } ap_context_t;   
   
   /* Context functions */
  -ap_context_t *ap_initialize(void *);
  +ap_status_t ap_create_context(ap_context_t *, void 

cvs commit: apache-apr STATUS

1999-05-25 Thread manoj
manoj   99/05/24 22:49:28

  Modified:.STATUS
  Log:
  oh well...
  
  Revision  ChangesPath
  1.25  +8 -1  apache-apr/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-apr/STATUS,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -u -r1.24 -r1.25
  --- STATUS1999/05/24 03:47:39 1.24
  +++ STATUS1999/05/25 05:49:27 1.25
  @@ -1,5 +1,5 @@
   Apache Portable Runtime STATUS:
  -Last modified at [$Date: 1999/05/24 03:47:39 $]
  +Last modified at [$Date: 1999/05/25 05:49:27 $]
   
   Release:
   
  @@ -42,6 +42,13 @@
   Everything
   
   Needs patch:
  +
  +  With Linux 2.2.9 + glibc 2.1.1pre (from RH 6), if MaxRequestsPerChild
  +  is low (e.g. 5) and ThreadsPerChild is high (e.g. 64), some processes
  +  will hang in pthread_create. This is an insane configuration, though.
  +
  +  With AIX 4.2, if MaxRequestsPerChild is low and ThreadsPerChild is
  +  high, the signal delivered to sigwait gets dropped on the floor.
   
   Open issues:
   
  
  
  


cvs commit: apache-1.3/src/lib/expat - New directory

1999-05-25 Thread gstein
gstein  99/05/25 02:50:57

  apache-1.3/src/lib/expat - New directory


cvs commit: apache-1.3/src/lib/expat MPL-1_0.html Makefile.tmpl asciitab.h expat.html gplelect.html hashtable.c hashtable.h iasciitab.h latin1tab.h nametab.h utf8tab.h xmlparse.c xmlparse.h xmlrole.c xmlrole.h xmltok.c xmltok.h xmltok_impl.c xmltok_impl.h

1999-05-25 Thread gstein
gstein  99/05/25 03:03:39

  Added:   src/lib/expat MPL-1_0.html Makefile.tmpl asciitab.h
expat.html gplelect.html hashtable.c hashtable.h
iasciitab.h latin1tab.h nametab.h utf8tab.h
xmlparse.c xmlparse.h xmlrole.c xmlrole.h xmltok.c
xmltok.h xmltok_impl.c xmltok_impl.h
  Log:
  Adding Expat 1.0.2 to the Apache repository. Apache elects to use the MPL
  license, per the instructions in expat.html. This version of Expat 1.0.2
  has been modified to contain only the tokenizer and parser, and the
  Makefile has been adjusted to use Apache conventions (Makefile.tmpl).
  See http://www.jclark.com/xml/expat.html for more information on Expat.
  
  Revision  ChangesPath
  1.1  apache-1.3/src/lib/expat/MPL-1_0.html
  
  Index: MPL-1_0.html
  ===
  TITLEMozilla Public License version 1.0/TITLE
  BODY BGCOLOR=#FF TEXT=#00
LINK=#EE VLINK=#551A8B ALINK=#FF
  
  P ALIGN=CENTER
FONT SIZE=+2BMOZILLA PUBLIC LICENSE/B/FONTBR
BVersion 1.0/B
  /P
  
  PHR WIDTH=20%P
  
  PB1. Definitions./B
  UL
  
  B1.1. ``Contributor''/B means each entity that creates or contributes
  to the creation of Modifications.
  
  PB1.2. ``Contributor Version''/B means the combination of the
  Original Code, prior Modifications used by a Contributor, and the
  Modifications made by that particular Contributor.
  
  PB1.3. ``Covered Code''/B means the Original Code or Modifications
  or the combination of the Original Code and Modifications, in each case
  including portions thereofB./B
  
  PB1.4. ``Electronic Distribution Mechanism''/B means a mechanism
  generally accepted in the software development community for the
  electronic transfer of data.
  
  PB1.5. ``Executable''/B means Covered Code in any form other than
  Source Code.
  
  PB1.6. ``Initial Developer''/B means the individual or entity
  identified as the Initial Developer in the Source Code notice required by
  BExhibit A/B.
  
  PB1.7. ``Larger Work''/B means a work which combines Covered Code
  or portions thereof with code not governed by the terms of this License.
  
  PB1.8. ``License''/B means this document.
  
  PB1.9. ``Modifications''/B means any addition to or deletion from
  the substance or structure of either the Original Code or any previous
  Modifications.  When Covered Code is released as a series of files, a
  Modification is: 
  
UL
  
PBA./B Any addition to or deletion from the contents of a file
containing Original Code or previous Modifications.
  
PBB./B Any new file that contains any part of the Original
Code or previous Modifications.
  
/UL
  
  PB1.10. ``Original Code''/B means Source Code of computer software
  code which is described in the Source Code notice required by BExhibit
  A/B as Original Code, and which, at the time of its release under this
  License is not already Covered Code governed by this License.
  
  PB1.11. ``Source Code''/B means the preferred form of the Covered
  Code for making modifications to it, including all modules it contains,
  plus any associated interface definition files, scripts used to control
  compilation and installation of an Executable, or a list of source code
  differential comparisons against either the Original Code or another well
  known, available Covered Code of the Contributor's choice. The Source
  Code can be in a compressed or archival form, provided the appropriate
  decompression or de-archiving software is widely available for no charge.
  
  PB1.12. ``You''/B means an individual or a legal entity exercising
  rights under, and complying with all of the terms of, this License or a
  future version of this License issued under Section 6.1. For legal
  entities, ``You'' includes any entity which controls, is controlled by,
  or is under common control with You. For purposes of this definition,
  ``control'' means (a) the power, direct or indirect, to cause the
  direction or management of such entity, whether by contract or otherwise,
  or (b) ownership of fifty percent (50%) or more of the outstanding shares
  or beneficial ownership of such entity.
  
  /UL
  B2. Source Code License./B
  UL
  
  B2.1. The Initial Developer Grant./B
  
  BRThe Initial Developer hereby grants You a world-wide, royalty-free,
  non-exclusive license, subject to third party intellectual property
  claims: 
  
UL
  
PB(a)/B to use, reproduce, modify, display, perform, sublicense
and distribute the Original Code (or portions thereof) with or
without Modifications, or as part of a Larger Work; and
  
  PB(b)/B under patents now or 

cvs commit: apache-1.3/src/main http_main.c

1999-05-25 Thread gstein
gstein  99/05/25 03:15:07

  Modified:src  Configuration.tmpl Configure Makefile.tmpl
   src/main http_main.c
  Log:
  Add RULE_EXPAT. Add src/lib/ handling.
  
  Revision  ChangesPath
  1.113 +7 -0  apache-1.3/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===
  RCS file: /home/cvs/apache-1.3/src/Configuration.tmpl,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- Configuration.tmpl1998/12/01 23:59:53 1.112
  +++ Configuration.tmpl1999/05/25 10:15:03 1.113
  @@ -160,12 +160,19 @@
   #  is performing this function. If PARANOID is set to yes, it will
   #  actually print-out the code that the modules execute
   #
  +# EXPAT:
  +#  Include James Clark's Expat package into Apache, for use by the
  +#  modules. The default is to include it if the ./expat/ directory
  +#  is present. This rule will always be interpreted as no if the
  +#  directory is not present.
  +#
   
   Rule SOCKS4=no
   Rule SOCKS5=no
   Rule IRIXNIS=no
   Rule IRIXN32=yes
   Rule PARANOID=no
  +Rule EXPAT=default
   
   # The following rules should be set automatically by Configure. However, if
   # they are not set by Configure (because we don't know the correct value for
  
  
  
  1.349 +61 -3 apache-1.3/src/Configure
  
  Index: Configure
  ===
  RCS file: /home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.348
  retrieving revision 1.349
  diff -u -r1.348 -r1.349
  --- Configure 1999/05/23 16:55:28 1.348
  +++ Configure 1999/05/25 10:15:04 1.349
  @@ -77,7 +77,8 @@
   tmpfile3=$tmpfile.3
   awkfile=$tmpfile.4
   tmpconfig=$tmpfile.5
  -SUBDIRS=ap main modules
  +SUBDIRS=ap main
  +APLIBDIRS=
   
   
   ## Now handle any arguments, which, for now, is -file
  @@ -223,6 +224,7 @@
   RULE_IRIXNIS=`./helpers/CutRule IRIXNIS $file`
   RULE_IRIXN32=`./helpers/CutRule IRIXN32 $file`
   RULE_PARANOID=`./helpers/CutRule PARANOID $file`
  +RULE_EXPAT=`./helpers/CutRule EXPAT $file`
   RULE_SHARED_CORE=`./helpers/CutRule SHARED_CORE $file`
   RULE_SHARED_CHAIN=`./helpers/CutRule SHARED_CHAIN $file`
   
  @@ -1565,6 +1567,27 @@
   fi
   
   
  +## Add in the Expat library if needed/wanted.
  +##
  +if [ -d ./lib/expat/ ]; then
  +if [ $RULE_EXPAT = default ]; then
  +RULE_EXPAT=yes
  +fi
  +else
  +if [ $RULE_EXPAT = yes ]; then
  +echo ERROR: RULE_EXPAT set to \yes\ but is not available.
  + exit 1
  +else
  +RULE_EXPAT=no
  +fi
  +fi
  +if [ $RULE_EXPAT = yes ]; then
  +EXPATLIB=lib/expat/libexpat.a
  +APLIBDIRS=expat $APLIBDIRS
  +CFLAGS=$CFLAGS -DUSE_EXPAT -I\$(SRCDIR)/lib/expat
  +fi
  +
  +
   ## Now the SHARED_CHAIN stuff
   ##
   if [ x$using_shlib = x1 ] ; then
  @@ -1779,7 +1802,7 @@
   
   ## Now add the target for the main Makefile
   ##
  -echo SUBDIRS=$SUBDIRS  Makefile
  +echo SUBDIRS=$SUBDIRS lib modules  Makefile
   echo SUBTARGET=$SUBTARGET  Makefile
   echo SHLIB_SUFFIX_NAME=$SHLIB_SUFFIX_NAME  Makefile
   echo SHLIB_SUFFIX_LIST=$SHLIB_SUFFIX_LIST  Makefile
  @@ -1807,6 +1830,7 @@
   echo LDFLAGS1=$LDFLAGS Makefile.config
   echo MFLAGS_STATIC=$MFLAGS_STATIC Makefile.config
   echo REGLIB=$REGLIB Makefile.config
  +echo EXPATLIB=$EXPATLIB Makefile.config
   echo RANLIB=$RANLIB Makefile.config
   
   
  @@ -1991,12 +2015,46 @@
   sed -e s#@@Configuration@@#$file# Makefile.tmpl Makefile
   
   # xxx/Makefile
  -MAKEDIRS=support main ap regex $OSDIR
  +MAKEDIRS=support $SUBDIRS
   for dir in $MAKEDIRS ; do
echo Creating Makefile in $dir
./helpers/mfhead $dir $file  $dir/Makefile
$CAT Makefile.config $dir/Makefile.tmpl |\
sed -e s:^SRCDIR=.*:SRCDIR=`./helpers/fp2rp $dir`:  $dir/Makefile
  +done
  +
  +
  +## Now create the lib/Makefile
  +##
  +./helpers/mfhead modules $file  lib/Makefile
  +$CAT Makefile.config | sed -e 's:^SRCDIR=.*:SRCDIR=..:'  lib/Makefile
  +
  +$CAT  EOF  lib/Makefile
  +APLIBS=$APLIBDIRS
  +CFLAGS=\$(OPTIM) \$(CFLAGS1) \$(EXTRA_CFLAGS)
  +
  +default: all
  +
  +all clean distclean depend :: 
  + @for i in \$(APLIBS) ; do \\
  +   if [ x\$\$i != x ]; then \\
  + echo === \$(SDP)lib/\$\$i; \\
  + (cd \$\$i  \$(MAKE) \$(MFLAGS_STATIC) SDP='\$(SDP)' 
CC='\$(CC)' AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1; \\
  + echo === \$(SDP)lib/\$\$i; \\
  +   fi; \\
  + done
  +
  +EOF
  +
  

cvs commit: apache-1.3/src CHANGES

1999-05-25 Thread gstein
gstein  99/05/25 03:23:17

  Modified:.STATUS
   src  CHANGES
  Log:
  Manoj would have a good comment for this, but I'm lame.
  
  Revision  ChangesPath
  1.692 +7 -13 apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.691
  retrieving revision 1.692
  diff -u -r1.691 -r1.692
  --- STATUS1999/05/21 11:05:08 1.691
  +++ STATUS1999/05/25 10:23:14 1.692
  @@ -1,5 +1,5 @@
 1.3 STATUS:
  -  Last modified at [$Date: 1999/05/21 11:05:08 $]
  +  Last modified at [$Date: 1999/05/25 10:23:14 $]
   
   Release:
   
  @@ -170,18 +170,6 @@
 via the Apache API with Perl and C.
   Status: http://www.pobox.com/~dougm/libapr-0.20_01.tar.gz
   
  -* Greg's [PATCH] Expat as an option
  -Message-ID: [EMAIL PROTECTED]
  -Status: one open(?) issue remains: there may be some extra work to
  -export the Expat functions from httpd on Win32 and AIX for
  -DSOs to use (requires changes to the .def and .exp files).
  -= Ralf: +1 for the patch in general
  - -1 until the symbol export issue is solved.
  -Hint: IMHO the only correct way is to encapsulate
  -the complete Expat API into with a ap_xml_xxx()
  -API. See also my EAPI patches where I've done 
this
  -for the MM API.
  -
   Needs patch:
   
   * MaxRequestsPerChild doesn't count requests, only the
  @@ -257,6 +245,12 @@
   
   * Paul would like to see a 'gdbm' option because he uses
 it a lot.
  ++1: Greg (volunteers)
  +
  +* Many people have asked for a DBM to be distributed with Apache to
  +  isolate it from platform inconsistencies. SDBM (used by mod_ssl,
  +  mod_dav, Perl, and others) should fit the bill and is public domain.
  ++1: Greg (volunteers)
   
   * Maybe a http_paths.h file? See
[EMAIL PROTECTED]
  
  
  
  1.1362+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1361
  retrieving revision 1.1362
  diff -u -r1.1361 -r1.1362
  --- CHANGES   1999/05/21 12:16:14 1.1361
  +++ CHANGES   1999/05/25 10:23:15 1.1362
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
  + of the Expat 1.0.2 distribution. [Greg Stein]
  +
 *) Replace regexec() calls with calls to a new API stub function
ap_regexec().  This solves problems with DSO modules which use the regex
library. [Jens-Uwe Mager [EMAIL PROTECTED], Ralf S. Engelschall]
  
  
  


cvs commit: apache-1.3/src Configuration.tmpl

1999-05-25 Thread rse
rse 99/05/25 04:28:40

  Modified:src  Configuration.tmpl
  Log:
  typo
  
  Revision  ChangesPath
  1.114 +1 -1  apache-1.3/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===
  RCS file: /home/cvs/apache-1.3/src/Configuration.tmpl,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- Configuration.tmpl1999/05/25 10:15:03 1.113
  +++ Configuration.tmpl1999/05/25 11:28:39 1.114
  @@ -162,7 +162,7 @@
   #
   # EXPAT:
   #  Include James Clark's Expat package into Apache, for use by the
  -#  modules. The default is to include it if the ./expat/ directory
  +#  modules. The default is to include it if the lib/expat/ directory
   #  is present. This rule will always be interpreted as no if the
   #  directory is not present.
   #
  
  
  


cvs commit: apache-1.3/src/main http_main.c

1999-05-25 Thread rse
rse 99/05/25 04:49:49

  Modified:src/main http_main.c
  Log:
  Give EGCS a prototype to make it happy.  Keep in mind that static doesn't
  work here (causes a new warning) because the stuff isn't used anywhere, of
  course.
  
  Revision  ChangesPath
  1.439 +2 -1  apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.438
  retrieving revision 1.439
  diff -u -r1.438 -r1.439
  --- http_main.c   1999/05/25 10:15:06 1.438
  +++ http_main.c   1999/05/25 11:49:46 1.439
  @@ -6517,7 +6517,8 @@
   /* force Expat to be linked into the server executable */
   #ifdef USE_EXPAT
   #include xmlparse.h
  -const XML_LChar * suck_in_expat(void)
  +const XML_LChar *suck_in_expat(void);
  +const XML_LChar *suck_in_expat(void)
   {
   return XML_ErrorString(XML_ERROR_NONE);
   }
  
  
  


cvs commit: apache-1.3/src Configure

1999-05-25 Thread jim
jim 99/05/25 05:24:45

  Modified:src  Configure
  Log:
  be consistant (and anal) ;)
  
  Revision  ChangesPath
  1.350 +3 -3  apache-1.3/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.349
  retrieving revision 1.350
  diff -u -r1.349 -r1.350
  --- Configure 1999/05/25 10:15:04 1.349
  +++ Configure 1999/05/25 12:24:44 1.350
  @@ -1570,18 +1570,18 @@
   ## Add in the Expat library if needed/wanted.
   ##
   if [ -d ./lib/expat/ ]; then
  -if [ $RULE_EXPAT = default ]; then
  +if [ x$RULE_EXPAT = xdefault ]; then
   RULE_EXPAT=yes
   fi
   else
  -if [ $RULE_EXPAT = yes ]; then
  +if [ $xRULE_EXPAT = xyes ]; then
   echo ERROR: RULE_EXPAT set to \yes\ but is not available.
exit 1
   else
   RULE_EXPAT=no
   fi
   fi
  -if [ $RULE_EXPAT = yes ]; then
  +if [ x$RULE_EXPAT = xyes ]; then
   EXPATLIB=lib/expat/libexpat.a
   APLIBDIRS=expat $APLIBDIRS
   CFLAGS=$CFLAGS -DUSE_EXPAT -I\$(SRCDIR)/lib/expat
  
  
  


cvs commit: apache-1.3/src/support httpd.exp

1999-05-25 Thread bjh
bjh 99/05/25 08:24:02

  Modified:src  ApacheCoreOS2.def
   src/include ap_compat.h
   src/main util.c
   src/support httpd.exp
  Log:
  Force regerror() to be linked into the core so DSOs can use the core's regex
  library. regerror() is needed by PHP3.
  
  Revision  ChangesPath
  1.2   +2 -1  apache-1.3/src/ApacheCoreOS2.def
  
  Index: ApacheCoreOS2.def
  ===
  RCS file: /home/cvs/apache-1.3/src/ApacheCoreOS2.def,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ApacheCoreOS2.def 1999/05/04 11:21:07 1.1
  +++ ApacheCoreOS2.def 1999/05/25 15:23:55 1.2
  @@ -268,7 +268,7 @@
   ;os_stat   @261
   ;readdir   @262
regcomp   @263
  - regexec   @264
  + ap_regexec   @264
regfree   @265
   ;access_module @266
   ;alias_module   @267
  @@ -348,3 +348,4 @@
ap_my_generation  @342
ap_dummy_mutex  @343
ap_signal  @344
  + ap_regerror  @345
  
  
  
  1.19  +1 -0  apache-1.3/src/include/ap_compat.h
  
  Index: ap_compat.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_compat.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ap_compat.h   1999/05/21 12:16:18 1.18
  +++ ap_compat.h   1999/05/25 15:23:56 1.19
  @@ -306,6 +306,7 @@
   #define read_configap_read_config
   #define read_request   ap_read_request
   #define regexecap_regexec
  +#define regerror   ap_regerror
   #define register_cleanup   ap_register_cleanup
   #define register_other_child   ap_register_other_child
   #define release_mutex  ap_release_mutex
  
  
  
  1.162 +6 -0  apache-1.3/src/main/util.c
  
  Index: util.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/util.c,v
  retrieving revision 1.161
  retrieving revision 1.162
  diff -u -r1.161 -r1.162
  --- util.c1999/05/21 12:16:21 1.161
  +++ util.c1999/05/25 15:24:01 1.162
  @@ -293,6 +293,12 @@
   return regexec(preg, string, nmatch, pmatch, eflags);
   }
   
  +API_EXPORT(size_t) ap_regerror(int errcode, const regex_t *preg, char 
*errbuf, size_t errbuf_size)
  +{
  +return regerror(errcode, preg, errbuf, errbuf_size);
  +}
  +
  +
   /* This function substitutes for $0-$9, filling in regular expression
* submatches. Pass it the same nmatch and pmatch arguments that you
* passed ap_regexec(). pmatch should not be greater than the maximum number
  
  
  
  1.20  +1 -0  apache-1.3/src/support/httpd.exp
  
  Index: httpd.exp
  ===
  RCS file: /home/cvs/apache-1.3/src/support/httpd.exp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- httpd.exp 1999/05/21 12:16:23 1.19
  +++ httpd.exp 1999/05/25 15:24:02 1.20
  @@ -249,6 +249,7 @@
   ap_rationalize_mtime
   ap_read_config
   ap_read_request
  +ap_regerror
   ap_regexec
   ap_register_cleanup
   ap_register_other_child
  
  
  


cvs commit: apache-1.3/src/main alloc.c

1999-05-25 Thread bjh
bjh 99/05/25 08:32:55

  Modified:src/main alloc.c
  Log:
  In OS/2 process spawning, move calls to change pipe handle inheritance
  to the correct places so they only get called for the pipes that have
  actually created.
  
  Revision  ChangesPath
  1.113 +3 -4  apache-1.3/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- alloc.c   1999/05/02 14:01:01 1.112
  +++ alloc.c   1999/05/25 15:32:54 1.113
  @@ -2205,23 +2205,22 @@
   save_out = dup(STDOUT_FILENO);
   dup2(out_fds[1], STDOUT_FILENO);
   close(out_fds[1]);
  +DosSetFHState(out_fds[0], OPEN_FLAGS_NOINHERIT);
   }
   
   if (pipe_in) {
   save_in = dup(STDIN_FILENO);
   dup2(in_fds[0], STDIN_FILENO);
   close(in_fds[0]);
  +DosSetFHState(in_fds[1], OPEN_FLAGS_NOINHERIT);
   }
   
   if (pipe_err) {
   save_err = dup(STDERR_FILENO);
   dup2(err_fds[1], STDERR_FILENO);
   close(err_fds[1]);
  +DosSetFHState(err_fds[0], OPEN_FLAGS_NOINHERIT);
   }
  -
  -DosSetFHState(in_fds[1], OPEN_FLAGS_NOINHERIT);
  -DosSetFHState(out_fds[0], OPEN_FLAGS_NOINHERIT);
  -DosSetFHState(err_fds[0], OPEN_FLAGS_NOINHERIT);
   
   pid = func(data, NULL);
   
  
  
  


cvs commit: apache-apr/include apr_errno.h apr_network_io.h apr_thread_proc.h apr_time.h

1999-05-25 Thread rbb
rbb 99/05/25 10:04:15

  Modified:apr/network_io/unix poll.c sendrecv.c sockets.c sockopt.c
   apr/test client.c server.c testproc.c testsock.c
testthread.c testtime.c
   apr/threadproc/unix proc.c signals.c thread.c threadcancel.c
threadpriv.c
   apr/time/unix access.c time.c
   include  apr_errno.h apr_network_io.h apr_thread_proc.h
apr_time.h
  Log:
  This brings the rest of the apr files up to par.  Every apr function now
  returns a status code.  Sopme of the test programs no longer work, I'll 
looking
  into those.
  
  Revision  ChangesPath
  1.9   +23 -14apache-apr/apr/network_io/unix/poll.c
  
  Index: poll.c
  ===
  RCS file: /home/cvs/apache-apr/apr/network_io/unix/poll.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- poll.c1999/05/24 02:23:43 1.8
  +++ poll.c1999/05/25 17:03:44 1.9
  @@ -60,12 +60,14 @@
   #include sys/poll.h
   
   
  -ap_pollfd_t *ap_setup_poll(ap_context_t *cont, ap_int32_t num)
  +ap_status_t ap_setup_poll(ap_context_t *cont, ap_int32_t num, struct 
pollfd_t **new)
   {
  -struct pollfd_t *new;
  -new = (struct pollfd_t *)ap_palloc(cont-pool, sizeof(struct pollfd_t) * 
num);
  -new-cntxt = cont;
  -return new;
  +(*new) = (struct pollfd_t *)ap_palloc(cont-pool, sizeof(struct 
pollfd_t) * num);
  +if ((*new) == NULL) {
  +return APR_ENOMEM;
  +}
  +(*new)-cntxt = cont;
  +return APR_SUCCESS;
   }
   
   ap_int16_t get_event(ap_int16_t event)
  @@ -108,24 +110,25 @@
   return rv;
   }
   
  -void ap_add_poll_socket(struct pollfd_t *aprset, 
  +ap_status_t ap_add_poll_socket(struct pollfd_t *aprset, 
   struct socket_t *sock, ap_int16_t event, 
  ap_int32_t pos)
   {
   aprset[pos].sock = sock;
   aprset[pos].events = get_event(event);
  +return APR_SUCCESS;
   }
   
  -ap_int32_t ap_poll(struct pollfd_t *aprset, ap_int32_t nsds, ap_int32_t 
timeout)
  +ap_status_t ap_poll(struct pollfd_t *aprset, ap_int32_t *nsds, ap_int32_t 
timeout)
   {
   int i;
   struct pollfd *pollset;
   int rv;
   
   pollset = (struct pollfd *)ap_palloc(aprset-cntxt-pool, 
  - sizeof(struct pollfd) * nsds);
  + sizeof(struct pollfd) * (*nsds));
   
  -for (i = 0; i  nsds; i++) {
  +for (i = 0; i  (*nsds); i++) {
   pollset[i].fd = aprset[i].sock-socketdes;
   pollset[i].events = aprset[i].events;
   }
  @@ -134,16 +137,22 @@
   timeout *= 1000;
   }
   
  -rv = poll(pollset, nsds, timeout);
  +rv = poll(pollset, (*nsds), timeout);
  +(*nsds) = rv;
   
  -for (i = 0; i  nsds; i++) {
  +for (i = 0; i  (*nsds); i++) {
   aprset[i].revents = get_revent(pollset[i].revents);
   }
  -return rv;
  +
  +if ((*nsds)  0) {
  +return errno;
  +}
  +return APR_SUCCESS;
   }
   
  -ap_int16_t ap_get_revents(struct pollfd_t *aprset, ap_int32_t pos)
  +ap_status_t ap_get_revents(struct pollfd_t *aprset, ap_int32_t pos, 
ap_int16_t *event)
   {
  -return aprset[pos].revents;
  +(*event) = aprset[pos].revents;
  +return APR_SUCCESS;
   }

  
  
  
  1.9   +14 -10apache-apr/apr/network_io/unix/sendrecv.c
  
  Index: sendrecv.c
  ===
  RCS file: /home/cvs/apache-apr/apr/network_io/unix/sendrecv.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- sendrecv.c1999/05/24 02:04:08 1.8
  +++ sendrecv.c1999/05/25 17:03:48 1.9
  @@ -61,12 +61,12 @@
   #include apr_network_io.h
   #include sys/time.h
   
  -ap_ssize_t ap_send(struct socket_t *sock, const char *buf, int len, time_t 
sec)
  +ap_status_t ap_send(struct socket_t *sock, const char *buf, ap_ssize_t *len, 
time_t sec)
   {
   ssize_t rv;
   
   do {
  -rv = write(sock-socketdes, buf, len);
  +rv = write(sock-socketdes, buf, (*len));
   } while (rv == -1  errno == EINTR);
   
   if (rv == -1  errno == EAGAIN  sec  0) {
  @@ -84,23 +84,25 @@
   } while (srv == -1  errno == EINTR);
   
   if (srv  1) {
  -return (ap_ssize_t) -1;
  +(*len) = -1;
  +return errno;
   }
   else {
   do {
  -rv = write(sock-socketdes, buf, len);
  +rv = write(sock-socketdes, buf, (*len));
   } while (rv == -1  errno == EINTR);
   }
   }
  -return (ap_ssize_t) rv;
  +(*len) = rv;
  +return APR_SUCCESS;
   }
   
  -ap_ssize_t ap_recv(struct socket_t *sock, char *buf, int len, time_t sec)
  +ap_status_t