View | Details | Raw Unified | Return to bug 193131 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-7 / +30 lines)
Lines 2-7 Link Here
2
2
3
PORTNAME=	libevhtp
3
PORTNAME=	libevhtp
4
PORTVERSION=	1.2.9
4
PORTVERSION=	1.2.9
5
PORTREVISION=	1
5
CATEGORIES=	www
6
CATEGORIES=	www
6
7
7
MAINTAINER=	yan_jingfeng@yahoo.com
8
MAINTAINER=	yan_jingfeng@yahoo.com
Lines 24-40 Link Here
24
		-DCMAKE_LIBRARY_PATH:PATH=lib/event2
25
		-DCMAKE_LIBRARY_PATH:PATH=lib/event2
25
CMAKE_BUILD_TYPE=	Release
26
CMAKE_BUILD_TYPE=	Release
26
27
28
OPTIONS_DEFINE=	EVHTP_DISABLE_SSL EVHTP_DISABLE_EVTHR EVHTP_DISABLE_REGEX \
29
				EVHTP_BUILD_SHARED EVHTP_USE_DEFER_ACCEPT
30
EVHTP_DISABLE_SSL_DESC=		Disable ssl support
31
32
EVHTP_DISABLE_SSL_CMAKE_ON=	-DEVHTP_DISABLE_SSL:STRING=ON
33
EVHTP_DISABLE_SSL_CMAKE_OFF=	-DEVHTP_DISABLE_SSL:STRING=OFF
34
EVHTP_DISABLE_EVTHR_DESC=	Disable evthread support
35
EVHTP_DISABLE_EVTHR_CMAKE_ON=	-DEVHTP_DISABLE_EVTHR:STRING=ON
36
EVHTP_DISABLE_EVTHR_CMAKE_OFF=	-DEVHTP_DISABLE_EVTHR:STRING=OFF
37
EVHTP_DISABLE_REGEX_DESC=	Disable regex support
38
EVHTP_DISABLE_REGEX_CMAKE_ON=	-DEVHTP_DISABLE_REGEX:STRING=ON
39
EVHTP_DISABLE_REGEX_CMAKE_OFF=	-DEVHTP_DISABLE_REGEX:STRING=OFF
40
EVHTP_BUILD_SHARED_DESC=	Build shared library too
41
EVHTP_BUILD_SHARED_CMAKE_ON=	-DEVHTP_BUILD_SHARED:STRING=ON
42
EVHTP_BUILD_SHARED_CMAKE_OFF=	-DEVHTP_BUILD_SHARED:STRING=OFF
43
EVHTP_USE_DEFER_ACCEPT_DESC=	Enable TCP_DEFER_ACCEPT
44
EVHTP_USE_DEFER_ACCEPT_CMAKE_ON=	-DEVHTP_USE_DEFER_ACCEPT:STRING=ON
45
EVHTP_USE_DEFER_ACCEPT_CMAKE_OFF=	-DEVHTP_USE_DEFER_ACCEPT:STRING=OFF
46
47
OPTIONS_DEFAULT=	EVHTP_BUILD_SHARED
48
49
.include <bsd.port.options.mk>
50
27
PLIST_FILES=	include/evhtp.h\
51
PLIST_FILES=	include/evhtp.h\
28
		include/evhtp-config.h \
52
		include/evhtp-config.h \
29
		include/evthr.h \
53
		include/evthr.h \
30
		include/htparse.h \
54
		include/htparse.h \
31
		include/onigposix.h \
55
		include/onigposix.h
32
		lib/libevhtp.a
33
56
34
.include <bsd.port.pre.mk>
57
.if ${PORT_OPTIONS:MEVHTP_BUILD_SHARED}
35
58
PLIST_FILES+=	lib/libevhtp.so
36
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 900000
59
.else
37
BROKEN=		Does not build on FreeBSD 8.x
60
PLIST_FILES+=	lib/libevhtp.a
38
.endif
61
.endif
39
62
40
.include <bsd.port.post.mk>
63
.include <bsd.port.mk>
(-)files/patch-evhtp.c (+28 lines)
Line 0 Link Here
1
--- evhtp.c.orig	2014-03-23 07:50:50.000000000 -0400
2
+++ evhtp.c	2014-08-28 09:08:40.970619326 -0400
3
@@ -6,6 +6,10 @@
4
 #include <signal.h>
5
 #include <strings.h>
6
 #include <inttypes.h>
7
+#ifdef SO_ACCEPTFILTER 
8
+#include <sys/types.h>
9
+#include <sys/socket.h>
10
+#endif
11
 #ifndef WIN32
12
 #include <sys/socket.h>
13
 #include <netinet/in.h>
14
@@ -2740,7 +2744,14 @@
15
 
16
         sock = evconnlistener_get_fd(htp->server);
17
 
18
+#ifdef TCP_DEFER_ACCEPT
19
         setsockopt(sock, IPPROTO_TCP, TCP_DEFER_ACCEPT, &one, (ev_socklen_t)sizeof(one));
20
+#elif SO_ACCEPTFILTER
21
+        struct accept_filter_arg afa;
22
+        bzero(&afa, sizeof(afa));
23
+        strcpy(afa.af_name, "httpready");
24
+        setsockopt(sock, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
25
+#endif
26
         setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &one, (ev_socklen_t)sizeof(one));
27
     }
28
 #endif

Return to bug 193131