include $(TOPDIR)/rules.mk
PKG_NAME:=opensc
-PKG_VERSION:=0.19.0
-PKG_RELEASE:=3
-PKG_HASH:=2c5a0e4df9027635290b9c0f3addbbf0d651db5ddb0ab789cb0e978f02fd5826
+PKG_VERSION:=0.20.0
+PKG_RELEASE:=1
+PKG_HASH:=bbf4b4f4a44463645c90a525e820a8059b2f742a53b7b944f941de3c97ba4863
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
--- a/src/libopensc/sc-ossl-compat.h
+++ b/src/libopensc/sc-ossl-compat.h
-@@ -76,6 +76,21 @@ extern "C" {
- })
- #endif /* OPENSSL_VERSION_NUMBER =< 0x00907000L */
+@@ -101,6 +101,21 @@ extern "C" {
+ #endif
-+/*
+ /*
+ * 1.1.0 depracated ERR_load_crypto_strings(), SSL_load_error_strings(), ERR_free_strings()
+ * and ENGINE_load_dynamic.EVP_CIPHER_CTX_cleanup and EVP_CIPHER_CTX_init are replaced
+ * by EVP_CIPHER_CTX_reset.
+#define EVP_CIPHER_CTX_init(x) EVP_CIPHER_CTX_reset(x)
+#endif
+
- /*
- * 1.1 renames RSA_PKCS1_SSLeay to RSA_PKCS1_OpenSSL
- * use RSA_PKCS1_OpenSSL
---- a/src/pkcs15init/pkcs15-oberthur-awp.c
-+++ b/src/pkcs15init/pkcs15-oberthur-awp.c
-@@ -37,6 +37,7 @@
- #include "libopensc/asn1.h"
-
- #ifdef ENABLE_OPENSSL
-+#include "libopensc/sc-ossl-compat.h"
-
- struct awp_lv zero_lv = { 0, NULL };
- struct awp_lv x30_lv = { 0x10, (unsigned char *)"0000000000000000" };
++/*
+ * OpenSSL-1.1.0-pre5 has hidden the RSA and DSA structures
+ * One can no longer use statements like rsa->n = ...
+ * Macros and defines don't work on all systems, so use inline versions