From a3fdb09849d58779ba21cd18d136e1137fba373e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Fri, 8 Aug 2014 10:07:14 +0000 Subject: [PATCH] Add support for Apache 2.4. --- www/mod_fastcgi/Makefile | 3 +- www/mod_fastcgi/files/patch-fcgi.h | 97 +++++++++++++++++++++ www/mod_fastcgi/files/patch-fcgi_protocol.c | 11 +++ www/mod_fastcgi/files/patch-fcgi_util.c | 4 +- www/mod_fastcgi/files/patch-mod_fastcgi.c | 4 +- 5 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 www/mod_fastcgi/files/patch-fcgi.h create mode 100644 www/mod_fastcgi/files/patch-fcgi_protocol.c diff --git a/www/mod_fastcgi/Makefile b/www/mod_fastcgi/Makefile index c52fdb03923e..623886c8cc91 100644 --- a/www/mod_fastcgi/Makefile +++ b/www/mod_fastcgi/Makefile @@ -3,6 +3,7 @@ PORTNAME= mod_fastcgi PORTVERSION= 2.4.7 +PORTREVISION= 1 CATEGORIES= www MASTER_SITES= http://www.fastcgi.com/dist/ \ LOCAL/ohauer @@ -12,7 +13,7 @@ DIST_SUBDIR= apache2 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 diff --git a/www/mod_fastcgi/files/patch-fcgi.h b/www/mod_fastcgi/files/patch-fcgi.h new file mode 100644 index 000000000000..609673f7ce28 --- /dev/null +++ b/www/mod_fastcgi/files/patch-fcgi.h @@ -0,0 +1,97 @@ +--- fcgi.h.orig ++++ fcgi.h +@@ -57,10 +57,14 @@ + #define XtOffsetOf APR_OFFSETOF + #define ap_select select + +-#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 ++#if MODULE_MAGIC_NUMBER_MAJOR < 20081201 ++#define ap_unixd_config unixd_config ++#endif ++ ++#define ap_user_id ap_unixd_config.user_id ++#define ap_group_id ap_unixd_config.group_id ++#define ap_user_name ap_unixd_config.user_name ++#define ap_suexec_enabled ap_unixd_config.suexec_enabled + + #ifndef S_ISDIR + #define S_ISDIR(m) (((m)&(S_IFMT)) == (S_IFDIR)) +@@ -354,42 +358,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) ++#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 __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_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 */ + diff --git a/www/mod_fastcgi/files/patch-fcgi_protocol.c b/www/mod_fastcgi/files/patch-fcgi_protocol.c new file mode 100644 index 000000000000..ee9cf56651f8 --- /dev/null +++ b/www/mod_fastcgi/files/patch-fcgi_protocol.c @@ -0,0 +1,11 @@ +--- fcgi_protocol.c.orig ++++ fcgi_protocol.c +@@ -475,7 +475,7 @@ + ap_log_rerror(FCGI_LOG_ERR_NOERRNO, fr->r, + "FastCGI: comm with server \"%s\" aborted: protocol error: " + "invalid FCGI_END_REQUEST size: " +- "%d != sizeof(FCGI_EndRequestBody)(%d)", ++ "%d != sizeof(FCGI_EndRequestBody)(%zu)", + fr->fs_path, fr->dataLen, sizeof(FCGI_EndRequestBody)); + return HTTP_INTERNAL_SERVER_ERROR; + } diff --git a/www/mod_fastcgi/files/patch-fcgi_util.c b/www/mod_fastcgi/files/patch-fcgi_util.c index e2bde2354260..2bcf4031d1dc 100644 --- a/www/mod_fastcgi/files/patch-fcgi_util.c +++ b/www/mod_fastcgi/files/patch-fcgi_util.c @@ -1,5 +1,5 @@ ---- fcgi_util.c.orig 2009-07-08 17:16:29.816884000 +0800 -+++ fcgi_util.c 2009-07-09 08:43:09.222180000 +0800 +--- fcgi_util.c.orig ++++ fcgi_util.c @@ -268,13 +268,17 @@ /* Get the user membership for the file's group. If the * uid is a member, check the group bits. */ diff --git a/www/mod_fastcgi/files/patch-mod_fastcgi.c b/www/mod_fastcgi/files/patch-mod_fastcgi.c index 5fc79fcf891c..d3cd5ee7fb30 100644 --- a/www/mod_fastcgi/files/patch-mod_fastcgi.c +++ b/www/mod_fastcgi/files/patch-mod_fastcgi.c @@ -1,5 +1,5 @@ ---- ./mod_fastcgi.c.orig 2008-11-09 15:31:03.000000000 +0100 -+++ ./mod_fastcgi.c 2013-03-27 18:51:40.000000000 +0100 +--- mod_fastcgi.c.orig ++++ mod_fastcgi.c @@ -753,6 +753,11 @@ continue; }