aboutsummaryrefslogtreecommitdiff
path: root/net/samba36
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2016-05-16 14:06:53 +0000
committerRene Ladan <rene@FreeBSD.org>2016-05-16 14:06:53 +0000
commit82431ad0a687eef1798e719585540e5926669804 (patch)
tree4944d02dc055e447bef42dfb94495576fb42715b /net/samba36
parentc72273af5b864f05ffa562f62c2afeb3fc182cb2 (diff)
downloadports-82431ad0a687eef1798e719585540e5926669804.tar.gz
ports-82431ad0a687eef1798e719585540e5926669804.zip
Re-add net/libsmbclient and net/samba36, they are still required for some
ports but Tools/scripts/rmport did not warn about those.
Notes
Notes: svn path=/head/; revision=415328
Diffstat (limited to 'net/samba36')
-rw-r--r--net/samba36/Makefile561
-rw-r--r--net/samba36/distinfo4
-rw-r--r--net/samba36/files/README.FreeBSD32
-rw-r--r--net/samba36/files/patch-lib__replace__system__wait.h21
-rw-r--r--net/samba36/files/patch-lib__tevent__tevent_signal.c11
-rw-r--r--net/samba36/files/patch-nsswitch__pam_winbind.c52
-rw-r--r--net/samba36/files/patch-nsswitch__winbind_nss_freebsd.c100
-rw-r--r--net/samba36/files/patch-nsswitch__wins_freebsd.c82
-rw-r--r--net/samba36/files/patch-source3__Makefile.in62
-rw-r--r--net/samba36/files/patch-source3__configure.in210
-rw-r--r--net/samba36/files/patch-source3__include__includes.h24
-rw-r--r--net/samba36/files/patch-source3__lib__fault.c164
-rw-r--r--net/samba36/files/patch-source3__lib__system.c19
-rw-r--r--net/samba36/files/patch-source3__m4__aclocal.m4163
-rw-r--r--net/samba36/files/patch-source3__modules__vfs_shadow_copy2.c127
-rw-r--r--net/samba36/files/patch-source3__smbd__quotas.c19
-rw-r--r--net/samba36/files/patch-source3__smbd__statvfs.c64
-rw-r--r--net/samba36/files/patch-source3__utils__net.c18
-rw-r--r--net/samba36/files/patch-source3__utils__net_time.c19
-rw-r--r--net/samba36/files/pkg-message.in7
-rw-r--r--net/samba36/files/samba.in198
-rw-r--r--net/samba36/files/sernet.patch67
-rw-r--r--net/samba36/files/smb.conf.sample.in306
-rw-r--r--net/samba36/pkg-descr12
-rw-r--r--net/samba36/pkg-plist215
-rw-r--r--net/samba36/pkg-plist.swat345
26 files changed, 2902 insertions, 0 deletions
diff --git a/net/samba36/Makefile b/net/samba36/Makefile
new file mode 100644
index 000000000000..6b3862e927c0
--- /dev/null
+++ b/net/samba36/Makefile
@@ -0,0 +1,561 @@
+# $FreeBSD$
+
+PORTNAME= ${SAMBA_BASENAME}36
+PORTVERSION= 3.6.25
+PORTREVISION?= 3
+CATEGORIES?= net
+MASTER_SITES= SAMBA/samba SAMBA/samba/stable SAMBA/samba/pre
+DISTNAME= ${SAMBA_BASENAME}-${PORTVERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
+PATCH_SITES= https://www.samba.org/samba/ftp/patches/security/
+PATCHFILES= samba-3.6.25-security-2015-12-16.patch:-p1
+
+MAINTAINER?= timur@FreeBSD.org
+COMMENT?= Free SMB and CIFS client and server for Unix
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKDIR}/${DISTNAME}/COPYING
+
+CONFLICTS?= *samba3[2-5]-3.*
+
+DEPRECATED= not supported by the upstream
+EXPIRATION_DATE= 2016-04-01
+
+# Additional patches from Sernet.de
+PATCH_STRIP= -p1
+EXTRA_PATCHES= ${PATCHDIR}/sernet.patch
+
+SAMBA_BASENAME= samba
+CPE_VENDOR= samba
+CPE_PRODUCT= samba
+
+EXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
+PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}
+WRKSRC= ${WRKDIR}/${DISTNAME}/source3
+IPATHS= -I${WRKDIR}/${DISTNAME}/source3/m4 -I${WRKDIR}/${DISTNAME}/m4 -I${WRKDIR}/${DISTNAME}/lib/replace -I${WRKDIR}/${DISTNAME}/source4
+AUTOHEADER_ARGS= ${IPATHS}
+AUTOCONF_ARGS= ${IPATHS}
+
+GNU_CONFIGURE= yes
+USES= cpe execinfo gmake iconv pkgconfig shebangfix
+SHEBANG_FILES= ../examples/LDAP/convertSambaAccount \
+ ../examples/LDAP/get_next_oid \
+ ../examples/LDAP/ol-schema-migrate.pl \
+ ../examples/ad-bench/ad-bench.sh \
+ ../examples/misc/adssearch.pl \
+ ../examples/misc/check_multiple_LDAP_entries.pl \
+ ../examples/misc/cldap.pl \
+ ../examples/printing/smbprint \
+ ../examples/scripts/idmap/idmap_nis.sh \
+ ../examples/scripts/printing/cups/smbaddprinter.pl \
+ ../examples/scripts/printing/cups/smbdelprinter.pl \
+ ../examples/scripts/shares/perl/modify_samba_config.pl \
+ ../examples/scripts/users_and_groups/adduserstogroups.pl \
+ ../examples/scripts/users_and_groups/createdomobj.pl
+USE_AUTOTOOLS= autoconf autoheader
+USE_LDCONFIG= ${SAMBA_LIBDIR}
+# pkg-config is used to find talloc
+PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
+PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S|^${PREFIX}/||}
+# directories
+VARDIR?= /var
+SAMBA_SPOOL?= ${VARDIR}/spool/${SAMBA_BASENAME}
+SAMBA_LOGDIR= ${VARDIR}/log/${SAMBA_BASENAME}
+SAMBA_RUNDIR= ${VARDIR}/run/${SAMBA_BASENAME}
+SAMBA_LOCKDIR?= ${VARDIR}/db/${SAMBA_BASENAME}
+SAMBA_CONFIG?= smb.conf
+SAMBA_CONFDIR?= ${PREFIX}/etc
+RC_DIR= ${PREFIX}/etc/rc.d
+SAMBA_SWATDIR= ${PREFIX}/share/swat
+SAMBA_LIBDIR= ${PREFIX}/lib
+SAMBA_MODULEDIR= ${SAMBA_LIBDIR}/${SAMBA_BASENAME}
+SAMBA_INCLUDEDIR= ${PREFIX}/include/${SAMBA_BASENAME}
+SAMBA_PRIVATEDIR?= ${SAMBA_CONFDIR}/${SAMBA_BASENAME}
+
+CONFIGURE_ARGS+= --exec-prefix="${PREFIX}" \
+ --sysconfdir="${SAMBA_CONFDIR}" \
+ --with-configdir="${SAMBA_CONFDIR}" \
+ --includedir="${SAMBA_INCLUDEDIR}" \
+ --datadir="${DATADIR}" \
+ --with-swatdir="${SAMBA_SWATDIR}" \
+ --libdir="${SAMBA_LIBDIR}" \
+ --with-pammodulesdir="${SAMBA_LIBDIR}" \
+ --with-modulesdir="${SAMBA_MODULEDIR}" \
+ --localstatedir="${VARDIR}" \
+ --with-piddir="${SAMBA_RUNDIR}" \
+ --with-ncalrpcdir="${SAMBA_RUNDIR}/ncalrpc" \
+ --with-nmbdsocketdir="${SAMBA_RUNDIR}/nmbd" \
+ --with-lockdir="${SAMBA_LOCKDIR}" \
+ --with-statedir="${SAMBA_LOCKDIR}" \
+ --with-cachedir="${SAMBA_LOCKDIR}" \
+ --with-privatedir="${SAMBA_PRIVATEDIR}" \
+ --with-logfilebase="${SAMBA_LOGDIR}"
+
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+CONFIGURE_ENV+= PTHREAD_LDFLAGS="-lpthread"
+# XXX: Temporary hack for RELENG6
+CONFIGURE_ENV+= ac_cv_header_sys_mount_h=yes
+# XXX: readdir test fails on ZFS, bringing unusable replacement code
+CONFIGURE_ENV+= libreplace_cv_READDIR_NEEDED=no
+# tdb
+BUILD_DEPENDS+= tdb>=1.2.6:databases/tdb
+RUN_DEPENDS+= tdb>=1.2.6:databases/tdb
+CONFIGURE_ARGS+= --without-libtdb --enable-external-libtdb
+# talloc
+BUILD_DEPENDS+= talloc>=2.0.1:devel/talloc
+RUN_DEPENDS+= talloc>=2.0.1:devel/talloc
+CONFIGURE_ARGS+= --without-libtalloc --enable-external-libtalloc
+# tevent
+BUILD_DEPENDS+= tevent>=0.9.11:devel/tevent
+RUN_DEPENDS+= tevent>=0.9.11:devel/tevent
+CONFIGURE_ARGS+= --without-libtevent --enable-external-libtevent
+# These options are common for all (sub)ports
+CONFIGURE_ARGS+= ${ICONV_CONFIGURE_BASE} \
+ --disable-as-needed
+
+.if !defined(SAMBA_SUBPORT)
+OPTIONS_DEFINE= ACL_SUPPORT ADS AIO_SUPPORT AVAHI CUPS DNSUPDATE \
+ DOCS EXAMPLES EXP_MODULES FAM IPV6 LDAP \
+ MAX_DEBUG PAM_SMBPASS POPT PTHREADPOOL QUOTAS \
+ SMBTORTURE SWAT SYSLOG UTMP WINBIND
+OPTIONS_RADIO= GSSAPI
+OPTIONS_RADIO_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
+
+OPTIONS_DEFAULT= ACL_SUPPORT AIO_SUPPORT CUPS LDAP POPT PTHREADPOOL \
+ WINBIND GSSAPI_NONE
+
+ACL_SUPPORT_DESC= ACL support
+
+ADS_DESC= Active Directory support
+ADS_CONFIGURE_ON= --with-ads --with-krb5="${GSSAPIBASEDIR}"
+ADS_CONFIGURE_OFF= --without-ads --without-krb5
+
+AIO_SUPPORT_DESC= Asyncronous IO support
+DNSUPDATE_DESC= Dynamic DNS update(require ADS)
+EXP_MODULES_DESC= Experimental modules
+
+GSSAPI_BASE_DESC= Use Heimdal in base
+GSSAPI_BASE_USES= gssapi
+GSSAPI_HEIMDAL_DESC= Use Heimdal from ports
+GSSAPI_HEIMDAL_USES= gssapi:heimdal,flags
+GSSAPI_MIT_DESC= Use MIT Kerberos V5
+GSSAPI_MIT_USES= gssapi:mit,flags
+GSSAPI_NONE_DESC= No Kerberos support
+
+MAX_DEBUG_DESC= Maximum debugging
+PAM_SMBPASS_DESC= PAM authentication via passdb backends
+POPT_DESC= System-wide POPT library
+PTHREADPOOL_DESC= Pthread pool
+QUOTAS_DESC= Disk quota support
+SMBTORTURE_DESC= smbtorture
+SWAT_DESC= SWAT WebGUI
+UTMP_DESC= UTMP accounting support
+WINBIND_DESC= WinBIND support
+
+# !SAMBA_SUBPORT
+.endif
+
+.include <bsd.port.options.mk>
+
+# There are reports that on ARM PIE makes binaries to core dump(#149186)
+.if ${ARCH} == "arm"
+CONFIGURE_ARGS+= --disable-pie
+.endif
+
+.if defined(SAMBA_SUBPORT)
+# Switch off all extra functionality
+CONFIGURE_ARGS+= --disable-cups --disable-fam --without-winbind \
+ --without-syslog --without-quotas --without-utmp \
+ --without-pam --without-pam_smbpass \
+ --without-aio-support --with-included-popt
+.else
+# Samba server itself
+USE_RC_SUBR= ${SAMBA_BASENAME}
+SUB_FILES= pkg-message smb.conf.sample
+
+PLIST= ${WRKDIR}/.PLIST
+# We don't (yet) have clustered FS for cluster support
+CONFIGURE_ARGS+= --with-pam --with-readline=/usr \
+ --with-included-iniparser \
+ --with-sendfile-support \
+ --enable-largefile \
+ --without-cluster-support \
+ --without-libsmbclient \
+ --without-libaddns \
+ --without-libnetapi \
+ --without-libsmbsharemodes
+
+.if ! ${PORT_OPTIONS:MIPV6}
+CONFIGURE_ENV+= libreplace_cv_HAVE_IPV6=no
+.endif
+
+.if ${PORT_OPTIONS:MLDAP}
+SAMBA_WANT_LDAP= yes
+.endif
+
+.if ${PORT_OPTIONS:MCUPS}
+LIB_DEPENDS+= libcups.so:print/cups
+CONFIGURE_ARGS+= --enable-cups --enable-iprint
+SUB_LIST+= CUPS=""
+.else
+CONFIGURE_ARGS+= --disable-cups --disable-iprint
+SUB_LIST+= CUPS="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MMAX_DEBUG}
+CPPFLAGS+= -g
+LDFLAGS+= -g
+LIB_DEPENDS+= libdmalloc.so:devel/dmalloc
+CONFIGURE_ARGS+= --enable-debug
+# --enable-socket-wrapper --enable-nss-wrapper \
+# --enable-developer --enable-krb5developer \
+# --enable-dmalloc --with-profiling-data
+
+CONFIGURE_ARGS+= --with-smbtorture4-path=${WRKDIR}/${DISTNAME}/source4/torture
+.else
+CONFIGURE_ARGS+= --disable-debug \
+ --disable-socket-wrapper --disable-nss-wrapper \
+ --disable-developer --disable-krb5developer \
+ --disable-dmalloc --without-profiling-data
+.endif
+
+.if ${PORT_OPTIONS:MSYSLOG}
+CONFIGURE_ARGS+= --with-syslog
+.else
+CONFIGURE_ARGS+= --without-syslog
+.endif
+
+.if ${PORT_OPTIONS:MQUOTAS}
+CONFIGURE_ARGS+= --with-quotas
+.else
+CONFIGURE_ARGS+= --without-quotas
+.endif
+
+.if ${PORT_OPTIONS:MUTMP}
+CONFIGURE_ARGS+= --with-utmp
+.else
+CONFIGURE_ARGS+= --without-utmp
+.endif
+
+.if ${PORT_OPTIONS:MWINBIND}
+CONFIGURE_ARGS+= --with-winbind
+PLIST_SUB+= WINBIND=""
+SUB_LIST+= WINBIND=""
+.else
+CONFIGURE_ARGS+= --without-winbind
+PLIST_SUB+= WINBIND="@comment "
+SUB_LIST+= WINBIND="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MSWAT}
+CONFIGURE_ARGS+= --enable-swat
+PLIST_SUB+= SWAT=""
+.else
+CONFIGURE_ARGS+= --disable-swat
+PLIST_SUB+= SWAT="@comment "
+.endif
+# Add some shared modules
+.if ${PORT_OPTIONS:MEXP_MODULES}
+. if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES)
+WANT_EXP_MODULES= idmap_tdb2 idmap_ad idmap_adex idmap_hash idmap_rid \
+ charset_weird
+. if ! ${PORT_OPTIONS:MMAX_DEBUG}
+WANT_EXP_MODULES+= rpc_echo
+. endif
+WANT_EXP_MODULES+= vfs_cacheprime vfs_catia vfs_commit vfs_dirsort \
+ vfs_readahead vfs_streams_depot vfs_syncops
+. endif
+.endif
+
+.if ${PORT_OPTIONS:MFAM}
+USES+= fam
+WANT_EXP_MODULES+= vfs_notify_fam
+CONFIGURE_ARGS+= --enable-fam
+.else
+CONFIGURE_ARGS+= --disable-fam
+.endif
+
+.if ${PORT_OPTIONS:MACL_SUPPORT}
+CONFIGURE_ARGS+= --with-acl-support
+WANT_EXP_MODULES+= vfs_zfsacl
+LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl
+.else
+CONFIGURE_ARGS+= --without-acl-support
+.endif
+
+.if ${PORT_OPTIONS:MAIO_SUPPORT}
+CONFIGURE_ARGS+= --with-aio-support
+.else
+CONFIGURE_ARGS+= --without-aio-support
+.endif
+
+.if ${PORT_OPTIONS:MPAM_SMBPASS}
+CONFIGURE_ARGS+= --with-pam_smbpass
+PLIST_SUB+= SMBPASS=""
+.else
+CONFIGURE_ARGS+= --without-pam_smbpass
+PLIST_SUB+= SMBPASS="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MDNSUPDATE}
+. if ! ${PORT_OPTIONS:MADS}
+IGNORE= dynamic DNS updates require ADS support. Disable DNSUPDATE support
+. endif
+LIB_DEPENDS+= libuuid.so:misc/e2fsprogs-libuuid
+CONFIGURE_ARGS+= --with-dnsupdate
+.else
+CONFIGURE_ARGS+= --without-dnsupdate
+.endif
+
+.if ${PORT_OPTIONS:MAVAHI}
+CPPFLAGS+= `pkg-config --cflags avahi-client`
+CONFIGURE_ENV+= DNSSD_LIBS="`pkg-config --libs avahi-client`"
+LIB_DEPENDS+= libavahi-client.so:net/avahi-app
+CONFIGURE_ARGS+= --enable-avahi
+.else
+CONFIGURE_ARGS+= --disable-avahi
+.endif
+
+.if ${PORT_OPTIONS:MPTHREADPOOL}
+CONFIGURE_ARGS+= --enable-pthreadpool
+.else
+CONFIGURE_ARGS+= --disable-pthreadpool
+.endif
+
+.if ${PORT_OPTIONS:MPOPT}
+LIB_DEPENDS+= libpopt.so:devel/popt
+CONFIGURE_ARGS+= --without-included-popt
+.else
+CONFIGURE_ARGS+= --with-included-popt
+.endif
+
+.if ${PORT_OPTIONS:MSMBTORTURE}
+PLIST_SUB+= SMBTORTURE=""
+.else
+PLIST_SUB+= SMBTORTURE="@comment "
+.endif
+# !SAMBA_SUBPORT
+.endif
+
+###
+### Common part for port and it's subports
+###
+
+.if ${PORT_OPTIONS:MADS}
+. if ${PORT_OPTIONS:MGSSAPI_NONE}
+# Kerberos5 is necessary for ADS
+IGNORE= ADS support requires GSSAPI_BASE, GSSAPI_HEIMDAL, or GSSAPI_MIT
+. endif
+SAMBA_WANT_LDAP= yes
+.endif
+
+.if defined(SAMBA_WANT_LDAP)
+USE_OPENLDAP= yes
+CONFIGURE_ARGS+= --with-ldap
+.else
+CONFIGURE_ARGS+= --without-ldap
+.endif
+
+.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES)
+CONFIGURE_ARGS+= --with-shared-modules="${WANT_EXP_MODULES:Q:C/(\\\\ )+/,/g}"
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%SAMBA_CONFIG%%|${SAMBA_CONFIG}|g' \
+ ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}/configure.in ${WRKSRC}/m4/aclocal.m4
+ ${REINPLACE_CMD} -e '\|^Libs:|d; s|^#Libs:|Libs:|g' \
+ ${WRKSRC}/pkgconfig/*.pc.in
+###
+### end of common part
+###
+
+.if !defined(SAMBA_SUBPORT)
+# Samba server only
+SAMBA_MAN1= dbwrap_tool.1 findsmb.1 \
+ log2pcap.1 nmblookup.1 ntlm_auth.1 profiles.1 rpcclient.1 \
+ sharesec.1 smbcacls.1 smbclient.1 smbcontrol.1 smbcquotas.1 \
+ smbget.1 smbstatus.1 smbtar.1 smbtree.1 testparm.1 vfstest.1
+SAMBA_MAN5= lmhosts.5 smb.conf.5 smbgetrc.5 smbpasswd.5
+SAMBA_MAN7= samba.7
+SAMBA_MAN8= eventlogadm.8 net.8 nmbd.8 pdbedit.8 smbd.8 smbpasswd.8 \
+ smbspool.8 idmap_nss.8 idmap_tdb.8 idmap_tdb2.8 \
+ vfs_acl_tdb.8 vfs_acl_xattr.8 \
+ vfs_audit.8 vfs_cap.8 vfs_default_quota.8 vfs_extd_audit.8 \
+ vfs_fake_perms.8 vfs_full_audit.8 vfs_netatalk.8 \
+ vfs_preopen.8 \
+ vfs_readahead.8 vfs_readonly.8 vfs_recycle.8 vfs_shadow_copy.8 \
+ vfs_shadow_copy2.8 vfs_smb_traffic_analyzer.8 \
+ vfs_streams_xattr.8 vfs_xattr_tdb.8
+
+.if ${PORT_OPTIONS:MWINBIND}
+SAMBA_MAN1+= wbinfo.1
+SAMBA_MAN5+= pam_winbind.conf.5
+SAMBA_MAN7+= winbind_krb5_locator.7
+SAMBA_MAN8+= pam_winbind.8 winbindd.8
+.endif
+
+.if ${PORT_OPTIONS:MSWAT}
+SAMBA_MAN8+= swat.8
+.endif
+
+.if ${PORT_OPTIONS:MFAM}
+SAMBA_MAN8+= vfs_notify_fam.8
+.endif
+
+.if ${PORT_OPTIONS:MPTHREADPOOL}
+SAMBA_MAN8+= vfs_aio_pthread.8
+.endif
+
+.if defined(SAMBA_WANT_LDAP)
+SAMBA_MAN8+= idmap_ldap.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Midmap_ad)
+SAMBA_MAN8+= idmap_ad.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Midmap_adex)
+SAMBA_MAN8+= idmap_adex.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Midmap_hash)
+SAMBA_MAN8+= idmap_hash.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Midmap_rid)
+SAMBA_MAN8+= idmap_rid.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Mvfs_cacheprime)
+SAMBA_MAN8+= vfs_cacheprime.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Mvfs_catia)
+SAMBA_MAN8+= vfs_catia.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Mvfs_commit)
+SAMBA_MAN8+= vfs_commit.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Mvfs_dirsort)
+SAMBA_MAN8+= vfs_dirsort.8
+.endif
+
+.if !empty(WANT_EXP_MODULES:Mvfs_streams_depot)
+SAMBA_MAN8+= vfs_streams_depot.8
+.endif
+
+SAMBA_SUB= SAMBA_LOGDIR="${SAMBA_LOGDIR}" \
+ SAMBA_LOCKDIR="${SAMBA_LOCKDIR}" \
+ SAMBA_CONFDIR="${SAMBA_CONFDIR}" \
+ SAMBA_CONFIG="${SAMBA_CONFIG}" \
+ SAMBA_RUNDIR="${SAMBA_RUNDIR}" \
+ SAMBA_SWATDIR="${SAMBA_SWATDIR}" \
+ SAMBA_SPOOL="${SAMBA_SPOOL}" \
+ SAMBA_PRIVATEDIR="${SAMBA_PRIVATEDIR}" \
+ PKGCONFIGDIR="${PKGCONFIGDIR_REL}"
+
+PLIST_SUB+= ${SAMBA_SUB}
+SUB_LIST+= ${SAMBA_SUB}
+
+ALL_TARGET= all
+.if ${PORT_OPTIONS:MSMBTORTURE}
+ALL_TARGET+= smbtorture
+.endif
+
+# What will be installed
+INSTALL_TARGET= installservers installbin installscripts installdat \
+ installmodules installlibs
+
+.if ${PORT_OPTIONS:MSWAT}
+INSTALL_TARGET+=installswat
+.endif
+
+pre-configure:
+ @${FIND} ${WRKDIR}/${DISTNAME} -type d | ${XARGS} ${CHMOD} u+w,a+rx
+ @${FIND} ${WRKDIR}/${DISTNAME} -type f | ${XARGS} ${CHMOD} u+w,a+r
+
+post-configure:
+# It's in another port
+ @${RM} -f ${WRKDIR}/${DISTNAME}/docs/htmldocs/manpages/libsmbclient.7.html
+ @${RM} -rf ${WRKDIR}/${DISTNAME}/examples/libsmbclient
+
+pre-install:
+ -@${FIND} "${STAGEDIR}${SAMBA_MODULEDIR}" -type f -o -type l 2>/dev/null | ${SORT} | ${SED} -E 's|^${STAGEDIR}${PREFIX}/?||;' > ${WRKDIR}/.PLIST.exclude
+ @${CAT} ${PKGDIR}/pkg-plist > ${PLIST}
+.if ${PORT_OPTIONS:MSWAT}
+ @${CAT} ${PKGDIR}/pkg-plist.swat >> ${PLIST}
+.endif
+
+post-install:
+ @${RM} -f ${STAGEDIR}/${PREFIX}/bin/findsmb
+.for sect in 1 3 5 7 8
+ @${MKDIR} ${STAGEDIR}${MAN${sect}PREFIX}/man/man${sect}
+. for man in ${SAMBA_MAN${sect}}
+ @${INSTALL_MAN} "${WRKDIR}/${DISTNAME}/docs/manpages/${man}" "${STAGEDIR}${MAN${sect}PREFIX}/man/man${sect}"
+ ${ECHO_CMD} "man/man${sect}/${man}.gz" >> ${TMPPLIST}
+. endfor
+.endfor
+# Put examples in place
+ @${MKDIR} "${STAGEDIR}${EXAMPLESDIR}"
+ @${CP} -Rp ${WRKDIR}/${DISTNAME}/examples/* "${STAGEDIR}${EXAMPLESDIR}"
+.if ${PORT_OPTIONS:MPAM_SMBPASS}
+ @${MKDIR} "${STAGEDIR}${EXAMPLESDIR}/pam_smbpass"
+ @${CP} -Rp ${WRKSRC}/pam_smbpass/samples/* "${STAGEDIR}${EXAMPLESDIR}/pam_smbpass"
+.endif
+ ${INSTALL_DATA} "${WRKDIR}/smb.conf.sample" "${STAGEDIR}${EXAMPLESDIR}/${SAMBA_CONFIG}.sample"
+ ${INSTALL_DATA} "${WRKDIR}/smb.conf.sample" "${STAGEDIR}${SAMBA_CONFDIR}/${SAMBA_CONFIG}.sample"
+ ${INSTALL_SCRIPT} "${WRKSRC}/script/mksmbpasswd.sh" "${STAGEDIR}${PREFIX}/bin/make_smbpasswd"
+# Winbind
+.if ${PORT_OPTIONS:MWINBIND}
+ ${INSTALL_PROGRAM} "${WRKDIR}/${DISTNAME}/nsswitch/nss_winbind.so" "${STAGEDIR}${SAMBA_LIBDIR}/nss_winbind.so.1"
+ ${INSTALL_PROGRAM} "${WRKDIR}/${DISTNAME}/nsswitch/nss_wins.so" "${STAGEDIR}${SAMBA_LIBDIR}/nss_wins.so.1"
+ ${INSTALL_PROGRAM} "${WRKSRC}/bin/pam_winbind.so" "${STAGEDIR}${SAMBA_LIBDIR}"
+.endif
+.if ${PORT_OPTIONS:MPAM_SMBPASS}
+ ${INSTALL_PROGRAM} "${WRKSRC}/bin/pam_smbpass.so" "${STAGEDIR}${SAMBA_LIBDIR}"
+.endif
+# smbtorture
+.if ${PORT_OPTIONS:MSMBTORTURE}
+ ${INSTALL_PROGRAM} "${WRKSRC}/bin/smbtorture" "${STAGEDIR}${PREFIX}/bin"
+.endif
+# Lib
+ @${FIND} "${STAGEDIR}${SAMBA_MODULEDIR}" -type f -o -type l | ${SED} -E 's|^${STAGEDIR}${PREFIX}/?||;' | ${EGREP} -F -v -f ${WRKDIR}/.PLIST.exclude | ${SORT} >> ${TMPPLIST}
+ @for d in `${FIND} "${STAGEDIR}${SAMBA_MODULEDIR}" -type d | ${SORT} -r | ${SED} -E 's|^${STAGEDIR}${PREFIX}/?||;'`; do \
+ ${ECHO_CMD} "@unexec rmdir >/dev/null 2>&1 \"%D/$$d\" || true" >> ${TMPPLIST}; \
+ done
+# Documentation
+.if ${PORT_OPTIONS:MDOCS}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ @${CP} -Rp "${WRKDIR}/${DISTNAME}/docs/registry" "${STAGEDIR}${DOCSDIR}"
+. for f in Samba3-ByExample.pdf Samba3-HOWTO.pdf Samba3-Developers-Guide.pdf
+ @${INSTALL_DATA} "${WRKDIR}/${DISTNAME}/docs/${f}" "${STAGEDIR}${DOCSDIR}"
+. endfor
+. for f in README COPYING MAINTAINERS.txt PFIF.txt Manifest Roadmap \
+ WHATSNEW.txt docs/THANKS docs/history
+ @${INSTALL_DATA} "${WRKDIR}/${DISTNAME}/${f}" "${STAGEDIR}${DOCSDIR}"
+. endfor
+ @${INSTALL_DATA} "${FILESDIR}/README.FreeBSD" "${STAGEDIR}${DOCSDIR}"
+.endif
+# Run post-install script
+.for dir in ${SAMBA_SPOOL} ${SAMBA_LOGDIR} ${SAMBA_RUNDIR} ${SAMBA_LOCKDIR} ${SAMBA_PRIVATEDIR}
+ @${MKDIR} "${STAGEDIR}${dir}"
+.endfor
+ @${CHMOD} 1777 ${STAGEDIR}${SAMBA_SPOOL}
+ @${CHMOD} 0700 ${STAGEDIR}${SAMBA_PRIVATEDIR}
+ @${CAT} ${PKGMESSAGE}
+
+.if ${PORT_OPTIONS:MMAX_DEBUG}
+test:
+ (cd ${WRKSRC} && ${MAKE_CMD} test_nss_modules test_pam_modules && ${MAKE_CMD} test)
+.endif
+# !SAMBA_SUBPORT
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/net/samba36/distinfo b/net/samba36/distinfo
new file mode 100644
index 000000000000..b8a1fa8e7bb3
--- /dev/null
+++ b/net/samba36/distinfo
@@ -0,0 +1,4 @@
+SHA256 (samba-3.6.25.tar.gz) = 8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751
+SIZE (samba-3.6.25.tar.gz) = 34121828
+SHA256 (samba-3.6.25-security-2015-12-16.patch) = abe1ba1a73afe0865f20ac34a207c799cde29d34e736de5c2d029d532c93ac01
+SIZE (samba-3.6.25-security-2015-12-16.patch) = 8023
diff --git a/net/samba36/files/README.FreeBSD b/net/samba36/files/README.FreeBSD
new file mode 100644
index 000000000000..6070b61c81b7
--- /dev/null
+++ b/net/samba36/files/README.FreeBSD
@@ -0,0 +1,32 @@
+If you want to run this port:
+
+1. Copy /usr/local/etc/smb.conf.default to /usr/local/etc/smb.conf and edit
+ it.
+2. Put string 'samba_enable="YES"' into your /etc/rc.conf.
+3. Run '/usr/local/etc/rc.d/samba start' or reboot.
+
+This port doesn't create 'smbpasswd' file automatically anymore. Users
+are encouraged to use 'tdbsam' backend instead:
+
+ [global]
+ passdb backend = tdbsam, smbpasswd
+
+You can use pdbedit to migrate accounts from 'smbpasswd' to 'tdbsam',
+see the Samba3-HOWTO-Collection.
+
+You still can create 'smbpasswd' file with the supplied 'make_smbpasswd'
+script:
+
+ cat /etc/passwd | grep -v "^#" | make_smbpasswd > smbpasswd
+ chmod 600 smbpasswd
+
+But the usage of it is deprecated.
+
+See document files in /usr/local/share/doc/samba and example config files in
+/usr/local/share/examples/samba for details.
+
+This port doesn't come anymore with the IDEALX Samba LDAP management tools.
+They are a separate port now, net/smbldap-tools. Please, install it, if you
+are going to use Samba LDAP back end.
+
+FreeBSD Samba3 port maintainer: Timur I. Bakeyev <timur@FreeBSD.org>
diff --git a/net/samba36/files/patch-lib__replace__system__wait.h b/net/samba36/files/patch-lib__replace__system__wait.h
new file mode 100644
index 000000000000..3cfa995371b3
--- /dev/null
+++ b/net/samba36/files/patch-lib__replace__system__wait.h
@@ -0,0 +1,21 @@
+--- ./lib/replace/system/wait.h.orig 2010-04-01 15:26:22.000000000 +0200
++++ ./lib/replace/system/wait.h 2010-04-23 01:08:35.000000000 +0200
+@@ -32,6 +32,18 @@
+
+ #include <signal.h>
+
++#ifndef SIGRTMIN
++# ifdef NSIG
++# define SIGRTMIN (NSIG+1)
++# else
++# define SIGRTMIN 33
++# endif
++#endif
++
++#ifndef SIGRTMAX
++#define SIGRTMAX (SIGRTMIN+64)
++#endif
++
+ #ifndef SIGCLD
+ #define SIGCLD SIGCHLD
+ #endif
diff --git a/net/samba36/files/patch-lib__tevent__tevent_signal.c b/net/samba36/files/patch-lib__tevent__tevent_signal.c
new file mode 100644
index 000000000000..d62b2e6eec8d
--- /dev/null
+++ b/net/samba36/files/patch-lib__tevent__tevent_signal.c
@@ -0,0 +1,11 @@
+--- ./lib/tevent/tevent_signal.c.orig 2010-04-01 15:26:22.000000000 +0200
++++ ./lib/tevent/tevent_signal.c 2010-04-23 01:08:35.000000000 +0200
+@@ -30,7 +30,7 @@
+ #include "tevent_internal.h"
+ #include "tevent_util.h"
+
+-#define TEVENT_NUM_SIGNALS 64
++#define TEVENT_NUM_SIGNALS (SIGRTMAX+1)
+
+ /* maximum number of SA_SIGINFO signals to hold in the queue.
+ NB. This *MUST* be a power of 2, in order for the ring buffer
diff --git a/net/samba36/files/patch-nsswitch__pam_winbind.c b/net/samba36/files/patch-nsswitch__pam_winbind.c
new file mode 100644
index 000000000000..9c32da334bd8
--- /dev/null
+++ b/net/samba36/files/patch-nsswitch__pam_winbind.c
@@ -0,0 +1,52 @@
+--- ./nsswitch/pam_winbind.c.orig 2011-08-09 13:17:47.000000000 +0200
++++ ./nsswitch/pam_winbind.c 2011-09-06 23:23:18.000000000 +0200
+@@ -163,7 +163,6 @@
+ }
+ #endif
+
+-
+ /*
+ * Work around the pam API that has functions with void ** as parameters
+ * These lead to strict aliasing warnings with gcc.
+@@ -173,14 +172,20 @@
+ const void *_item)
+ {
+ const void **item = (const void **)_item;
+- return pam_get_item(pamh, item_type, item);
++ return pam_get_item((pam_handle_t *)pamh, item_type, item);
+ }
++
+ static int _pam_get_data(const pam_handle_t *pamh,
+ const char *module_data_name,
+ const void *_data)
+ {
++#if PAM_GET_DATA_ARG3_CONST_VOID_PP
+ const void **data = (const void **)_data;
+- return pam_get_data(pamh, module_data_name, data);
++ return pam_get_data((pam_handle_t *)pamh, module_data_name, data);
++#else
++ void **data = (void **)_data;
++ return pam_get_data((pam_handle_t *)pamh, module_data_name, data);
++#endif
+ }
+
+ /* some syslogging */
+@@ -311,7 +316,7 @@
+ if (item_type != 0) {
+ pam_get_item(ctx->pamh, item_type, &data);
+ } else {
+- pam_get_data(ctx->pamh, key, &data);
++ _pam_get_data(ctx->pamh, key, &data);
+ }
+ if (data != NULL) {
+ const char *type = (item_type != 0) ? "ITEM" : "DATA";
+@@ -2835,8 +2840,7 @@
+ ret = PAM_USER_UNKNOWN;
+ goto out;
+ case 0:
+- pam_get_data(pamh, PAM_WINBIND_NEW_AUTHTOK_REQD,
+- (const void **)&tmp);
++ _pam_get_data(pamh, PAM_WINBIND_NEW_AUTHTOK_REQD, &tmp);
+ if (tmp != NULL) {
+ ret = atoi((const char *)tmp);
+ switch (ret) {
diff --git a/net/samba36/files/patch-nsswitch__winbind_nss_freebsd.c b/net/samba36/files/patch-nsswitch__winbind_nss_freebsd.c
new file mode 100644
index 000000000000..103059a96790
--- /dev/null
+++ b/net/samba36/files/patch-nsswitch__winbind_nss_freebsd.c
@@ -0,0 +1,100 @@
+--- ./nsswitch/winbind_nss_freebsd.c.orig 2012-10-02 08:24:41.000000000 +0000
++++ ./nsswitch/winbind_nss_freebsd.c 2013-03-13 09:40:37.285778609 +0000
+@@ -5,6 +5,7 @@
+ routines against Samba winbind/Windows NT Domain
+
+ Copyright (C) Aaron Collins 2003
++ Copyright (C) Timur I. Bakeyev 2013
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+@@ -53,6 +54,9 @@
+ NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
+ NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
+ NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
++NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
++
++NSS_METHOD_PROTOTYPE(__freebsd_getgroupmembership);
+
+ static ns_mtab methods[] = {
+ { NSDB_GROUP, "getgrnam_r", __nss_compat_getgrnam_r, _nss_winbind_getgrnam_r },
+@@ -60,6 +64,7 @@
+ { NSDB_GROUP, "getgrent_r", __nss_compat_getgrent_r, _nss_winbind_getgrent_r },
+ { NSDB_GROUP, "setgrent", __nss_compat_setgrent, _nss_winbind_setgrent },
+ { NSDB_GROUP, "endgrent", __nss_compat_endgrent, _nss_winbind_endgrent },
++{ NSDB_GROUP, "getgroupmembership", __freebsd_getgroupmembership, NULL },
+
+ { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_winbind_getpwnam_r },
+ { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_winbind_getpwuid_r },
+@@ -69,6 +74,71 @@
+
+ };
+
++/* Taken from libc */
++static int
++gr_addgid(gid_t gid, gid_t *groups, int maxgrp, int *grpcnt)
++{
++ int ret, dupc;
++
++ /* skip duplicates */
++ for (dupc = 0; dupc < MIN(maxgrp, *grpcnt); dupc++) {
++ if (groups[dupc] == gid)
++ return 1;
++ }
++
++ ret = 1;
++ if (*grpcnt < maxgrp) /* add this gid */
++ groups[*grpcnt] = gid;
++ else
++ ret = 0;
++
++ (*grpcnt)++;
++
++ return ret;
++}
++
++/*
++ rv = _nsdispatch(NULL, dtab, NSDB_GROUP, "getgroupmembership",
++ defaultsrc, uname, agroup, groups, maxgrp, grpcnt);
++*/
++
++int
++__freebsd_getgroupmembership(void *retval, void *mdata, va_list ap)
++{
++ const char *uname = va_arg(ap, const char *);
++ gid_t group = va_arg(ap, gid_t);
++ gid_t *groups = va_arg(ap, gid_t *);
++ int maxgrp = va_arg(ap, int);
++ int *groupc = va_arg(ap, int *);
++
++ NSS_STATUS ret;
++ long int lcount, lsize;
++ int i, errnop;
++ gid_t *tmpgroups;
++
++ /* Can be realloc() inside _nss_winbind_initgroups_dyn() */
++ if ((tmpgroups=calloc(maxgrp, sizeof(gid_t))) == NULL) {
++ errno = ENOMEM;
++ return NS_TRYAGAIN;
++ }
++
++ lcount = 0;
++ lsize = maxgrp;
++ /* insert primary membership(possibly already there) */
++ gr_addgid(group, groups, maxgrp, groupc);
++ /* Don't limit number of groups, we want to know total size */
++ ret = _nss_winbind_initgroups_dyn(uname, group, &lcount, &lsize,
++ &tmpgroups, 0, &errnop);
++ if (ret == NSS_STATUS_SUCCESS) {
++ /* lcount potentially can be bigger than maxgrp, so would groupc */
++ for (i = 0; i < lcount; i++)
++ gr_addgid(tmpgroups[i], groups, maxgrp, groupc);
++ }
++ free(tmpgroups);
++ /* Let following nsswitch backend(s) add more groups(?) */
++ return NSS_STATUS_NOTFOUND;
++}
++
+ ns_mtab *
+ nss_module_register(const char *source, unsigned int *mtabsize,
+ nss_module_unregister_fn *unreg)
diff --git a/net/samba36/files/patch-nsswitch__wins_freebsd.c b/net/samba36/files/patch-nsswitch__wins_freebsd.c
new file mode 100644
index 000000000000..e0f837760482
--- /dev/null
+++ b/net/samba36/files/patch-nsswitch__wins_freebsd.c
@@ -0,0 +1,82 @@
+--- ./nsswitch/wins_freebsd.c.orig 2010-04-23 01:08:35.000000000 +0200
++++ ./nsswitch/wins_freebsd.c 2010-04-23 01:08:35.000000000 +0200
+@@ -0,0 +1,79 @@
++/*
++ Unix SMB/CIFS implementation.
++
++ Copyright (C) Timur I. Bakeyev 2007
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this library; if not, write to the
++ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ Boston, MA 02111-1307, USA.
++*/
++
++#include "winbind_client.h"
++
++NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
++ char *buffer, size_t buflen, int *h_errnop);
++
++NSS_METHOD_PROTOTYPE(__nss_wins_freebsd_gethostbyname2_r);
++
++static ns_mtab methods[] =
++{
++ { NSDB_HOSTS, "getaddrinfo", NULL, NULL },
++ { NSDB_HOSTS, "ghbyname", NULL, NULL },
++ { NSDB_HOSTS, "ghbyaddr", NULL, NULL },
++ { NSDB_HOSTS, "gethostbyaddr_r", NULL, NULL },
++ { NSDB_HOSTS, "gethostbyname2_r", __nss_wins_freebsd_gethostbyname2_r, _nss_wins_gethostbyname2_r },
++ { NSDB_HOSTS, "getnetbyname_r", NULL, NULL },
++ { NSDB_HOSTS, "getnetbyaddr_r", NULL, NULL },
++ { NSDB_HOSTS, "gethostbyname", NULL, NULL },
++ { NSDB_HOSTS, "gethostbyaddr", NULL, NULL },
++ { NSDB_HOSTS, "getnetbyname", NULL, NULL },
++ { NSDB_HOSTS, "getnetbyaddr", NULL, NULL }
++};
++
++int
++__nss_wins_freebsd_gethostbyname2_r(void *retval, void *mdata, va_list ap)
++{
++ int (*fn)(const char *, int, struct hostent *, char *, size_t, int *);
++ const char *hostname;
++ int af;
++ struct hostent *he;
++ char *buffer;
++ size_t buflen;
++ int *h_errnop;
++ enum nss_status status;
++
++ fn = mdata;
++ hostname = va_arg(ap, const char *);
++ af = va_arg(ap, int);
++ he = va_arg(ap, struct hostent *);
++ buffer = va_arg(ap, char *);
++ buflen = va_arg(ap, size_t);
++ h_errnop = va_arg(ap, int *);
++
++ status = fn(hostname, af, he, buffer, buflen, h_errnop);
++ status = __nss_compat_result(status, *h_errnop);
++ if (status == NS_SUCCESS)
++ *(struct hostent **)retval = he;
++
++ return (status);
++}
++
++ns_mtab *
++nss_module_register(const char *source __unused, unsigned int *mtabsize,
++ nss_module_unregister_fn *unreg)
++{
++ *mtabsize = sizeof(methods) / sizeof(methods[0]);
++ *unreg = NULL;
++ return (methods);
++}
diff --git a/net/samba36/files/patch-source3__Makefile.in b/net/samba36/files/patch-source3__Makefile.in
new file mode 100644
index 000000000000..084dd93c0b10
--- /dev/null
+++ b/net/samba36/files/patch-source3__Makefile.in
@@ -0,0 +1,62 @@
+--- ./source3/Makefile.in.orig 2013-06-19 07:35:24.000000000 +0000
++++ ./source3/Makefile.in 2013-06-30 04:26:08.399888796 +0000
+@@ -151,7 +151,7 @@
+ # These can be overridden by command line switches (see smbd(8))
+ # or in smb.conf (see smb.conf(5))
+ LOGFILEBASE = @logfilebase@
+-CONFIGFILE = $(CONFIGDIR)/smb.conf
++CONFIGFILE = $(CONFIGDIR)/%%SAMBA_CONFIG%%
+ LMHOSTSFILE = $(CONFIGDIR)/lmhosts
+ NCALRPCDIR = @ncalrpcdir@
+
+@@ -1305,8 +1305,8 @@
+ $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
+ $(LIBNDR_GEN_OBJ0)
+
+-WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o $(PARAM_OBJ) \
+- $(LIB_NONSMBD_OBJ) $(LIBSMB_ERR_OBJ) $(LIBNMB_OBJ)
++WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o @WINBIND_WINS_NSS_EXTRA_OBJS@ \
++ $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSMB_ERR_OBJ) $(LIBNMB_OBJ)
+
+ PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
+ pam_smbpass/pam_smb_acct.o pam_smbpass/support.o ../lib/util/asn1.o
+@@ -1623,6 +1623,7 @@
+
+ .SUFFIXES:
+ .SUFFIXES: .c .o .lo
++.SUFFIXES: .h .h.gch
+
+ .PHONY: showflags SHOWFLAGS
+
+@@ -1684,6 +1685,9 @@
+ $(COMPILE_CC) >/dev/null 2>&1
+ @BROKEN_CC@ -mv `echo $@ | sed 's%^.*/%%g'` $@
+
++.h.h.gch:
++ @echo Compiling $*.h
++
+ PRECOMPILED_HEADER = $(builddir)/include/includes.h.gch
+
+ # this adds support for precompiled headers. To use it, install a snapshot
+@@ -2856,9 +2860,9 @@
+ $(LDAP_LIBS) $(KRB5LIBS) $(LIBS) $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS) \
+ @SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@
+
+-bin/winbind_krb5_locator.@SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT)
++bin/winbind_krb5_locator.@SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBTALLOC) $(LIBWBCLIENT)
+ @echo "Linking $@"
+- @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT_LIBS) $(KRB5LIBS) \
++ @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) $(KRB5LIBS) \
+ $(LIBREPLACE_LIBS) @SONAMEFLAG@`basename $@`
+
+ bin/pam_winbind.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) $(LIBTALLOC) $(LIBTEVENT) $(LIBWBCLIENT)
+@@ -3215,7 +3219,8 @@
+ @echo "Linking shared library $@"
+ @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) -lpam $(DYNEXP) \
+ $(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
+- $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS)
++ $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) \
++ @SONAMEFLAG@`basename $@`
+
+ bin/tdbbackup@EXEEXT@: $(BINARY_PREREQS) $(TDBBACKUP_OBJ) $(LIBTALLOC) $(LIBTDB)
+ @echo Linking $@
diff --git a/net/samba36/files/patch-source3__configure.in b/net/samba36/files/patch-source3__configure.in
new file mode 100644
index 000000000000..30a50f9ade93
--- /dev/null
+++ b/net/samba36/files/patch-source3__configure.in
@@ -0,0 +1,210 @@
+--- ./source3/configure.in.orig 2013-01-18 10:41:08.000000000 +0000
++++ ./source3/configure.in 2013-01-30 01:24:19.349878982 +0000
+@@ -864,9 +864,13 @@
+ AC_PATH_PROG(CUPS_CONFIG, cups-config)
+
+ if test "x$CUPS_CONFIG" != x; then
++ ac_save_PRINT_CPPFLAGS=$CPPFLAGS
++ ac_save_PRINT_LDFLAGS=$LDFLAGS
+
+- ac_save_LDFLAGS=$LDFLAGS
+ ac_save_PRINT_LIBS=$PRINT_LIBS
++ CPPFLAGS="$CPPFLAGS `$CUPS_CONFIG --cflags`"
++ LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
++
+ AC_CHECK_HEADERS(cups/cups.h cups/language.h)
+
+ if test x"$ac_cv_header_cups_cups_h" = xyes -a \
+@@ -875,7 +879,7 @@
+ # underlinked. With cups-config --libs we pull in unwanted and unneeded
+ # dendencies including thread libraries - use cups-config only if really
+ # required.
+- AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS , httpConnect,
++ AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS, httpConnect,
+ [PRINT_LIBS="$ac_save_PRINT_LIBS -lcups"],
+ [AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ;
+ PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"])
+@@ -885,10 +889,10 @@
+ AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt)
+ else
+ AC_MSG_WARN([cups-config around but cups-devel not installed])
+- CFLAGS=$ac_save_CFLAGS
+- LDFLAGS=$ac_save_LDFLAGS
+ PRINT_LIBS=$ac_save_PRINT_LIBS
+ fi
++ CPPFLAGS=$ac_save_PRINT_CPPFLAGS
++ LDFLAGS=$ac_save_PRINT_LDFLAGS
+
+ elif test x"$enable_cups" = x"yes"; then
+ AC_MSG_ERROR(Cups support required but cups-config not located. Make sure cups-devel related files are installed.)
+@@ -1845,7 +1849,7 @@
+ fi
+
+ if test x"$BLDSHARED" = x"true" ; then
+- LDFLAGS="$LDFLAGS -L./bin"
++ LDFLAGS="-L./bin $LDFLAGS"
+ fi
+
+ AC_MSG_RESULT($BLDSHARED)
+@@ -1976,9 +1980,6 @@
+ AC_MSG_CHECKING([PICFLAG])
+ AC_MSG_RESULT([$PICFLAG])
+
+-AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
+-AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
+-
+ AC_CACHE_CHECK([whether building shared libraries actually works],
+ [ac_cv_shlib_works],[
+ # try building a trivial shared library
+@@ -4656,15 +4657,51 @@
+ x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
+ if test x"${try_pam}" = x"yes";then
+ AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
+- fi
++ fi
+ create_pam_modules=no
+- fi
++ fi
+
+ if test x"$use_pam" = x"yes"; then
+- AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
++ AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
+ AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])
+ AUTH_LIBS="$AUTH_LIBS $PAM_LIBS"
+- with_pam_for_crypt=yes
++ with_pam_for_crypt=yes
++
++ AC_VERIFY_C_PROTOTYPE(
++ [int pam_get_data(const pam_handle_t *pamh, const char *module_data_name, const void **data)],
++ [return 0;],
++ [AC_DEFINE(PAM_GET_DATA_ARG3_CONST_VOID_PP, 1, [Whether pam_get_data 3 argument is a const pointer to pointer])],
++ [
++ dnl Old OpenPAM declaration
++ AC_VERIFY_C_PROTOTYPE(
++ [int pam_get_data(pam_handle_t *pamh, const char *module_data_name, void **data)],
++ [return 0;],
++ [AC_DEFINE(PAM_GET_DATA_ARG3_VOID_PP, 1, [Whether pam_get_data 3 argument is a void pointer to pointer])],
++ [], [
++ #include <sys/types.h>
++ #if HAVE_SECURITY_PAM_APPL_H
++ #include <security/pam_appl.h>
++ #endif
++ #if HAVE_PAM_PAM_APPL_H
++ #include <pam/pam_appl.h>
++ #endif
++ #if HAVE_SECURITY_PAM_MODULES_H
++ #include <security/pam_modules.h>
++ #endif
++ ]
++ )],[
++ #include <sys/types.h>
++ #if HAVE_SECURITY_PAM_APPL_H
++ #include <security/pam_appl.h>
++ #endif
++ #if HAVE_PAM_PAM_APPL_H
++ #include <pam/pam_appl.h>
++ #endif
++ #if HAVE_SECURITY_PAM_MODULES_H
++ #include <security/pam_modules.h>
++ #endif
++ ]
++ )
+
+ if test x"$create_pam_modules" = x"yes"; then
+ AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support])
+@@ -4674,7 +4711,7 @@
+ AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
+ AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
+ else
+- AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
++ AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
+ fi
+ fi
+ AC_MSG_CHECKING(whether to use PAM support)
+@@ -5877,7 +5914,7 @@
+
+ AC_MSG_CHECKING(for aio_suspend)
+ AC_LINK_IFELSE([#include <aio.h>
+-int main() { struct aiocb a; struct timespec t; return aio_suspend(&a, 1, &t); }],
++int main() { struct aiocb *a[[1]]; struct timespec t; return aio_suspend((const struct aiocb**)&a, 1, &t); }],
+ [AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+ fi
+@@ -6336,12 +6373,13 @@
+ NSSSONAMEVERSIONSUFFIX=".2"
+ WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o"
+ ;;
+- *freebsd[[5-9]]*)
++ *freebsd*)
+ # FreeBSD winbind client is implemented as a wrapper around
+ # the Linux version.
+ NSSSONAMEVERSIONSUFFIX=".1"
+ WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
+ ../nsswitch/winbind_nss_linux.o"
++ WINBIND_WINS_NSS_EXTRA_OBJS="../nsswitch/wins_freebsd.o"
+ WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
+ WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
+ ;;
+@@ -6488,10 +6526,14 @@
+ AC_MSG_RESULT(no$winbind_no_reason)
+ fi
+
++AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
++AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
++
+ AC_SUBST(WINBIND_NSS)
+ AC_SUBST(WINBIND_WINS_NSS)
+ AC_SUBST(WINBIND_NSS_LDSHFLAGS)
+ AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
++AC_SUBST(WINBIND_WINS_NSS_EXTRA_OBJS)
+ AC_SUBST(NSSSONAMEVERSIONSUFFIX)
+
+ AC_SUBST(WINBIND_KRB5_LOCATOR)
+@@ -6810,13 +6852,21 @@
+ # Start
+ AC_CHECK_FUNC(getmntent)
+
+-AC_CHECK_HEADERS(sys/statfs.h)
++AC_CHECK_HEADERS(sys/statfs.h sys/mount.h)
+
+ AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)])
+ AC_CACHE_VAL(vfsfileid_cv_statfs,[
+ AC_TRY_RUN([
+ #include <sys/types.h>
++ #ifdef HAVE_SYS_PARAM_H
++ #include <sys/param.h>
++ #endif
++ #ifdef HAVE_SYS_MOUNT_H
++ #include <sys/mount.h>
++ #endif
++ #ifdef HAVE_SYS_STATFS_H
+ #include <sys/statfs.h>
++ #endif
+ int main(void)
+ {
+ struct statfs fsd;
+@@ -7116,6 +7166,16 @@
+ LIBS="$LIBS -ldmalloc"
+ fi
+
++AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])])
++
++if test "x$enable_dmalloc" = xyes
++then
++ AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
++ AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
++ [Define to check invariants around some common functions])
++ LIBS="$LIBS -ldmalloc"
++fi
++
+ dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
+ LIB_REMOVE_USR_LIB(LDFLAGS)
+ LIB_REMOVE_USR_LIB(LIBS)
+@@ -7164,6 +7224,7 @@
+ AC_SUBST(SMBD_LIBS)
+
+ CFLAGS="${CFLAGS} \$(FLAGS)"
++CFLAGS="${CFLAGS} -I%%LOCALBASE%%/include"
+ CFLAGS="${CFLAGS} -D_SAMBA_BUILD_=3"
+
+ # If we had to expand the includes, make tsure the output file is moved back
diff --git a/net/samba36/files/patch-source3__include__includes.h b/net/samba36/files/patch-source3__include__includes.h
new file mode 100644
index 000000000000..2f6978cafb50
--- /dev/null
+++ b/net/samba36/files/patch-source3__include__includes.h
@@ -0,0 +1,24 @@
+--- ./source3/include/includes.h.orig 2011-08-09 13:17:47.000000000 +0200
++++ ./source3/include/includes.h 2011-10-04 00:34:33.000000000 +0200
+@@ -161,6 +161,10 @@
+ #include <sys/uio.h>
+ #endif
+
++#ifdef HAVE_SYS_SYSCTL_H
++#include <sys/sysctl.h>
++#endif
++
+ #if HAVE_LANGINFO_H
+ #include <langinfo.h>
+ #endif
+@@ -548,10 +552,6 @@
+ #define SIGCLD SIGCHLD
+ #endif
+
+-#ifndef SIGRTMIN
+-#define SIGRTMIN NSIG
+-#endif
+-
+ #if defined(HAVE_PUTPRPWNAM) && defined(AUTH_CLEARTEXT_SEG_CHARS)
+ #define OSF1_ENH_SEC 1
+ #endif
diff --git a/net/samba36/files/patch-source3__lib__fault.c b/net/samba36/files/patch-source3__lib__fault.c
new file mode 100644
index 000000000000..c6525d30442f
--- /dev/null
+++ b/net/samba36/files/patch-source3__lib__fault.c
@@ -0,0 +1,164 @@
+--- ./source3/lib/fault.c.orig 2010-04-01 15:26:22.000000000 +0200
++++ ./source3/lib/fault.c 2010-04-23 01:08:35.000000000 +0200
+@@ -26,6 +26,10 @@
+ #endif
+
+
++#ifdef HAVE_SYS_SYSCTL_H
++#include <sys/sysctl.h>
++#endif
++
+ #ifdef HAVE_SYS_PRCTL_H
+ #include <sys/prctl.h>
+ #endif
+@@ -144,52 +148,93 @@
+ * before dump_core() calls abort.
+ */
+ #if (defined(FREEBSD) && defined(HAVE_SYSCTLBYNAME))
+-static char *get_freebsd_corepath(void)
++/*
++ * Expand the name described in corefilename, using name, uid, and pid.
++ * corefilename is a printf-like string, with three format specifiers:
++ * %N name of process ("name")
++ * %P process id (pid)
++ * %U user id (uid)
++ * For example, "%N.core" is the default; they can be disabled completely
++ * by using "/dev/null", or all core files can be stored in "/cores/%U/%N-%P".
++ */
++static char *get_freebsd_corepath(const char *name)
+ {
+- char *tmp_corepath = NULL;
+- char *end = NULL;
+- size_t len = 128;
++ TALLOC_CTX *tmp_ctx;
++ char format[MAXPATHLEN];
++ char *freebsd_corepath = NULL, *buffer = NULL;
++ char *start, *end;
++ size_t len;
+ int ret;
+
+- /* Loop with increasing sizes so we don't allocate too much. */
+- do {
+- if (len > 1024) {
+- goto err_out;
+- }
+-
+- tmp_corepath = (char *)talloc_realloc(NULL, tmp_corepath,
+- char, len);
+- if (!tmp_corepath) {
+- return NULL;
+- }
+-
+- ret = sysctlbyname("kern.corefile", tmp_corepath, &len, NULL,
+- 0);
+- if (ret == -1) {
+- if (errno != ENOMEM) {
+- DEBUG(0, ("sysctlbyname failed getting "
+- "kern.corefile %s\n",
+- strerror(errno)));
+- goto err_out;
+- }
+-
+- /* Not a large enough array, try a bigger one. */
+- len = len << 1;
+- }
+- } while (ret == -1);
+-
++ len = sizeof(format);
++ /* Read format string */
++ if((ret = sysctlbyname("kern.corefile", format, &len, NULL, 0)) == -1) {
++ return NULL;
++ }
+ /* Strip off the common filename expansion */
+- if ((end = strrchr_m(tmp_corepath, '/'))) {
++ if ((end=strrchr_m(format, '/')) != NULL) {
+ *end = '\0';
+ }
++ /* Core file is relative to the cwd */
++ if(!format[0] || format[0] != '/') {
++ return NULL;
++ }
+
+- return tmp_corepath;
+-
+- err_out:
+- if (tmp_corepath) {
+- talloc_free(tmp_corepath);
++ if((tmp_ctx = talloc_new(NULL)) == NULL) {
++ DEBUG(0, ("talloc_new failed\n"));
++ return NULL;
+ }
+- return NULL;
++ if((buffer = talloc_strdup(tmp_ctx, "")) == NULL) {
++ DEBUG(0, ("talloc_strdup: Out of memory!\n"));
++ goto failed;
++ }
++ /* Parse format string and expand variables */
++ start = format;
++ while((end=strchr_m(start, '%')) != NULL) {
++ /* Copy part of the string without format arguments */
++ if(end != start) {
++ buffer = talloc_strndup_append_buffer(buffer, start, end - start);
++ if(buffer == NULL) {
++ DEBUG(0, ("talloc_strdup: Out of memory!\n"));
++ goto failed;
++ }
++ }
++ start = end + 1;
++ switch (*start) {
++ case '%':
++ buffer = talloc_strdup_append_buffer(buffer, "%%");
++ break;
++ case 'N': /* process name */
++ buffer = talloc_asprintf_append_buffer(buffer, "%s", name);
++ break;
++ case 'P': /* process id */
++ buffer = talloc_asprintf_append_buffer(buffer, "%u", getpid());
++ break;
++ case 'U': /* user id */
++ buffer = talloc_asprintf_append_buffer(buffer, "%u", getuid());
++ break;
++ default:
++ DEBUG(0,(
++ "Unknown format character %c in "
++ "corename `%s'\n", *start, format));
++ }
++ if(buffer == NULL) {
++ DEBUG(0, ("talloc_asprintf_append_buffer: Out of memory!\n"));
++ goto failed;
++ }
++ start++;
++ }
++ /* Copy remaining part, if any */
++ if((buffer = talloc_strdup_append_buffer(buffer, start)) == NULL) {
++ DEBUG(0, ("talloc_strdup_append_buffer: Out of memory!\n"));
++ goto failed;
++ }
++ /* Duplicate assembled string in the unattached contenxt */
++ freebsd_corepath = talloc_strdup(NULL, buffer);
++failed:
++ TALLOC_FREE(tmp_ctx);
++
++ return freebsd_corepath;
+ }
+ #endif
+
+@@ -248,8 +293,7 @@
+ {
+ #if (defined(FREEBSD) && defined(HAVE_SYSCTLBYNAME))
+ char *tmp_corepath = NULL;
+- tmp_corepath = get_freebsd_corepath();
+-
++ tmp_corepath = get_freebsd_corepath(progname);
+ /* If this has been set correctly, we're done. */
+ if (tmp_corepath) {
+ return tmp_corepath;
+@@ -327,7 +371,7 @@
+ SAFE_FREE(logbase);
+ }
+
+- void dump_core(void)
++void dump_core(void)
+ {
+ static bool called;
+
diff --git a/net/samba36/files/patch-source3__lib__system.c b/net/samba36/files/patch-source3__lib__system.c
new file mode 100644
index 000000000000..c2f1b0635e80
--- /dev/null
+++ b/net/samba36/files/patch-source3__lib__system.c
@@ -0,0 +1,19 @@
+--- ./source3/lib/system.c.orig 2011-08-09 13:17:47.000000000 +0200
++++ ./source3/lib/system.c 2011-10-13 23:38:02.000000000 +0200
+@@ -2586,14 +2586,14 @@
+ }
+
+ /*******************************************************************
+- An aio_fsync wrapper that will deal with 64-bit sizes.
++ An aio_suspend wrapper that will deal with 64-bit sizes.
+ ********************************************************************/
+
+ int sys_aio_suspend(const SMB_STRUCT_AIOCB * const cblist[], int n, const struct timespec *timeout)
+ {
+ #if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_SUSPEND64)
+ return aio_suspend64(cblist, n, timeout);
+-#elif defined(HAVE_AIO_FSYNC)
++#elif defined(HAVE_AIO_SUSPEND)
+ return aio_suspend(cblist, n, timeout);
+ #else
+ errno = ENOSYS;
diff --git a/net/samba36/files/patch-source3__m4__aclocal.m4 b/net/samba36/files/patch-source3__m4__aclocal.m4
new file mode 100644
index 000000000000..357dcf2e8366
--- /dev/null
+++ b/net/samba36/files/patch-source3__m4__aclocal.m4
@@ -0,0 +1,163 @@
+--- ./source3/m4/aclocal.m4.orig 2012-09-14 08:12:09.000000000 +0000
++++ ./source3/m4/aclocal.m4 2012-10-20 13:13:36.975802862 +0000
+@@ -385,7 +385,7 @@
+ ac_new_flags=""
+ for i in [$]$1; do
+ case [$]i in
+- -I/usr/include|-I/usr/include/) ;;
++ -I/usr/include|-I/usr/include/|-I%%LOCALBASE%%/include/|-I%%LOCALBASE%%/include) f=1;;
+ *) ac_new_flags="[$]ac_new_flags [$]i" ;;
+ esac
+ done
+@@ -437,104 +437,81 @@
+ dnl those with the standalone portable libiconv installed).
+ AC_MSG_CHECKING(for iconv in $1)
+ jm_cv_func_iconv="no"
++ jm_cv_include=""
+ jm_cv_lib_iconv=""
+- jm_cv_giconv=no
++ jm_cv_giconv="no"
+ jm_save_LIBS="$LIBS"
+
+- dnl Check for include in giconv.h but no lib needed
+- if test "$jm_cv_func_iconv" != yes; then
+- AC_TRY_LINK([#include <stdlib.h>
++ dnl Check for include in funny place but no lib needed
++ if test "$jm_cv_func_iconv" != yes; then
++ AC_TRY_LINK([#include <stdlib.h>
+ #include <giconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+- jm_cv_func_iconv=yes
+- jm_cv_include="giconv.h"
+- jm_cv_giconv="yes"
+- jm_cv_lib_iconv="")
++ jm_cv_func_iconv=yes
++ jm_cv_include="giconv.h"
++ jm_cv_lib_iconv=""
++ jm_cv_giconv="yes")
+
+- dnl Standard iconv.h include, lib in glibc or libc ...
+- if test "$jm_cv_func_iconv" != yes; then
+- AC_TRY_LINK([#include <stdlib.h>
++ dnl Standard iconv.h include, lib in glibc or libc ...
++ if test "$jm_cv_func_iconv" != yes; then
++ AC_TRY_LINK([#include <stdlib.h>
+ #include <iconv.h>],
+- [iconv_t cd = iconv_open("","");
++ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+- jm_cv_include="iconv.h"
+- jm_cv_func_iconv=yes
+- jm_cv_lib_iconv="")
+-
+- dnl Include in giconv.h, libgiconv needed to link
+- if test "$jm_cv_func_iconv" != yes; then
+- jm_save_LIBS="$LIBS"
+- LIBS="$LIBS -lgiconv"
+- AC_TRY_LINK([#include <stdlib.h>
++ jm_cv_func_iconv=yes
++ jm_cv_include="iconv.h"
++ jm_cv_lib_iconv="")
++
++ dnl Include in giconv.h, libgiconv needed to link
++ if test "$jm_cv_func_iconv" != yes; then
++ jm_save_LIBS="$LIBS"
++ LIBS="$LIBS -lgiconv"
++ AC_TRY_LINK([#include <stdlib.h>
+ #include <giconv.h>],
+- [iconv_t cd = iconv_open("","");
++ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+- jm_cv_lib_iconv=yes
+ jm_cv_func_iconv=yes
+ jm_cv_include="giconv.h"
+- jm_cv_giconv=yes
+- jm_cv_lib_iconv="giconv")
++ jm_cv_lib_iconv="giconv"
++ jm_cv_giconv=yes)
+
+- LIBS="$jm_save_LIBS"
++ LIBS="$jm_save_LIBS"
+
+- dnl Include in iconv.h, libiconv needed to link
+- if test "$jm_cv_func_iconv" != yes; then
+- jm_save_LIBS="$LIBS"
+- LIBS="$LIBS -liconv"
+- AC_TRY_LINK([#include <stdlib.h>
++ dnl Include in iconv.h, libiconv needed to link
++ if test "$jm_cv_func_iconv" != yes; then
++ jm_save_LIBS="$LIBS"
++ LIBS="$LIBS -liconv"
++ AC_TRY_LINK([#include <stdlib.h>
+ #include <iconv.h>],
+- [iconv_t cd = iconv_open("","");
+- iconv(cd,NULL,NULL,NULL,NULL);
+- iconv_close(cd);],
+- jm_cv_include="iconv.h"
+- jm_cv_func_iconv=yes
+- jm_cv_lib_iconv="iconv")
+- LIBS="$jm_save_LIBS"
+-
+- dnl Include in biconv.h, libbiconv needed to link
+- if test "$jm_cv_func_iconv" != yes; then
+- jm_save_LIBS="$LIBS"
+- LIBS="$LIBS -lbiconv"
+- AC_TRY_LINK([#include <stdlib.h>
+-#include <biconv.h>],
+- [iconv_t cd = iconv_open("","");
+- iconv(cd,NULL,NULL,NULL,NULL);
+- iconv_close(cd);],
+- jm_cv_lib_iconv=yes
+- jm_cv_func_iconv=yes
+- jm_cv_include="biconv.h"
+- jm_cv_biconv=yes
+- jm_cv_lib_iconv="biconv")
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ jm_cv_func_iconv=yes
++ jm_cv_include="iconv.h"
++ jm_cv_lib_iconv="iconv")
+
+- LIBS="$jm_save_LIBS"
+- fi
+- fi
++ LIBS="$jm_save_LIBS"
++ fi
++ fi
+ fi
+ fi
+- fi
+- if test "$jm_cv_func_iconv" = yes; then
+- if test "$jm_cv_giconv" = yes; then
+- AC_DEFINE(HAVE_GICONV, 1, [What header to include for iconv() function: giconv.h])
+- AC_MSG_RESULT(yes)
+- ICONV_FOUND=yes
+- else
+- if test "$jm_cv_biconv" = yes; then
+- AC_DEFINE(HAVE_BICONV, 1, [What header to include for iconv() function: biconv.h])
+- AC_MSG_RESULT(yes)
+- ICONV_FOUND=yes
++ if test "$jm_cv_func_iconv" = yes; then
++ if test "$jm_cv_giconv" = yes; then
++ AC_DEFINE(HAVE_GICONV, 1, [What header to include for iconv() function: giconv.h])
++ AC_MSG_RESULT(yes)
++ ICONV_FOUND=yes
+ else
+ AC_DEFINE(HAVE_ICONV, 1, [What header to include for iconv() function: iconv.h])
+ AC_MSG_RESULT(yes)
+ ICONV_FOUND=yes
+ fi
++ else
++ AC_MSG_RESULT(no)
+ fi
+- else
+- AC_MSG_RESULT(no)
+- fi
+ ])
+
+ AC_DEFUN(rjs_CHARSET,[
diff --git a/net/samba36/files/patch-source3__modules__vfs_shadow_copy2.c b/net/samba36/files/patch-source3__modules__vfs_shadow_copy2.c
new file mode 100644
index 000000000000..d4eeedb6345e
--- /dev/null
+++ b/net/samba36/files/patch-source3__modules__vfs_shadow_copy2.c
@@ -0,0 +1,127 @@
+--- ./source3/modules/vfs_shadow_copy2.c.orig 2012-10-19 03:37:47.475803452 +0000
++++ ./source3/modules/vfs_shadow_copy2.c 2012-10-19 03:39:42.665808023 +0000
+@@ -237,7 +237,7 @@
+ if (shadow_copy2_match_name(fname, &gmt_start)) { \
+ char *name2; \
+ rtype ret; \
+- name2 = convert_shadow2_name(handle, fname, gmt_start); \
++ name2 = convert_shadow2_name(handle, fname, gmt_start, True); \
+ if (name2 == NULL) { \
+ errno = EINVAL; \
+ return eret; \
+@@ -258,7 +258,7 @@
+ char *name2; \
+ char *smb_base_name_tmp = NULL; \
+ rtype ret; \
+- name2 = convert_shadow2_name(handle, smb_fname->base_name, gmt_start); \
++ name2 = convert_shadow2_name(handle, smb_fname->base_name, gmt_start, True); \
+ if (name2 == NULL) { \
+ errno = EINVAL; \
+ return eret; \
+@@ -285,7 +285,7 @@
+ if (shadow_copy2_match_name(fname, &gmt_start)) { \
+ char *name2; \
+ NTSTATUS ret; \
+- name2 = convert_shadow2_name(handle, fname, gmt_start); \
++ name2 = convert_shadow2_name(handle, fname, gmt_start, True); \
+ if (name2 == NULL) { \
+ errno = EINVAL; \
+ return eret; \
+@@ -409,7 +409,8 @@
+ convert a filename from a share relative path, to a path in the
+ snapshot directory
+ */
+-static char *convert_shadow2_name(vfs_handle_struct *handle, const char *fname, const char *gmt_path)
++static char *convert_shadow2_name(vfs_handle_struct *handle, const char *fname,
++ const char *gmt_path, const bool incl_rel)
+ {
+ TALLOC_CTX *tmp_ctx = talloc_new(handle->data);
+ const char *snapdir, *relpath, *baseoffset, *basedir;
+@@ -486,11 +487,13 @@
+ if (*relpath == '/') relpath++;
+ if (*baseoffset == '/') baseoffset++;
+
+- ret = talloc_asprintf(handle->data, "%s/%s/%s/%s",
++ ret = talloc_asprintf(handle->data, "%s/%s%s%s%s%s",
+ snapdir,
+ snapshot,
++ *baseoffset ? "/" : "",
+ baseoffset,
+- relpath);
++ *relpath ? "/" : "",
++ incl_rel ? relpath : "");
+ DEBUG(6,("convert_shadow2_name: '%s' -> '%s'\n", fname, ret));
+ talloc_free(tmp_ctx);
+ return ret;
+@@ -687,68 +690,17 @@
+ static const char *shadow_copy2_connectpath(struct vfs_handle_struct *handle,
+ const char *fname)
+ {
+- TALLOC_CTX *tmp_ctx;
+- const char *snapdir, *baseoffset, *basedir, *gmt_start;
+- size_t baselen;
++ const char *gmt_start;
+ char *ret;
+
+ DEBUG(10, ("shadow_copy2_connectpath called with %s\n", fname));
+
+ if (!shadow_copy2_match_name(fname, &gmt_start)) {
+- return handle->conn->connectpath;
+- }
+-
+- /*
+- * We have to create a real temporary context because we have
+- * to put our result on talloc_tos(). Thus we can't use a
+- * talloc_stackframe() here.
+- */
+- tmp_ctx = talloc_new(talloc_tos());
+-
+- fname = shadow_copy2_normalise_path(tmp_ctx, fname, gmt_start);
+- if (fname == NULL) {
+- TALLOC_FREE(tmp_ctx);
+- return NULL;
+- }
+-
+- snapdir = shadow_copy2_find_snapdir(tmp_ctx, handle);
+- if (snapdir == NULL) {
+- DEBUG(2,("no snapdir found for share at %s\n",
+- handle->conn->connectpath));
+- TALLOC_FREE(tmp_ctx);
+- return NULL;
++ return SMB_VFS_NEXT_CONNECTPATH(handle, fname);
+ }
+
+- basedir = shadow_copy2_find_basedir(tmp_ctx, handle);
+- if (basedir == NULL) {
+- DEBUG(2,("no basedir found for share at %s\n",
+- handle->conn->connectpath));
+- TALLOC_FREE(tmp_ctx);
+- return NULL;
+- }
+-
+- baselen = strlen(basedir);
+- baseoffset = handle->conn->connectpath + baselen;
+-
+- /* some sanity checks */
+- if (strncmp(basedir, handle->conn->connectpath, baselen) != 0 ||
+- (handle->conn->connectpath[baselen] != 0
+- && handle->conn->connectpath[baselen] != '/')) {
+- DEBUG(0,("shadow_copy2_connectpath: basedir %s is not a "
+- "parent of %s\n", basedir,
+- handle->conn->connectpath));
+- TALLOC_FREE(tmp_ctx);
+- return NULL;
+- }
+-
+- if (*baseoffset == '/') baseoffset++;
+-
+- ret = talloc_asprintf(talloc_tos(), "%s/%.*s/%s",
+- snapdir,
+- GMT_NAME_LEN, fname,
+- baseoffset);
++ ret = convert_shadow2_name(handle, fname, gmt_start, False);
+ DEBUG(6,("shadow_copy2_connectpath: '%s' -> '%s'\n", fname, ret));
+- TALLOC_FREE(tmp_ctx);
+ return ret;
+ }
+
diff --git a/net/samba36/files/patch-source3__smbd__quotas.c b/net/samba36/files/patch-source3__smbd__quotas.c
new file mode 100644
index 000000000000..be4d6b9a9fe9
--- /dev/null
+++ b/net/samba36/files/patch-source3__smbd__quotas.c
@@ -0,0 +1,19 @@
+--- ./source3/smbd/quotas.c.orig 2010-04-01 15:26:22.000000000 +0200
++++ ./source3/smbd/quotas.c 2010-04-23 01:08:35.000000000 +0200
+@@ -1235,6 +1235,7 @@
+ if (!cutstr)
+ return False;
+
++ memset(&D, '\0', sizeof(D));
+ memset(cutstr, '\0', len+1);
+ host = strncat(cutstr,mnttype, sizeof(char) * len );
+ DEBUG(5,("nfs_quotas: looking for mount on \"%s\"\n", cutstr));
+@@ -1243,7 +1244,7 @@
+ args.gqa_pathp = testpath+1;
+ args.gqa_uid = uid;
+
+- DEBUG(5,("nfs_quotas: Asking for host \"%s\" rpcprog \"%i\" rpcvers \"%i\" network \"%s\"\n", host, RQUOTAPROG, RQUOTAVERS, "udp"));
++ DEBUG(5,("nfs_quotas: Asking for host \"%s\" rpcprog \"%lu\" rpcvers \"%lu\" network \"%s\"\n", host, RQUOTAPROG, RQUOTAVERS, "udp"));
+
+ if ((clnt = clnt_create(host, RQUOTAPROG, RQUOTAVERS, "udp")) == NULL) {
+ ret = False;
diff --git a/net/samba36/files/patch-source3__smbd__statvfs.c b/net/samba36/files/patch-source3__smbd__statvfs.c
new file mode 100644
index 000000000000..aa24d18ddc32
--- /dev/null
+++ b/net/samba36/files/patch-source3__smbd__statvfs.c
@@ -0,0 +1,64 @@
+--- ./source3/smbd/statvfs.c.orig 2010-04-01 15:26:22.000000000 +0200
++++ ./source3/smbd/statvfs.c 2010-04-23 01:08:35.000000000 +0200
+@@ -3,6 +3,7 @@
+ VFS API's statvfs abstraction
+ Copyright (C) Alexander Bokovoy 2005
+ Copyright (C) Steve French 2005
++ Copyright (C) Timur I. Bakeyev 2005
+ Copyright (C) James Peach 2006
+
+ This program is free software; you can redistribute it and/or modify
+@@ -49,9 +50,42 @@
+ }
+ return result;
+ }
+-#endif
++#elif defined(FREEBSD)
++static int bsd_statvfs(const char *path, vfs_statvfs_struct *statbuf)
++{
++ struct statfs statfs_buf;
++ int result;
++
++ result = statfs(path, &statfs_buf);
++ if(result != 0) {
++ return result;
++ }
++
++ statbuf->OptimalTransferSize = statfs_buf.f_iosize;
++ statbuf->BlockSize = statfs_buf.f_bsize;
++ statbuf->TotalBlocks = statfs_buf.f_blocks;
++ statbuf->BlocksAvail = statfs_buf.f_bfree;
++ statbuf->UserBlocksAvail = statfs_buf.f_bavail;
++ statbuf->TotalFileNodes = statfs_buf.f_files;
++ statbuf->FreeFileNodes = statfs_buf.f_ffree;
++ statbuf->FsIdentifier =
++ (((uint64_t)statfs_buf.f_fsid.val[0]<<32) & 0xffffffff00000000LL) | (uint64_t)statfs_buf.f_fsid.val[1];
++ /* Try to extrapolate some of the fs flags into the
++ * capabilities
++ */
++ statbuf->FsCapabilities =
++ FILE_CASE_SENSITIVE_SEARCH | FILE_CASE_PRESERVED_NAMES;
++ if(statfs_buf.f_flags & MNT_ACLS)
++ statbuf->FsCapabilities |= FILE_PERSISTENT_ACLS;
++ if(statfs_buf.f_flags & MNT_QUOTA)
++ statbuf->FsCapabilities |= FILE_VOLUME_QUOTAS;
++ if(statfs_buf.f_flags & MNT_RDONLY)
++ statbuf->FsCapabilities |= FILE_READ_ONLY_VOLUME;
+
+-#if defined(DARWINOS)
++ return 0;
++}
++
++#elif defined(DARWINOS)
+
+ #include <sys/attr.h>
+
+@@ -137,6 +171,8 @@
+ {
+ #if defined(LINUX) && defined(HAVE_FSID_INT)
+ return linux_statvfs(path, statbuf);
++#elif defined(FREEBSD)
++ return bsd_statvfs(path, statbuf);
+ #elif defined(DARWINOS)
+ return darwin_statvfs(path, statbuf);
+ #else
diff --git a/net/samba36/files/patch-source3__utils__net.c b/net/samba36/files/patch-source3__utils__net.c
new file mode 100644
index 000000000000..aa4853a7624e
--- /dev/null
+++ b/net/samba36/files/patch-source3__utils__net.c
@@ -0,0 +1,18 @@
+--- ./source3/utils/net.c.orig 2013-01-29 08:49:31.000000000 +0000
++++ ./source3/utils/net.c 2013-01-31 15:04:24.069877314 +0000
+@@ -898,8 +898,13 @@
+ set_global_myname(c->opt_requester_name);
+ }
+
+- if (!c->opt_user_name && getenv("LOGNAME")) {
+- c->opt_user_name = getenv("LOGNAME");
++ if (!c->opt_user_name) {
++ if(getenv("LOGNAME"))
++ c->opt_user_name = getenv("LOGNAME");
++ else
++ d_fprintf(stderr,
++ _("Environment LOGNAME is not defined."
++ " Trying anonymous access.\n"));
+ }
+
+ if (!c->opt_workgroup) {
diff --git a/net/samba36/files/patch-source3__utils__net_time.c b/net/samba36/files/patch-source3__utils__net_time.c
new file mode 100644
index 000000000000..6c6ce7614652
--- /dev/null
+++ b/net/samba36/files/patch-source3__utils__net_time.c
@@ -0,0 +1,19 @@
+--- ./source3/utils/net_time.c.orig 2010-04-01 15:26:22.000000000 +0200
++++ ./source3/utils/net_time.c 2010-04-23 01:08:35.000000000 +0200
+@@ -87,10 +87,15 @@
+ if (!tm) {
+ return "unknown";
+ }
+-
++#if defined(FREEBSD)
++ return talloc_asprintf(talloc_tos(), "%02d%02d%02d%02d%02d.%02d",
++ tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday,
++ tm->tm_hour, tm->tm_min, tm->tm_sec);
++#else
+ return talloc_asprintf(talloc_tos(), "%02d%02d%02d%02d%04d.%02d",
+ tm->tm_mon+1, tm->tm_mday, tm->tm_hour,
+ tm->tm_min, tm->tm_year + 1900, tm->tm_sec);
++#endif
+ }
+
+ int net_time_usage(struct net_context *c, int argc, const char **argv)
diff --git a/net/samba36/files/pkg-message.in b/net/samba36/files/pkg-message.in
new file mode 100644
index 000000000000..98866a899ff7
--- /dev/null
+++ b/net/samba36/files/pkg-message.in
@@ -0,0 +1,7 @@
+===============================================================================
+Samba3 *package* now doesn't include ADS support due the portability problems
+with Kerberos5 libraries on different installations. You need to compile the
+port yourself to get this functionality.
+
+For additional hints and directions, please, look into the README.FreeBSD file.
+===============================================================================
diff --git a/net/samba36/files/samba.in b/net/samba36/files/samba.in
new file mode 100644
index 000000000000..98c2ca75a3d7
--- /dev/null
+++ b/net/samba36/files/samba.in
@@ -0,0 +1,198 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: nmbd smbd
+%%WINBIND%%# PROVIDE: winbindd
+# REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv
+%%CUPS%%# REQUIRE: cupsd
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+#samba_enable="YES"
+# You can disable/enable any of the Samba daemons by specifying:
+#nmbd_enable="NO"
+#smbd_enable="NO"
+%%WINBIND%%# You need to enable winbindd separately, by adding:
+%%WINBIND%%#winbindd_enable="YES"
+#
+# Configuration file can be set with:
+#samba_config="%%SAMBA_CONFDIR%%/%%SAMBA_CONFIG%%"
+#
+
+. /etc/rc.subr
+
+name="samba"
+rcvar=samba_enable
+# Custom commands
+extra_commands="reload status"
+start_precmd="samba_start_precmd"
+start_cmd="samba_cmd"
+stop_cmd="samba_cmd"
+status_cmd="samba_cmd"
+restart_precmd="samba_checkconfig"
+reload_precmd="samba_checkconfig"
+reload_cmd="samba_reload_cmd"
+rcvar_cmd="samba_rcvar_cmd"
+# Defaults
+samba_config_default="%%SAMBA_CONFDIR%%/%%SAMBA_CONFIG%%"
+testparm_command="%%PREFIX%%/bin/testparm"
+smbcontrol_command="%%PREFIX%%/bin/smbcontrol"
+samba_parm="${testparm_command} -s -v --parameter-name"
+pid_extra=
+#
+samba_daemons="nmbd smbd"
+%%WINBIND%%samba_daemons="${samba_daemons} winbindd"
+
+samba_checkconfig() {
+ echo -n "Performing sanity check on Samba configuration: "
+ if ${testparm_command} -s ${samba_config:+"${samba_config}"} >/dev/null 2>&1; then #"
+ echo "OK"
+ else
+ echo "FAILED"
+ return 1
+ fi
+ return 0
+}
+
+samba_start_precmd() {
+ # Make sure rundir exists
+ if [ ! -d "%%SAMBA_RUNDIR%%" -a ! -e "%%SAMBA_RUNDIR%%" ]; then
+ install -m 0755 -d "%%SAMBA_RUNDIR%%"
+ fi
+ # XXX: Never delete winbindd_idmap, winbindd_cache and group_mapping
+ if [ -n "${samba_lockdir}" -a -d "${samba_lockdir}" ]; then
+ echo -n "Removing stale Samba tdb files: "
+ for file in brlock.tdb browse.dat connections.tdb gencache.tdb \
+ locking.tdb messages.tdb namelist.debug sessionid.tdb \
+ unexpected.tdb
+ do
+ rm "${samba_lockdir}/${file}" </dev/null 2>/dev/null && echo -n '.'
+ done
+ echo " done"
+ fi
+}
+
+samba_rcvar_cmd() {
+ local name rcvar
+ rcvar=${name}_enable
+ # Prevent recursive calling
+ unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
+ # Check master variable
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ # Check dependent variables
+ for name in ${samba_daemons}; do
+ # XXX
+ rcvars=''; v=''
+ rcvar=${name}_enable
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ done
+}
+
+samba_reload_cmd() {
+ local name rcvar command pidfile force_run
+ # Prevent recursive calling
+ unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
+ # Ignore rcvar and run command
+ if [ -n "${_rc_prefix}" -a "${_rc_prefix}" = "one" ] || [ -n "${rc_force}" ] || [ -n "${rc_fast}" ]; then
+ force_run=yes
+ fi
+ # Apply to all daemons
+ for name in ${samba_daemons}; do
+ rcvar=${name}_enable
+ command="%%PREFIX%%/sbin/${name}"
+ pidfile="%%SAMBA_RUNDIR%%/${name}${pid_extra}.pid"
+ # Daemon should be enabled and running
+ if ( [ -n "${rcvar}" ] && checkyesno "${rcvar}" ) || [ -n "$force_run" ]; then
+ if [ -n "$(check_pidfile "${pidfile}" "${command}")" ]; then
+ debug "reloading ${name} configuration"
+ echo "Reloading ${name}."
+ # XXX: Hack with pid_extra
+ ${smbcontrol_command} "${name}${pid_extra}" 'reload-config' ${command_args} >/dev/null 2>&1
+ fi
+ fi
+ done
+}
+
+samba_cmd() {
+ local name rcvar rcvars v command pidfile samba_daemons result force_run
+ # Prevent recursive calling
+ unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
+ # Stop processes in the reverse order
+ if [ "${rc_arg}" = "stop" ] ; then
+ samba_daemons=$(reverse_list ${samba_daemons})
+ fi
+ # Ignore rcvar and run command
+ if [ -n "${_rc_prefix}" -a "${_rc_prefix}" = "one" ] || [ -n "${rc_force}" ] || [ -n "${rc_fast}" ]; then
+ force_run=yes
+ fi
+ # Assume success
+ result=0
+ # Apply to all daemons
+ for name in ${samba_daemons}; do
+ # XXX
+ rcvars=''; v=''
+ rcvar=${name}_enable
+ command="%%PREFIX%%/sbin/${name}"
+ pidfile="%%SAMBA_RUNDIR%%/${name}${pid_extra}.pid"
+ # Daemon should be enabled and running
+ if ( [ -n "${rcvar}" ] && checkyesno "${rcvar}" ) || [ -n "$force_run" ]; then
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ # If any of the commands failed, take it as a global result
+ result=$((${result} || $?))
+ fi
+ done
+ return ${result}
+}
+
+samba_config_init() {
+ local name
+ # Load configuration
+ load_rc_config "${name}"
+ for name in ${samba_daemons}; do
+ load_rc_config "${name}"
+ done
+ # Location of the config
+ samba_config=${samba_config="${samba_config_default}"} #"
+ # XXX: Hack to work around name change of pid file with non-default config
+ if [ -n "${samba_config}" -a "${samba_config}" != "${samba_config_default}" ]; then
+ pid_extra="-$(basename "${samba_config}")"
+ fi
+ # Defaults
+ samba_enable=${samba_enable:=NO}
+ # Setup dependent variables
+ if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
+ nmbd_enable=${nmbd_enable=YES}
+ smbd_enable=${smbd_enable=YES}
+ fi
+ nmbd_enable=${nmbd_enable:=NO}
+ smbd_enable=${smbd_enable:=NO}
+%%WINBIND%% # Winbindd
+%%WINBIND%% if [ -z "${winbind_enable}" ]; then
+%%WINBIND%% samba_idmap=$(${samba_parm} 'idmap uid' "${samba_config}" 2>/dev/null)
+%%WINBIND%% # Check that winbindd is actually configured
+%%WINBIND%% if [ -n "${samba_idmap}" ]; then
+%%WINBIND%% winbindd_enable="YES"
+%%WINBIND%% fi
+%%WINBIND%% winbindd_enable=${winbindd_enable:=NO}
+%%WINBIND%% fi
+}
+
+# Load configuration variables
+samba_config_init
+# Where is the lockdir
+samba_lockdir=$(${samba_parm} 'lock directory' "${samba_config}" 2>/dev/null)
+# Common flags
+command_args=${samba_config:+-s "${samba_config}"} #"
+nmbd_flags=${nmbd_flags="-D"}
+smbd_flags=${smbd_flags="-D"}
+%%WINBIND%%winbindd_flags=${winbindd_flags=''}
+# Requirements
+required_files="${samba_config}"
+required_dirs="${samba_lockdir}"
+
+run_rc_command "$1"
diff --git a/net/samba36/files/sernet.patch b/net/samba36/files/sernet.patch
new file mode 100644
index 000000000000..566315409a5a
--- /dev/null
+++ b/net/samba36/files/sernet.patch
@@ -0,0 +1,67 @@
+samba3-3.4-honor-all-loopback-ips.patch
+samba3.6-veto-speedup.patch
+
+commit b6afe7ef236a454d8a6abf104b8846f817378f73
+Author: Björn Jacke <bj@sernet.de>
+Date: Thu Oct 15 02:02:30 2009 +0200
+
+ util: cope the all loopback addresses IPv4 knows
+
+ The fact that we just recogniced 127.0.0.1 as loopback IP address and not the
+ rest of the 127.0.0.0/8 IP address range we used the lo interface for sending
+ packages even though we should send them to some more physical interface. This
+ way we ended up with failing WINS registration and so on like in #6348.
+ On the lo interface sendto() returned "Invalid Argument" (EINVAL).
+
+diff --git a/lib/util/util_net.c b/lib/util/util_net.c
+index 0ce495e..0511a28 100644
+--- a/lib/util/util_net.c
++++ b/lib/util/util_net.c
+@@ -353,13 +353,11 @@
+ }
+
+ /**
+- * Check if an IPv7 is 127.0.0.1
++ * Check if an IPv4 is in IN_LOOPBACKNET (127.0.0.0/8)
+ */
+ bool is_loopback_ip_v4(struct in_addr ip)
+ {
+- struct in_addr a;
+- a.s_addr = htonl(INADDR_LOOPBACK);
+- return(ip.s_addr == a.s_addr);
++ return ((ntohl(ip.s_addr) & IN_CLASSA_NET) == (IN_LOOPBACKNET << IN_CLASSA_NSHIFT));
+ }
+
+ /**
+From 944f10760f1bd0e839e08f1204b68e9c06617cf1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Jacke?= <bj@sernet.de>
+Date: Thu, 19 Apr 2012 13:33:50 +0200
+Subject: [PATCH] s3: speed up reply when vetoed files are being accessed
+
+one usecase of this fast-path is when non-existing files are being tried to be
+opened that are vetoed anyway. With this modification we look if the pattern is
+vetoed first and immediately tell the client that the file doesn't exist
+instead of searching for it in the first place and later on say we don't have
+it regardless.
+---
+ source3/smbd/filename.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c
+index b2ed239..67138e7 100644
+--- a/source3/smbd/filename.c
++++ b/source3/smbd/filename.c
+@@ -1284,6 +1284,13 @@ NTSTATUS filename_convert(TALLOC_CTX *ctx,
+
+ *pp_smb_fname = NULL;
+
++ status = check_veto_path(conn, name_in);
++ if (!NT_STATUS_IS_OK(status)) {
++ DEBUG(10,("file %s matches veto path - fast path returning %s\n",
++ name_in, nt_errstr(status)));
++ return status;
++ }
++
+ status = resolve_dfspath_wcard(ctx, conn,
+ dfs_path,
+ name_in,
diff --git a/net/samba36/files/smb.conf.sample.in b/net/samba36/files/smb.conf.sample.in
new file mode 100644
index 000000000000..4c7e56dbdf55
--- /dev/null
+++ b/net/samba36/files/smb.conf.sample.in
@@ -0,0 +1,306 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# For a step to step guide on installing, configuring and using samba,
+# read the Samba-HOWTO-Collection. This may be obtained from:
+# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
+#
+# Many working examples of smb.conf files can be found in the
+# Samba-Guide which is generated daily and can be downloaded from:
+# http://www.samba.org/samba/docs/Samba-Guide.pdf
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
+ workgroup = MYGROUP
+
+# server string is the equivalent of the NT Description field
+ server string = Samba Server
+
+# Security mode. Defines in which mode Samba will operate. Possible
+# values are share, user, server, domain and ads. Most people will want
+# user level security. See the Samba-HOWTO-Collection for details.
+ security = user
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+; hosts allow = 192.168.1. 192.168.2. 127.
+
+# If you want to automatically load your printer list rather
+# than setting them up individually then you'll need this
+ load printers = yes
+
+# you may wish to override the location of the printcap file
+; printcap name = /etc/printcap
+
+# on SystemV system setting printcap name to lpstat should allow
+# you to automatically obtain a printer list from the SystemV spool
+# system
+; printcap name = lpstat
+
+# It should not be necessary to specify the print system type unless
+# it is non-standard. Currently supported print systems include:
+# bsd, cups, sysv, plp, lprng, aix, hpux, qnx
+; printing = cups
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+; guest account = pcguest
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+ log file = %%SAMBA_LOGDIR%%/log.%m
+
+# Put a capping on the size of the log files (in Kb).
+ max log size = 50
+
+# Use password server option only with security = server
+# The argument list may include:
+# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
+# or to auto-locate the domain controller/s
+# password server = *
+; password server = <NT-Server-Name>
+
+# Use the realm option only with security = ads
+# Specifies the Active Directory realm the host is part of
+; realm = MY_REALM
+
+# Backend to store user information in. New installations should
+# use either tdbsam or ldapsam. smbpasswd is available for backwards
+# compatibility. tdbsam requires no further configuration.
+; passdb backend = tdbsam
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting.
+# Note: Consider carefully the location in the configuration file of
+# this line. The included file is read at that point.
+; include = %%SAMBA_CONFDIR%%/smb.conf.%m
+
+# Most people will find that this option gives better performance.
+# See the chapter 'Samba performance issues' in the Samba HOWTO Collection
+# and the manual pages for details.
+# You may want to add the following on a Linux system:
+; socket options = SO_RCVBUF=8192 SO_SNDBUF=8192
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# Browser Control Options:
+# set local master to no if you don't want Samba to become a master
+# browser on your network. Otherwise the normal election rules apply
+; local master = no
+
+# OS Level determines the precedence of this server in master browser
+# elections. The default value should be reasonable
+; os level = 33
+
+# Domain Master specifies Samba to be the Domain Master Browser. This
+# allows Samba to collate browse lists between subnets. Don't use this
+# if you already have a Windows NT domain controller doing this job
+; domain master = yes
+
+# Preferred Master causes Samba to force a local browser election on startup
+# and gives it a slightly higher chance of winning the election
+; preferred master = yes
+
+# Enable this if you want Samba to be a domain logon server for
+# Windows95 workstations.
+; domain logons = yes
+
+# if you enable domain logons then you may want a per-machine or
+# per user logon script
+# run a specific logon batch file per workstation (machine)
+; logon script = %m.bat
+# run a specific logon batch file per username
+; logon script = %U.bat
+
+# Where to store roving profiles (only for Win95 and WinNT)
+# %L substitutes for this servers netbios name, %U is username
+# You must uncomment the [Profiles] share below
+; logon path = \\%L\Profiles\%U
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+; wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The default is NO.
+ dns proxy = no
+
+# Charset settings
+; display charset = koi8-r
+; unix charset = koi8-r
+; dos charset = cp866
+
+# Use extended attributes to store file modes
+; store dos attributes = yes
+; map hidden = no
+; map system = no
+; map archive = no
+
+# Use inherited ACLs for directories
+; nt acl support = yes
+; inherit acls = yes
+; map acl inherit = yes
+
+# These scripts are used on a domain controller or stand-alone
+# machine to add or delete corresponding unix accounts
+; add user script = /usr/sbin/useradd %u
+; add group script = /usr/sbin/groupadd %g
+; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
+; delete user script = /usr/sbin/userdel %u
+; delete user from group script = /usr/sbin/deluser %u %g
+; delete group script = /usr/sbin/groupdel %g
+
+
+#============================ Share Definitions ==============================
+[homes]
+ comment = Home Directories
+ browseable = no
+ writable = yes
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+; comment = Network Logon Service
+; path = /usr/local/samba/lib/netlogon
+; guest ok = yes
+; writable = no
+; share modes = no
+
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+; path = /usr/local/samba/profiles
+; browseable = no
+; guest ok = yes
+
+
+# NOTE: If you have a BSD-style print system there is no need to
+# specifically define each individual printer
+[printers]
+ comment = All Printers
+ path = %%SAMBA_SPOOL%%
+ browseable = no
+# Set public = yes to allow user 'guest account' to print
+ guest ok = no
+ writable = no
+ printable = yes
+
+# This one is useful for people to share files
+;[tmp]
+; comment = Temporary file space
+; path = /tmp
+; read only = no
+; public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+; comment = Public Stuff
+; path = /home/samba
+; public = yes
+; writable = yes
+; printable = no
+; write list = @staff
+
+# Other examples.
+#
+# A private printer, usable only by fred. Spool data will be placed in fred's
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+; comment = Fred's Printer
+; valid users = fred
+; path = /homes/fred
+; printer = freds_printer
+; public = no
+; writable = no
+; printable = yes
+
+# A private directory, usable only by fred. Note that fred requires write
+# access to the directory.
+;[fredsdir]
+; comment = Fred's Service
+; path = /usr/somewhere/private
+; valid users = fred
+; public = no
+; writable = yes
+; printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %U option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+; comment = PC Directories
+; path = /usr/pc/%m
+; public = no
+; writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+; path = /usr/somewhere/else/public
+; public = yes
+; only guest = yes
+; writable = yes
+; printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+; comment = Mary's and Fred's stuff
+; path = /usr/somewhere/shared
+; valid users = mary fred
+; public = no
+; writable = yes
+; printable = no
+; create mask = 0765
+;
+
+# This is a DRAFT sample configuration for the ACLs on the ZFS partition.
+#
+; nt acl support = yes
+; inherit acls = no
+; map acl inherit = yes
+;
+;[zpool]
+; path = /tank/zpool
+; unix extensions = no
+; vfs objects = zfsacl
+; nfs4:mode = special
+; nfs4:acedup = merge
+; nfs4:chown = yes
diff --git a/net/samba36/pkg-descr b/net/samba36/pkg-descr
new file mode 100644
index 000000000000..28f431acf0f7
--- /dev/null
+++ b/net/samba36/pkg-descr
@@ -0,0 +1,12 @@
+The Samba suite is a set of programs which run under the FreeBSD
+operating system. These programs deliver most of the important
+functionality of a Microsoft Lan Manager server. That is, they support
+remote access to FreeBSD filespace and FreeBSD printers from Lan Manager
+compatible clients. In practical terms, this means that such clients can
+connect to and use FreeBSD filespace as if it was a local disk drive, or
+FreeBSD printers as if they were local printers.
+
+Some of the most popular Lan Manager compatible clients include Lan
+Manager itself, Windows for Workgroups, OS/2 and Windows NT.
+
+WWW: http://www.samba.org/
diff --git a/net/samba36/pkg-plist b/net/samba36/pkg-plist
new file mode 100644
index 000000000000..1ac95d86b149
--- /dev/null
+++ b/net/samba36/pkg-plist
@@ -0,0 +1,215 @@
+etc/%%SAMBA_CONFIG%%.sample
+bin/eventlogadm
+bin/make_smbpasswd
+bin/net
+bin/nmblookup
+bin/ntlm_auth
+bin/pdbedit
+bin/profiles
+bin/rpcclient
+bin/sharesec
+bin/smbcacls
+bin/smbclient
+bin/smbcontrol
+bin/smbcquotas
+bin/smbget
+bin/smbpasswd
+bin/smbspool
+bin/smbstatus
+bin/smbta-util
+bin/smbtar
+bin/smbtree
+bin/testparm
+%%SMBTORTURE%%bin/smbtorture
+%%WINBIND%%bin/wbinfo
+%%WINBIND%%include/wbclient.h
+sbin/smbd
+sbin/nmbd
+%%SWAT%%sbin/swat
+%%WINBIND%%sbin/winbindd
+%%WINBIND%%lib/libwbclient.so
+%%WINBIND%%lib/libwbclient.so.0
+%%WINBIND%%lib/nss_winbind.so.1
+%%WINBIND%%lib/nss_wins.so.1
+%%WINBIND%%lib/pam_winbind.so
+%%SMBPASS%%lib/pam_smbpass.so
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/%%SAMBA_CONFIG%%.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/convertSambaAccount
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/get_next_oid
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/ol-schema-migrate.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba-nds.schema
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba-schema-FDS.ldif
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba-schema-netscapeds5.x.README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba-schema.IBMSecureWay
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba.ldif
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba.schema
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba.schema.at.IBM-DS
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/LDAP/samba.schema.oc.IBM-DS
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/Makefile.in
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/autogen.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/config.guess
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/config.sub
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/configure
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/configure.in
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/install-sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/module_config.h.in
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/shadow_copy_test.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/skel_opaque.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/VFS/skel_transparent.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/ad-bench.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/settings.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/test_utils.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/time_group.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/time_join.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/time_kinit.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/time_ldap.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/time_user.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ad-bench/utils.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/auth_skel.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/crackcheck/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/crackcheck/crackcheck.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/autofs/auto.smb
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bind9-patches/0001-leave-the-question-section-in-update-responses.patch
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bind9-patches/0002-prevent-a-valgrind-uninitialised-memory-warning.patch
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bind9-patches/0003-don-t-compress-TSIG-names.patch
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bind9-patches/0004-If-tkey-gssapi-initialisation-fails-then-heck-for-th.patch
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bind9-patches/0005-windows-doesn-t-return-valid-GSSAPI-sequence-numbers.patch
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bind9-patches/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dce-dfs/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dce-dfs/smb.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/logon/genlogon/genlogon.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/logon/mklogon/mklogon.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/logon/mklogon/mklogon.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/logon/ntlogon/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/logon/ntlogon/ntlogon.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/logon/ntlogon/ntlogon.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/misc/adssearch.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/misc/check_multiple_LDAP_entries.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/misc/cldap.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/misc/extra_smbstatus
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/misc/swat.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/misc/wall.perl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nss/nss_winbind.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nss/nss_winbind.h
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nss/wbtest.c
+%%PORTEXAMPLES%%%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/README
+%%PORTEXAMPLES%%%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/kdc-pdc
+%%PORTEXAMPLES%%%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/password-mature
+%%PORTEXAMPLES%%%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/password-migration
+%%PORTEXAMPLES%%%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/password-sync
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pam_winbind/pam_winbind.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/COPYING
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/closerequest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/closerequest.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ethernet.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ethernet.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ip.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ip.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/main.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxrequest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxrequest.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxresponse.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxresponse.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/readandxrequest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/readandxrequest.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/readandxresponse.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/smb.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/smb.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/tcp.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/tcp.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/writeandxrequest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pcap2nbench/writeandxrequest.hpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdb/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdb/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdb/test.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf.h
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf_writer.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf_writer_cpu.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf_writer_disk.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf_writer_mem.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf_writer_process.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perf_writer_util.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perfcounter/perfcountd.init
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printer-accounting/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printer-accounting/acct-all
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printer-accounting/acct-sum
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printer-accounting/hp5-redir
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printer-accounting/lp-acct
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printer-accounting/printcap
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printing/VampireDriversFunctions
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printing/prtpub.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printing/readme.prtpub
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printing/smbprint
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/printing/smbprint.sysv
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/debugging/linux/backtrace
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/debugging/solaris/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/debugging/solaris/solaris-oops.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/eventlog/parselog.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/idmap/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/idmap/idmap_nis.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/mount/mount.smbfs
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/printing/cups/smbaddprinter.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/printing/cups/smbdelprinter.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/shares/perl/modify_samba_config.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/shares/python/SambaConfig.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/shares/python/SambaParm.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/shares/python/generate_parm_table.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/shares/python/modify_samba_config.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/shares/python/smbparm.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/users_and_groups/adduserstogroups.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/users_and_groups/createdomobj.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/wins_hook/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/wins_hook/dns_update
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/smb.conf.default
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tridge/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tridge/smb.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tridge/smb.conf.WinNT
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tridge/smb.conf.fjall
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tridge/smb.conf.lapland
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tridge/smb.conf.vittjokk
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/validchars/msdos70.out
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/validchars/nwdos70.out
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/validchars/readme
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/validchars/validchr.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/validchars/validchr.com
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/MAINTAINERS.txt
+%%PORTDOCS%%%%DOCSDIR%%/Manifest
+%%PORTDOCS%%%%DOCSDIR%%/PFIF.txt
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
+%%PORTDOCS%%%%DOCSDIR%%/Roadmap
+%%PORTDOCS%%%%DOCSDIR%%/Samba3-ByExample.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Samba3-Developers-Guide.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Samba3-HOWTO.pdf
+%%PORTDOCS%%%%DOCSDIR%%/THANKS
+%%PORTDOCS%%%%DOCSDIR%%/WHATSNEW.txt
+%%PORTDOCS%%%%DOCSDIR%%/history
+%%PORTDOCS%%%%DOCSDIR%%/registry/FolderRedir.adm
+%%PORTDOCS%%%%DOCSDIR%%/registry/NT4-Locking.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/NT4_PlainPassword.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win-2Kx-XPP-DeleteCachedProfiles.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win-2Kx-XPP-ForceLocalProfile.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win-NT-DeleteRoamingProfile.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win2000_PlainPassword.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win7_Samba3DomainMember.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win95_PlainPassword.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win98_PlainPassword.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/Win9X-CacheHandling.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/WinME_PlainPassword.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/WinXP_PlainPassword.reg
+%%PORTDOCS%%%%DOCSDIR%%/registry/WindowsTerminalServer.reg
+@dir %%SAMBA_PRIVATEDIR%%
+@dir %%SAMBA_LOCKDIR%%
+@dir %%SAMBA_LOGDIR%%
+@dir %%SAMBA_SPOOL%%
+@dir %%SAMBA_RUNDIR%%/nmbd
+@dir %%SAMBA_RUNDIR%%
diff --git a/net/samba36/pkg-plist.swat b/net/samba36/pkg-plist.swat
new file mode 100644
index 000000000000..6ec8a653a061
--- /dev/null
+++ b/net/samba36/pkg-plist.swat
@@ -0,0 +1,345 @@
+share/swat/help/Samba3-ByExample/Big500users.html
+share/swat/help/Samba3-ByExample/DMSMig.html
+share/swat/help/Samba3-ByExample/DomApps.html
+share/swat/help/Samba3-ByExample/ExNetworks.html
+share/swat/help/Samba3-ByExample/HA.html
+share/swat/help/Samba3-ByExample/RefSection.html
+share/swat/help/Samba3-ByExample/apa.html
+share/swat/help/Samba3-ByExample/appendix.html
+share/swat/help/Samba3-ByExample/ch14.html
+share/swat/help/Samba3-ByExample/go01.html
+share/swat/help/Samba3-ByExample/happy.html
+share/swat/help/Samba3-ByExample/images/AccountingNetwork.png
+share/swat/help/Samba3-ByExample/images/Charity-Network.png
+share/swat/help/Samba3-ByExample/images/Domain-WorkgroupAnnouncement.png
+share/swat/help/Samba3-ByExample/images/HostAnnouncment.png
+share/swat/help/Samba3-ByExample/images/LocalMasterAnnouncement.png
+share/swat/help/Samba3-ByExample/images/NullConnect.png
+share/swat/help/Samba3-ByExample/images/UNIX-Samba-and-LDAP.png
+share/swat/help/Samba3-ByExample/images/UserConnect.png
+share/swat/help/Samba3-ByExample/images/UserMgrNT4.png
+share/swat/help/Samba3-ByExample/images/WINREPRESSME-Capture.png
+share/swat/help/Samba3-ByExample/images/WINREPRESSME-Capture2.png
+share/swat/help/Samba3-ByExample/images/Windows-ME-WINEPRESSME-Startup-30min-ProtocolStats.png
+share/swat/help/Samba3-ByExample/images/Windows-ME-WINEPRESSME-Startup-30min-TraceStats.png
+share/swat/help/Samba3-ByExample/images/WindowsXP-NullConnection.png
+share/swat/help/Samba3-ByExample/images/WindowsXP-UserConnection.png
+share/swat/help/Samba3-ByExample/images/XP-screen001.png
+share/swat/help/Samba3-ByExample/images/acct2net.png
+share/swat/help/Samba3-ByExample/images/ch7-dual-additive-LDAP-Ok.png
+share/swat/help/Samba3-ByExample/images/ch7-dual-additive-LDAP.png
+share/swat/help/Samba3-ByExample/images/ch7-fail-overLDAP.png
+share/swat/help/Samba3-ByExample/images/ch7-singleLDAP.png
+share/swat/help/Samba3-ByExample/images/ch8-migration.png
+share/swat/help/Samba3-ByExample/images/chap4-net.png
+share/swat/help/Samba3-ByExample/images/chap5-net.png
+share/swat/help/Samba3-ByExample/images/chap6-net.png
+share/swat/help/Samba3-ByExample/images/chap7-idresol.png
+share/swat/help/Samba3-ByExample/images/chap7-net-A.png
+share/swat/help/Samba3-ByExample/images/chap7-net-Ar.png
+share/swat/help/Samba3-ByExample/images/chap7-net.png
+share/swat/help/Samba3-ByExample/images/chap7-net2-B.png
+share/swat/help/Samba3-ByExample/images/chap7-net2-Br.png
+share/swat/help/Samba3-ByExample/images/chap7-net2.png
+share/swat/help/Samba3-ByExample/images/chap7-net2r.png
+share/swat/help/Samba3-ByExample/images/chap7-netr.png
+share/swat/help/Samba3-ByExample/images/chap9-ADSDC.png
+share/swat/help/Samba3-ByExample/images/chap9-SambaDC.png
+share/swat/help/Samba3-ByExample/images/imc-usermanager2.png
+share/swat/help/Samba3-ByExample/images/lam-config.png
+share/swat/help/Samba3-ByExample/images/lam-group-members.png
+share/swat/help/Samba3-ByExample/images/lam-groups.png
+share/swat/help/Samba3-ByExample/images/lam-hosts.png
+share/swat/help/Samba3-ByExample/images/lam-login.png
+share/swat/help/Samba3-ByExample/images/lam-users.png
+share/swat/help/Samba3-ByExample/images/openmag.png
+share/swat/help/Samba3-ByExample/images/wxpp001.png
+share/swat/help/Samba3-ByExample/images/wxpp004.png
+share/swat/help/Samba3-ByExample/images/wxpp006.png
+share/swat/help/Samba3-ByExample/images/wxpp007.png
+share/swat/help/Samba3-ByExample/images/wxpp008.png
+share/swat/help/Samba3-ByExample/images/wxpp010.png
+share/swat/help/Samba3-ByExample/images/wxpp011.png
+share/swat/help/Samba3-ByExample/images/wxpp012.png
+share/swat/help/Samba3-ByExample/images/wxpp013.png
+share/swat/help/Samba3-ByExample/images/wxpp015.png
+share/swat/help/Samba3-ByExample/index.html
+share/swat/help/Samba3-ByExample/ix01.html
+share/swat/help/Samba3-ByExample/kerberos.html
+share/swat/help/Samba3-ByExample/net2000users.html
+share/swat/help/Samba3-ByExample/ntmigration.html
+share/swat/help/Samba3-ByExample/nw4migration.html
+share/swat/help/Samba3-ByExample/pr01.html
+share/swat/help/Samba3-ByExample/pr02.html
+share/swat/help/Samba3-ByExample/pr03.html
+share/swat/help/Samba3-ByExample/preface.html
+share/swat/help/Samba3-ByExample/primer.html
+share/swat/help/Samba3-ByExample/secure.html
+share/swat/help/Samba3-ByExample/simple.html
+share/swat/help/Samba3-ByExample/small.html
+share/swat/help/Samba3-ByExample/unixclients.html
+share/swat/help/Samba3-ByExample/upgrades.html
+share/swat/help/Samba3-Developers-Guide/CodingSuggestions.html
+share/swat/help/Samba3-Developers-Guide/Packaging.html
+share/swat/help/Samba3-Developers-Guide/architecture.html
+share/swat/help/Samba3-Developers-Guide/contributing.html
+share/swat/help/Samba3-Developers-Guide/debug.html
+share/swat/help/Samba3-Developers-Guide/devprinting.html
+share/swat/help/Samba3-Developers-Guide/index.html
+share/swat/help/Samba3-Developers-Guide/internals.html
+share/swat/help/Samba3-Developers-Guide/modules.html
+share/swat/help/Samba3-Developers-Guide/ntdomain.html
+share/swat/help/Samba3-Developers-Guide/parsing.html
+share/swat/help/Samba3-Developers-Guide/pr01.html
+share/swat/help/Samba3-Developers-Guide/pt01.html
+share/swat/help/Samba3-Developers-Guide/pt02.html
+share/swat/help/Samba3-Developers-Guide/pt03.html
+share/swat/help/Samba3-Developers-Guide/pt04.html
+share/swat/help/Samba3-Developers-Guide/pt05.html
+share/swat/help/Samba3-Developers-Guide/pwencrypt.html
+share/swat/help/Samba3-Developers-Guide/rpc-plugin.html
+share/swat/help/Samba3-Developers-Guide/tracing.html
+share/swat/help/Samba3-Developers-Guide/unix-smb.html
+share/swat/help/Samba3-Developers-Guide/vfs.html
+share/swat/help/Samba3-Developers-Guide/wins.html
+share/swat/help/Samba3-HOWTO/AccessControls.html
+share/swat/help/Samba3-HOWTO/AdvancedNetworkManagement.html
+share/swat/help/Samba3-HOWTO/Appendix.html
+share/swat/help/Samba3-HOWTO/Backup.html
+share/swat/help/Samba3-HOWTO/CUPS-printing.html
+share/swat/help/Samba3-HOWTO/ChangeNotes.html
+share/swat/help/Samba3-HOWTO/ClientConfig.html
+share/swat/help/Samba3-HOWTO/DNSDHCP.html
+share/swat/help/Samba3-HOWTO/FastStart.html
+share/swat/help/Samba3-HOWTO/InterdomainTrusts.html
+share/swat/help/Samba3-HOWTO/IntroSMB.html
+share/swat/help/Samba3-HOWTO/NT4Migration.html
+share/swat/help/Samba3-HOWTO/NetCommand.html
+share/swat/help/Samba3-HOWTO/NetworkBrowsing.html
+share/swat/help/Samba3-HOWTO/Other-Clients.html
+share/swat/help/Samba3-HOWTO/PolicyMgmt.html
+share/swat/help/Samba3-HOWTO/Portability.html
+share/swat/help/Samba3-HOWTO/ProfileMgmt.html
+share/swat/help/Samba3-HOWTO/SWAT.html
+share/swat/help/Samba3-HOWTO/SambaHA.html
+share/swat/help/Samba3-HOWTO/ServerType.html
+share/swat/help/Samba3-HOWTO/StandAloneServer.html
+share/swat/help/Samba3-HOWTO/TOSHpreface.html
+share/swat/help/Samba3-HOWTO/VFS.html
+share/swat/help/Samba3-HOWTO/apa.html
+share/swat/help/Samba3-HOWTO/bugreport.html
+share/swat/help/Samba3-HOWTO/cfgsmarts.html
+share/swat/help/Samba3-HOWTO/ch-ldap-tls.html
+share/swat/help/Samba3-HOWTO/ch47.html
+share/swat/help/Samba3-HOWTO/classicalprinting.html
+share/swat/help/Samba3-HOWTO/compiling.html
+share/swat/help/Samba3-HOWTO/diagnosis.html
+share/swat/help/Samba3-HOWTO/domain-member.html
+share/swat/help/Samba3-HOWTO/go01.html
+share/swat/help/Samba3-HOWTO/groupmapping.html
+share/swat/help/Samba3-HOWTO/idmapper.html
+share/swat/help/Samba3-HOWTO/images/10small.png
+share/swat/help/Samba3-HOWTO/images/11small.png
+share/swat/help/Samba3-HOWTO/images/12small.png
+share/swat/help/Samba3-HOWTO/images/13small.png
+share/swat/help/Samba3-HOWTO/images/14small.png
+share/swat/help/Samba3-HOWTO/images/1small.png
+share/swat/help/Samba3-HOWTO/images/2small.png
+share/swat/help/Samba3-HOWTO/images/3small.png
+share/swat/help/Samba3-HOWTO/images/4small.png
+share/swat/help/Samba3-HOWTO/images/5small.png
+share/swat/help/Samba3-HOWTO/images/6small.png
+share/swat/help/Samba3-HOWTO/images/7small.png
+share/swat/help/Samba3-HOWTO/images/8small.png
+share/swat/help/Samba3-HOWTO/images/9small.png
+share/swat/help/Samba3-HOWTO/images/WME001.png
+share/swat/help/Samba3-HOWTO/images/WME002.png
+share/swat/help/Samba3-HOWTO/images/WME003.png
+share/swat/help/Samba3-HOWTO/images/WME004.png
+share/swat/help/Samba3-HOWTO/images/WME005.png
+share/swat/help/Samba3-HOWTO/images/WME006.png
+share/swat/help/Samba3-HOWTO/images/WME007.png
+share/swat/help/Samba3-HOWTO/images/WME008.png
+share/swat/help/Samba3-HOWTO/images/WME009.png
+share/swat/help/Samba3-HOWTO/images/WME010.png
+share/swat/help/Samba3-HOWTO/images/WME011.png
+share/swat/help/Samba3-HOWTO/images/WME012.png
+share/swat/help/Samba3-HOWTO/images/WME013.png
+share/swat/help/Samba3-HOWTO/images/WME014.png
+share/swat/help/Samba3-HOWTO/images/WXPP002.png
+share/swat/help/Samba3-HOWTO/images/WXPP003.png
+share/swat/help/Samba3-HOWTO/images/WXPP005.png
+share/swat/help/Samba3-HOWTO/images/WXPP009.png
+share/swat/help/Samba3-HOWTO/images/WXPP014.png
+share/swat/help/Samba3-HOWTO/images/a_small.png
+share/swat/help/Samba3-HOWTO/images/access1.png
+share/swat/help/Samba3-HOWTO/images/browsing1.png
+share/swat/help/Samba3-HOWTO/images/cups1.png
+share/swat/help/Samba3-HOWTO/images/cups2.png
+share/swat/help/Samba3-HOWTO/images/domain.png
+share/swat/help/Samba3-HOWTO/images/ethereal1.png
+share/swat/help/Samba3-HOWTO/images/ethereal2.png
+share/swat/help/Samba3-HOWTO/images/idmap-gid2sid.png
+share/swat/help/Samba3-HOWTO/images/idmap-groups.png
+share/swat/help/Samba3-HOWTO/images/idmap-sid2gid.png
+share/swat/help/Samba3-HOWTO/images/idmap-sid2uid.png
+share/swat/help/Samba3-HOWTO/images/idmap-store-gid2sid.png
+share/swat/help/Samba3-HOWTO/images/idmap-uid2sid.png
+share/swat/help/Samba3-HOWTO/images/idmap.png
+share/swat/help/Samba3-HOWTO/images/idmap_winbind_no_loop.png
+share/swat/help/Samba3-HOWTO/images/pdftoepsonusb.png
+share/swat/help/Samba3-HOWTO/images/pdftosocket.png
+share/swat/help/Samba3-HOWTO/images/trusts1.png
+share/swat/help/Samba3-HOWTO/images/w2kp001.png
+share/swat/help/Samba3-HOWTO/images/w2kp002.png
+share/swat/help/Samba3-HOWTO/images/w2kp003.png
+share/swat/help/Samba3-HOWTO/images/w2kp004.png
+share/swat/help/Samba3-HOWTO/images/w2kp005.png
+share/swat/help/Samba3-HOWTO/images/w2kp006.png
+share/swat/help/Samba3-HOWTO/images/wxpp001.png
+share/swat/help/Samba3-HOWTO/images/wxpp004.png
+share/swat/help/Samba3-HOWTO/images/wxpp006.png
+share/swat/help/Samba3-HOWTO/images/wxpp007.png
+share/swat/help/Samba3-HOWTO/images/wxpp008.png
+share/swat/help/Samba3-HOWTO/images/wxpp010.png
+share/swat/help/Samba3-HOWTO/images/wxpp011.png
+share/swat/help/Samba3-HOWTO/images/wxpp012.png
+share/swat/help/Samba3-HOWTO/images/wxpp013.png
+share/swat/help/Samba3-HOWTO/images/wxpp015.png
+share/swat/help/Samba3-HOWTO/index.html
+share/swat/help/Samba3-HOWTO/install.html
+share/swat/help/Samba3-HOWTO/integrate-ms-networks.html
+share/swat/help/Samba3-HOWTO/introduction.html
+share/swat/help/Samba3-HOWTO/ix01.html
+share/swat/help/Samba3-HOWTO/largefile.html
+share/swat/help/Samba3-HOWTO/locking.html
+share/swat/help/Samba3-HOWTO/migration.html
+share/swat/help/Samba3-HOWTO/msdfs.html
+share/swat/help/Samba3-HOWTO/optional.html
+share/swat/help/Samba3-HOWTO/pam.html
+share/swat/help/Samba3-HOWTO/passdb.html
+share/swat/help/Samba3-HOWTO/pr01.html
+share/swat/help/Samba3-HOWTO/pr02.html
+share/swat/help/Samba3-HOWTO/pr03.html
+share/swat/help/Samba3-HOWTO/problems.html
+share/swat/help/Samba3-HOWTO/rights.html
+share/swat/help/Samba3-HOWTO/samba-bdc.html
+share/swat/help/Samba3-HOWTO/samba-pdc.html
+share/swat/help/Samba3-HOWTO/securing-samba.html
+share/swat/help/Samba3-HOWTO/speed.html
+share/swat/help/Samba3-HOWTO/tdb.html
+share/swat/help/Samba3-HOWTO/troubleshooting.html
+share/swat/help/Samba3-HOWTO/type.html
+share/swat/help/Samba3-HOWTO/unicode.html
+share/swat/help/Samba3-HOWTO/upgrading-to-3.0.html
+share/swat/help/Samba3-HOWTO/winbind.html
+share/swat/help/manpages/eventlogadm.8.html
+share/swat/help/manpages/findsmb.1.html
+share/swat/help/manpages/idmap_ad.8.html
+share/swat/help/manpages/idmap_adex.8.html
+share/swat/help/manpages/idmap_autorid.8.html
+share/swat/help/manpages/idmap_hash.8.html
+share/swat/help/manpages/idmap_ldap.8.html
+share/swat/help/manpages/idmap_nss.8.html
+share/swat/help/manpages/idmap_rid.8.html
+share/swat/help/manpages/idmap_tdb.8.html
+share/swat/help/manpages/idmap_tdb2.8.html
+share/swat/help/manpages/index.html
+share/swat/help/manpages/lmhosts.5.html
+share/swat/help/manpages/log2pcap.1.html
+share/swat/help/manpages/net.8.html
+share/swat/help/manpages/nmbd.8.html
+share/swat/help/manpages/nmblookup.1.html
+share/swat/help/manpages/ntlm_auth.1.html
+share/swat/help/manpages/pam_winbind.8.html
+share/swat/help/manpages/pam_winbind.conf.5.html
+share/swat/help/manpages/pdbedit.8.html
+share/swat/help/manpages/profiles.1.html
+share/swat/help/manpages/rpcclient.1.html
+share/swat/help/manpages/samba.7.html
+share/swat/help/manpages/sharesec.1.html
+share/swat/help/manpages/smb.conf.5.html
+share/swat/help/manpages/smbcacls.1.html
+share/swat/help/manpages/smbclient.1.html
+share/swat/help/manpages/smbcontrol.1.html
+share/swat/help/manpages/smbcquotas.1.html
+share/swat/help/manpages/smbd.8.html
+share/swat/help/manpages/smbget.1.html
+share/swat/help/manpages/smbgetrc.5.html
+share/swat/help/manpages/smbpasswd.5.html
+share/swat/help/manpages/smbpasswd.8.html
+share/swat/help/manpages/smbspool.8.html
+share/swat/help/manpages/smbstatus.1.html
+share/swat/help/manpages/smbta-util.8.html
+share/swat/help/manpages/smbtar.1.html
+share/swat/help/manpages/smbtree.1.html
+share/swat/help/manpages/swat.8.html
+share/swat/help/manpages/tdbbackup.8.html
+share/swat/help/manpages/tdbdump.8.html
+share/swat/help/manpages/tdbtool.8.html
+share/swat/help/manpages/testparm.1.html
+share/swat/help/manpages/vfs_acl_tdb.8.html
+share/swat/help/manpages/vfs_acl_xattr.8.html
+share/swat/help/manpages/vfs_aio_fork.8.html
+share/swat/help/manpages/vfs_aio_pthread.8.html
+share/swat/help/manpages/vfs_audit.8.html
+share/swat/help/manpages/vfs_cacheprime.8.html
+share/swat/help/manpages/vfs_cap.8.html
+share/swat/help/manpages/vfs_catia.8.html
+share/swat/help/manpages/vfs_commit.8.html
+share/swat/help/manpages/vfs_crossrename.8.html
+share/swat/help/manpages/vfs_default_quota.8.html
+share/swat/help/manpages/vfs_dirsort.8.html
+share/swat/help/manpages/vfs_extd_audit.8.html
+share/swat/help/manpages/vfs_fake_perms.8.html
+share/swat/help/manpages/vfs_fileid.8.html
+share/swat/help/manpages/vfs_full_audit.8.html
+share/swat/help/manpages/vfs_gpfs.8.html
+share/swat/help/manpages/vfs_netatalk.8.html
+share/swat/help/manpages/vfs_notify_fam.8.html
+share/swat/help/manpages/vfs_prealloc.8.html
+share/swat/help/manpages/vfs_preopen.8.html
+share/swat/help/manpages/vfs_readahead.8.html
+share/swat/help/manpages/vfs_readonly.8.html
+share/swat/help/manpages/vfs_recycle.8.html
+share/swat/help/manpages/vfs_scannedonly.8.html
+share/swat/help/manpages/vfs_shadow_copy.8.html
+share/swat/help/manpages/vfs_shadow_copy2.8.html
+share/swat/help/manpages/vfs_smb_traffic_analyzer.8.html
+share/swat/help/manpages/vfs_streams_depot.8.html
+share/swat/help/manpages/vfs_streams_xattr.8.html
+share/swat/help/manpages/vfs_time_audit.8.html
+share/swat/help/manpages/vfs_xattr_tdb.8.html
+share/swat/help/manpages/vfstest.1.html
+share/swat/help/manpages/wbinfo.1.html
+share/swat/help/manpages/winbind_krb5_locator.7.html
+share/swat/help/manpages/winbindd.8.html
+share/swat/help/welcome-no-samba-doc.html
+share/swat/help/welcome.html
+share/swat/images/globals.gif
+share/swat/images/home.gif
+share/swat/images/passwd.gif
+share/swat/images/printers.gif
+share/swat/images/samba.gif
+share/swat/images/shares.gif
+share/swat/images/status.gif
+share/swat/images/viewconfig.gif
+share/swat/images/wizard.gif
+share/swat/include/footer.html
+share/swat/include/header.html
+share/swat/lang/ja/help/welcome.html
+share/swat/lang/tr/help/welcome.html
+share/swat/lang/tr/images/globals.gif
+share/swat/lang/tr/images/home.gif
+share/swat/lang/tr/images/passwd.gif
+share/swat/lang/tr/images/printers.gif
+share/swat/lang/tr/images/samba.gif
+share/swat/lang/tr/images/shares.gif
+share/swat/lang/tr/images/status.gif
+share/swat/lang/tr/images/viewconfig.gif
+@dir share/swat/lang/tr/js
+@dir share/swat/lang/tr/include
+@dir share/swat/lang/ja/js
+@dir share/swat/lang/ja/include
+@dir share/swat/lang/ja/images
+@dir share/swat/js