From admin@omnilan.de  Wed Jun 19 09:02:02 2013
Return-Path: <admin@omnilan.de>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id 14C0B946
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 19 Jun 2013 09:02:02 +0000 (UTC)
	(envelope-from admin@omnilan.de)
Received: from mx0.gentlemail.de (mx0.gentlemail.de [IPv6:2a00:e10:2800::a130])
	by mx1.freebsd.org (Postfix) with ESMTP id B367012BF
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 19 Jun 2013 09:02:01 +0000 (UTC)
Received: from mailhub.inop.rzme.omnilan.net (s0.omnilan.de [IPv6:2a00:e10:2800::243])
	by mx0.gentlemail.de (8.14.5/8.14.5) with ESMTP id r5J8tS7F051317
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 19 Jun 2013 10:55:33 +0200 (CEST)
	(envelope-from admin@wega.lyra.inop.rzme.omnilan.net)
Received: from wega.lyra.inop.rzme.omnilan.net (wega.lyra.inop.rzme.omnilan.net [IPv6:2a00:e10:2804:a00::11])
	by mailhub.inop.rzme.omnilan.net (8.14.5/8.14.5) with ESMTP id r5J8tdPW007466
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 19 Jun 2013 10:55:39 +0200 (CEST)
	(envelope-from admin@wega.lyra.inop.rzme.omnilan.net)
Received: (from root@localhost)
	by wega.lyra.inop.rzme.omnilan.net (8.14.5/8.14.5/Submit) id r5J8tVLP052654;
	Wed, 19 Jun 2013 10:55:31 +0200 (CEST)
	(envelope-from admin)
Message-Id: <201306190855.r5J8tVLP052654@wega.lyra.inop.rzme.omnilan.net>
Date: Wed, 19 Jun 2013 10:55:31 +0200 (CEST)
From: freebsd@omnilan.de
Reply-To:
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: port www/mod_fastcgi extra patch to support apache24
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         179710
>Category:       ports
>Synopsis:       port www/mod_fastcgi extra patch to support apache24
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 19 09:10:01 UTC 2013
>Closed-Date:    
>Last-Modified:  Fri Feb 21 18:10:00 UTC 2014
>Originator:     Harald Schmalzbauer
>Release:        FreeBSD 9.1-RC3 amd64
>Organization:
OmniLAN
>Environment:
System: FreeBSD wega.lyra.inop.rzme.omnilan.net 9.1-RC3 FreeBSD 9.1-RC3 #2 r243327M: Tue Nov 20 11:00:14 CET 2012 admin@gundi.vnl.wdn.omnilan.net:/usr/local/share/deploy-tools/obj-amd64/VMWARE/usr/local/share/deploy-tools/RELENG_9_1/src/sys/VMWARE.wega amd64


	
>Description:
	mod_fastcgi doesn't compile against apache httpd version 2.4 by default since there were some definition changes.
>How-To-Repeat:
	Ports Makefile already reflect that it's only working up to version 2.2 - won't build if you install apache24 and try to make mod_fastcgi
>Fix:

	This patch originates here: https://github.com/revnode/fastcgi/blob/master/debian/patches/byte-compile-against-apache24.diff

--- ports/www/mod_fastcgi/Makefile.orig	2013-06-19 08:09:43.435419733 +0000
+++ ports/www/mod_fastcgi/Makefile	2013-06-19 08:09:48.161416625 +0000
@@ -14,7 +14,7 @@
 
 MAKE_JOBS_SAFE=	yes
 
-USE_APACHE=	22
+USE_APACHE=	22+
 AP_FAST_BUILD=	yes
 AP_GENPLIST=	yes
 SRC_FILE=	*.c
--- /dev/null	2013-06-19 08:11:00.000000000 +0000
+++ ports/www/mod_fastcgi/files/patch-build24.diff	2013-06-19 08:07:31.946416573 +0000
@@ -0,0 +1,133 @@
+--- fcgi.h.orig	2008-09-22 10:36:06.000000000 +0000
++++ fcgi.h	2013-06-19 08:06:28.000000000 +0000
+@@ -34,6 +34,10 @@
+ #define APACHE2
+ #endif
+ 
++#ifdef AP_DECLARE_MODULE
++#define APACHE24
++#endif
++
+ #ifdef APACHE2
+ 
+ #include <sys/stat.h>
+@@ -57,10 +61,16 @@
+ #define XtOffsetOf APR_OFFSETOF
+ #define ap_select select
+ 
++#ifdef APACHE24
++#define unixd_config ap_unixd_config
++#endif
++
++#ifdef APACHE2
+ #define ap_user_id        unixd_config.user_id
+ #define ap_group_id       unixd_config.group_id
+ #define ap_user_name      unixd_config.user_name
+ #define ap_suexec_enabled unixd_config.suexec_enabled
++#endif
+ 
+ #ifndef S_ISDIR
+ #define S_ISDIR(m)      (((m)&(S_IFMT)) == (S_IFDIR))
+@@ -354,42 +364,42 @@
+ #ifdef APACHE2
+ 
+ #ifdef WIN32
+-#define FCGI_LOG_EMERG          __FILE__,__LINE__,APLOG_EMERG,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_ALERT          __FILE__,__LINE__,APLOG_ALERT,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_CRIT           __FILE__,__LINE__,APLOG_CRIT,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_ERR            __FILE__,__LINE__,APLOG_ERR,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_WARN           __FILE__,__LINE__,APLOG_WARNING,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_NOTICE         __FILE__,__LINE__,APLOG_NOTICE,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_INFO           __FILE__,__LINE__,APLOG_INFO,APR_FROM_OS_ERROR(GetLastError())
+-#define FCGI_LOG_DEBUG          __FILE__,__LINE__,APLOG_DEBUG,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_EMERG APLOG_MARK,APLOG_EMERG,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_ALERT APLOG_MARK,APLOG_ALERT,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_CRIT APLOG_MARK,APLOG_CRIT,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_ERR APLOG_MARK,APLOG_ERR,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_WARN APLOG_MARK,APLOG_WARNING,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_NOTICE APLOG_MARK,APLOG_NOTICE,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_INFO APLOG_MARK,APLOG_INFO,APR_FROM_OS_ERROR(GetLastError())
++#define FCGI_LOG_DEBUG APLOG_MARK,APLOG_DEBUG,APR_FROM_OS_ERROR(GetLastError())
+ #else /* !WIN32 */
+-#define FCGI_LOG_EMERG          __FILE__,__LINE__,APLOG_EMERG,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_ALERT          __FILE__,__LINE__,APLOG_ALERT,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_CRIT           __FILE__,__LINE__,APLOG_CRIT,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_ERR            __FILE__,__LINE__,APLOG_ERR,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_WARN           __FILE__,__LINE__,APLOG_WARNING,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_NOTICE         __FILE__,__LINE__,APLOG_NOTICE,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_INFO           __FILE__,__LINE__,APLOG_INFO,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_DEBUG          __FILE__,__LINE__,APLOG_DEBUG,APR_FROM_OS_ERROR(errno)
+-#endif
+-
+-#define FCGI_LOG_EMERG_ERRNO    __FILE__,__LINE__,APLOG_EMERG,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_ALERT_ERRNO    __FILE__,__LINE__,APLOG_ALERT,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_CRIT_ERRNO     __FILE__,__LINE__,APLOG_CRIT,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_ERR_ERRNO      __FILE__,__LINE__,APLOG_ERR,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_WARN_ERRNO     __FILE__,__LINE__,APLOG_WARNING,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_NOTICE_ERRNO   __FILE__,__LINE__,APLOG_NOTICE,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_INFO_ERRNO     __FILE__,__LINE__,APLOG_INFO,APR_FROM_OS_ERROR(errno)
+-#define FCGI_LOG_DEBUG_ERRNO    __FILE__,__LINE__,APLOG_DEBUG,APR_FROM_OS_ERROR(errno)
+-
+-#define FCGI_LOG_EMERG_NOERRNO    __FILE__,__LINE__,APLOG_EMERG,0
+-#define FCGI_LOG_ALERT_NOERRNO    __FILE__,__LINE__,APLOG_ALERT,0
+-#define FCGI_LOG_CRIT_NOERRNO     __FILE__,__LINE__,APLOG_CRIT,0
+-#define FCGI_LOG_ERR_NOERRNO      __FILE__,__LINE__,APLOG_ERR,0
+-#define FCGI_LOG_WARN_NOERRNO     __FILE__,__LINE__,APLOG_WARNING,0
+-#define FCGI_LOG_NOTICE_NOERRNO   __FILE__,__LINE__,APLOG_NOTICE,0
+-#define FCGI_LOG_INFO_NOERRNO     __FILE__,__LINE__,APLOG_INFO,0
+-#define FCGI_LOG_DEBUG_NOERRNO    __FILE__,__LINE__,APLOG_DEBUG,0
++#define FCGI_LOG_EMERG APLOG_MARK,APLOG_EMERG,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_ALERT APLOG_MARK,APLOG_ALERT,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_CRIT APLOG_MARK,APLOG_CRIT,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_ERR APLOG_MARK,APLOG_ERR,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_WARN APLOG_MARK,APLOG_WARNING,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_NOTICE APLOG_MARK,APLOG_NOTICE,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_INFO APLOG_MARK,APLOG_INFO,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_DEBUG APLOG_MARK,APLOG_DEBUG,APR_FROM_OS_ERROR(errno)
++#endif
++
++#define FCGI_LOG_EMERG_ERRNO APLOG_MARK,APLOG_EMERG,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_ALERT_ERRNO APLOG_MARK,APLOG_ALERT,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_CRIT_ERRNO APLOG_MARK,APLOG_CRIT,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_ERR_ERRNO APLOG_MARK,APLOG_ERR,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_WARN_ERRNO APLOG_MARK,APLOG_WARNING,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_NOTICE_ERRNO APLOG_MARK,APLOG_NOTICE,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_INFO_ERRNO APLOG_MARK,APLOG_INFO,APR_FROM_OS_ERROR(errno)
++#define FCGI_LOG_DEBUG_ERRNO APLOG_MARK,APLOG_DEBUG,APR_FROM_OS_ERROR(errno)
++
++#define FCGI_LOG_EMERG_NOERRNO APLOG_MARK,APLOG_EMERG,0
++#define FCGI_LOG_ALERT_NOERRNO APLOG_MARK,APLOG_ALERT,0
++#define FCGI_LOG_CRIT_NOERRNO APLOG_MARK,APLOG_CRIT,0
++#define FCGI_LOG_ERR_NOERRNO APLOG_MARK,APLOG_ERR,0
++#define FCGI_LOG_WARN_NOERRNO APLOG_MARK,APLOG_WARNING,0
++#define FCGI_LOG_NOTICE_NOERRNO APLOG_MARK,APLOG_NOTICE,0
++#define FCGI_LOG_INFO_NOERRNO APLOG_MARK,APLOG_INFO,0
++#define FCGI_LOG_DEBUG_NOERRNO APLOG_MARK,APLOG_DEBUG,0
+ 
+ #else /* !APACHE2 */
+ 
+--- mod_fastcgi.c.orig	2013-06-19 08:01:23.000000000 +0000
++++ mod_fastcgi.c	2013-06-19 08:06:28.000000000 +0000
+@@ -97,6 +97,10 @@
+ } while (0)
+ #endif
+ 
++#ifdef APACHE24
++module AP_MODULE_DECLARE_DATA fastcgi_module;
++#endif
++
+ /*
+  * Global variables
+  */
+@@ -3014,7 +3018,11 @@
+     ap_hook_fixups(fixups, NULL, NULL, APR_HOOK_MIDDLE); 
+ }
+ 
++#ifdef APACHE24
++AP_DECLARE_MODULE(fastcgi) =
++#else
+ module AP_MODULE_DECLARE_DATA fastcgi_module =
++#endif
+ {
+     STANDARD20_MODULE_STUFF,
+     fcgi_config_create_dir_config,  /* per-directory config creator */
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->apache 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Wed Jun 19 09:10:10 UTC 2013 
Responsible-Changed-Why:  
Over to maintainer (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=179710 

From: "Mikhail T." <mi+thun@aldan.algebra.com>
To: bug-followup@FreeBSD.org, freebsd@omnilan.de
Cc: hollywar@mail.holywar.net, Olli Hauer <ohauer@FreeBSD.org>
Subject: Re: ports/179710: port www/mod_fastcgi extra patch to support apache24
Date: Fri, 21 Feb 2014 13:04:30 -0500

 This is a multi-part message in MIME format.
 --------------080106070909020008010700
 Content-Type: multipart/alternative;
  boundary="------------030502090704080407010503"
 
 
 --------------030502090704080407010503
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 
 The attached update adds the same patch as submitted by Harald and a couple of
 others developed since. Together these make the port compilable against both 2.2
 and 2.4 versions of Apache, pick minor nits in code and documentation and add
 new functionality (courtesy of
 https://github.com/ByteInternet/libapache-mod-fastcgi/).
 
 Please, take a look at your earliest convenience. Thank you! Yours,
 
     -mi
 
 P.S. GIven how long this PR is, I'm tempted to claim "maintainer timeout" rather
 soon.
 
 --------------030502090704080407010503
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 
 <html>
   <head>
 
     <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
   </head>
   <body bgcolor="#FFFFFF" text="#000000">
     The attached update adds the same patch as submitted by Harald and a
     couple of others developed since. Together these make the port
     compilable against both 2.2 and 2.4 versions of Apache, pick minor
     nits in code and documentation and add new functionality (courtesy
     of <a class="moz-txt-link-freetext" href="https://github.com/ByteInternet/libapache-mod-fastcgi/">https://github.com/ByteInternet/libapache-mod-fastcgi/</a>).<br>
     <br>
     Please, take a look at your earliest convenience. Thank you! Yours,<br>
     <blockquote>-mi<br>
     </blockquote>
     P.S. GIven how long this PR is, I'm tempted to claim "maintainer
     timeout" rather soon.<br>
   </body>
 </html>
 
 --------------030502090704080407010503--
 
 --------------080106070909020008010700
 Content-Type: text/x-diff;
  name="mod_fastcgi-compat-Apache-2.4.diff"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="mod_fastcgi-compat-Apache-2.4.diff"
 
 Index: Makefile
 ===================================================================
 --- Makefile	(revision 343675)
 +++ Makefile	(working copy)
 @@ -3,6 +3,7 @@
  
  PORTNAME=	mod_fastcgi
  PORTVERSION=	2.4.7
 +PORTREVISION=	1
  CATEGORIES=	www
  MASTER_SITES=	http://www.fastcgi.com/dist/ \
  		LOCAL/ohauer
 @@ -9,10 +10,16 @@
  DISTNAME=	mod_fastcgi-SNAP-0910052141
  DIST_SUBDIR=	apache2
  
 +PATCHFILES=	doc-misc-typo-fix.diff	\
 +		byte-new-packet-type-byte_acc.diff \
 +		byte-compile-against-apache24.diff
 +PATCH_SITES=	https://raw.github.com/ByteInternet/libapache-mod-fastcgi/byte/debian/patches/
 +PATCH_DIST_STRIP=-p1
 +
  MAINTAINER=	apache@FreeBSD.org
  COMMENT=	Apache 2.2 fast-cgi module
  
 -USE_APACHE=	22
 +USE_APACHE=	22+
  AP_FAST_BUILD=	yes
  AP_GENPLIST=	yes
  SRC_FILE=	*.c
 Index: distinfo
 ===================================================================
 --- distinfo	(revision 343675)
 +++ distinfo	(working copy)
 @@ -1,2 +1,8 @@
  SHA256 (apache2/mod_fastcgi-SNAP-0910052141.tar.gz) = e6564ae206284806c781834e9e89aa4b0a4dd647b45c6da5cc389c65a984bdc7
  SIZE (apache2/mod_fastcgi-SNAP-0910052141.tar.gz) = 103255
 +SHA256 (apache2/doc-misc-typo-fix.diff) = 037f5ca88fa2bb0ce863c8f0c6583d7b9a69350de7968e6ea5660a0c16c8f252
 +SIZE (apache2/doc-misc-typo-fix.diff) = 1133
 +SHA256 (apache2/byte-new-packet-type-byte_acc.diff) = a1aa659d06ecb4d310cc5b9b7f8276173c44ac89e1bd7554bc95027904f08bff
 +SIZE (apache2/byte-new-packet-type-byte_acc.diff) = 9581
 +SHA256 (apache2/byte-compile-against-apache24.diff) = e405f365fac2d80c181a7ddefc9c6332cac7766cb9c67c464c272d595cde1800
 +SIZE (apache2/byte-compile-against-apache24.diff) = 6882
 Index: files/patch-fix-cast-warning-in-fcgi_config
 ===================================================================
 --- files/patch-fix-cast-warning-in-fcgi_config	(revision 0)
 +++ files/patch-fix-cast-warning-in-fcgi_config	(working copy)
 @@ -0,0 +1,9 @@
 +--- fcgi_config.c	2007-10-28 20:22:00.000000000 -0400
 ++++ fcgi_config.c	2013-03-26 14:44:16.000000000 -0400
 +@@ -1205,5 +1205,5 @@
 +         return ap_psprintf(cmd->temp_pool, "%s: unknown option: \"%s\"", cmd->cmd->name, compat);
 + 
 +-    switch((int)cmd->info) {
 ++    switch((intptr_t)cmd->info) {
 +         case FCGI_AUTH_TYPE_AUTHENTICATOR:
 +             dir_config->authenticator = auth_server;
 
 
 --------------080106070909020008010700--
>Unformatted:
