pkgsrc/net/samba35/Makefile
taca aaeb833757 Update samba35 to 3.5.22, security release.
==============================
                   Release Notes for Samba 3.5.22
			  August 05, 2013
                   ==============================


This is a security release in order to address
CVE-2013-4124 (Missing integer wrap protection in EA list reading can cause
server to loop with DOS).

o  CVE-2013-4124:
   All current released versions of Samba are vulnerable to a denial of
   service on an authenticated or guest connection. A malformed packet
   can cause the smbd server to loop the CPU performing memory
   allocations and preventing any further service.

   A connection to a file share, or a local account is needed to exploit
   this problem, either authenticated or unauthenticated if guest
   connections are allowed.

   This flaw is not exploitable beyond causing the code to loop
   allocating memory, which may cause the machine to exceed memory
   limits.


Changes since 3.5.21:
---------------------

o   Jeremy Allison <jra@samba.org>
    * BUG 10010: CVE-2013-4124: Missing integer wrap protection in EA list
      reading can cause server to loop with DOS.
2013-08-12 02:47:32 +00:00

164 lines
5.7 KiB
Makefile

# $NetBSD: Makefile,v 1.31 2013/08/12 02:47:32 taca Exp $
.include "../../net/samba/Makefile.mirrors"
DISTNAME= samba-${VERSION}
CATEGORIES= net
MASTER_SITES= ${SAMBA_MIRRORS:=stable/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.samba.org/
COMMENT= SMB/CIFS protocol server suite
LICENSE= gnu-gpl-v3
VERSION= 3.5.22
CONFLICTS+= ja-samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]* winbind-[0-9]*
FILESDIR= ${PKGDIR}/../../net/samba/files
DESCR_SRC= ${PKGDIR}/../../net/samba/DESCR
MESSAGE_SRC= ${PKGDIR}/../../net/samba/MESSAGE
WRKSRC= ${WRKDIR}/${DISTNAME}/source3
BUILD_DEFS+= VARBASE
CFLAGS+= -D__stub_utimensat
.include "../../mk/bsd.prefs.mk"
PKG_SYSCONFSUBDIR= samba
SAMBA_ETCDIR?= ${PKG_SYSCONFDIR}
SAMBA_LIBDIR?= ${PREFIX}/lib
SAMBA_LOCKDIR?= ${SAMBA_VARDIR}/run/samba
SAMBA_LOGDIR?= ${SAMBA_VARDIR}/log
SAMBA_MODULESDIR?= ${SAMBA_LIBDIR}/samba
SAMBA_PIDDIR?= ${SAMBA_VARDIR}/run
SAMBA_PRIVATE?= ${SAMBA_ETCDIR}/private
SAMBA_STATEDIR?= ${SAMBA_VARDIR}/db/samba
SAMBA_VARDIR?= ${VARBASE}
WINBINDD_RCD_SCRIPT= # empty
FILES_SUBST+= SAMBA_ETCDIR=${SAMBA_ETCDIR}
FILES_SUBST+= SAMBA_LOCKDIR=${SAMBA_LOCKDIR}
FILES_SUBST+= SAMBA_LOGDIR=${SAMBA_LOGDIR}
FILES_SUBST+= SAMBA_PIDDIR=${SAMBA_PIDDIR}
FILES_SUBST+= SAMBA_PRIVATE=${SAMBA_PRIVATE:Q}
FILES_SUBST+= SAMBA_STATEDIR=${SAMBA_STATEDIR}
FILES_SUBST+= SAMBA_VARDIR=${SAMBA_VARDIR}
FILES_SUBST+= WINBINDD_RCD_SCRIPT=${WINBINDD_RCD_SCRIPT:Q}
# mktemp is useful for the replacement adduser script, but don't require
# a full dependency since it's not actually needed by samba.
USE_TOOLS+= gmake mktemp perl:run
REPLACE_PERL= script/findsmb.in
BROKEN_GETTEXT_DETECTION=yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --libdir=${SAMBA_LIBDIR}
CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}
CONFIGURE_ARGS+= --with-configdir=${SAMBA_ETCDIR}
CONFIGURE_ARGS+= --with-lockdir=${SAMBA_LOCKDIR}
CONFIGURE_ARGS+= --with-logfilebase=${SAMBA_LOGDIR}
CONFIGURE_ARGS+= --with-modulesdir=${SAMBA_MODULESDIR}
CONFIGURE_ARGS+= --with-piddir=${SAMBA_PIDDIR}
CONFIGURE_ARGS+= --with-privatedir=${SAMBA_PRIVATE:Q}
CONFIGURE_ARGS+= --with-statedir=${SAMBA_STATEDIR}
CONFIGURE_ARGS+= --localstatedir=${SAMBA_VARDIR}
CONFIGURE_ARGS+= --with-mandir=${PREFIX}/${PKGMANDIR}
CONFIGURE_ARGS+= --with-swatdir=${PREFIX}/share/samba/swat
#
# Explicitly disable samba4 merged-build option which is broken.
#
CONFIGURE_ARGS+= --enable-merged-build=no
.include "../../net/samba/options.mk"
PLIST_VARS+= cifsmount macosx
# Only Linux supports mount.cifs for mounting a CIFS share into the filesystem.
.if ${OPSYS} == "Linux"
CONFIGURE_ARGS+= --with-cifsmount --with-cifsumount
PLIST.cifsmount= yes
.endif
.if ${OPSYS} == "Darwin"
PLIST.macosx= yes
.endif
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
PLIST_SUBST+= LIBEXT=dylib
SAMBA_LIBEXT= dylib
.else
PLIST_SUBST+= LIBEXT=so
SAMBA_LIBEXT= so
.endif
.if !defined(PWD_MKDB)
PWD_MKDB!= ${TYPE} pwd_mkdb 2>&1 | \
${AWK} '/not found/ { print "pwd_mkdb"; exit } { print $$3 }'
MAKEFLAGS+= PWD_MKDB=${PWD_MKDB:Q}
.endif
FILES_SUBST+= MKTEMP=${MKTEMP:Q}
FILES_SUBST+= PWD_MKDB=${PWD_MKDB:Q}
INSTALLATION_DIRS+= ${DOCDIR} ${EGDIR}
DOCDIR= share/doc/${PKGBASE}
EGDIR= share/examples/${PKGBASE}
CONF_FILES= ${PREFIX}/${EGDIR}/smb.conf.default ${SAMBA_ETCDIR}/smb.conf
MAKE_DIRS= ${SAMBA_VARDIR} ${SAMBA_LOGDIR} ${SAMBA_PIDDIR}
OWN_DIRS= ${SAMBA_ETCDIR} ${SAMBA_LOCKDIR} ${SAMBA_STATEDIR}
OWN_DIRS_PERMS= ${SAMBA_PRIVATE} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
RCD_SCRIPTS+= samba nmbd smbd ${WINBINDD_RCD_SCRIPT}
SUBST_CLASSES+= paths
SUBST_MESSAGE.paths= Fixing paths.
SUBST_FILES.paths= ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
SUBST_STAGE.paths= post-patch
SUBST_SED.paths+= -e 's,@AWK@,${AWK},g'
SUBST_SED.paths+= -e 's,@CAT@,${CAT},g'
SUBST_SED.paths+= -e 's,@MKTEMP@,${MKTEMP},g'
SUBST_SED.paths+= -e 's,@RM@,${RM},g'
SUBST_SED.paths+= -e 's,@PWD_MKDB@,${PWD_MKDB},g'
SUBST_SED.paths+= -e 's,@SH@,${SH},g'
post-extract:
${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
post-install:
${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/js
${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/include
${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/images
${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/js
${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/include
${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/js
${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/gpext
${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/idmap
${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/pdb
${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/rpc
set -e ; cd ${WRKDIR}/${DISTNAME}/docs/registry; for f in *.reg; do \
${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
done
${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh \
${DESTDIR}${PREFIX}/${EGDIR}/adduser.sh
${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh \
${DESTDIR}${PREFIX}/${EGDIR}/deluser.sh
${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/examples/LDAP/samba.schema \
${DESTDIR}${PREFIX}/${EGDIR}
${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/examples/smb.conf.default \
${DESTDIR}${PREFIX}/${EGDIR}
${INSTALL_SCRIPT} ${WRKSRC}/script/mknissmbpasswd.sh \
${DESTDIR}${PREFIX}/${EGDIR}
${INSTALL_SCRIPT} ${WRKSRC}/script/mknissmbpwdtbl.sh \
${DESTDIR}${PREFIX}/${EGDIR}
${INSTALL_SCRIPT} ${WRKSRC}/script/mksmbpasswd.sh \
${DESTDIR}${PREFIX}/${EGDIR}
${INSTALL_SCRIPT} ${WRKSRC}/script/updatesmbpasswd.sh \
${DESTDIR}${PREFIX}/${EGDIR}
${CHMOD} ${SHAREMODE} ${DESTDIR}${PREFIX}/include/*.h
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/popt/buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"