cvs commit: apache-1.3/src/main http_main.c
dgaudet 99/06/01 23:30:07 Modified:src CHANGES src/main http_main.c Log: Piped error logs could cause a segfault if an error occured during configuration after a restart. PR: 4456 Submitted by: Aidan Cully [EMAIL PROTECTED] Revision ChangesPath 1.1364+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1363 retrieving revision 1.1364 diff -u -r1.1363 -r1.1364 --- CHANGES 1999/05/26 18:27:43 1.1363 +++ CHANGES 1999/06/02 06:30:03 1.1364 @@ -1,5 +1,9 @@ Changes with Apache 1.3.7 + *) Piped error logs could cause a segfault if an error occured + during configuration after a restart. + [Aidan Cully [EMAIL PROTECTED]] PR#4456 + *) If a Location field was stored in r-err_headers_out rather than r-headers_out, redirect processing wouldn't find it and the server would core dump on ap_escape_html(NULL). 1.440 +13 -7 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.439 retrieving revision 1.440 diff -u -r1.439 -r1.440 --- http_main.c 1999/05/25 11:49:46 1.439 +++ http_main.c 1999/06/02 06:30:05 1.440 @@ -333,7 +333,9 @@ static other_child_rec *other_children; #endif +static pool *pglobal;/* Global pool */ static pool *pconf; /* Pool for config stuff */ +static pool *plog; /* Pool for error-logging files */ static pool *ptrans; /* Pool for per-transaction stuff */ static pool *pchild; /* Pool for httpd child stuff */ static pool *pcommands; /* Pool for -C and -c switches */ @@ -2104,7 +2106,7 @@ static void clean_parent_exit(int code) { /* Clear the pool - including any registered cleanups */ -ap_destroy_pool(pconf); +ap_destroy_pool(pglobal); exit(code); } @@ -3579,7 +3581,9 @@ AMCSocketInitialize(); #endif /* WIN32 */ -pconf = ap_init_alloc(); +pglobal = ap_init_alloc(); +pconf = ap_make_sub_pool(pglobal); +plog = ap_make_sub_pool(pglobal); ptrans = ap_make_sub_pool(pconf); ap_util_init(); @@ -4415,7 +4419,8 @@ server_conf = ap_read_config(pconf, ptrans, ap_server_confname); setup_listeners(pconf); - ap_open_logs(server_conf, pconf); + ap_clear_pool(plog); + ap_open_logs(server_conf, plog); ap_log_pid(pconf, ap_pid_fname); ap_set_version(); /* create our server_version string */ ap_init_modules(pconf, server_conf); @@ -4762,7 +4767,7 @@ #ifndef TPF if (ap_standalone) { - ap_open_logs(server_conf, pconf); + ap_open_logs(server_conf, plog); ap_set_version(); ap_init_modules(pconf, server_conf); version_locked++; @@ -4805,7 +4810,7 @@ /* Yes this is called twice. */ ap_init_modules(pconf, server_conf); version_locked++; - ap_open_logs(server_conf, pconf); + ap_open_logs(server_conf, plog); ap_init_modules(pconf, server_conf); set_group_privs(); @@ -5855,7 +5860,8 @@ pparent = ap_make_sub_pool(pconf); server_conf = ap_read_config(pconf, pparent, ap_server_confname); - ap_open_logs(server_conf, pconf); + ap_clear_pool(plog); + ap_open_logs(server_conf, plog); ap_set_version(); ap_init_modules(pconf, server_conf); version_locked++; @@ -6093,7 +6099,7 @@ ap_init_modules(pconf, server_conf); ap_suexec_enabled = init_suexec(); version_locked++; -ap_open_logs(server_conf, pconf); +ap_open_logs(server_conf, plog); set_group_privs(); }
cvs commit: apache-1.3/src/include httpd.h
rse 99/06/02 00:08:19 Modified:src/include httpd.h Log: Fix recent commit of an ap_regerror() function. Hmmm... we should force us all to compile with egcc -Wall before something is comitted... Revision ChangesPath 1.279 +2 -0 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.278 retrieving revision 1.279 diff -u -r1.278 -r1.279 --- httpd.h 1999/05/21 17:10:40 1.278 +++ httpd.h 1999/06/02 07:08:18 1.279 @@ -974,6 +974,8 @@ API_EXPORT(int)ap_regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); +API_EXPORT(size_t) ap_regerror(int errcode, const regex_t *preg, + char *errbuf, size_t errbuf_size); API_EXPORT(char *) ap_pregsub(pool *p, const char *input, const char *source, size_t nmatch, regmatch_t pmatch[]);
cvs commit: apache-1.3/src/lib/expat-lite .cvsignore
rse 99/06/02 00:15:52 Added: src/lib/expat-lite .cvsignore Log: Ignore generated Makefile... Revision ChangesPath 1.1 apache-1.3/src/lib/expat-lite/.cvsignore Index: .cvsignore === Makefile
cvs commit: apache-1.3/src/lib .cvsignore
rse 99/06/02 00:16:37 Added: src/lib .cvsignore Log: One more generated Makefile. Revision ChangesPath 1.1 apache-1.3/src/lib/.cvsignore Index: .cvsignore === Makefile
cvs commit: apache-site/mirrors mirrors.list index.html
brian 99/06/02 03:12:21 Modified:mirrors mirrors.list index.html Log: 238 mirrors. Revision ChangesPath 1.77 +15 -1 apache-site/mirrors/mirrors.list Index: mirrors.list === RCS file: /home/cvs/apache-site/mirrors/mirrors.list,v retrieving revision 1.76 retrieving revision 1.77 diff -u -r1.76 -r1.77 --- mirrors.list 1999/04/27 09:36:06 1.76 +++ mirrors.list 1999/06/02 10:12:20 1.77 @@ -18,6 +18,8 @@ http cn http://apache.keylab.net/ [EMAIL PROTECTED] http cr http://apache.ucr.ac.cr/[EMAIL PROTECTED] http cz http://sunsite.mff.cuni.cz/web/apache/ [EMAIL PROTECTED] +http cz http://www.instinct.org/apache/ [EMAIL PROTECTED] +http cz http://ftp.mendelu.cz/ftp/mirrors/apache.org/ [EMAIL PROTECTED] http de http://www.apache.de/ [EMAIL PROTECTED] http de http://ftp.cs.tu-berlin.de/pub/net/www/apache/ [EMAIL PROTECTED] http de http://www.fokus.gmd.de/apache/ [EMAIL PROTECTED] @@ -60,9 +62,9 @@ http kr http://cosmos.kaist.ac.kr/packages/www/apache/ [EMAIL PROTECTED] http kr http://www.iworld.net/apache/ [EMAIL PROTECTED] http kr http://www.apache.kr.freebsd.org/ [EMAIL PROTECTED] -http my http://www.cyberweb.com.my/apache/ [EMAIL PROTECTED] http lv http://www.apache.pd.gov.lv/[EMAIL PROTECTED] http my http://itc.kusza.edu.my/apache/ [EMAIL PROTECTED] +http mz http://apache.tropical.co.mz/ http nl http://www.mbh.org/archive/apache/ [EMAIL PROTECTED] http nl http://www.cs.uu.nl/apache/ [EMAIL PROTECTED] http nl http://apache.infra.cx/ [EMAIL PROTECTED] @@ -74,6 +76,7 @@ http pt http://linux.ispgaya.pt/apache/ [EMAIL PROTECTED] http pt http://ciumix.ci.uminho.pt/mirrors/apache/ [EMAIL PROTECTED] http pt http://apache.ultimate.pt [EMAIL PROTECTED] +http pt http://apache.leirianet.pt [EMAIL PROTECTED] http ro http://www.utt.ro/ftp/pub/packages/apache/ [EMAIL PROTECTED] http ro http://apache.logicnet.ro/ [EMAIL PROTECTED] http ru http://www.module.vympel.msk.ru/mirror/apache/ [EMAIL PROTECTED] @@ -89,12 +92,14 @@ http si http://apache.siol.net/ http sk http://sunsite.uakom.sk/apache/ [EMAIL PROTECTED] http sk http://rak.isternet.sk/apache/ [EMAIL PROTECTED] +http sk http://apache.ti.sk/[EMAIL PROTECTED] http su http://www.sai.msu.su/apache/ oleg@sai.msu.su http th http://www.cs.riubon.ac.th/pub/apache/ [EMAIL PROTECTED] http tr http://apache.bilkent.edu.tr/ [EMAIL PROTECTED] http tw http://www.me.ncu.edu.tw/apache/[EMAIL PROTECTED] http tw http://freebsd.csie.nctu.edu.tw/apache/ [EMAIL PROTECTED] http tw http://apache.ficnet.net.tw/[EMAIL PROTECTED] +http tw http://apache.ccit.edu.tw [EMAIL PROTECTED] http ua http://www.neon.dp.ua/www.apache.org/ [EMAIL PROTECTED] http ua http://ftp.icmp.lviv.ua/Apache/ [EMAIL PROTECTED] http ua http://www.apache.carrier.kiev.ua/ [EMAIL PROTECTED] @@ -124,6 +129,8 @@ http us http://www.mtnranch.net/apache/ [EMAIL PROTECTED] http us http://apache.fy-net.com/ [EMAIL PROTECTED] http us http://us-mirror.www.ai.net/pub/apache/ [EMAIL PROTECTED] +http us http://www.communitech.net/apache/ [EMAIL PROTECTED] +http us http://www.phoenicis.com/ftp/pub/mirrors/apache/[EMAIL PROTECTED] http yu http://www.fon.bg.ac.yu/mirror/apache/ [EMAIL PROTECTED] http za http://apache.is.co.za/ [EMAIL PROTECTED] ftp ar ftp://ftp.infoap.com.ar/pub/apache/dist/ @@ -139,6 +146,7 @@ ftp cr ftp://ftp.ucr.ac.cr/pub/Unix/apache/dist/ ftp ch ftp://sunsite.cnlab-switch.ch/mirror/apache/dist/ ftp cz ftp://sunsite.mff.cuni.cz/Net/Infosystems/WWW/Servers/Apache/dist/ [EMAIL PROTECTED] +ftp cz ftp://ftp.mendelu.cz/pub/mirrors/apache.org/ ftp de ftp://ftp.uni-regensburg.de/pub/comp/infosystems/www/servers/apache/ ftp de ftp://ftp.cs.tu-berlin.de/pub/net/www/apache/dist/ ftp de ftp://ftp.apache.de/ @@ -155,6 +163,7 @@ ftp es ftp://apache.arrakis.es/ ftp fi ftp://ftp.pspt.fi/pub/unix/www/apache/dist/ ftp fr ftp://ftp.lip6.fr/pub/www/apache/dist/ [EMAIL PROTECTED] +ftp fr ftp://ftp.proxad.net/mirrors/ftp.apache.org/[EMAIL PROTECTED] ftp gr ftp://ftp.ntua.gr/pub/www/Apache/dist/ ftp hk ftp://ftp.hk.super.net/mirror/apache/dist/ [EMAIL PROTECTED] ftp hr ftp://sunsite.srce.hr/mirrors/ftp.apache.org/apache/dist/ @@ -174,6 +183,7 @@ ftp kr ftp://cosmos.kaist.ac.kr/packages/www/apache/dist/ ftp kr
cvs commit: apache-devsite binaries.html
brian 99/06/02 03:19:08 Modified:.binaries.html Log: Clarify who can upload binaries, as well as the true argument for scp. Revision ChangesPath 1.20 +4 -4 apache-devsite/binaries.html Index: binaries.html === RCS file: /home/cvs/apache-devsite/binaries.html,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- binaries.html 1999/03/30 21:06:48 1.19 +++ binaries.html 1999/06/02 10:19:08 1.20 @@ -88,11 +88,11 @@ pgps -b -a lt;your-email-addressgt; apache_1.3.x-iplatform/i.tar.gz /code/blockquote P -After you have successfully built the binary distribution you -can upload the archive and README to the Apache site. An easy way -to do this is with 'ssh'. +After you have successfully built the binary distribution, if you are +a core developer, you can upload the archive and README to the Apache +site. An easy way to do this is with 'ssh'. blockquotecode -scp apache_1.3.x-iplatform/i.* www/apache.org/dist/binaries/iplatform/i +scp apache_1.3.x-iplatform/i.* www.apache.org:/www/apache.org/dist/binaries/iplatform/i /code/blockquote H2Binary Contributors/H2 P
cvs commit: apache-1.3/src/lib/expat-lite xmltok.h xmltok_ns.c
rse 99/06/02 06:06:29 Modified:src/lib/expat-lite xmltok.h xmltok_ns.c Log: Get rid of remaining missing prototype warnings... Revision ChangesPath 1.3 +4 -4 apache-1.3/src/lib/expat-lite/xmltok.h Index: xmltok.h === RCS file: /home/cvs/apache-1.3/src/lib/expat-lite/xmltok.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- xmltok.h 1999/06/02 07:15:04 1.2 +++ xmltok.h 1999/06/02 13:06:28 1.3 @@ -271,8 +271,8 @@ int *standalonePtr); int XMLTOKAPI XmlInitEncoding(INIT_ENCODING *, const ENCODING **, const char *name); -const ENCODING XMLTOKAPI *XmlGetUtf8InternalEncoding(); -const ENCODING XMLTOKAPI *XmlGetUtf16InternalEncoding(); +const ENCODING XMLTOKAPI *XmlGetUtf8InternalEncoding(void); +const ENCODING XMLTOKAPI *XmlGetUtf16InternalEncoding(void); int XMLTOKAPI XmlUtf8Encode(int charNumber, char *buf); int XMLTOKAPI XmlUtf16Encode(int charNumber, unsigned short *buf); int XmlSizeOfUnknownEncoding(void); @@ -294,8 +294,8 @@ const ENCODING **namedEncodingPtr, int *standalonePtr); int XMLTOKAPI XmlInitEncodingNS(INIT_ENCODING *, const ENCODING **, const char *name); -const ENCODING XMLTOKAPI *XmlGetUtf8InternalEncodingNS(); -const ENCODING XMLTOKAPI *XmlGetUtf16InternalEncodingNS(); +const ENCODING XMLTOKAPI *XmlGetUtf8InternalEncodingNS(void); +const ENCODING XMLTOKAPI *XmlGetUtf16InternalEncodingNS(void); ENCODING XMLTOKAPI * XmlInitUnknownEncodingNS(void *mem, int *table, 1.2 +2 -2 apache-1.3/src/lib/expat-lite/xmltok_ns.c Index: xmltok_ns.c === RCS file: /home/cvs/apache-1.3/src/lib/expat-lite/xmltok_ns.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- xmltok_ns.c 1999/05/31 10:56:26 1.1 +++ xmltok_ns.c 1999/06/02 13:06:28 1.2 @@ -1,9 +1,9 @@ -const ENCODING *NS(XmlGetUtf8InternalEncoding)() +const ENCODING *NS(XmlGetUtf8InternalEncoding)(void) { return ns(internal_utf8_encoding).enc; } -const ENCODING *NS(XmlGetUtf16InternalEncoding)() +const ENCODING *NS(XmlGetUtf16InternalEncoding)(void) { #if XML_BYTE_ORDER == 12 return ns(internal_little2_encoding).enc;
cvs commit: apache-1.3/src/modules/proxy proxy_cache.c
dgaudet 99/06/02 11:10:11 Modified:src/modules/proxy proxy_cache.c Log: missing ap_unblock_alarms Revision ChangesPath 1.60 +0 -1 apache-1.3/src/modules/proxy/proxy_cache.c Index: proxy_cache.c === RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_cache.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- proxy_cache.c 1999/04/22 14:27:51 1.59 +++ proxy_cache.c 1999/06/02 18:10:09 1.60 @@ -327,7 +327,6 @@ else { lastcheck = buf.st_mtime; /* save the time */ if (garbage_now lastcheck + every) { -ap_unblock_alarms(); return 0; } if (utime(filename, NULL) == -1)
cvs commit: apache-apr/apr/lib apr_snprintf.c lib.dsp
rbb 99/06/02 12:38:02 Modified:apr/lib apr_snprintf.c lib.dsp Log: Changes required to get lib building on Windows after this mornings commits. Revision ChangesPath 1.5 +1 -1 apache-apr/apr/lib/apr_snprintf.c Index: apr_snprintf.c === RCS file: /home/cvs/apache-apr/apr/lib/apr_snprintf.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- apr_snprintf.c1999/06/02 18:44:38 1.4 +++ apr_snprintf.c1999/06/02 19:38:01 1.5 @@ -61,8 +61,8 @@ #ifndef WIN32 #include apr_config.h #else -#include apr_win.h #include winsock2.h +#include apr_win.h #endif #include apr_lib.h 1.3 +1 -1 apache-apr/apr/lib/lib.dsp Index: lib.dsp === RCS file: /home/cvs/apache-apr/apr/lib/lib.dsp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- lib.dsp 1999/06/01 18:52:40 1.2 +++ lib.dsp 1999/06/02 19:38:01 1.3 @@ -67,7 +67,7 @@ # PROP Ignore_Export_Lib 0 # PROP Target_Dir # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ..\include /I ..\..\include /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ..\include /I ..\..\include /I ..\misc\win32 /D WIN32 /D _DEBUG /D _WINDOWS /YX /FD /c # ADD BASE MTL /nologo /D _DEBUG /mktyplib203 /o NUL /win32 # ADD MTL /nologo /D _DEBUG /mktyplib203 /o NUL /win32 # ADD BASE RSC /l 0x409 /d _DEBUG
cvs commit: apache-1.3/src/main http_protocol.c
coar99/06/02 13:11:20 Modified:src CHANGES src/main http_protocol.c Log: Trap (with an errorlog entry) malformed redirects from modules; i.e., that fail to set a Location field. Revision ChangesPath 1.1366+3 -2 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1365 retrieving revision 1.1366 diff -u -r1.1365 -r1.1366 --- CHANGES 1999/06/02 20:01:50 1.1365 +++ CHANGES 1999/06/02 20:11:16 1.1366 @@ -9,8 +9,9 @@ *) If a Location field was stored in r-err_headers_out rather than r-headers_out, redirect processing wouldn't find it and - the server would core dump on ap_escape_html(NULL). - [Doug MacEachern, Ken Coar] + the server would core dump on ap_escape_html(NULL). Check both + tables and raise HTTP_INTERNAL_SERVER_ERROR with a log message + if Location isn't set. [Doug MacEachern, Ken Coar] *) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy of the Expat 1.0.2 distribution. [Greg Stein] 1.269 +20 -4 apache-1.3/src/main/http_protocol.c Index: http_protocol.c === RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v retrieving revision 1.268 retrieving revision 1.269 diff -u -r1.268 -r1.269 --- http_protocol.c 1999/05/26 18:28:06 1.268 +++ http_protocol.c 1999/06/02 20:11:19 1.269 @@ -2367,9 +2367,24 @@ r-err_headers_out = tmp; ap_clear_table(r-err_headers_out); -if ((location != NULL) *location - (ap_is_HTTP_REDIRECT(status) || status == HTTP_CREATED)) { -ap_table_setn(r-headers_out, Location, location); +if (ap_is_HTTP_REDIRECT(status) || (status == HTTP_CREATED)) { + if ((location != NULL) *location) { + ap_table_setn(r-headers_out, Location, location); + } + else { + /* + * We're supposed to tell the client to go somewhere, + * but the destination was omitted. Turn this into + * a 500 status with an explanatory note in the error log. + */ + ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, + resource created or redirection requested + (status=%03d) but no Location field set + (URI=%s), + r-status, r-unparsed_uri); + r-status = status = HTTP_INTERNAL_SERVER_ERROR; + r-status_line = NULL; + } } r-content_language = NULL; @@ -2631,7 +2646,8 @@ (h1 = ap_table_get(r-notes, verbose-error-to)) != NULL (strcmp(h1, *) == 0)) { ap_rvputs(r, error_notes, P\n, NULL); - } else { + } + else { ap_rvputs(r, The server encountered an internal error or\n misconfiguration and was unable to complete\n your request.P\n