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

Collapse All | Expand All

(-)www/libevhtp/Makefile (-36 / +26 lines)
Lines 1-7 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	libevhtp
3
PORTNAME=	libevhtp
4
PORTVERSION=	1.2.10
4
PORTVERSION=	1.2.11
5
CATEGORIES=	www
5
CATEGORIES=	www
6
6
7
MAINTAINER=	ultima1252@gmail.com
7
MAINTAINER=	ultima1252@gmail.com
Lines 14-66 Link Here
14
14
15
USE_GITHUB=	yes
15
USE_GITHUB=	yes
16
GH_ACCOUNT=	ellzey
16
GH_ACCOUNT=	ellzey
17
GH_TAGNAME=	ba4c44e
18
17
19
USES=		cmake:outsource
18
USES=		cmake:outsource
20
USE_LDCONFIG=	yes
19
USE_LDCONFIG=	yes
21
CMAKE_ARGS=	-DCMAKE_INCLUDE_PATH:PATH=include/event2 \
20
CMAKE_ARGS=	-DCMAKE_INCLUDE_PATH:PATH=include/event2 \
22
		-DCMAKE_LIBRARY_PATH:PATH=lib/event2
21
		-DCMAKE_LIBRARY_PATH:PATH=lib/event2
23
CMAKE_BUILD_TYPE=	Release
24
22
25
OPTIONS_DEFINE=	EVHTP_DISABLE_SSL EVHTP_DISABLE_EVTHR EVHTP_DISABLE_REGEX \
23
OPTIONS_DEFINE=	SSL THREADS REGEX STATIC TCP_DEFER_ACCEPT DEBUG
26
				EVHTP_BUILD_SHARED EVHTP_USE_DEFER_ACCEPT
24
OPTIONS_DEFAULT=	SSL THREADS REGEX
27
EVHTP_DISABLE_SSL_DESC=		Disable ssl support
25
OPTIONS_SUB=	yes
28
26
29
EVHTP_DISABLE_SSL_CMAKE_ON=	-DEVHTP_DISABLE_SSL:STRING=ON
27
SSL_CMAKE_ON=			-DEVHTP_DISABLE_SSL:STRING=OFF
30
EVHTP_DISABLE_SSL_CMAKE_OFF=	-DEVHTP_DISABLE_SSL:STRING=OFF
28
SSL_CMAKE_OFF=			-DEVHTP_DISABLE_SSL:STRING=ON
31
EVHTP_DISABLE_EVTHR_DESC=	Disable evthread support
29
THREADS_CMAKE_ON=		-DEVHTP_DISABLE_EVTHR:STRING=OFF
32
EVHTP_DISABLE_EVTHR_CMAKE_ON=	-DEVHTP_DISABLE_EVTHR:STRING=ON
30
THREADS_CMAKE_OFF=		-DEVHTP_DISABLE_EVTHR:STRING=ON
33
EVHTP_DISABLE_EVTHR_CMAKE_OFF=	-DEVHTP_DISABLE_EVTHR:STRING=OFF
31
REGEX_CMAKE_ON=			-DEVHTP_DISABLE_REGEX:STRING=OFF
34
EVHTP_DISABLE_REGEX_DESC=	Disable regex support
32
REGEX_CMAKE_OFF=		-DEVHTP_DISABLE_REGEX:STRING=ON
35
EVHTP_DISABLE_REGEX_CMAKE_ON=	-DEVHTP_DISABLE_REGEX:STRING=ON
33
REGEX_DESC=			Enable regex support
36
EVHTP_DISABLE_REGEX_CMAKE_OFF=	-DEVHTP_DISABLE_REGEX:STRING=OFF
34
STATIC_CMAKE_ON=		-DEVHTP_BUILD_SHARED:STRING=OFF
37
EVHTP_BUILD_SHARED_DESC=	Build shared library too
35
STATIC_CMAKE_OFF=		-DEVHTP_BUILD_SHARED:STRING=ON
38
EVHTP_BUILD_SHARED_CMAKE_ON=	-DEVHTP_BUILD_SHARED:STRING=ON
36
TCP_DEFER_ACCEPT_DESC=		Enable TCP_DEFER_ACCEPT
39
EVHTP_BUILD_SHARED_CMAKE_OFF=	-DEVHTP_BUILD_SHARED:STRING=OFF
37
TCP_DEFER_ACCEPT_CMAKE_ON=	-DEVHTP_USE_DEFER_ACCEPT:STRING=ON
40
EVHTP_USE_DEFER_ACCEPT_DESC=	Enable TCP_DEFER_ACCEPT
38
TCP_DEFER_ACCEPT_CMAKE_OFF=	-DEVHTP_USE_DEFER_ACCEPT:STRING=OFF
41
EVHTP_USE_DEFER_ACCEPT_CMAKE_ON=	-DEVHTP_USE_DEFER_ACCEPT:STRING=ON
39
DEBUG_CMAKE_BUILD_TYPE_ON=	Debug
42
EVHTP_USE_DEFER_ACCEPT_CMAKE_OFF=	-DEVHTP_USE_DEFER_ACCEPT:STRING=OFF
40
DEBUG_CMAKE_BUILD_TYPE_OFF=	Release
43
41
44
OPTIONS_DEFAULT=	EVHTP_BUILD_SHARED
45
46
.include <bsd.port.options.mk>
42
.include <bsd.port.options.mk>
47
43
48
PLIST_FILES=	include/evhtp.h \
44
PLIST_SUB+=	PORTVERSION=${PORTVERSION}
49
		include/evhtp-config.h \
50
		include/htparse.h
51
45
52
.if !exists(${LOCALBASE}/include/onigposix.h) && !${PORT_OPTIONS:MEVHTP_DISABLE_REGEX}
46
post-patch:
53
PLIST_FILES+=	include/onigposix.h
47
	${REINPLACE_CMD} 's/\/evhtp//' ${WRKSRC}/evhtp.pc.in
54
.endif
48
	${REINPLACE_CMD} 's/INCLUDE_INSTALL_DIR}\/evhtp/INCLUDE_INSTALL_DIR}/ ; s/lib\/pkgconfig/libdata\/pkgconfig/ ; s/PATCH_VERSION [0-9]*/PATCH_VERSION ${PORTVERSION:S/1.2.//}/' \
49
		${WRKSRC}/CMakeLists.txt
55
50
56
.if !${PORT_OPTIONS:MEVHTP_DISABLE_EVTHR}
51
post-install:
57
PLIST_FILES+=	include/evthr.h
52
.if ${PORT_OPTIONS:MSTATIC}
53
	${REINPLACE_CMD} '/lib\/libevhtp.so/d' ${TMPPLIST}
58
.endif
54
.endif
59
55
60
.if ${PORT_OPTIONS:MEVHTP_BUILD_SHARED}
61
PLIST_FILES+=	lib/libevhtp.so
62
.else
63
PLIST_FILES+=	lib/libevhtp.a
64
.endif
65
66
.include <bsd.port.mk>
56
.include <bsd.port.mk>
(-)www/libevhtp/distinfo (-2 / +2 lines)
Lines 1-2 Link Here
1
SHA256 (ellzey-libevhtp-1.2.10-ba4c44e_GH0.tar.gz) = d5b022e2a3847ed7344bc7bca7ac7feb6b4a7e877d12452a15a96ba1c760d25a
1
SHA256 (ellzey-libevhtp-1.2.11_GH0.tar.gz) = 0e60ef0b75c9e0351d18e015c9a688a70d9c66d2ca3f6a44a7da7153e11e067d
2
SIZE (ellzey-libevhtp-1.2.10-ba4c44e_GH0.tar.gz) = 373482
2
SIZE (ellzey-libevhtp-1.2.11_GH0.tar.gz) = 429931
(-)www/libevhtp/files/patch-evhtp.c (-22 / +80 lines)
Lines 1-25 Link Here
1
--- evhtp.c.orig	2015-02-24 07:55:55 UTC
1
### Description: Commit 67ed0bc caused ports to break, this
2
### patch will revert the commits until a proper fix is created.
3
### Issue ID: https://github.com/ellzey/libevhtp/issues/201
4
### https://github.com/ellzey/libevhtp/commit/67ed0bce433655dfeab65b797279dd167b394feb
5
6
--- evhtp.c.orig	2015-11-02 23:01:53 UTC
2
+++ evhtp.c
7
+++ evhtp.c
3
@@ -7,6 +7,7 @@
8
@@ -1662,7 +1662,22 @@ _evhtp_create_reply(evhtp_request_t * re
4
 #include <strings.h>
9
             evhtp_headers_add_header(request->headers_out,
5
 #include <inttypes.h>
10
                                      evhtp_header_new("Content-Length", out_buf, 0, 1));
6
 #ifndef WIN32
11
         }
7
+#include <sys/types.h>
12
-    }
8
 #include <sys/socket.h>
13
+        if (!content_type) {
9
 #include <netinet/in.h>
14
+            evhtp_headers_add_header(request->headers_out,
10
 #include <netinet/tcp.h>
15
+                                     evhtp_header_new("Content-Type", "text/plain", 0, 0));
11
@@ -3170,7 +3171,14 @@ evhtp_bind_sockaddr(evhtp_t * htp, struc
16
+	}
17
+    } else {
18
+        if (!evhtp_header_find(request->headers_out, "Content-Length")) {
19
+            const char * chunked = evhtp_header_find(request->headers_out,
20
+                                                     "transfer-encoding");
21
+
22
+            if (!chunked || !strstr(chunked, "chunked")) {
23
+                evhtp_headers_add_header(request->headers_out,
24
+                                         evhtp_header_new("Content-Length", "0", 0, 0));
25
+            }
26
+        }
27
+     }
28
+
29
 check_proto:
30
     /* add the proper keep-alive type headers based on http version */
31
     switch (request->proto) {
32
@@ -1697,11 +1712,6 @@ check_proto:
33
     } /* switch */
12
 
34
 
13
         sock = evconnlistener_get_fd(htp->server);
14
 
35
 
15
+#ifdef TCP_DEFER_ACCEPT
36
-    if (!content_type) {
16
         setsockopt(sock, IPPROTO_TCP, TCP_DEFER_ACCEPT, &one, (ev_socklen_t)sizeof(one));
37
-        evhtp_headers_add_header(request->headers_out,
17
+#elif SO_ACCEPTFILTER
38
-                                 evhtp_header_new("Content-Type", "text/plain", 0, 0));
18
+        struct accept_filter_arg afa;
39
-    }
19
+        bzero(&afa, sizeof(afa));
40
-
20
+        strcpy(afa.af_name, "httpready");
41
     /* attempt to add the status line into a temporary buffer and then use
21
+        setsockopt(sock, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
42
      * evbuffer_add(). Using plain old snprintf() will be faster than
22
+#endif
43
      * evbuffer_add_printf(). If the snprintf() fails, which it rarely should,
23
         setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &one, (ev_socklen_t)sizeof(one));
44
@@ -3094,10 +3104,8 @@ evhtp_send_reply_chunk_start(evhtp_reque
24
     }
45
                  */
25
 #endif
46
                 evhtp_kv_rm_and_free(request->headers_out, content_len);
47
 
48
-#if 0
49
                 evhtp_headers_add_header(request->headers_out,
50
                                          evhtp_header_new("Content-Length", "0", 0, 0));
51
-#endif
52
 
53
                 request->chunked = 1;
54
                 break;
55
@@ -3955,21 +3963,11 @@ evhtp_request_set_bev(evhtp_request_t * 
56
     evhtp_connection_set_bev(request->conn, bev);
57
 }
58
 
59
-void
60
-evhtp_request_set_keepalive(evhtp_request_t * request, int val) {
61
-    request->keepalive = (val > 0) ? 1 : 0;
62
-}
63
-
64
 evhtp_connection_t *
65
 evhtp_request_get_connection(evhtp_request_t * request) {
66
     return request->conn;
67
 }
68
 
69
-evhtp_proto
70
-evhtp_request_get_proto(evhtp_request_t * request) {
71
-    return request->proto;
72
-}
73
-
74
 inline void
75
 evhtp_connection_set_timeouts(evhtp_connection_t   * c,
76
                               const struct timeval * rtimeo,
77
@@ -4378,4 +4376,4 @@ evhtp_make_request(evhtp_connection_t * 
78
 unsigned int
79
 evhtp_request_status(evhtp_request_t * r) {
80
     return htparser_get_status(r->conn->parser);
81
-}
82
\ No newline at end of file
83
+}
(-)www/libevhtp/files/patch-evhtp.h (-11 lines)
Lines 1-11 Link Here
1
--- evhtp.h.orig	2015-10-29 19:51:50 UTC
2
+++ evhtp.h
3
@@ -1285,7 +1285,7 @@ EVHTP_EXPORT evhtp_connection_t *
4
 evhtp_connection_new(evbase_t * evbase, const char * addr, uint16_t port);
5
 
6
 #ifndef DISABLE_SSL
7
-evhtp_connection_t * evhtp_connection_ssl_new(evbase_t * evbase, const char * addr, uint16_t port, evhtp_ssl_ctx_t * ctx);
8
+EVHTP_EXPORT evhtp_connection_t * evhtp_connection_ssl_new(evbase_t * evbase, const char * addr, uint16_t port, evhtp_ssl_ctx_t * ctx);
9
 #endif
10
 
11
 
(-)www/libevhtp/pkg-plist (+9 lines)
Line 0 Link Here
1
include/evhtp.h
2
include/evhtp-config.h
3
include/htparse.h
4
libdata/pkgconfig/evhtp.pc
5
lib/libevhtp.so
6
lib/libevhtp.so.%%PORTVERSION%%
7
%%REGEX%%include/onigposix.h
8
%%THREADS%%include/evthr.h
9
%%STATIC%%lib/libevhtp.a

Return to bug 204681