summaryrefslogtreecommitdiff
path: root/net-libs/liboauth
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-11-18 09:38:27 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-11-18 09:38:27 +0000
commit536c3711867ec947c1738f2c4b96f22e4863322d (patch)
tree697733f5cb713908dcf378e13fd15a798a906a91 /net-libs/liboauth
parentf65628136faa35d0c4d3b5e7332275c7b35fcd96 (diff)
gentoo resync : 18.11.2018
Diffstat (limited to 'net-libs/liboauth')
-rw-r--r--net-libs/liboauth/Manifest2
-rw-r--r--net-libs/liboauth/files/liboauth-1.0.3-openssl-1.1.patch143
-rw-r--r--net-libs/liboauth/liboauth-1.0.3-r1.ebuild80
3 files changed, 225 insertions, 0 deletions
diff --git a/net-libs/liboauth/Manifest b/net-libs/liboauth/Manifest
index a735fbf07551..b287fd8dcaa6 100644
--- a/net-libs/liboauth/Manifest
+++ b/net-libs/liboauth/Manifest
@@ -1,4 +1,6 @@
AUX liboauth-1.0.1-doxygen-out-of-tree.patch 2231 BLAKE2B 61523955ac500d63879dae34d5cb3507916b49edbf487ce007db7b20d2da58404161a5a6ba063cec86d9507c074a232ea58688f5de2deb6147815b9b5501cd9b SHA512 c7ac48e30ededc7079a08504ae78f421b843100dec2c8658d75ff7a3101660087de962d73ac73bf1023286b0a89c1d1b3187ba36336d1caf051b03d445571dd6
+AUX liboauth-1.0.3-openssl-1.1.patch 4483 BLAKE2B 4d2628448a1341cc41a676d5002c7f0f17af384fafde77687bc83235d90f4b6b853bbc9a4262fd4acaa0b04cb67d586bca308bb9c66fafbe7de1734fb39a4c1b SHA512 90ae75bbaf7296826f813df852263901ad8632579b5e5dd1e8b1edc4719d3f749ffc30e6348ffc2ddd5239de544c934382f52c4d62e90b3e655fd9630b5b4880
DIST liboauth-1.0.3.tar.gz 504950 BLAKE2B 56cf10574af58995de9bf86bb7f00becb360cc899bf1ddb23804820d63ae2c7af29aa29031f68ce79a6cc441cbce27aebf5f1c9dfa029243d7732592d03620c7 SHA512 5a13818dbb3e0df76f7a3fde451eff4f90c9bebfe2076a294921af0c07c2b0789f717f0f862ac6961562d4227e016dc198ddd7efb9c7ac599c3bfbcdb2ac33fa
+EBUILD liboauth-1.0.3-r1.ebuild 1536 BLAKE2B 279535ccfca6db6850f83e1df8cea9810454c6f944ef3ab20a58258a7bd96e63f1cd5682c43e02a5baf3036f72e68ae0ddd5cbe6ac882c1d213ad4ae5ce47eca SHA512 c03ca8bc392c5ecf96fcaff187d9f8788beca1d3da46a67bea8049621e27b03f7d860bed7755decd68b77b5f51873424c1526c4b509d3f412c422153f248803d
EBUILD liboauth-1.0.3.ebuild 1445 BLAKE2B af869f162f31ae9b2b487da42a476709f4726c3fa4724ce427b36a153ecf2daf0cb8f2e98448f50243a40f9810899a94b33b41ee27269dc118470e1d03b3c00d SHA512 a70d801add90aade10a12b5dd24446a1dbc36a9dfa28fbd3c90f3a7054b6a0a0c34830cda96565984b4b444295f557334b5fe149c99cf1e87b37a5af4b1b254f
MISC metadata.xml 879 BLAKE2B 499e638089270b30e1fc4a15008592e036c05032719e05ef06cc4c897be1bebe3d4873caacec09f6c54f65240da2582fee0776aa7e0b89508e98c4a3a668f870 SHA512 05625ec768286997f291d95e40e024c692bb8dd3be2d2eea1c3d7c90b452b9a98988a2ca43a5c6134a0e084e0a4ae40af4a00e809092edbcf3a0630781657a07
diff --git a/net-libs/liboauth/files/liboauth-1.0.3-openssl-1.1.patch b/net-libs/liboauth/files/liboauth-1.0.3-openssl-1.1.patch
new file mode 100644
index 000000000000..f39747fd12f1
--- /dev/null
+++ b/net-libs/liboauth/files/liboauth-1.0.3-openssl-1.1.patch
@@ -0,0 +1,143 @@
+From bf51f1f17bdfcdbf09b7edad9995ccbf17c41109 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Thu, 15 Nov 2018 12:11:11 +0100
+Subject: [PATCH] Fixed build with openssl-1.1
+
+https://github.com/x42/liboauth/issues/9
+---
+ src/hash.c | 60 +++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 39 insertions(+), 21 deletions(-)
+
+diff --git a/src/hash.c b/src/hash.c
+index 17ff5c8..551991f 100644
+--- a/src/hash.c
++++ b/src/hash.c
+@@ -362,6 +362,11 @@ looser:
+ #include "oauth.h" // base64 encode fn's.
+ #include <openssl/hmac.h>
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++#define EVP_MD_CTX_new EVP_MD_CTX_create
++#define EVP_MD_CTX_free EVP_MD_CTX_destroy
++#endif
++
+ char *oauth_sign_hmac_sha1 (const char *m, const char *k) {
+ return(oauth_sign_hmac_sha1_raw (m, strlen(m), k, strlen(k)));
+ }
+@@ -386,7 +391,7 @@ char *oauth_sign_rsa_sha1 (const char *m, const char *k) {
+ unsigned char *sig = NULL;
+ unsigned char *passphrase = NULL;
+ unsigned int len=0;
+- EVP_MD_CTX md_ctx;
++ EVP_MD_CTX *md_ctx;
+
+ EVP_PKEY *pkey;
+ BIO *in;
+@@ -399,24 +404,31 @@ char *oauth_sign_rsa_sha1 (const char *m, const char *k) {
+ return xstrdup("liboauth/OpenSSL: can not read private key");
+ }
+
++ md_ctx = EVP_MD_CTX_new();
++ if (md_ctx == NULL) {
++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX");
++ }
++
+ len = EVP_PKEY_size(pkey);
+ sig = (unsigned char*)xmalloc((len+1)*sizeof(char));
+
+- EVP_SignInit(&md_ctx, EVP_sha1());
+- EVP_SignUpdate(&md_ctx, m, strlen(m));
+- if (EVP_SignFinal (&md_ctx, sig, &len, pkey)) {
++ EVP_SignInit(md_ctx, EVP_sha1());
++ EVP_SignUpdate(md_ctx, m, strlen(m));
++ if (EVP_SignFinal (md_ctx, sig, &len, pkey)) {
+ char *tmp;
+ sig[len] = '\0';
+ tmp = oauth_encode_base64(len,sig);
+ OPENSSL_free(sig);
+ EVP_PKEY_free(pkey);
++ EVP_MD_CTX_free(md_ctx);
+ return tmp;
+ }
++ EVP_MD_CTX_free(md_ctx);
+ return xstrdup("liboauth/OpenSSL: rsa-sha1 signing failed");
+ }
+
+ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) {
+- EVP_MD_CTX md_ctx;
++ EVP_MD_CTX *md_ctx;
+ EVP_PKEY *pkey;
+ BIO *in;
+ X509 *cert = NULL;
+@@ -440,10 +452,10 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) {
+ b64d= (unsigned char*) xmalloc(sizeof(char)*strlen(s));
+ slen = oauth_decode_base64(b64d, s);
+
+- EVP_VerifyInit(&md_ctx, EVP_sha1());
+- EVP_VerifyUpdate(&md_ctx, m, strlen(m));
+- err = EVP_VerifyFinal(&md_ctx, b64d, slen, pkey);
+- EVP_MD_CTX_cleanup(&md_ctx);
++ EVP_VerifyInit(md_ctx, EVP_sha1());
++ EVP_VerifyUpdate(md_ctx, m, strlen(m));
++ err = EVP_VerifyFinal(md_ctx, b64d, slen, pkey);
++ EVP_MD_CTX_cleanup(md_ctx);
+ EVP_PKEY_free(pkey);
+ xfree(b64d);
+ return (err);
+@@ -455,35 +467,41 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) {
+ */
+ char *oauth_body_hash_file(char *filename) {
+ unsigned char fb[BUFSIZ];
+- EVP_MD_CTX ctx;
++ EVP_MD_CTX *ctx;
+ size_t len=0;
+ unsigned char *md;
+ FILE *F= fopen(filename, "r");
+ if (!F) return NULL;
+
+- EVP_MD_CTX_init(&ctx);
+- EVP_DigestInit(&ctx,EVP_sha1());
++ ctx = EVP_MD_CTX_new();
++ if (ctx == NULL) {
++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX");
++ }
++ EVP_DigestInit(ctx,EVP_sha1());
+ while (!feof(F) && (len=fread(fb,sizeof(char),BUFSIZ, F))>0) {
+- EVP_DigestUpdate(&ctx, fb, len);
++ EVP_DigestUpdate(ctx, fb, len);
+ }
+ fclose(F);
+ len=0;
+ md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char));
+- EVP_DigestFinal(&ctx, md,(unsigned int*) &len);
+- EVP_MD_CTX_cleanup(&ctx);
++ EVP_DigestFinal(ctx, md,(unsigned int*) &len);
++ EVP_MD_CTX_cleanup(ctx);
+ return oauth_body_hash_encode(len, md);
+ }
+
+ char *oauth_body_hash_data(size_t length, const char *data) {
+- EVP_MD_CTX ctx;
++ EVP_MD_CTX *ctx;
+ size_t len=0;
+ unsigned char *md;
+ md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char));
+- EVP_MD_CTX_init(&ctx);
+- EVP_DigestInit(&ctx,EVP_sha1());
+- EVP_DigestUpdate(&ctx, data, length);
+- EVP_DigestFinal(&ctx, md,(unsigned int*) &len);
+- EVP_MD_CTX_cleanup(&ctx);
++ ctx = EVP_MD_CTX_new();
++ if (ctx == NULL) {
++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX");
++ }
++ EVP_DigestInit(ctx,EVP_sha1());
++ EVP_DigestUpdate(ctx, data, length);
++ EVP_DigestFinal(ctx, md,(unsigned int*) &len);
++ EVP_MD_CTX_free(ctx);
+ return oauth_body_hash_encode(len, md);
+ }
+
+--
+2.19.1
+
diff --git a/net-libs/liboauth/liboauth-1.0.3-r1.ebuild b/net-libs/liboauth/liboauth-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..96cf577256ea
--- /dev/null
+++ b/net-libs/liboauth/liboauth-1.0.3-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="C library implementing the OAuth secure authentication protocol"
+HOMEPAGE="http://liboauth.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 MIT )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos"
+IUSE="bindist curl doc libressl +nss"
+
+REQUIRED_USE="bindist? ( nss )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.1-doxygen-out-of-tree.patch
+ "${FILESDIR}"/${PN}-1.0.3-openssl-1.1.patch
+)
+
+CDEPEND="
+ curl? ( net-misc/curl )
+ nss? ( dev-libs/nss
+ curl? ( || (
+ net-misc/curl[ssl,curl_ssl_nss]
+ net-misc/curl[-ssl]
+ ) )
+ )
+ !nss? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ curl? ( || (
+ net-misc/curl[ssl,curl_ssl_openssl]
+ net-misc/curl[-ssl]
+ ) )
+ )
+"
+
+RDEPEND="${CDEPEND}"
+
+DEPEND="
+ ${CDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ media-fonts/freefont
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable !curl curl)
+ $(use_enable curl libcurl)
+ $(use_enable nss)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ # make sure fonts are found
+ export DOTFONTPATH="${EPREFIX}"/usr/share/fonts/freefont-ttf
+ emake dox
+ fi
+}
+
+DOCS=( AUTHORS ChangeLog LICENSE.OpenSSL README )
+
+src_install() {
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+ find "${ED}" -name "*.la" -delete || die
+}