libimobiledevice: Update to latest git
Upstream makes seriously infrequent updates whereas they have an active git repository with important bugfixes. Also fixed compilation without deprecated OpenSSL APIs. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
ceb1965cb8
commit
4d04be40fb
2 changed files with 100 additions and 22 deletions
|
@ -8,30 +8,29 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=libimobiledevice
|
PKG_NAME:=libimobiledevice
|
||||||
PKG_VERSION:=1.2.1
|
PKG_SOURCE_DATE:=2019-02-16
|
||||||
PKG_RELEASE:=2
|
PKG_SOURCE_VERSION:=0584aa90c93ff6ce46927b8d67887cb987ab9545
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_MAINTAINER:=Lukasz Baj <l.baj@radytek.com>
|
PKG_MAINTAINER:=
|
||||||
PKG_LICENSE:=LGPL-2.1+
|
PKG_LICENSE:=LGPL-2.1+
|
||||||
PKG_LICENSE_FILES:=COPYING.LESSER
|
PKG_LICENSE_FILES:=COPYING.LESSER
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/libimobiledevice/libimobiledevice.git
|
PKG_SOURCE_URL:=https://codeload.github.com/libimobiledevice/libimobiledevice/tar.gz/$(PKG_SOURCE_VERSION)?
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
PKG_HASH:=286e294aad60ef04a39ce70512a0e816415167c982f3e6c2988d9a6b8c5ee29b
|
||||||
PKG_SOURCE_VERSION:=13bf235cac2201747de11652cf14fe2714ca0718
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
||||||
PKG_MIRROR_HASH:=4e8892b27f20216f86d69b36ad2229fca87cdf0a10f8d3e145d01841a492562a
|
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
include $(INCLUDE_DIR)/nls.mk
|
||||||
include ../../lang/python/python-package.mk
|
|
||||||
|
|
||||||
define Package/libimobiledevice/Default
|
define Package/libimobiledevice/Default
|
||||||
TITLE:=A library that talks to Apple devices.
|
TITLE:=A library that talks to Apple devices.
|
||||||
URL:=http://www.libimobiledevice.org/
|
URL:=https://www.libimobiledevice.org/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libimobiledevice/Default/description
|
define Package/libimobiledevice/Default/description
|
||||||
|
@ -62,17 +61,8 @@ define Package/libimobiledevice-utils/description
|
||||||
This package contains the libimobiledevice utilities.
|
This package contains the libimobiledevice utilities.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_VARS += \
|
CONFIGURE_VARS += ac_cv_sys_file_offset_bits=64
|
||||||
libusbmuxd_CFLAGS="-I$(STAGING_DIR)/usr/include" \
|
CONFIGURE_ARGS += --without-cython
|
||||||
libusbmuxd_LIBS="-L$(STAGING_DIR)/usr/lib -lusbmuxd" \
|
|
||||||
openssl_CFLAGS=" " \
|
|
||||||
openssl_LIBS="-L$(STAGING_DIR)/usr/lib -lssl -lcrypto"
|
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
|
||||||
--without-cython \
|
|
||||||
--disable-largefile
|
|
||||||
|
|
||||||
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
|
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
|
|
88
libs/libimobiledevice/patches/010-openssl-deprecated.patch
Normal file
88
libs/libimobiledevice/patches/010-openssl-deprecated.patch
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
--- a/common/userpref.c
|
||||||
|
+++ b/common/userpref.c
|
||||||
|
@@ -37,6 +37,7 @@
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <usbmuxd.h>
|
||||||
|
#ifdef HAVE_OPENSSL
|
||||||
|
+#include <openssl/bn.h>
|
||||||
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/rsa.h>
|
||||||
|
#include <openssl/x509.h>
|
||||||
|
@@ -73,6 +74,11 @@ const ASN1_ARRAY_TYPE pkcs1_asn1_tab[] = {
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#define X509_set1_notBefore X509_set_notBefore
|
||||||
|
+#define X509_set1_notAfter X509_set_notAfter
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifdef WIN32
|
||||||
|
#define DIR_SEP '\\'
|
||||||
|
#define DIR_SEP_S "\\"
|
||||||
|
@@ -420,9 +426,9 @@ userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_da
|
||||||
|
/* set key validity */
|
||||||
|
ASN1_TIME* asn1time = ASN1_TIME_new();
|
||||||
|
ASN1_TIME_set(asn1time, time(NULL));
|
||||||
|
- X509_set_notBefore(root_cert, asn1time);
|
||||||
|
+ X509_set1_notBefore(root_cert, asn1time);
|
||||||
|
ASN1_TIME_set(asn1time, time(NULL) + (60 * 60 * 24 * 365 * 10));
|
||||||
|
- X509_set_notAfter(root_cert, asn1time);
|
||||||
|
+ X509_set1_notAfter(root_cert, asn1time);
|
||||||
|
ASN1_TIME_free(asn1time);
|
||||||
|
|
||||||
|
/* use root public key for root cert */
|
||||||
|
@@ -453,9 +459,9 @@ userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_da
|
||||||
|
/* set key validity */
|
||||||
|
ASN1_TIME* asn1time = ASN1_TIME_new();
|
||||||
|
ASN1_TIME_set(asn1time, time(NULL));
|
||||||
|
- X509_set_notBefore(host_cert, asn1time);
|
||||||
|
+ X509_set1_notBefore(host_cert, asn1time);
|
||||||
|
ASN1_TIME_set(asn1time, time(NULL) + (60 * 60 * 24 * 365 * 10));
|
||||||
|
- X509_set_notAfter(host_cert, asn1time);
|
||||||
|
+ X509_set1_notAfter(host_cert, asn1time);
|
||||||
|
ASN1_TIME_free(asn1time);
|
||||||
|
|
||||||
|
/* use host public key for host cert */
|
||||||
|
@@ -533,9 +539,9 @@ userpref_error_t pair_record_generate_keys_and_certs(plist_t pair_record, key_da
|
||||||
|
|
||||||
|
ASN1_TIME* asn1time = ASN1_TIME_new();
|
||||||
|
ASN1_TIME_set(asn1time, time(NULL));
|
||||||
|
- X509_set_notBefore(dev_cert, asn1time);
|
||||||
|
+ X509_set1_notBefore(dev_cert, asn1time);
|
||||||
|
ASN1_TIME_set(asn1time, time(NULL) + (60 * 60 * 24 * 365 * 10));
|
||||||
|
- X509_set_notAfter(dev_cert, asn1time);
|
||||||
|
+ X509_set1_notAfter(dev_cert, asn1time);
|
||||||
|
ASN1_TIME_free(asn1time);
|
||||||
|
|
||||||
|
EVP_PKEY* pkey = EVP_PKEY_new();
|
||||||
|
--- a/src/idevice.c
|
||||||
|
+++ b/src/idevice.c
|
||||||
|
@@ -36,6 +36,7 @@
|
||||||
|
#include <usbmuxd.h>
|
||||||
|
#ifdef HAVE_OPENSSL
|
||||||
|
#include <openssl/err.h>
|
||||||
|
+#include <openssl/rsa.h>
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
|
||||||
|
#else
|
||||||
|
@@ -49,6 +50,10 @@
|
||||||
|
|
||||||
|
#ifdef HAVE_OPENSSL
|
||||||
|
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#define TLS_method TLSv1_method
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#if OPENSSL_VERSION_NUMBER < 0x10002000L
|
||||||
|
static void SSL_COMP_free_compression_methods(void)
|
||||||
|
{
|
||||||
|
@@ -721,7 +726,7 @@ LIBIMOBILEDEVICE_API idevice_error_t idevice_connection_enable_ssl(idevice_conne
|
||||||
|
}
|
||||||
|
BIO_set_fd(ssl_bio, (int)(long)connection->data, BIO_NOCLOSE);
|
||||||
|
|
||||||
|
- SSL_CTX *ssl_ctx = SSL_CTX_new(TLSv1_method());
|
||||||
|
+ SSL_CTX *ssl_ctx = SSL_CTX_new(TLS_method());
|
||||||
|
if (ssl_ctx == NULL) {
|
||||||
|
debug_info("ERROR: Could not create SSL context.");
|
||||||
|
BIO_free(ssl_bio);
|
Loading…
Reference in a new issue