This is an automated email from the git hooks/post-receive script. fsateler pushed a commit to branch master in repository pulseaudio.
commit 39a0b612ec14d8004eb61d9d47a26a82e20f2274 Author: Felipe Sateler <[email protected]> Date: Fri Nov 4 19:06:58 2016 -0300 Backport upstream patch for building with openssl 1.1 Closes: #828515 --- ...raop-add-compatibility-with-openssl-1.1.0.patch | 59 ++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 60 insertions(+) diff --git a/debian/patches/raop-add-compatibility-with-openssl-1.1.0.patch b/debian/patches/raop-add-compatibility-with-openssl-1.1.0.patch new file mode 100644 index 0000000..365ca03 --- /dev/null +++ b/debian/patches/raop-add-compatibility-with-openssl-1.1.0.patch @@ -0,0 +1,59 @@ +From: Tanu Kaskinen <[email protected]> +Date: Fri, 4 Nov 2016 14:43:57 +0200 +Subject: raop: add compatibility with openssl 1.1.0 + +Openssl 1.1.0 made all structs opaque, which caused a build failure in +raop_client.c. The struct member assignments are now replaced with a +call to RSA_set0_key(). + +BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=96726 + +Reviewed-by: Felipe Sateler <[email protected]> +--- + src/modules/raop/raop_client.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/src/modules/raop/raop_client.c b/src/modules/raop/raop_client.c +index 3b6c36e..864c558 100644 +--- a/src/modules/raop/raop_client.c ++++ b/src/modules/raop/raop_client.c +@@ -68,6 +68,21 @@ + + #define RAOP_PORT 5000 + ++/* Openssl 1.1.0 broke compatibility. Before 1.1.0 we had to set RSA->n and ++ * RSA->e manually, but after 1.1.0 the RSA struct is opaque and we have to use ++ * RSA_set0_key(). RSA_set0_key() is a new function added in 1.1.0. We could ++ * depend on openssl 1.1.0, but it may take some time before distributions will ++ * be able to upgrade to the new openssl version. To insulate ourselves from ++ * such transition problems, let's implement RSA_set0_key() ourselves if it's ++ * not available. */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) { ++ r->n = n; ++ r->e = e; ++ return 1; ++} ++#endif ++ + struct pa_raop_client { + pa_core *core; + char *host; +@@ -161,12 +176,15 @@ static int rsa_encrypt(uint8_t *text, int len, uint8_t *res) { + uint8_t exponent[8]; + int size; + RSA *rsa; ++ BIGNUM *n_bn; ++ BIGNUM *e_bn; + + rsa = RSA_new(); + size = pa_base64_decode(n, modules); +- rsa->n = BN_bin2bn(modules, size, NULL); ++ n_bn = BN_bin2bn(modules, size, NULL); + size = pa_base64_decode(e, exponent); +- rsa->e = BN_bin2bn(exponent, size, NULL); ++ e_bn = BN_bin2bn(exponent, size, NULL); ++ RSA_set0_key(rsa, n_bn, e_bn, NULL); + + size = RSA_public_encrypt(len, text, res, rsa, RSA_PKCS1_OAEP_PADDING); + RSA_free(rsa); diff --git a/debian/patches/series b/debian/patches/series index 34bd6a9..1fe9e5d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ Fix-detection-of-online-CPUs-in-pa_ncpus.patch +raop-add-compatibility-with-openssl-1.1.0.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-pulseaudio/pulseaudio.git _______________________________________________ pkg-pulseaudio-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-pulseaudio-devel

