Re: svn commit: r1542615 - /httpd/httpd/trunk/build/config-stubs
On 19.11.2013 23:45, Stefan Fritsch wrote: Hi Rainer, Am Sonntag, 17. November 2013, 12:47:53 schrieb Rainer Jung: URL: http://svn.apache.org/r1542615 Log: Explicitly list in which directories to look for config*.m4 files. --- httpd/httpd/trunk/build/config-stubs (original) +++ httpd/httpd/trunk/build/config-stubs Sat Nov 16 23:49:04 2013 @@ -15,7 +15,7 @@ # config files without a number are sorted before those with a number. # -configfiles=`find . -name config*.m4 | \ +configfiles=`find os server modules support -name config*.m4 | \ Couldn't we use configfiles=`find . -name .* -prune -o -name config*.m4 | \ That would disable recuring into any directory starting with a dot and thus we wouldn't have to maintain a list of known good directories. WDYT? I am not convinced that this would be better. If apr or another lib in srclib/ one day ships a config*.m4 file, we don't want to include that either. Or if debian packagers for whatever reason such a file in debian/. And we won't have to update that list very often, the top- level directories haven't changed since 1.x. OK, agreed. Rainer
Re: [VOTE] Release Apache httpd 2.4.7 as GA
+1: CentOS 6, Fed 16 and 18, OSX 10.9 (all 64bit) On Nov 19, 2013, at 12:45 PM, Jim Jagielski j...@jagunet.com wrote: The pre-release test tarballs for Apache httpd 2.4.7 can be found at the usual place: http://httpd.apache.org/dev/dist/ I'm calling a VOTE on releasing these as Apache httpd 2.4.7 GA. [ ] +1: Good to go [ ] +0: meh [ ] -1: Danger Will Robinson. And why. Vote will last the normal 72 hrs. NOTE: The *-deps are only there for convenience.
Re: [VOTE] Release Apache httpd 2.4.7 as GA
+1 Debian 7.2 (x64) tested with event mpm On 19 November 2013 18:45, Jim Jagielski j...@jagunet.com wrote: The pre-release test tarballs for Apache httpd 2.4.7 can be found at the usual place: http://httpd.apache.org/dev/dist/ I'm calling a VOTE on releasing these as Apache httpd 2.4.7 GA. [ ] +1: Good to go [ ] +0: meh [ ] -1: Danger Will Robinson. And why. Vote will last the normal 72 hrs. NOTE: The *-deps are only there for convenience.
Re: [VOTE] Release Apache httpd 2.4.7 as GA
On Tue, Nov 19, 2013 at 12:45 PM, Jim Jagielski j...@jagunet.com wrote: The pre-release test tarballs for Apache httpd 2.4.7 can be found at the usual place: http://httpd.apache.org/dev/dist/ I'm calling a VOTE on releasing these as Apache httpd 2.4.7 GA. [ ] +1: Good to go [ ] +0: meh [ ] -1: Danger Will Robinson. And why. +1 AIX/PPC64/xlc w/ -deps, test suite 100%.
Re: [VOTE] Release Apache httpd 2.4.7 as GA
On Tue, Nov 19, 2013 at 12:45 PM, Jim Jagielski j...@jagunet.com wrote: The pre-release test tarballs for Apache httpd 2.4.7 can be found at the usual place: http://httpd.apache.org/dev/dist/ I'm calling a VOTE on releasing these as Apache httpd 2.4.7 GA. [ ] +1: Good to go [ ] +0: meh [ ] -1: Danger Will Robinson. And why. [X] +1: Good to go Linux RHEL5-ish: httpd 2.4.7+apr-1.5.0+apr-util-1.5.3+mod_perl httpd24threading branch (current)+latest libxml2/pcre/zlib/other modules **but no mod_ssl** passes httpd test suite passes the same mod_perl tests that passed with httpd 2.4.6 Win2008 R2: same combination of code Visual Studio 2012 64-bit (cmake NMake Makefiles generator) passes the same httpd tests that passed with 2.4.6 (running all testcases cleanly on Windows is not currently possible) not able to try mod_perl test suite in this environment currently
Re: [VOTE] Release Apache httpd 2.4.7 as GA
On 11/19/2013 9:45 AM, Jim Jagielski wrote: I'm calling a VOTE on releasing these as Apache httpd 2.4.7 GA. [X] +1: Good to go APR 1.5.0 APU 1.5.3 OpenSSL 1.0.1e latest libxml2/lua/pcre/zlib VC 2008 x86 on XP Vista VC 2008 x64 on Server 2003 R2 VC2012 x86x64 on Server 2012
Re: ssl_die() and pool cleanup
On Wed, Nov 20, 2013 at 5:19 AM, Kaspar Brand httpd-dev.2...@velox.chwrote: On 18.11.2013 14:59, Jeff Trawick wrote: Has anyone looked at making ssl_die() clean up pools on the way out (presumably by calling some function besides exit())? It is rather easy to end up with a bunch of stranded IPC objects while debugging your SSL config. Oh yes, a major annoyance I'm also occasionally running into. * XXX: The config hooks should return errors instead of calling exit(). Gave it a try, see attachment. Not yet extensively tested (*), so perhaps incomplete. But httpd now properly cleans up for me, e.g. when a SIGHUPing fails, as shown in this log extract: It looks fine at first glance... I'll try to test a few error paths soon whether or not it has already been committed at the time. Thanks! [Wed Nov 20 11:02:14.304528 2013] [mpm_worker:notice] [pid 23918:tid 3214934016] AH00298: SIGHUP received. Attempting to restart [Wed Nov 20 11:02:14.544660 2013] [ssl:info] [pid 23918:tid 3214934016] AH02200: Loading certificate private key of SSL-aware server 'server:443' [Wed Nov 20 11:02:14.545137 2013] [ssl:emerg] [pid 23918:tid 3214934016] AH02241: Init: Unable to read server certificate from file /tmp/snakeoil.pem [Wed Nov 20 11:02:14.545240 2013] [ssl:emerg] [pid 23918:tid 3214934016] SSL Library Error: error:0D06B08E:asn1 encoding routines:ASN1_D2I_READ_BIO:not enough data [Wed Nov 20 11:02:14.545278 2013] [ssl:emerg] [pid 23918:tid 3214934016] AH02312: Fatal error initialising mod_ssl, exiting. [Wed Nov 20 11:02:14.545310 2013] [:emerg] [pid 23918:tid 3214934016] AH00020: Configuration Failed, exiting (Configuration Failed, exiting is the key here - this comes from main.c and will call destroy_and_exit_process() to clean up.) Kaspar (*) The changes related to ssl_read_pkcs7 in particular are fairly superficial, but I think we should drop that PKCS#7 stuff from mod_ssl anyway. -- Born in Roswell... married an alien... http://emptyhammock.com/
Re: svn commit: r1539988 - /httpd/httpd/trunk/server/log.c
On Mon, Nov 18, 2013 at 10:45 AM, Jeff Trawick traw...@gmail.com wrote: On Fri, Nov 8, 2013 at 6:41 AM, jkal...@apache.org wrote: Author: jkaluza Date: Fri Nov 8 11:41:08 2013 New Revision: 1539988 URL: http://svn.apache.org/r1539988 Log: Do not lose log messages with NULL server_rec when error log provider is used. - set stderr_log to NULL after it is redirected to /dev/null - use log provider of ap_server_conf in log_error_core when no server_rec is provided and std_err_log is NULL I think this is resulting in a crash in my provider when ap_log_error() is called before open-logs (i.e., before my provider has had a chance to set up a destination for logging). This is the original 2.4 expectation regarding NULL server_rec IIUC: NULL is okay until logs are opened, at which point a NULL server_rec is a bug in the caller. But just pass ap_server_conf when you don't have a context-specific server_rec and core httpd will make sure it is always set when logging requires a server_rec. If at all practical, a NULL server_rec prior to setting up a configured provider shouldn't be treated differently than a NULL server_rec prior to setting a configured error log file/piped logger. My provider is getting a call on this path: #1 0x71531a7b in elprov_error_log (info=0x7fffb340, handle=0x0, errstr=0x7fffb390 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message\n, len=169) at mod_elprov.c:38 #2 0x0046a3f9 in log_error_core (file=0x488f00 util.c, line=2201, module_index=0, level=65, status=0, s=0x0, c=0x0, r=0x0, pool=0x6b6138, fmt=0x489618 AH00558: %s: Could not reliably determine the server's fully qualified domain name, using %s. Set the 'ServerName' directive globally to suppress this message, args=0x7fffd408) at log.c:1259 #3 0x0046a709 in ap_log_perror_ (file=0x488f00 util.c, line=2201, module_index=0, level=65, status=0, p=0x6b6138, fmt=0x489618 AH00558: %s: Could not reliably determine the server's fully qualified domain name, using %s. Set the 'ServerName' directive globally to suppress this message) at log.c:1311 #4 0x004335e7 in ap_get_local_host (a=0x6b6138) at util.c:2201 #5 0x0042d9f9 in ap_fini_vhost_config (p=0x6b6138, main_s=0x6df320) at vhost.c:565 #6 0x0042cac5 in main (argc=2, argv=0x7fffe0e8) at main.c:758 Maybe the handle should be checked (!= NULL) to see if there is a provider AND we've passed the critical point in the open-logs hook where the provider becomes usable. The call to the provider's init function in open-logs will abort startup if NULL is returned for the handle, so handle will never be NULL if the provider is initialized. I guess this is what really happened: config was processed the first time, and open-logs was called the first time, and stderr was dropped config has been processed the second time but open-logs hasn't been called again yet no stderr, provider in server_rec but no provider handle; I guess I just need to tweak your if statement that checks for no available destination r1543979 Modified: httpd/httpd/trunk/server/log.c Modified: httpd/httpd/trunk/server/log.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/log.c?rev=1539988r1=1539987r2=1539988view=diff == --- httpd/httpd/trunk/server/log.c (original) +++ httpd/httpd/trunk/server/log.c Fri Nov 8 11:41:08 2013 @@ -437,9 +437,12 @@ int ap_open_logs(apr_pool_t *pconf, apr_ #define NULL_DEVICE /dev/null #endif -if (replace_stderr freopen(NULL_DEVICE, w, stderr) == NULL) { -ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s_main, APLOGNO(00093) - unable to replace stderr with %s, NULL_DEVICE); +if (replace_stderr) { +if (freopen(NULL_DEVICE, w, stderr) == NULL) { +ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s_main, APLOGNO(00093) +unable to replace stderr with %s, NULL_DEVICE); +} +stderr_log = NULL; } for (virt = s_main-next; virt; virt = virt-next) { @@ -1034,6 +1037,8 @@ static void log_error_core(const char *f const request_rec *rmain = NULL; core_server_config *sconf = NULL; ap_errorlog_info info; +ap_errorlog_provider *errorlog_provider = NULL; +void *errorlog_provider_handle = NULL; /* do we need to log once-per-req or once-per-conn info? */ int log_conn_info = 0, log_req_info = 0; @@ -1060,6 +1065,10 @@ static void log_error_core(const char *f #endif logf = stderr_log; +if (!logf ap_server_conf ap_server_conf-errorlog_provider) { +errorlog_provider = ap_server_conf-errorlog_provider; +errorlog_provider_handle =