diff options
Diffstat (limited to 'libraries/liboauth')
-rw-r--r-- | libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch | 147 | ||||
-rw-r--r-- | libraries/liboauth/liboauth.SlackBuild | 52 | ||||
-rw-r--r-- | libraries/liboauth/liboauth.info | 4 |
3 files changed, 187 insertions, 16 deletions
diff --git a/libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch b/libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch new file mode 100644 index 0000000000..eafd3eb9bf --- /dev/null +++ b/libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch @@ -0,0 +1,147 @@ +Submitted by: DJ Lucas (dj_AT_linuxfromscratch_DOT_org) +Date: 2017-05-27 +Initial Package Version: 1.0.3 +Update by: Bruce Dubbs +Date: 2017-06-14 +Upstream Status: Submitted +Origin: https://github.com/x42/liboauth/issues/9 +Description: Fixes build issue with OpenSSL-1.1.0. +Update: Additional fix from upstream. Three lines changed. + +diff -Naurp liboauth-1.0.3-orig/src/hash.c liboauth-1.0.3/src/hash.c +--- liboauth-1.0.3-orig/src/hash.c 2013-10-04 08:02:50.000000000 -0500 ++++ liboauth-1.0.3/src/hash.c 2017-05-27 00:51:04.708633351 -0500 +@@ -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 + 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 + 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; +@@ -437,13 +449,18 @@ int oauth_verify_rsa_sha1 (const char *m + return -2; + } + ++ md_ctx = EVP_MD_CTX_new(); ++ if (md_ctx == NULL) { ++ return -2; ++ } ++ + 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_free(pkey); + EVP_PKEY_free(pkey); + xfree(b64d); + return (err); +@@ -455,35 +472,41 @@ int oauth_verify_rsa_sha1 (const char *m + */ + 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_free(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); + } + diff --git a/libraries/liboauth/liboauth.SlackBuild b/libraries/liboauth/liboauth.SlackBuild index 819e22333a..984d7c95b1 100644 --- a/libraries/liboauth/liboauth.SlackBuild +++ b/libraries/liboauth/liboauth.SlackBuild @@ -1,6 +1,7 @@ -#!/bin/sh +#!/bin/bash -# Copyright (c) 2014, Симон Болоканов, Bulgaria <sbolokanov@abv.bg> +# Copyright (c) 2014, S. S. Bolokanar, Bulgaria <bolokanar@bulgars.org> +# С. С. Болоканаръ, България # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,10 +24,31 @@ # Changelog: # v1.0.3 - redone script completely and send to SBo +# 20220418 bkw: Modified by SlackBuilds.org, BUILD=5: +# - strip library. +# - fix PRINT_PACKAGE_NAME when ARCH not set in environment. +# - i486 => i586. + +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=liboauth VERSION=${VERSION:-1.0.3} -BUILD=${BUILD:-1} +BUILD=${BUILD:-5} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi NSS=${NSS:-no} @@ -34,21 +56,20 @@ if [ "$NSS" = yes ]; then OPTS="--enable-nss" fi -CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; *) export ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -m32 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -m32 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -73,9 +94,12 @@ cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ + -o -perm 511 \) -exec chmod 755 {} \+ -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ + +# port to openssl-1.1.x +patch -p1 < $CWD/liboauth-1.0.3-openssl-1.1.0-2.patch # compile in clean dir mkdir -v build @@ -91,19 +115,19 @@ CXXFLAGS="$SLKCFLAGS" \ --build=$ARCH-slackware-linux make -make DESTDIR=$PKG install +make DESTDIR=$PKG install-strip +gzip -9 $PKG/usr/man/man*/* cd .. mkdir -pv $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS ChangeLog INSTALL README LICENSE.OpenSSL $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS ChangeLog README LICENSE.OpenSSL $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +rm -f $PKG/usr/lib*/*.la mkdir -pv $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/libraries/liboauth/liboauth.info b/libraries/liboauth/liboauth.info index 892f7b6105..4c0ec61d3f 100644 --- a/libraries/liboauth/liboauth.info +++ b/libraries/liboauth/liboauth.info @@ -6,5 +6,5 @@ MD5SUM="689b46c2b3ab1a39735ac33f714c4f7f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" -MAINTAINER="Симон Болоканов" -EMAIL="sbolokanov@abv.bg" +MAINTAINER="S. S. Bolokanar" +EMAIL="bolokanar@bulgars.org" |