cvs commit: apache-apr/include apr_errno.h apr_file_io.h
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
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
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
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
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
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
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
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
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
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
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
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
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