svn commit: r482679 - in head/net-im/telegram: . files
Carlos J. Puga Medina
cpm at FreeBSD.org
Sun Oct 21 14:46:18 UTC 2018
Author: cpm
Date: Sun Oct 21 14:46:16 2018
New Revision: 482679
URL: https://svnweb.freebsd.org/changeset/ports/482679
Log:
net-im/telegram: Unbreak build on 12.0-CURRENT
Add extra-patch to fix build on 12.0-CURRENT after updating OpenSSL to version 1.1.1
See https://github.com/vysheng/tgl/issues/129
Added:
head/net-im/telegram/files/extra-patch-openssl-1.1.0 (contents, props changed)
Modified:
head/net-im/telegram/Makefile
Modified: head/net-im/telegram/Makefile
==============================================================================
--- head/net-im/telegram/Makefile Sun Oct 21 14:43:53 2018 (r482678)
+++ head/net-im/telegram/Makefile Sun Oct 21 14:46:16 2018 (r482679)
@@ -35,6 +35,12 @@ PORTDOCS= *
OPTIONS_DEFINE= DOCS
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200085
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-openssl-1.1.0
+.endif
+
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/telegram-cli
${INSTALL_PROGRAM} ${WRKSRC}/bin/telegram-cli ${STAGEDIR}${PREFIX}/bin
Added: head/net-im/telegram/files/extra-patch-openssl-1.1.0
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net-im/telegram/files/extra-patch-openssl-1.1.0 Sun Oct 21 14:46:16 2018 (r482679)
@@ -0,0 +1,38 @@
+--- tgl/crypto/rsa_pem_openssl.c.orig 2018-10-21 14:25:36 UTC
++++ tgl/crypto/rsa_pem_openssl.c
+@@ -36,18 +36,28 @@ TGLC_WRAPPER_ASSOC(rsa,RSA)
+ // TODO: Refactor crucial struct-identity into its own header.
+ TGLC_WRAPPER_ASSOC(bn,BIGNUM)
+
++/*
++ * Note: Since OpenSSL version 1.1.0-pre5 the RSA struct (rsa_st) is opaque,
++ * see https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
++ */
+ TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) {
+ RSA *ret = RSA_new ();
+- ret->e = unwrap_bn (TGLC_bn_new ());
+- TGLC_bn_set_word (wrap_bn (ret->e), e);
+- ret->n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL));
++ BIGNUM *ret_e = unwrap_bn (TGLC_bn_new ());
++ BIGNUM *ret_n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL));
++ RSA_set0_key (ret, ret_n, ret_e, NULL);
++ TGLC_bn_set_word (wrap_bn (ret_e), e);
+ return wrap_rsa (ret);
+ }
+
+-#define RSA_GETTER(M) \
+- TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \
+- return wrap_bn (unwrap_rsa (key)->M); \
+- } \
++#define RSA_GETTER(M) \
++TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \
++ BIGNUM *rsa_n, *rsa_e, *rsa_d; \
++ RSA_get0_key(unwrap_rsa (key), \
++ (const BIGNUM **) &rsa_n, \
++ (const BIGNUM **) &rsa_e, \
++ (const BIGNUM **) &rsa_d); \
++ return wrap_bn (rsa_ ## M); \
++}
+
+ RSA_GETTER(n);
+ RSA_GETTER(e);
More information about the svn-ports-all
mailing list