From owner-freebsd-ports Wed Sep 26 11:50:17 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 66E8137B41E for ; Wed, 26 Sep 2001 11:50:01 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f8QIo1f90948; Wed, 26 Sep 2001 11:50:01 -0700 (PDT) (envelope-from gnats) Received: from mail.westbend.net (ns1.westbend.net [216.47.253.3]) by hub.freebsd.org (Postfix) with ESMTP id 7157337B414 for ; Wed, 26 Sep 2001 11:48:39 -0700 (PDT) Received: (from root@localhost) by wbiW09.westbend.net (8.11.6/8.11.5) id f8QIjuY27839; Wed, 26 Sep 2001 13:45:56 -0500 (CDT) (envelope-from admin) Message-Id: <200109261845.f8QIjuY27839@wbiW09.westbend.net> Date: Wed, 26 Sep 2001 13:45:56 -0500 (CDT) From: "Scot W. Hetzel" Reply-To: "Scot W. Hetzel" To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: ports/30849: news/ntpcache fails compiling authinfo_pam.c, add radius & ldap auth mechanisms. Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 30849 >Category: ports >Synopsis: news/ntpcache fails compiling authinfo_pam.c, add radius & ldap auth mechanisms. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Sep 26 11:50:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Scot W. Hetzel >Release: FreeBSD 4.4-STABLE i386 >Organization: West Bend Internet >Environment: System: FreeBSD wbiW09.westbend.net 4.4-STABLE FreeBSD 4.4-STABLE #0: Fri Sep 21 17:25:03 CDT 2001 root@wbiW09.westbend.net:/usr/obj/usr/src/sys/WBIW09-SMP i386 >Description: When compiling NNTPCache, I get the following error when compiling authinfo_pam.c: cc -DHAVE_CONFIG_H -I. -I. -I.. -I../cf -I../common -I../libproff -I../libconfused -I../mmap -I../libmmalloc -I../libdbz -I/usr/local/include -I/usr/local/include -O -pipe -Wall -pipe -ci authinfo_pam.c In file included from /usr/include/security/pam_misc.h:24, from authinfo_pam.c:18: /usr/include/security/_pam_macros.h:13: syntax error before `(' gmake: *** [authinfo_pam.o] Error 1 >How-To-Repeat: Try to build news/nntpcache on FreeBSD 4.x. >Fix: The fix is to place a #ifndef __FreeBSD__ .. #endif arround in authinfo_pam.c. The attached patch corrects this problem, and adds additional authentication functionality to the nntpcache port (RADIUS, LDAP[v1,v2]). Changed files: Makefile New files: files/patch-src-authinfo_ldap.c files/patch-src-authinfo_pam.c Removed files: files/patch-src-authinfo_pam.ext 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. Index: Makefile =================================================================== RCS file: /home/ncvs/ports/news/nntpcache/Makefile,v retrieving revision 1.19 diff -u -r1.19 Makefile --- Makefile 2001/09/14 09:47:23 1.19 +++ Makefile 2001/09/26 15:45:33 @@ -16,6 +16,17 @@ #BUILD_DEPENDS= pgp:${PORTSDIR}/security/pgp +.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,12 +35,38 @@ 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/usr/local/include +LDFLAGS+= -L${PREFIX}/lib -L/usr/local/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 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-install: @ ${MKDIR} ${PREFIX}/etc/rc.d Index: files/patch-src-authinfo_ldap.c =================================================================== RCS file: patch-src-authinfo_ldap.c diff -N patch-src-authinfo_ldap.c --- /dev/null Wed Sep 26 13:01:31 2001 +++ patch-src-authinfo_ldap.c Wed Sep 26 10:56:39 2001 @@ -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) { Index: files/patch-src-authinfo_pam.c =================================================================== RCS file: patch-src-authinfo_pam.c diff -N patch-src-authinfo_pam.c --- /dev/null Wed Sep 26 13:01:31 2001 +++ patch-src-authinfo_pam.c Wed Sep 26 12:55:50 2001 @@ -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 ++#ifndef __FreeBSD__ + #include ++#endif + + /* + * pam authenticator. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message