Updated with new Option, some cleanups.
>Number: 30849 news/nntpcache fails compiling authinfo_pam.c, add radius & ldap auth mechanisms. The fix is to place a #ifndef __FreeBSD__ .. #endif arround <security/pam_misc.h> in authinfo_pam.c. The attached patch corrects this problem, and adds additional authentication functionality to the nntpcache port (RADIUS, LDAP[v1,v2]). files/patch-src-authinfo_pam.ext removed due to a post-configure target is added to the Makefile that recreates the authinfo_[pam,radius,ldap].ext files. PR: 30849 Submitted by: hetzels@westbend.net
This commit is contained in:
parent
9477c6e16c
commit
2002767acb
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=56917
@ -16,6 +16,16 @@ MAINTAINER= ports@FreeBSD.org
|
||||
|
||||
BUILD_DEPENDS= automake14:${PORTSDIR}/devel/automake14
|
||||
|
||||
.if defined(WITH_LDAP) && !defined(WITH_LDAP2)
|
||||
LIB_DEPENDS+= ldap.1:${PORTSDIR}/net/openldap
|
||||
LIB_DEPENDS+= lber.1:${PORTSDIR}/net/openldap
|
||||
.endif
|
||||
|
||||
.if defined(WITH_LDAP2)
|
||||
LIB_DEPENDS+= ldap.2:${PORTSDIR}/net/openldap2
|
||||
LIB_DEPENDS+= lber.2:${PORTSDIR}/net/openldap2
|
||||
.endif
|
||||
|
||||
# This may be set interactively at install-time. NNTPCache will
|
||||
# cache news articles and related data in ${SPOOLDIR}/nntpcache.
|
||||
SPOOLDIR?= /var/spool
|
||||
@ -24,6 +34,20 @@ NO_CDROM= Free for individuals and non-military, non-profit organisations only
|
||||
USE_GMAKE= yes
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --localstatedir=${SPOOLDIR}
|
||||
|
||||
AUTHINFO_EXT= authinfo_pam.ext
|
||||
.if !defined(WITHOUT_RADIUS)
|
||||
CONFIGURE_ARGS+= --with-authinfo-radius
|
||||
AUTHINFO_EXT+= authinfo_radius.ext
|
||||
.endif
|
||||
.if defined(WITH_LDAP) || defined(WITH_LDAP2)
|
||||
CONFIGURE_ARGS+= --with-authinfo-ldap
|
||||
CPPFLAGS+= -I${PREFIX}/include -I${LOCALBASE}/include
|
||||
LDFLAGS+= -L${PREFIX}/lib -L${LOCALBASE}/lib
|
||||
AUTHINFO_EXT+= authinfo_ldap.ext
|
||||
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
|
||||
.endif
|
||||
|
||||
NNTPSPOOLDIR?= ${SPOOLDIR}/${PORTNAME}
|
||||
PLIST_SUB+= SPOOLDIR=${NNTPSPOOLDIR}
|
||||
CPIO= cpio --quiet -pdum -R
|
||||
@ -31,6 +55,18 @@ MAN8= nntpcached.8 newshound.8
|
||||
DOCS= AUTHORS ChangeLog FAQ FAQ.html HACKING HTML \
|
||||
INSTALL LICENSING NEWS README README.INN VERSION
|
||||
|
||||
.if !defined(BATCH)
|
||||
post-fetch:
|
||||
@${ECHO} "To enable LDAP support use either:"
|
||||
@${ECHO} " WITH_LDAP - LDAP v1 support"
|
||||
@${ECHO} " WITH_LDAP2 - LDAP v2 support"
|
||||
@${ECHO}
|
||||
@${ECHO} "To disable radius support use WITHOUT_RADIUS"
|
||||
.endif
|
||||
|
||||
post-configure:
|
||||
@cd ${WRKSRC}/src && ${GMAKE} ${AUTHINFO_EXT}
|
||||
|
||||
post-patch:
|
||||
@${PERL} -pi -e 's,AUTOMAKE=automake,AUTOMAKE=automake14,' \
|
||||
${WRKSRC}/configure
|
||||
|
19
news/nntpcache/files/patch-src-authinfo_ldap.c
Normal file
19
news/nntpcache/files/patch-src-authinfo_ldap.c
Normal file
@ -0,0 +1,19 @@
|
||||
--- src/authinfo_ldap.c.orig Sat Dec 18 12:08:30 1999
|
||||
+++ src/authinfo_ldap.c Wed Sep 26 10:55:27 2001
|
||||
@@ -78,7 +78,16 @@
|
||||
|
||||
lderr = ldap_bind_s(ld, dnbuf, pass, LDAP_AUTH_SIMPLE);
|
||||
if (lderr != LDAP_SUCCESS && lderr != LDAP_INVALID_CREDENTIALS && lderr != LDAP_INAPPROPRIATE_AUTH)
|
||||
+#if LDAP_API_VERSION >= 2004
|
||||
+ {
|
||||
+ int ld_errno = 0;
|
||||
+ ldap_get_option(ld, LDAP_OPT_ERROR_NUMBER, &ld_errno);
|
||||
+ logen(("LDAP ERROR: ldap user bind failed (%d): %s", lderr, ldap_err2string(ld_errno)));
|
||||
+ }
|
||||
+#else
|
||||
+
|
||||
logen(("LDAP ERROR: ldap user bind failed (%d): %s", lderr, ldap_err2string(GET_LDERROR(ld))));
|
||||
+#endif
|
||||
ldap_unbind(ld);
|
||||
memset(pass, strlen(pass), 0);
|
||||
if (lderr == LDAP_SUCCESS) {
|
12
news/nntpcache/files/patch-src-authinfo_pam.c
Normal file
12
news/nntpcache/files/patch-src-authinfo_pam.c
Normal file
@ -0,0 +1,12 @@
|
||||
--- src/authinfo_pam.c.orig Sun Jun 11 14:32:55 2000
|
||||
+++ src/authinfo_pam.c Wed Sep 26 11:27:09 2001
|
||||
@@ -15,7 +15,9 @@
|
||||
#include "authinfo_pam.h"
|
||||
|
||||
#include <security/pam_appl.h>
|
||||
+#ifndef __FreeBSD__
|
||||
#include <security/pam_misc.h>
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* pam authenticator.
|
@ -1,11 +0,0 @@
|
||||
--- src/authinfo_pam.ext.orig Sun Jun 11 22:01:43 2000
|
||||
+++ src/authinfo_pam.ext Fri Sep 14 10:55:25 2001
|
||||
@@ -19,6 +19,8 @@
|
||||
#else
|
||||
# define EXP_(x)
|
||||
#endif
|
||||
+extern authenticator pam_authenticator;
|
||||
+extern int pam_got_pass(char *pass);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@ -1,13 +0,0 @@
|
||||
$FreeBSD$
|
||||
|
||||
--- src/authinfo_pam.c.orig Sat Nov 10 05:52:17 2001
|
||||
+++ src/authinfo_pam.c Sat Nov 10 05:51:29 2001
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "authinfo_pam.h"
|
||||
|
||||
#include <security/pam_appl.h>
|
||||
-#include <security/pam_misc.h>
|
||||
+/* #include <security/pam_misc.h> */
|
||||
|
||||
/*
|
||||
* pam authenticator.
|
Loading…
Reference in New Issue
Block a user