diff -urN vpopmail.old/Makefile vpopmail/Makefile --- vpopmail.old/Makefile Wed Aug 25 17:09:45 2004 +++ vpopmail/Makefile Wed Sep 8 17:08:23 2004 @@ -49,6 +49,7 @@ # WITH_PGSQL - allow authentication via PostgreSQL # WITH_SYBASE - allow authentication via Sybase (NOT TESTED!) # WITH_ORACLE - allow authentication via Oracle (NOT TESTED!) +# WITH_LDAP - allow authentication via LDAP (NOT TESTED!) # WITH_VALIAS - enable valias processing # WITHOUT_ROAMING - disallow roaming users # WITH_IP_ALIAS - enables IP aliasing @@ -121,11 +122,31 @@ # WITH_SYBASE_APP - the app for connecting to the Sybase server (vpopmail) # WITH_SYBASE_DB - the name of the Sybase database to connect to (vpopmail) # +# +# LDAP configuration options +# +# WITH_LDAP_SERVER - the ldap server name (localhost) +# WITH_LDAP_USER - the username for connecting to the ldap server (vpopmailuser) +# WITH_LDAP_PASSWD - the password for connecting to the ldap server (vpoppasswd) +# WITH_LDAP_BASEDN - the basedn for connecting to the ldap server (vpopmail) +# RELAYCLEAR?= 30 SPAM_THRESHOLD?=15 LOGLEVEL?= y +.if defined(WITH_LDAP) +USE_OPENLDAP_VER= 21 +.if defined(WITH_LDAP_SASL) +WANT_OPENLDAP_SASL= yes +.endif +CONFIGURE_ARGS+= --enable-auth-module=ldap +LDAP_FILES= ${WRKSRC}/README.ldap \ + ${WRKSRC}/ldap/qmailUser.schema \ + ${WRKSRC}/ldap/slapd.conf \ + ${WRKSRC}/ldap/vpopmail.ldif +.endif + .if defined(WITH_MYSQL) USE_MYSQL= yes CONFIGURE_ARGS+= --enable-auth-module=mysql \ @@ -320,8 +341,37 @@ ${REINPLACE_CMD} -E -e "s/(#define SYBASE_DATABASE.*)vpopmail(.*)/\1${WITH_SYBASE_DB}\2/" ${WRKSRC}/vsybase.h .endif .endif +.if defined(WITH_LDAP) +.if defined(WITH_LDAP_SERVER) + ${REINPLACE_CMD} -E -e "s/(#define VLDAP_SERVER.*)localhost(.*)/\1${WITH_LDAP_SERVER}\2/" ${WRKSRC}/vldap.h +.endif +.if defined(WITH_LDAP_BASEDN) + ${REINPLACE_CMD} -E -e "s/(#define VLDAP_USER.*)vpopmail(.*)/\1${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/vldap.h + ${REINPLACE_CMD} -E -e "s/(#define VLDAP_BASEDN.*)o=vpopmail(.*)/\1o=${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/vldap.h + ${REINPLACE_CMD} -E -e "s/(suffix.*)vpopmail(.*)/\1${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/ldap/slapd.conf + ${REINPLACE_CMD} -E -e "s/(rootdn.*)o=vpopmail(.*)/\1o=${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/ldap/slapd.conf + ${REINPLACE_CMD} -E -e "s/(by dn=.*)o=vpopmail(.*)/\1o=${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/ldap/slapd.conf + ${REINPLACE_CMD} -E -e "s/(dn:.*)vpopmail(.*)/\1${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/ldap/vpopmail.ldif + ${REINPLACE_CMD} -E -e "s/(o:.*)vpopmail(.*)/\1${WITH_LDAP_BASEDN}\2/" ${WRKSRC}/ldap/vpopmail.ldif +.endif +.if defined(WITH_LDAP_USER) + ${REINPLACE_CMD} -E -e "s/(#define VLDAP_USER.*)vpopmailuser(.*)/\1${WITH_LDAP_USER}\2/" ${WRKSRC}/vldap.h + ${REINPLACE_CMD} -E -e "s/(rootdn.*)cn=vpopmailuser(.*)/\1cn=${WITH_LDAP_USER}\2/" ${WRKSRC}/ldap/slapd.conf + ${REINPLACE_CMD} -E -e "s/(by dn=.*)cn=vpopmailuser(.*)/\1cn=${WITH_LDAP_USER}\2/" ${WRKSRC}/ldap/slapd.conf +.endif +.if defined(WITH_LDAP_PASSWORD) + ${REINPLACE_CMD} -E -e "s/(#define VLDAP_PASSWORD.*)vpoppasswd(.*)/\1${WITH_LDAP_PASSWORD}\2/" ${WRKSRC}/vldap.h + ${REINPLACE_CMD} -E -e "s/(rootpw.*)vpoppasswd(.*)/\1${WITH_LDAP_PASSWORD}\2/" ${WRKSRC}/ldap/slapd.conf +.endif +.endif ${MKDIR} ${VCFGDIR} +.if defined(WITH_LDAP) +PLIST:= ${WRKDIR}/PLIST +pre-install: + @${CAT} ${PKGDIR}/pkg-plist.ldap ${PKGDIR}/pkg-plist > ${PLIST} +.endif + post-install: ${MKDIR} ${PREFIX}/vpopmail/etc if [ ! -e "${PREFIX}/vpopmail/etc/tcp.smtp" ]; then \ @@ -346,6 +396,10 @@ ${ECHO_CMD} "Now you should add the following options to your spamd.sh startup file:" ${ECHO_CMD} "-v -u vpopmail" ${ECHO_CMD} "***********************************************************************" +.endif +.if defined(WITH_LDAP) + ${MKDIR} ${PREFIX}/vpopmail/ldap + ${INSTALL_DATA} ${LDAP_FILES} ${PREFIX}/vpopmail/ldap .endif .include diff -urN vpopmail.old/files/patch-ldap-configure vpopmail/files/patch-ldap-configure --- vpopmail.old/files/patch-ldap-configure Thu Jan 1 09:00:00 1970 +++ vpopmail/files/patch-ldap-configure Wed Sep 8 16:20:26 2004 @@ -0,0 +1,11 @@ +--- configure.orig Thu Jun 3 15:06:53 2004 ++++ configure Thu Jun 3 15:07:48 2004 +@@ -5985,7 +5985,7 @@ + #define USE_LDAP $USE_LDAP + _ACEOF + +- auth_libs="-L/usr/local/lib -lldap -llber -lresolv" ++ auth_libs="-L/usr/local/lib -lldap -llber" + + auth_inc="-I/usr/local/include" + diff -urN vpopmail.old/pkg-plist.ldap vpopmail/pkg-plist.ldap --- vpopmail.old/pkg-plist.ldap Thu Jan 1 09:00:00 1970 +++ vpopmail/pkg-plist.ldap Wed Sep 8 16:20:26 2004 @@ -0,0 +1,5 @@ +vpopmail/ldap/README.ldap +vpopmail/ldap/qmailUser.schema +vpopmail/ldap/slapd.conf +vpopmail/ldap/vpopmail.ldif +@dirrm vpopmail/ldap