security/oath-toolkit: update to 2.6.9 release.

This commit is contained in:
Alex Dupre 2023-07-11 12:03:25 +02:00
parent 200dd94d25
commit e9199fc8af
8 changed files with 6 additions and 211 deletions

View file

@ -1,6 +1,5 @@
PORTNAME= oath-toolkit
PORTVERSION= 2.6.7
PORTREVISION= 3
PORTVERSION= 2.6.9
CATEGORIES= security
MASTER_SITES= SAVANNAH
@ -14,7 +13,8 @@ LICENSE_COMB= multi
LIB_DEPENDS= libltdl.so:devel/libltdl
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-html-dir=${DOCSDIR}
CONFIGURE_ARGS= --with-html-dir=${DOCSDIR} \
--disable-pam-tests
USES= gmake libtool pathfix pkgconfig
USE_GNOME= libxslt
USE_LDCONFIG= yes

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1643620380
SHA256 (oath-toolkit-2.6.7.tar.gz) = 36eddfce8f2f36347fb257dbf878ba0303a2eaafe24eaa071d5cd302261046a9
SIZE (oath-toolkit-2.6.7.tar.gz) = 5625279
TIMESTAMP = 1689066348
SHA256 (oath-toolkit-2.6.9.tar.gz) = 333ac831c8f1a6dbd7feb897339bba453ff34d3b0f4cfaa6b5a20dba55c8e985
SIZE (oath-toolkit-2.6.9.tar.gz) = 4693524

View file

@ -1,58 +0,0 @@
--- pam_oath/Makefile.in.orig 2022-02-01 11:49:49 UTC
+++ pam_oath/Makefile.in
@@ -149,7 +149,7 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(pammoddir)"
LTLIBRARIES = $(pammod_LTLIBRARIES)
pam_oath_la_DEPENDENCIES = ../liboath/liboath.la
-am_pam_oath_la_OBJECTS = pam_oath.lo
+am_pam_oath_la_OBJECTS = pam_oath.lo pam_modutil.lo
pam_oath_la_OBJECTS = $(am_pam_oath_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -173,7 +173,8 @@ am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/pam_oath.Plo
+am__depfiles_remade = ./$(DEPDIR)/pam_modutil.Plo \
+ ./$(DEPDIR)/pam_oath.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -414,7 +416,7 @@ AM_CPPFLAGS = -I$(builddir)/../liboath
EXTRA_DIST = README
pammoddir = $(PAMDIR)
pammod_LTLIBRARIES = pam_oath.la
-pam_oath_la_SOURCES = pam_oath.c
+pam_oath_la_SOURCES = pam_oath.c pam_modutil.c pam_modutil.h
# XXX add -Wl,-x too? PAM documentation suggests it.
pam_oath_la_LIBADD = ../liboath/liboath.la
pam_oath_la_LDFLAGS = -module -avoid-version
@@ -516,6 +518,7 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_modutil.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_oath.Plo@am__quote@ # am--include-marker
$(am__depfiles_remade):
@@ -896,7 +904,8 @@ clean-am: clean-generic clean-libtool clean-pammodLTLI
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f ./$(DEPDIR)/pam_oath.Plo
+ -rm -f ./$(DEPDIR)/pam_modutil.Plo
+ -rm -f ./$(DEPDIR)/pam_oath.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-libtool distclean-tags
@@ -944,7 +953,8 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
- -rm -f ./$(DEPDIR)/pam_oath.Plo
+ -rm -f ./$(DEPDIR)/pam_modutil.Plo
+ -rm -f ./$(DEPDIR)/pam_oath.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

View file

@ -1,11 +0,0 @@
--- pam_oath/configure.orig 2022-01-31 11:20:05 UTC
+++ pam_oath/configure
@@ -12156,8 +12156,6 @@ if test "x$ac_cv_header_security_pam_modutil_h" = xyes
#define HAVE_SECURITY_PAM_MODUTIL_H 1
_ACEOF
-else
- as_fn_error $? "PAM header files not found, install libpam-dev." "$LINENO" 5
fi
done

View file

@ -1,85 +0,0 @@
--- pam_oath/pam_modutil.c.orig 2022-01-31 11:03:40 UTC
+++ pam_oath/pam_modutil.c
@@ -0,0 +1,82 @@
+#include <config.h>
+
+#ifndef HAVE_SECURITY_PAM_MODUTIL_H
+
+#include "pam_modutil.h"
+
+#ifdef HAVE_SECURITY_PAM_APPL_H
+#include <security/pam_appl.h>
+#endif
+#ifdef HAVE_SECURITY_PAM_MODULES_H
+#include <security/pam_modules.h>
+#endif
+
+#include <errno.h>
+#include <pwd.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#define PWD_INITIAL_LENGTH 0x400
+#define PWD_ABSURD_PWD_LENGTH 0x4000
+
+void _pam_modutil_cleanup(pam_handle_t *pamh, void *data, int error_status) {
+ if (data) {
+ (void) free(data);
+ }
+}
+
+struct passwd *pam_modutil_getpwnam(pam_handle_t *pamh, const char *user) {
+ void *buffer = NULL;
+ size_t length = PWD_INITIAL_LENGTH;
+ long sc_init_length = sysconf(_SC_GETPW_R_SIZE_MAX);
+
+ if (sc_init_length != -1 && sc_init_length < PWD_ABSURD_PWD_LENGTH) {
+ length = (size_t) sc_init_length;
+ }
+
+ do {
+ int status;
+ void *new_buffer;
+ struct passwd *result = NULL;
+
+ new_buffer = realloc(buffer, sizeof(struct passwd) + length);
+ if (new_buffer == NULL) {
+ // out of memory
+ if (buffer) {
+ free(buffer);
+ }
+ return NULL;
+ }
+ buffer = new_buffer;
+
+ status = getpwnam_r(user, buffer,
+ sizeof(struct passwd) + (char *) buffer,
+ length, &result);
+ if (!status && result) {
+ status = pam_set_data(pamh, "_pammodutil_getpwnam", result,
+ _pam_modutil_cleanup);
+ if (status == PAM_SUCCESS) {
+ return result;
+ }
+ // unable to set data item
+ free(buffer);
+ return NULL;
+ }
+ if (status != ERANGE) {
+ // no matching record found (if status == 0)
+ // or getpwnam_r encountered an error
+ free(buffer);
+ return NULL;
+ }
+
+ length <<= 1;
+ } while (length < PWD_ABSURD_PWD_LENGTH);
+
+ // exceeded maximum buffer size
+ free(buffer);
+ return NULL;
+}
+#else
+typedef int make_iso_compilers_happy;
+#endif /* HAVE_SECURITY_PAM_MODUTIL_H */

View file

@ -1,20 +0,0 @@
--- pam_oath/pam_modutil.h.orig 2022-01-31 11:03:40 UTC
+++ pam_oath/pam_modutil.h
@@ -0,0 +1,17 @@
+#ifndef PAM_MODUTIL_H
+#define PAM_MODUTIL_H
+
+#ifdef HAVE_SECURITY_PAM_MODUTIL_H
+#include <security/pam_modutil.h>
+#else
+
+#ifdef HAVE_SECURITY_PAM_MODULES_H
+#include <security/pam_modules.h>
+#endif
+
+#include <pwd.h>
+
+struct passwd *pam_modutil_getpwnam(pam_handle_t *pamh, const char *user);
+
+#endif
+#endif

View file

@ -1,20 +0,0 @@
--- pam_oath/pam_oath.c.orig 2021-05-01 17:10:32 UTC
+++ pam_oath/pam_oath.c
@@ -21,6 +21,7 @@
#include <config.h>
#include "oath.h"
+#include "pam_modutil.h"
#include <stdio.h>
#include <stdlib.h>
@@ -42,9 +43,6 @@
#ifdef HAVE_SECURITY_PAM_APPL_H
#include <security/pam_appl.h>
-#endif
-#ifdef HAVE_SECURITY_PAM_MODUTIL_H
-#include <security/pam_modutil.h>
#endif
#ifdef HAVE_SECURITY_PAM_MODULES_H
#include <security/pam_modules.h>

View file

@ -1,11 +0,0 @@
--- pam_oath/tests/Makefile.in.orig 2022-01-31 12:02:54 UTC
+++ pam_oath/tests/Makefile.in
@@ -102,7 +102,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = test-pam_oath$(EXEEXT) $(am__append_1)
+TESTS = $(am__append_1)
@ROOT_TESTS_TRUE@am__append_1 = run-root-tests.sh
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4