рдореИрдВрдиреЗ 21 рдорд╛рд░реНрдЪ рдХреЛ рдЬрд╛рд░реА рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ 2.7.0 рдХреЗ рд╕рд╛рде рдПрдЪ2рдУ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдлрд┐рд░, рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреАрдЪреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред
(рджреЛрдиреЛрдВ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ (рдкреНрд░рддрд┐рдмрджреНрдз 0376131) рдФрд░ рдПрдЪ2рдУ v2.2.4)
In file included from //rpmbuild/BUILD/repo/include/h2o/socket.h:34:0,
from //rpmbuild/BUILD/repo/include/h2o/multithread.h:27,
from //rpmbuild/BUILD/repo/include/h2o/hostinfo.h:32,
from //rpmbuild/BUILD/repo/lib/common/hostinfo.c:22:
//rpmbuild/BUILD/repo/include/h2o/openssl_backport.h:37:27: error: static declaration of 'BIO_meth_new' follows non-static declaration
static inline BIO_METHOD *BIO_meth_new(int type, const char *name)
^~~~~~~~~~~~
In file included from /var/tmp/h2o-nightly-2.3.0-0.nightly20180323t195237.git0376131.el7.jp3cki-libressl-2.7.0-root/include/openssl/evp.h:67:0,
from /var/tmp/h2o-nightly-2.3.0-0.nightly20180323t195237.git0376131.el7.jp3cki-libressl-2.7.0-root/include/openssl/hmac.h:67,
from /var/tmp/h2o-nightly-2.3.0-0.nightly20180323t195237.git0376131.el7.jp3cki-libressl-2.7.0-root/include/openssl/ssl.h:149,
from //rpmbuild/BUILD/repo/include/h2o/socket.h:31,
from //rpmbuild/BUILD/repo/include/h2o/multithread.h:27,
from //rpmbuild/BUILD/repo/include/h2o/hostinfo.h:32,
from //rpmbuild/BUILD/repo/lib/common/hostinfo.c:22:
/var/tmp/h2o-nightly-2.3.0-0.nightly20180323t195237.git0376131.el7.jp3cki-libressl-2.7.0-root/include/openssl/bio.h:338:13: note: previous declaration of 'BIO_meth_new' was here
BIO_METHOD *BIO_meth_new(int type, const char *name);
^~~~~~~~~~~~
make[2]: *** [CMakeFiles/libh2o-evloop.dir/lib/common/hostinfo.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рд░рд┐рд▓реАрдЬ рдиреЛрдЯ рдХрд╣рддрд╛ рд╣реИ "рдХрдИ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.2 рдФрд░ 1.1 рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╕рдорд░реНрдерди" рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЪ 2 рдУ рдХрд╛ рдмреИрдХрдкреЛрд░реНрдЯ рдХреЛрдб рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВред
cmake -DWITH_MRUBY=on -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_INCLUDE_PATH=%{libressl_root}/include -DCMAKE_LIBRARY_PATH=%{libressl_root}/lib
рдпрд╣ рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ 2.6.4 рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдиреАрдЪреЗ 3 рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВ:
diff --git a/include/h2o/openssl_backport.h b/include/h2o/openssl_backport.h
index b24440e..b59a519 100644
--- a/include/h2o/openssl_backport.h
+++ b/include/h2o/openssl_backport.h
@@ -25,7 +25,7 @@
#include <stdlib.h>
/* backports for OpenSSL 1.0.2 */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
#define BIO_get_data(bio) ((bio)->ptr)
#define BIO_set_data(bio, p) ((bio)->ptr = (p))
@@ -57,7 +58,7 @@ static inline BIO_METHOD *BIO_meth_new(int type, const char *name)
#endif
/* backports for OpenSSL 1.0.1 and LibreSSL */
-#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
+#if OPENSSL_VERSION_NUMBER < 0x10002000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
#define SSL_is_server(ssl) ((ssl)->server)
``` рдкреИрдЪ
рдЕрдВрддрд░ --git a/deps/neverbleed/neverbleed.cb/deps/neverbleed/neverbleed.c
рд╕реВрдЪрдХрд╛рдВрдХ 29b35a9..42356a6 100644
--- a/deps/neverbleed/neverbleed.c
+++ b/deps/neverbleed/neverbleed.c
@@ -547,7 +547,7 @@ рд╕реНрдерд┐рд░ рдЗрдВрдЯ рд╕рд╛рдЗрди_рд╕реНрдЯрдм (рд╕реНрдЯреНрд░рдХреНрдЪрд░ expbuf_t *buf)
рд╡рд╛рдкрд╕реА 0;
}
-#рдЕрдЧрд░ !OPENSSL_1_1_API
+#if !OPENSSL_1_1_API && (!рдкрд░рд┐рднрд╛рд╖рд┐рдд(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL)
рд╕реНрдерд┐рд░ рд╢реВрдиреНрдп RSA_get0_key(const RSA rsa, const BIGNUM * n, const BIGNUM *e, const BIGNUM * d)
{
```patch
diff --git a/deps/picotls/lib/openssl.c b/deps/picotls/lib/openssl.c
index a19a29a..c4dfccb 100644
--- a/deps/picotls/lib/openssl.c
+++ b/deps/picotls/lib/openssl.c
@@ -41,13 +41,15 @@
#include "picotls.h"
#include "picotls/openssl.h"
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
-#define OPENSSL_1_0_API 1
+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
+#define OPENSSL_1_1_API 1
+#elif defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL
+#define OPENSSL_1_1_API 1
#else
-#define OPENSSL_1_0_API 0
+#define OPENSSL_1_1_API 0
#endif
-#if OPENSSL_1_0_API
+#if !OPENSSL_1_1_API
#define EVP_PKEY_up_ref(p) CRYPTO_add(&(p)->references, 1, CRYPTO_LOCK_EVP_PKEY)
#define X509_STORE_up_ref(p) CRYPTO_add(&(p)->references, 1, CRYPTO_LOCK_X509_STORE)
(рдиреЛрдЯ: "H2O 2.2.4+" рдХрд╛ рдЕрд░реНрде рд╣реИ "H2O 2.2.4 + рдкреИрдЪ")
рдЕрдЪреНрдЫреА рдкрдХрдбрд╝!
рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ < 2.7.0
рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкреИрдЪ рдХреЗ рд╕рд╛рде H2O 2.2.4 рдФрд░ рдорд╛рд╕реНрдЯрд░ рдХреЛ OpenBSD 6.2 рдкрд░ рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ 2.6.3 рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ 2.7.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдпрд╣рд╛рдВ рдкреИрдЪ
рдореИрдВрдиреЗ H2O-HEAD рд╡реЗрдирд┐рд▓рд╛ + рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ 2.7.2 рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЕрдм рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣ рдЕрднреА рдЬрд╛рд░реА рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред
рдпрджрд┐ рдЖрдк рд▓реЛрдЧ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг (v2.2.4) + рд▓рд┐рдмреНрд░реЗрдПрд╕рдПрд╕рдПрд▓ 2.7.x рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрднреА рднреА рдКрдкрд░ рдкреИрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП @kazuho рдзрдиреНрдпрд╡рд╛рджред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╢рд╛рдпрдж рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдиреАрдЪреЗ 3 рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВ:
``` рдкреИрдЪ
рдЕрдВрддрд░ --git a/deps/neverbleed/neverbleed.cb/deps/neverbleed/neverbleed.c
рд╕реВрдЪрдХрд╛рдВрдХ 29b35a9..42356a6 100644
--- a/deps/neverbleed/neverbleed.c
+++ b/deps/neverbleed/neverbleed.c
@@ -547,7 +547,7 @@ рд╕реНрдерд┐рд░ рдЗрдВрдЯ рд╕рд╛рдЗрди_рд╕реНрдЯрдм (рд╕реНрдЯреНрд░рдХреНрдЪрд░ expbuf_t *buf)
рд╡рд╛рдкрд╕реА 0;
}
-#рдЕрдЧрд░ !OPENSSL_1_1_API
+#if !OPENSSL_1_1_API && (!рдкрд░рд┐рднрд╛рд╖рд┐рдд(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL)
рд╕реНрдерд┐рд░ рд╢реВрдиреНрдп RSA_get0_key(const RSA rsa, const BIGNUM * n, const BIGNUM *e, const BIGNUM * d)
{
(рдиреЛрдЯ: "H2O 2.2.4+" рдХрд╛ рдЕрд░реНрде рд╣реИ "H2O 2.2.4 + рдкреИрдЪ")