+++ /dev/null
-From 659a6eb5434039c27b41a9d06edc64923e5042b9 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Wed, 15 Aug 2018 18:30:51 +0300
-Subject: [PATCH] build: pam_p11: unsigned comparison
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
----
- src/pam_p11.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pam_p11.c b/src/pam_p11.c
-index 960c164..1cf6cb2 100644
---- a/src/pam_p11.c
-+++ b/src/pam_p11.c
-@@ -553,7 +553,7 @@ static int randomize(pam_handle_t *pamh, unsigned char *r, unsigned int r_len)
- {
- int ok = 0;
- int fd = open("/dev/urandom", O_RDONLY);
-- if (0 <= fd && read(fd, r, r_len) == r_len) {
-+ if (0 <= fd && read(fd, r, r_len) == (ssize_t)r_len) {
- ok = 1;
- } else {
- pam_syslog(pamh, LOG_CRIT, "Error reading from /dev/urandom: %s",
---
-2.16.4
-
+++ /dev/null
-From 46a6079817c67a09e5ac493af3381c655bd91c26 Mon Sep 17 00:00:00 2001
-From: Peter Popovec <popovec.peter@gmail.com>
-Date: Tue, 21 Aug 2018 10:24:36 +0200
-Subject: [PATCH] Replacing deprecated OpenSSL API functions (#12)
-
-fixes https://github.com/OpenSC/pam_p11/issues/10
----
- configure.ac | 5 +++++
- src/pam_p11.c | 17 ++++++++++++++---
- 2 files changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5bcbdd6..2854a99 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -85,6 +85,11 @@ PKG_CHECK_MODULES(
- )]
- )
-
-+saved_LIBS="$LIBS"
-+LIBS="$OPENSSL_LIBS $LIBS"
-+AC_CHECK_FUNCS(EVP_MD_CTX_new EVP_MD_CTX_free EVP_MD_CTX_reset)
-+LIBS="$saved_LIBS"
-+
- if test -z "${PAM_LIBS}"; then
- AC_ARG_VAR([PAM_CFLAGS], [C compiler flags for pam])
- AC_ARG_VAR([PAM_LIBS], [linker flags for pam])
-diff --git a/src/pam_p11.c b/src/pam_p11.c
-index 2b4bfbe..60380e5 100644
---- a/src/pam_p11.c
-+++ b/src/pam_p11.c
-@@ -31,6 +31,17 @@
- #include <openssl/crypto.h>
- #include <libp11.h>
-
-+/* openssl deprecated API emulation */
-+#ifndef HAVE_EVP_MD_CTX_NEW
-+#define EVP_MD_CTX_new() EVP_MD_CTX_create()
-+#endif
-+#ifndef HAVE_EVP_MD_CTX_FREE
-+#define EVP_MD_CTX_free(ctx) EVP_MD_CTX_destroy((ctx))
-+#endif
-+#ifndef HAVE_EVP_MD_CTX_RESET
-+#define EVP_MD_CTX_reset(ctx) EVP_MD_CTX_cleanup((ctx))
-+#endif
-+
- #ifdef ENABLE_NLS
- #include <libintl.h>
- #include <locale.h>
-@@ -578,7 +589,7 @@ static int key_verify(pam_handle_t *pamh, int flags, PKCS11_KEY *authkey)
- unsigned char signature[256];
- unsigned int siglen = sizeof signature;
- const EVP_MD *md = EVP_sha1();
-- EVP_MD_CTX *md_ctx = EVP_MD_CTX_create();
-+ EVP_MD_CTX *md_ctx = EVP_MD_CTX_new();
- EVP_PKEY *privkey = PKCS11_get_private_key(authkey);
- EVP_PKEY *pubkey = PKCS11_get_public_key(authkey);
-
-@@ -596,7 +607,7 @@ static int key_verify(pam_handle_t *pamh, int flags, PKCS11_KEY *authkey)
- || !EVP_SignInit(md_ctx, md)
- || !EVP_SignUpdate(md_ctx, challenge, sizeof challenge)
- || !EVP_SignFinal(md_ctx, signature, &siglen, privkey)
-- || !EVP_MD_CTX_cleanup(md_ctx)
-+ || !EVP_MD_CTX_reset(md_ctx)
- || !EVP_VerifyInit(md_ctx, md)
- || !EVP_VerifyUpdate(md_ctx, challenge, sizeof challenge)
- || 1 != EVP_VerifyFinal(md_ctx, signature, siglen, pubkey)) {
-@@ -613,7 +624,7 @@ static int key_verify(pam_handle_t *pamh, int flags, PKCS11_KEY *authkey)
- if (NULL != privkey)
- EVP_PKEY_free(privkey);
- if (NULL != md_ctx) {
-- EVP_MD_CTX_destroy(md_ctx);
-+ EVP_MD_CTX_free(md_ctx);
- }
- return ok;
- }
+++ /dev/null
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools pam
-
-DESCRIPTION="PAM module for authenticating against PKCS#11 tokens"
-HOMEPAGE="https://github.com/opensc/pam_p11/wiki"
-SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 ~hppa ia64 ppc ppc64 ~sparc x86"
-IUSE=""
-
-RDEPEND="virtual/pam
- dev-libs/libp11
- dev-libs/openssl:0="
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
- "${FILESDIR}/${P}-openssl11.patch" #658036
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf --with-pamdir="$(getpam_mod_dir)"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}