Re: svn commit: r1542615 - /httpd/httpd/trunk/build/config-stubs

2013-11-20 Thread Rainer Jung
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

2013-11-20 Thread Jim Jagielski
+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

2013-11-20 Thread Mario Brandt
+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

2013-11-20 Thread Eric Covener
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

2013-11-20 Thread Jeff Trawick
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

2013-11-20 Thread Gregg Smith

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

2013-11-20 Thread Jeff Trawick
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

2013-11-20 Thread Jeff Trawick
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 =