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 / +91 lines)
Lines 1-25 Link Here
1
--- evhtp.c.orig	2015-02-24 07:55:55 UTC
1
### Description: Commit 6cd8946 and 67ed0bc caused ports to break, this
2
### patch will reverts the commits until a proper fix is created.
3
### Issue ID: https://github.com/ellzey/libevhtp/issues/196
4
### Issue ID: https://github.com/ellzey/libevhtp/issues/201
5
### https://github.com/ellzey/libevhtp/commit/6cd89466fd6bd76c5b8624be65af5893afe3e40c
6
### https://github.com/ellzey/libevhtp/commit/67ed0bce433655dfeab65b797279dd167b394feb
7
8
--- evhtp.c.orig	2015-11-02 23:01:53 UTC
2
+++ evhtp.c
9
+++ evhtp.c
3
@@ -7,6 +7,7 @@
10
@@ -1662,7 +1662,22 @@ _evhtp_create_reply(evhtp_request_t * re
4
 #include <strings.h>
11
             evhtp_headers_add_header(request->headers_out,
5
 #include <inttypes.h>
12
                                      evhtp_header_new("Content-Length", out_buf, 0, 1));
6
 #ifndef WIN32
13
         }
7
+#include <sys/types.h>
14
-    }
8
 #include <sys/socket.h>
15
+        if (!content_type) {
9
 #include <netinet/in.h>
16
+            evhtp_headers_add_header(request->headers_out,
10
 #include <netinet/tcp.h>
17
+                                     evhtp_header_new("Content-Type", "text/plain", 0, 0));
11
@@ -3170,7 +3171,14 @@ evhtp_bind_sockaddr(evhtp_t * htp, struc
18
+	}
19
+    } else {
20
+        if (!evhtp_header_find(request->headers_out, "Content-Length")) {
21
+            const char * chunked = evhtp_header_find(request->headers_out,
22
+                                                     "transfer-encoding");
23
+
24
+            if (!chunked || !strstr(chunked, "chunked")) {
25
+                evhtp_headers_add_header(request->headers_out,
26
+                                         evhtp_header_new("Content-Length", "0", 0, 0));
27
+            }
28
+        }
29
+     }
30
+
31
 check_proto:
32
     /* add the proper keep-alive type headers based on http version */
33
     switch (request->proto) {
34
@@ -1697,11 +1712,6 @@ check_proto:
35
     } /* switch */
12
 
36
 
13
         sock = evconnlistener_get_fd(htp->server);
14
 
37
 
15
+#ifdef TCP_DEFER_ACCEPT
38
-    if (!content_type) {
16
         setsockopt(sock, IPPROTO_TCP, TCP_DEFER_ACCEPT, &one, (ev_socklen_t)sizeof(one));
39
-        evhtp_headers_add_header(request->headers_out,
17
+#elif SO_ACCEPTFILTER
40
-                                 evhtp_header_new("Content-Type", "text/plain", 0, 0));
18
+        struct accept_filter_arg afa;
41
-    }
19
+        bzero(&afa, sizeof(afa));
42
-
20
+        strcpy(afa.af_name, "httpready");
43
     /* attempt to add the status line into a temporary buffer and then use
21
+        setsockopt(sock, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
44
      * evbuffer_add(). Using plain old snprintf() will be faster than
22
+#endif
45
      * evbuffer_add_printf(). If the snprintf() fails, which it rarely should,
23
         setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &one, (ev_socklen_t)sizeof(one));
46
@@ -2356,7 +2366,7 @@ evhtp_connection_pause(evhtp_connection_
24
     }
47
 
25
 #endif
48
     c->paused = 1;
49
 
50
-    bufferevent_disable(c->bev, EV_READ | EV_WRITE);
51
+    bufferevent_disable(c->bev, EV_READ);
52
 
53
     return;
54
 }
55
@@ -3094,10 +3104,8 @@ evhtp_send_reply_chunk_start(evhtp_reque
56
                  */
57
                 evhtp_kv_rm_and_free(request->headers_out, content_len);
58
 
59
-#if 0
60
                 evhtp_headers_add_header(request->headers_out,
61
                                          evhtp_header_new("Content-Length", "0", 0, 0));
62
-#endif
63
 
64
                 request->chunked = 1;
65
                 break;
66
@@ -3955,21 +3963,11 @@ evhtp_request_set_bev(evhtp_request_t * 
67
     evhtp_connection_set_bev(request->conn, bev);
68
 }
69
 
70
-void
71
-evhtp_request_set_keepalive(evhtp_request_t * request, int val) {
72
-    request->keepalive = (val > 0) ? 1 : 0;
73
-}
74
-
75
 evhtp_connection_t *
76
 evhtp_request_get_connection(evhtp_request_t * request) {
77
     return request->conn;
78
 }
79
 
80
-evhtp_proto
81
-evhtp_request_get_proto(evhtp_request_t * request) {
82
-    return request->proto;
83
-}
84
-
85
 inline void
86
 evhtp_connection_set_timeouts(evhtp_connection_t   * c,
87
                               const struct timeval * rtimeo,
88
@@ -4378,4 +4376,4 @@ evhtp_make_request(evhtp_connection_t * 
89
 unsigned int
90
 evhtp_request_status(evhtp_request_t * r) {
91
     return htparser_get_status(r->conn->parser);
92
-}
93
\ No newline at end of file
94
+}
(-)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