Browse Source

Merge pull request #8928 from neheb/evh

libevhtp: Update to 1.2.0
lilik-openwrt-22.03
Rosen Penev 6 years ago
committed by GitHub
parent
commit
148e921279
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 29 deletions
  1. +11
    -16
      libs/libevhtp/Makefile
  2. +8
    -8
      libs/libevhtp/patches/020-openssl-1.1-compatibility.patch
  3. +24
    -5
      libs/libevhtp/patches/021-openssl-thread.patch
  4. +12
    -0
      libs/libevhtp/patches/030-uclibc.patch

+ 11
- 16
libs/libevhtp/Makefile View File

@ -11,25 +11,28 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=libevhtp PKG_NAME:=libevhtp
PKG_VERSION:=1.1.6
PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_VERSION:=1.2.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/criticalstack/libevhtp/tar.gz/$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/criticalstack/libevhtp/tar.gz/$(PKG_VERSION)?
PKG_HASH:=725dd0a32237b2a097cdc2003d09278a082ccce310aaba7441a5fd8fa8f26635
PKG_HASH:=d8d98072693f5f68ccd74d327dedfa2f6add4446ac2799689c2f58dd480aa301
PKG_MAINTAINER:=
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_INSTALL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/libevhtp define Package/libevhtp
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=A more flexible replacement for libevent's httpd API TITLE:=A more flexible replacement for libevent's httpd API
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
URL:=https://github.com/ellzey/libevhtp
DEPENDS:=+libevent2 +libevent2-openssl +libevent2-pthreads +libopenssl +libpthread
URL:=https://github.com/criticalstack/libevhtp
DEPENDS:=+libevent2 +libevent2-openssl +libevent2-pthreads
endef endef
define Package/libevhtp/description define Package/libevhtp/description
@ -38,12 +41,4 @@ define Package/libevhtp/description
meaning the developer never thought of it being used for creating a full-fledged HTTP service. meaning the developer never thought of it being used for creating a full-fledged HTTP service.
endef endef
include $(INCLUDE_DIR)/cmake.mk
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/{include,lib}
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libevhtp)) $(eval $(call BuildPackage,libevhtp))

+ 8
- 8
libs/libevhtp/patches/020-openssl-1.1-compatibility.patch View File

@ -1,6 +1,6 @@
--- a/evhtp.c --- a/evhtp.c
+++ b/evhtp.c +++ b/evhtp.c
@@ -1686,16 +1686,15 @@ _evhtp_ssl_thread_lock(int mode, int typ
@@ -1817,16 +1817,15 @@ _evhtp_ssl_thread_lock(int mode, int typ
#endif #endif
static void static void
_evhtp_ssl_delete_scache_ent(evhtp_ssl_ctx_t * ctx, evhtp_ssl_sess_t * sess) { _evhtp_ssl_delete_scache_ent(evhtp_ssl_ctx_t * ctx, evhtp_ssl_sess_t * sess) {
@ -22,7 +22,7 @@
if (cfg->scache_del) { if (cfg->scache_del) {
(cfg->scache_del)(htp, sid, slen); (cfg->scache_del)(htp, sid, slen);
@@ -1706,14 +1705,17 @@ static int
@@ -1837,14 +1836,17 @@ static int
_evhtp_ssl_add_scache_ent(evhtp_ssl_t * ssl, evhtp_ssl_sess_t * sess) { _evhtp_ssl_add_scache_ent(evhtp_ssl_t * ssl, evhtp_ssl_sess_t * sess) {
evhtp_connection_t * connection; evhtp_connection_t * connection;
evhtp_ssl_cfg_t * cfg; evhtp_ssl_cfg_t * cfg;
@ -44,7 +44,7 @@
SSL_set_timeout(sess, cfg->scache_timeout); SSL_set_timeout(sess, cfg->scache_timeout);
@@ -1725,7 +1727,7 @@ _evhtp_ssl_add_scache_ent(evhtp_ssl_t *
@@ -1856,7 +1858,7 @@ _evhtp_ssl_add_scache_ent(evhtp_ssl_t *
} }
static evhtp_ssl_sess_t * static evhtp_ssl_sess_t *
@ -53,7 +53,7 @@
evhtp_connection_t * connection; evhtp_connection_t * connection;
evhtp_ssl_cfg_t * cfg; evhtp_ssl_cfg_t * cfg;
evhtp_ssl_sess_t * sess; evhtp_ssl_sess_t * sess;
@@ -1767,12 +1769,12 @@ _evhtp_ssl_servername(evhtp_ssl_t * ssl,
@@ -1898,12 +1900,12 @@ _evhtp_ssl_servername(evhtp_ssl_t * ssl,
connection->vhost_via_sni = 1; connection->vhost_via_sni = 1;
SSL_set_SSL_CTX(ssl, evhtp_vhost->ssl_ctx); SSL_set_SSL_CTX(ssl, evhtp_vhost->ssl_ctx);
@ -69,7 +69,7 @@
} }
return SSL_TLSEXT_ERR_OK; return SSL_TLSEXT_ERR_OK;
@@ -3017,15 +3019,21 @@ evhtp_ssl_init(evhtp_t * htp, evhtp_ssl_
@@ -3197,15 +3199,21 @@ evhtp_ssl_init(evhtp_t * htp, evhtp_ssl_
return -1; return -1;
} }
@ -91,7 +91,7 @@
#if OPENSSL_VERSION_NUMBER >= 0x10000000L #if OPENSSL_VERSION_NUMBER >= 0x10000000L
SSL_CTX_set_options(htp->ssl_ctx, SSL_MODE_RELEASE_BUFFERS); SSL_CTX_set_options(htp->ssl_ctx, SSL_MODE_RELEASE_BUFFERS);
@@ -3062,7 +3070,11 @@ evhtp_ssl_init(evhtp_t * htp, evhtp_ssl_
@@ -3242,7 +3250,11 @@ evhtp_ssl_init(evhtp_t * htp, evhtp_ssl_
SSL_CTX_set_verify(htp->ssl_ctx, cfg->verify_peer, cfg->x509_verify_cb); SSL_CTX_set_verify(htp->ssl_ctx, cfg->verify_peer, cfg->x509_verify_cb);
if (cfg->x509_chk_issued_cb != NULL) { if (cfg->x509_chk_issued_cb != NULL) {
@ -117,7 +117,7 @@
#else #else
typedef void evhtp_ssl_sess_t; typedef void evhtp_ssl_sess_t;
typedef void evhtp_ssl_t; typedef void evhtp_ssl_t;
@@ -154,9 +159,9 @@ typedef int (*evhtp_headers_iterator)(ev
@@ -157,9 +162,9 @@ typedef int (*evhtp_headers_iterator)(ev
typedef int (*evhtp_ssl_verify_cb)(int pre_verify, evhtp_x509_store_ctx_t * ctx); typedef int (*evhtp_ssl_verify_cb)(int pre_verify, evhtp_x509_store_ctx_t * ctx);
typedef int (*evhtp_ssl_chk_issued_cb)(evhtp_x509_store_ctx_t * ctx, evhtp_x509_t * x, evhtp_x509_t * issuer); typedef int (*evhtp_ssl_chk_issued_cb)(evhtp_x509_store_ctx_t * ctx, evhtp_x509_t * x, evhtp_x509_t * issuer);
@ -129,4 +129,4 @@
+typedef evhtp_ssl_sess_t * (*evhtp_ssl_scache_get)(evhtp_connection_t * connection, evhtp_ssl_data_t * sid, int sid_len); +typedef evhtp_ssl_sess_t * (*evhtp_ssl_scache_get)(evhtp_connection_t * connection, evhtp_ssl_data_t * sid, int sid_len);
typedef void * (*evhtp_ssl_scache_init)(evhtp_t *); typedef void * (*evhtp_ssl_scache_init)(evhtp_t *);
#define EVHTP_VERSION "1.1.6"
#define EVHTP_VERSION "1.2.0"

+ 24
- 5
libs/libevhtp/patches/021-openssl-thread.patch View File

@ -1,21 +1,40 @@
diff --git a/evhtp.c b/evhtp.c
index 24687be..b646925 100644
--- a/evhtp.c --- a/evhtp.c
+++ b/evhtp.c +++ b/evhtp.c
@@ -1667,9 +1667,9 @@ _evhtp_accept_cb(evserv_t * serv, int fd, struct sockaddr * s, int sl, void * ar
@@ -1797,10 +1797,10 @@ _evhtp_accept_cb(evserv_t * serv, int fd, struct sockaddr * s, int sl, void * ar
}
#ifndef EVHTP_DISABLE_SSL #ifndef EVHTP_DISABLE_SSL
#ifndef EVHTP_DISABLE_EVTHR
-#ifndef EVHTP_DISABLE_EVTHR
-static unsigned long -static unsigned long
-_evhtp_ssl_get_thread_id(void) { -_evhtp_ssl_get_thread_id(void) {
- return (unsigned long)pthread_self(); - return (unsigned long)pthread_self();
+#if !defined(EVHTP_DISABLE_EVTHR) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
+static void +static void
+_evhtp_ssl_get_thread_id(CRYPTO_THREADID *id) { +_evhtp_ssl_get_thread_id(CRYPTO_THREADID *id) {
+ CRYPTO_THREADID_set_numeric(id, (unsigned long)pthread_self()); + CRYPTO_THREADID_set_numeric(id, (unsigned long)pthread_self());
} }
static void static void
@@ -2999,7 +2999,7 @@ evhtp_ssl_use_threads(void) {
@@ -3050,7 +3050,9 @@ evhtp_use_threads(evhtp_t * htp, evhtp_thread_init_cb init_cb, int nthreads, voi
htp->thread_init_cbarg = arg;
#ifndef EVHTP_DISABLE_SSL
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
evhtp_ssl_use_threads();
+#endif
#endif
if (!(htp->thr_pool = evthr_pool_new(nthreads, _evhtp_thread_init, htp))) {
@@ -3161,7 +3163,7 @@ evhtp_set_post_accept_cb(evhtp_t * htp, evhtp_post_accept_cb cb, void * arg) {
}
#ifndef EVHTP_DISABLE_SSL
-#ifndef EVHTP_DISABLE_EVTHR
+#if !defined(EVHTP_DISABLE_EVTHR) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
int
evhtp_ssl_use_threads(void) {
int i;
@@ -3179,7 +3181,7 @@ evhtp_ssl_use_threads(void) {
pthread_mutex_init(&(ssl_locks[i]), NULL); pthread_mutex_init(&(ssl_locks[i]), NULL);
} }


+ 12
- 0
libs/libevhtp/patches/030-uclibc.patch View File

@ -0,0 +1,12 @@
--- a/test_proxy.c
+++ b/test_proxy.c
@@ -5,6 +5,9 @@
#include <errno.h>
#include <evhtp.h>
+#ifndef SIGTERM
+#define SIGTERM 15
+#endif
int
make_request(evbase_t * evbase,

Loading…
Cancel
Save