Remove obsolete port net/samba35

This commit is contained in:
Timur I. Bakeyev 2013-01-31 19:45:25 +00:00
parent 63d788439c
commit 1a62b61144
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=311332
32 changed files with 1 additions and 3554 deletions

1
MOVED
View File

@ -4020,3 +4020,4 @@ textproc/clucene-contrib|textproc/clucene|2013-01-28|Integrated into textproc/cl
lang/erlang14||2013-01-30|Not needed; no issues came up with R15
www/tomcat55||2013-01-31|Has expired: EOL and unsupported upstream
net/samba-pdbsql||2013-01-31|Removed
net/samba35||2013-01-31|Removed

View File

@ -1044,7 +1044,6 @@
SUBDIR += samba-nmblookup
SUBDIR += samba-smbclient
SUBDIR += samba34
SUBDIR += samba35
SUBDIR += samba36
SUBDIR += samba4-devel
SUBDIR += samba4wins

View File

@ -1,554 +0,0 @@
# New ports collection makefile for: samba35
# Date created: 1 May 2010
# Whom: timur@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= ${SAMBA_BASENAME}35
PORTVERSION= 3.5.19
PORTREVISION?= 0
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SAMBA}
MASTER_SITE_SUBDIR= samba samba/old-versions samba/rc samba/pre
DISTNAME= ${SAMBA_BASENAME}-${PORTVERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
MAINTAINER?= timur@FreeBSD.org
COMMENT?= A free SMB and CIFS client and server for UNIX
CONFLICTS?= *samba3[2-46]-3.*
# Additional patches from Sernet.de
PATCH_STRIP= -p1
EXTRA_PATCHES= ${PATCHDIR}/sernet.patch
LICENSE= GPLv3
LICENSE_FILE= ${WRKDIR}/${DISTNAME}/COPYING
SAMBA_BASENAME= samba
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
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}
USE_GMAKE= yes
USE_ICONV= yes
GNU_CONFIGURE= yes
USE_AUTOTOOLS= autoconf autoheader
# 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-modulesdir="${SAMBA_MODULEDIR}" \
--with-pammodulesdir="${SAMBA_LIBDIR}" \
--localstatedir="${VARDIR}" \
--with-piddir="${SAMBA_RUNDIR}" \
--with-ncalrpcdir="${SAMBA_RUNDIR}/ncalrpc" \
--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_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LDFLAGS="${PTHREAD_LIBS}"
# pkg-config is used to find talloc, tevent and tdb
PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S|^${PREFIX}/||}
USE_PKGCONFIG= yes
# Let process generate meaningful backtrace on a core dump
LIB_DEPENDS+= execinfo.1:${PORTSDIR}/devel/libexecinfo
# tdb
BUILD_DEPENDS+= tdb>=1.2.1:${PORTSDIR}/databases/tdb
RUN_DEPENDS+= tdb>=1.2.1:${PORTSDIR}/databases/tdb
CONFIGURE_ARGS+= --without-libtdb --enable-external-libtdb
# talloc
BUILD_DEPENDS+= talloc>=2.0.1:${PORTSDIR}/devel/talloc
RUN_DEPENDS+= talloc>=2.0.1:${PORTSDIR}/devel/talloc
CONFIGURE_ARGS+= --without-libtalloc --enable-external-libtalloc
# tevent
#BUILD_DEPENDS+= tevent>=0.9.13:${PORTSDIR}/devel/tevent
#RUN_DEPENDS+= tevent>=0.9.13:${PORTSDIR}/devel/tevent
#CONFIGURE_ARGS+= --without-libtevent --enable-external-libtevent
# These options are common for all (sub)ports
CONFIGURE_ARGS+= --with-libiconv="${LOCALBASE}"
.if !defined(SAMBA_SUBPORT)
OPTIONS= LDAP "With LDAP support" on \
ADS "With Active Directory support" off \
CUPS "With CUPS printing support" on \
WINBIND "With WinBIND support" on \
SWAT "With SWAT WebGUI" off \
ACL_SUPPORT "With ACL support" off \
AIO_SUPPORT "With Asyncronous IO support" off \
FAM_SUPPORT "With File Alteration Monitor" off \
SYSLOG "With Syslog support" off \
QUOTAS "With Disk quota support" off \
UTMP "With UTMP accounting support" off \
PAM_SMBPASS "With PAM authentication vs passdb backends" off \
DNSUPDATE "With dynamic DNS update(require ADS)" off \
AVAHI "With Bonjour service discovery support" off \
EXP_MODULES "With experimental modules" off \
POPT "With system-wide POPT library" on \
IPV6 "With IPv6 support" on \
MAX_DEBUG "With maximum debugging" off \
SMBTORTURE "With smbtorture" off
# !SAMBA_SUBPORT
.endif
.include <bsd.port.options.mk>
# XXX
.if ${OSVERSION} >= 701000 && ${OSVERSION} < 702000
IGNORE= databases/tdb crashes on FreeBSD 7.1. Please, consider upgrading to 7.2 or higher
.endif
# 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
# Dirty hack to work around usage of OPTIONS in slave ports
. if exists(${.CURDIR}/Makefile.inc)
. include "${.CURDIR}/Makefile.inc"
. endif
.else
# Samba server itself
USE_RC_SUBR= ${SAMBA_BASENAME}
SUB_FILES= pkg-install pkg-message pkg-deinstall 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
# XXX: Temporary hack for RELENG6
CONFIGURE_ENV+= ac_cv_header_sys_mount_h=yes
.if !defined(WITH_IPV6)
CONFIGURE_ENV+= libreplace_cv_HAVE_IPV6=no
.endif
.if !defined(WITHOUT_LDAP)
SAMBA_WANT_LDAP= yes
.endif
.if !defined(WITHOUT_CUPS)
LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-client
CONFIGURE_ARGS+= --enable-cups --enable-iprint
SUB_LIST+= CUPS=""
.else
CONFIGURE_ARGS+= --disable-cups --disable-iprint
SUB_LIST+= CUPS="@comment "
.endif
.if defined(WITH_MAX_DEBUG)
CPPFLAGS+= -g
LDFLAGS+= -g
LIB_DEPENDS+= dmalloc.1:${PORTSDIR}/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 defined(WITH_SYSLOG)
CONFIGURE_ARGS+= --with-syslog
.else
CONFIGURE_ARGS+= --without-syslog
.endif
.if defined(WITH_QUOTAS)
CONFIGURE_ARGS+= --with-quotas
.else
CONFIGURE_ARGS+= --without-quotas
.endif
.if !defined(WITHOUT_UTMP)
CONFIGURE_ARGS+= --with-utmp
.else
CONFIGURE_ARGS+= --without-utmp
.endif
.if !defined(WITHOUT_WINBIND)
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 !defined(WITHOUT_SWAT)
CONFIGURE_ARGS+= --enable-swat
PLIST_SUB+= SWAT=""
.else
CONFIGURE_ARGS+= --disable-swat
PLIST_SUB+= SWAT="@comment "
.endif
# Add some shared modules
.if defined(WITH_EXP_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 !defined(WITH_MAX_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 \
vfs_crossrename
. endif
.endif
.if defined(WITH_FAM_SUPPORT)
USE_FAM= yes
WANT_EXP_MODULES+= vfs_notify_fam
CONFIGURE_ARGS+= --enable-fam
.else
CONFIGURE_ARGS+= --disable-fam
.endif
.if defined(WITH_ACL_SUPPORT)
CONFIGURE_ARGS+= --with-acl-support
. if ${OSVERSION} > 800000
WANT_EXP_MODULES+= vfs_zfsacl
LIB_DEPENDS+= sunacl.1:${PORTSDIR}/sysutils/libsunacl
. endif
.else
CONFIGURE_ARGS+= --without-acl-support
.endif
.if defined(WITH_AIO_SUPPORT)
.if ${OSVERSION} < 700055
IGNORE= an AIO support requires 7.0-RELEASE or later. Disable AIO support
.endif
CONFIGURE_ARGS+= --with-aio-support
.else
CONFIGURE_ARGS+= --without-aio-support
.endif
.if defined(WITH_PAM_SMBPASS)
CONFIGURE_ARGS+= --with-pam_smbpass
PLIST_SUB+= SMBPASS=""
.else
CONFIGURE_ARGS+= --without-pam_smbpass
PLIST_SUB+= SMBPASS="@comment "
.endif
.if defined(WITH_DNSUPDATE)
. if !defined(WITH_ADS)
IGNORE= dynamic DNS updates require ADS support. Disable DNSUPDATE support
. endif
LIB_DEPENDS+= uuid.1:${PORTSDIR}/misc/e2fsprogs-libuuid
CONFIGURE_ARGS+= --with-dnsupdate
.else
CONFIGURE_ARGS+= --without-dnsupdate
.endif
.if defined(WITH_AVAHI)
CPPFLAGS+= `${PKG_CONFIG} --cflags avahi-client`
DNSSD_LIBS= `${PKG_CONFIG} --libs avahi-client`
LIB_DEPENDS+= avahi-client.3:${PORTSDIR}/net/avahi-app
CONFIGURE_ARGS+= --enable-avahi
.else
CONFIGURE_ARGS+= --disable-avahi
.endif
.if !defined(WITHOUT_POPT)
LIB_DEPENDS+= popt.0:${PORTSDIR}/devel/popt
CONFIGURE_ARGS+= --without-included-popt
.else
CONFIGURE_ARGS+= --with-included-popt
.endif
#--enable-pthreadpool
.if defined(WITH_SMBTORTURE)
PLIST_SUB+= SMBTORTURE=""
.else
PLIST_SUB+= SMBTORTURE="@comment "
.endif
# !SAMBA_SUBPORT
.endif
###
### Common part for port and it's subports
###
.if defined(WITH_ADS)
SAMBA_WANT_LDAP= yes
SAMBA_WANT_KRB5= yes
CONFIGURE_ARGS+= --with-ads
.else
CONFIGURE_ARGS+= --without-ads
.endif
# Kerberos5 is necessary for ADS
.if defined(SAMBA_WANT_KRB5)
.if defined(KRB5_HOME) && exists(${KRB5_HOME}/lib/libgssapi_krb5.so)
CONFIGURE_ARGS+= --with-krb5="${KRB5_HOME}"
.elif defined(HEIMDAL_HOME) && exists(${HEIMDAL_HOME}/lib/libgssapi.so)
CONFIGURE_ARGS+= --with-krb5="${HEIMDAL_HOME}"
.elif exists(/usr/lib/libkrb5.so) && exists(/usr/bin/krb5-config)
CONFIGURE_ARGS+= --with-krb5="/usr"
.else
LIB_DEPENDS+= krb5:${PORTSDIR}/security/heimdal
CONFIGURE_ARGS+= --with-krb5="${LOCALBASE}"
.endif
.else
CONFIGURE_ARGS+= --without-krb5
.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
###
### end of common part
###
.if !defined(SAMBA_SUBPORT)
# Samba server only
MAN1= findsmb.1 \
ldbadd.1 ldbdel.1 ldbedit.1 ldbmodify.1 ldbrename.1 ldbsearch.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
MAN3= ldb.3
MAN5= lmhosts.5 smb.conf.5 smbgetrc.5 smbpasswd.5
MAN7= samba.7
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 !defined(WITHOUT_WINBIND)
MAN1+= wbinfo.1
MAN5+= pam_winbind.conf.5
MAN7+= winbind_krb5_locator.7
MAN8+= pam_winbind.8 winbindd.8
.endif
.if !defined(WITHOUT_SWAT)
MAN8+= swat.8
.endif
.if defined(WITH_FAM_SUPPORT)
MAN8+= vfs_notify_fam.8
.endif
.if defined(SAMBA_WANT_LDAP)
MAN8+= idmap_ldap.8
.endif
.if !empty(WANT_EXP_MODULES:Midmap_ad)
MAN8+= idmap_ad.8
.endif
.if !empty(WANT_EXP_MODULES:Midmap_adex)
MAN8+= idmap_adex.8
.endif
.if !empty(WANT_EXP_MODULES:Midmap_hash)
MAN8+= idmap_hash.8
.endif
.if !empty(WANT_EXP_MODULES:Midmap_rid)
MAN8+= idmap_rid.8
.endif
.if !empty(WANT_EXP_MODULES:Mvfs_cacheprime)
MAN8+= vfs_cacheprime.8
.endif
.if !empty(WANT_EXP_MODULES:Mvfs_catia)
MAN8+= vfs_catia.8
.endif
.if !empty(WANT_EXP_MODULES:Mvfs_commit)
MAN8+= vfs_commit.8
.endif
.if !empty(WANT_EXP_MODULES:Mvfs_dirsort)
MAN8+= vfs_dirsort.8
.endif
.if !empty(WANT_EXP_MODULES:Mvfs_streams_depot)
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 defined(WITH_SMBTORTURE)
ALL_TARGET+= smbtorture
.endif
# What will be installed
INSTALL_TARGET= installservers installbin installscripts installdat \
installmodules installlibs
.if !defined(WITHOUT_SWAT)
INSTALL_TARGET+=installswat
.endif
.if defined(OPTIONS)
pre-fetch:
@${ECHO_MSG} "===> -------------------------------------------"
@${ECHO_MSG} "===> Run 'make config' to (re)configure the port"
@${ECHO_MSG} "===> -------------------------------------------"
.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
# This would speedup compilation
.if !defined(WITHOUT_PCH)
pre-build:
cd ${WRKSRC} && ${GMAKE} pch
.endif
pre-install:
-@${FIND} "${SAMBA_MODULEDIR}" -type f -o -type l 2>/dev/null | ${SORT} | ${SED} -E 's|^${PREFIX}/?||;' > ${WRKDIR}/.PLIST.exclude
@${CAT} ${PKGDIR}/pkg-plist > ${PLIST}
.if !defined(WITHOUT_SWAT)
@${CAT} ${PKGDIR}/pkg-plist.swat >> ${PLIST}
.endif
post-install:
.for sect in 1 3 5 7 8
@${MKDIR} ${MAN${sect}PREFIX}/man/man${sect}
. for man in ${MAN${sect}}
@${INSTALL_MAN} "${WRKDIR}/${DISTNAME}/docs/manpages/${man}" "${MAN${sect}PREFIX}/man/man${sect}"
. endfor
.endfor
# Put examples in place
@${MKDIR} "${EXAMPLESDIR}"
@${CP} -Rp ${WRKDIR}/${DISTNAME}/examples/* "${EXAMPLESDIR}"
.if defined(WITH_PAM_SMBPASS)
@${MKDIR} "${EXAMPLESDIR}/pam_smbpass"
@${CP} -Rp ${WRKSRC}/pam_smbpass/samples/* "${EXAMPLESDIR}/pam_smbpass"
.endif
${INSTALL_DATA} "${WRKDIR}/smb.conf.sample" "${EXAMPLESDIR}/${SAMBA_CONFIG}.sample"
${INSTALL_SCRIPT} "${WRKSRC}/script/mksmbpasswd.sh" "${PREFIX}/bin/make_smbpasswd"
# Winbind
.if !defined(WITHOUT_WINBIND)
${INSTALL_PROGRAM} "${WRKDIR}/${DISTNAME}/nsswitch/nss_winbind.so" "${SAMBA_LIBDIR}/nss_winbind.so.1"
${INSTALL_PROGRAM} "${WRKDIR}/${DISTNAME}/nsswitch/nss_wins.so" "${SAMBA_LIBDIR}/nss_wins.so.1"
${INSTALL_PROGRAM} "${WRKSRC}/bin/pam_winbind.so" "${SAMBA_LIBDIR}"
.endif
.if defined(WITH_PAM_SMBPASS)
${INSTALL_PROGRAM} "${WRKSRC}/bin/pam_smbpass.so" "${SAMBA_LIBDIR}"
.endif
# smbtorture
.if defined(WITH_SMBTORTURE)
${INSTALL_PROGRAM} "${WRKSRC}/bin/smbtorture" "${PREFIX}/bin"
.endif
# Lib
@${FIND} "${SAMBA_MODULEDIR}" -type f -o -type l | ${SED} -E 's|^${PREFIX}/?||;' | ${EGREP} -F -v -f ${WRKDIR}/.PLIST.exclude | ${SORT} >> ${TMPPLIST}
@for d in `${FIND} "${SAMBA_MODULEDIR}" -type d | ${SORT} -r`; do \
${ECHO_CMD} "@unexec ${RMDIR} \"$$d\" 2>/dev/null || true" >> ${TMPPLIST}; \
done
# Documentation
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@${CP} -Rp "${WRKDIR}/${DISTNAME}/docs/registry" "${DOCSDIR}"
. for f in Samba3-ByExample.pdf Samba3-HOWTO.pdf Samba3-Developers-Guide.pdf
@${INSTALL_DATA} "${WRKDIR}/${DISTNAME}/docs/${f}" "${DOCSDIR}"
. endfor
. for f in README COPYING MAINTAINERS PFIF.txt Manifest Roadmap \
WHATSNEW.txt docs/THANKS docs/history
@${INSTALL_DATA} "${WRKDIR}/${DISTNAME}/${f}" "${DOCSDIR}"
. endfor
@${INSTALL_DATA} "${FILESDIR}/README.FreeBSD" "${DOCSDIR}"
# !NOPORTDOCS
.endif
# Run post-install script
@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
.if defined(WITH_MAX_DEBUG)
test:
(cd ${WRKSRC} && ${GMAKE} test_nss_modules test_pam_modules && ${GMAKE} test)
.endif
# !SAMBA_SUBPORT
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +0,0 @@
SHA256 (samba-3.5.19.tar.gz) = 96f64f3869408b6eb28d776a2c31035dd8b9966f485889a7a056f7ac2ccece8b
SIZE (samba-3.5.19.tar.gz) = 35379330

View File

@ -1,32 +0,0 @@
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>

View File

@ -1,18 +0,0 @@
--- ./lib/replace/libreplace_macros.m4.orig 2010-10-07 18:41:16.000000000 +0200
+++ ./lib/replace/libreplace_macros.m4 2010-11-15 03:29:16.000000000 +0100
@@ -293,12 +293,12 @@
$2
}
])],[
- AS_TR_SH([ac_cv_c_prototype_$1])=yes
+ eval AS_TR_SH([ac_cv_c_prototype_$1])=yes
],[
- AS_TR_SH([ac_cv_c_prototype_$1])=no
+ eval AS_TR_SH([ac_cv_c_prototype_$1])=no
])
)
-AS_IF([test $AS_TR_SH([ac_cv_c_prototype_$1]) = yes],[$3],[$4])
+AS_IF([eval test \$AS_TR_SH([ac_cv_c_prototype_$1]) = yes],[$3],[$4])
])
AC_DEFUN(LIBREPLACE_PROVIDE_HEADER,

View File

@ -1,11 +0,0 @@
--- ./lib/replace/system/config.m4.orig 2010-10-07 18:41:16.000000000 +0200
+++ ./lib/replace/system/config.m4 2010-10-26 01:52:57.000000000 +0200
@@ -1,7 +1,7 @@
# filesys
AC_HEADER_DIRENT
AC_CHECK_HEADERS(fcntl.h sys/fcntl.h sys/resource.h sys/ioctl.h sys/mode.h sys/filio.h sys/fs/s5param.h sys/filsys.h)
-AC_CHECK_HEADERS(sys/acl.h acl/libacl.h sys/file.h)
+AC_CHECK_HEADERS(sys/acl.h acl/libacl.h sunacl.h sys/file.h)
# select
AC_CHECK_HEADERS(sys/select.h)

View File

@ -1,13 +0,0 @@
--- ./lib/replace/system/filesys.h.orig 2010-10-07 18:41:16.000000000 +0200
+++ ./lib/replace/system/filesys.h 2010-10-26 01:52:57.000000000 +0200
@@ -53,6 +53,10 @@
#include <acl/libacl.h>
#endif
+#ifdef HAVE_SUNACL_H
+#include <sunacl.h>
+#endif
+
#ifdef HAVE_SYS_FS_S5PARAM_H
#include <sys/fs/s5param.h>
#endif

View File

@ -1,21 +0,0 @@
--- ./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

View File

@ -1,11 +0,0 @@
--- ./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
/* 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

View File

@ -1,89 +0,0 @@
--- ./nsswitch/pam_winbind.c.orig 2010-04-01 15:26:22.000000000 +0200
+++ ./nsswitch/pam_winbind.c 2010-04-23 01:08:35.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";
@@ -1434,12 +1439,12 @@
static bool _pam_check_remark_auth_err(struct pwb_context *ctx,
const struct wbcAuthErrorInfo *e,
const char *nt_status_string,
- int *pam_error)
+ int *pam_err)
{
const char *ntstatus = NULL;
const char *error_string = NULL;
- if (!e || !pam_error) {
+ if (!e || !pam_err) {
return false;
}
@@ -1453,18 +1458,18 @@
error_string = _get_ntstatus_error_string(nt_status_string);
if (error_string) {
_make_remark(ctx, PAM_ERROR_MSG, error_string);
- *pam_error = e->pam_error;
+ *pam_err = e->pam_error;
return true;
}
if (e->display_string) {
_make_remark(ctx, PAM_ERROR_MSG, e->display_string);
- *pam_error = e->pam_error;
+ *pam_err = e->pam_error;
return true;
}
_make_remark(ctx, PAM_ERROR_MSG, nt_status_string);
- *pam_error = e->pam_error;
+ *pam_err = e->pam_error;
return true;
}
@@ -2848,8 +2853,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) {

View File

@ -1,82 +0,0 @@
--- ./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);
+}

View File

@ -1,98 +0,0 @@
--- ./source3/Makefile.in.orig 2012-11-11 15:15:38.139866606 +0000
+++ ./source3/Makefile.in 2012-11-11 15:19:15.361245854 +0000
@@ -144,7 +144,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@
@@ -922,7 +922,8 @@
$(LIBADS_OBJ) $(POPT_LIB_OBJ) \
$(SMBLDAP_OBJ) $(DCUTIL_OBJ) $(LDB_OBJ)
-PAM_WINBIND_OBJ = ../nsswitch/pam_winbind.o localedir.o $(WBCOMMON_OBJ) \
+PAM_WINBIND_OBJ = ../nsswitch/pam_winbind.o localedir.o \
+ @LIBTALLOC_STATIC@ @LIBWBCLIENT_STATIC@ \
$(LIBREPLACE_OBJ) @BUILD_INIPARSER@
LIBSMBCLIENT_THREAD_OBJ = \
@@ -1110,7 +1111,7 @@
$(LIBSAMBA_OBJ) \
$(POPT_LIB_OBJ)
-TALLOCTORT_OBJ = @tallocdir@/testsuite.o @tallocdir@/testsuite_main.o \
+TALLOCTORT_OBJ = ../lib/talloc/testsuite.o ../lib/talloc/testsuite_main.o \
$(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSAMBA_OBJ)
REPLACETORT_OBJ = @libreplacedir@/test/testsuite.o \
@@ -1126,9 +1127,9 @@
$(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
$(LIBNDR_GEN_OBJ0)
-WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o $(PARAM_OBJ) \
- $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ) \
- $(LIBNDR_GEN_OBJ0) $(LDB_OBJ)
+WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o @WINBIND_WINS_NSS_EXTRA_OBJS@ \
+ $(PARAM_OBJ) $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) \
+ $(KRBCLIENT_OBJ) $(LIBNDR_GEN_OBJ0) $(LDB_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
@@ -1424,6 +1425,7 @@
.SUFFIXES:
.SUFFIXES: .c .o .lo
+.SUFFIXES: .h .h.gch
.PHONY: showflags SHOWFLAGS
@@ -1485,6 +1487,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
@@ -2545,14 +2550,15 @@
@LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_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) $(LIBWBCLIENT)
@echo "Linking shared library $@"
@$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) -lpam @INIPARSERLIBS@ \
+ $(LIBS) $(LDAP_LIBS) $(KRB5LIBS) $(NSCD_LIBS) \
$(LIBREPLACE_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) @SONAMEFLAG@`basename $@`
##########
@@ -2740,7 +2746,7 @@
bin/zfsacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ZFSACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ)
+ @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ) $(ACL_LIBS)
bin/irixacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_IRIXACL_OBJ)
@echo "Building plugin $@"
@@ -2882,7 +2888,8 @@
@echo "Linking shared library $@"
@$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) -lpam $(DYNEXP) \
$(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
- $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS)
+ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) \
+ @SONAMEFLAG@`basename $@`
bin/tdbbackup@EXEEXT@: $(BINARY_PREREQS) $(TDBBACKUP_OBJ) $(LIBTALLOC) $(LIBTDB)
@echo Linking $@

View File

@ -1,315 +0,0 @@
--- ./source3/configure.in.orig 2010-10-07 18:41:16.000000000 +0200
+++ ./source3/configure.in 2010-10-17 01:15:14.000000000 +0200
@@ -23,6 +23,7 @@
m4_include(pkg.m4)
AC_LIBREPLACE_CC_CHECKS
+AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
m4_include(../lib/tevent/libtevent.m4)
@@ -755,9 +756,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 \
@@ -766,8 +771,8 @@
# 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,
- [PRINT_LIBS"$ac_save_PRINT_LIBS -lcups"],
+ 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`"])
@@ -776,10 +781,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.)
@@ -1711,8 +1716,12 @@
AC_MSG_RESULT($BLDSHARED)
-saved_before_as_needed_ldflags="$LDFLAGS"
-for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
+AC_ARG_ENABLE(as-needed,
+ [AS_HELP_STRING([--enable-as-needed],
+ [Turn on as-needed support if available (default=auto)])])
+if test "x$enable_as_needed" != xno; then
+ saved_before_as_needed_ldflags="$LDFLAGS"
+ for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
saved_ldflags="$LDFLAGS"
AC_MSG_CHECKING([if $flags works])
LDFLAGS="$flags $saved_ldflags"
@@ -1723,7 +1732,46 @@
AC_MSG_RESULT([no]))
LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
test x"$ld_as_needed_flag_found" = xyes && break
-done
+ done
+fi
+
+if test x$ld_as_needed_flag_found = xyes ; then
+# check if ld has bug described in https://bugzilla.samba.org/show_bug.cgi?id=7209#c17
+ AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG has explicit external libs bug])
+cat > conftest_shb.c <<END
+void b() {}
+END
+cat > conftest_sha.c <<END
+extern void b();
+void a() {
+ b();
+}
+END
+cat > conftest.c <<END
+extern void a();
+int main() {
+ a();
+ return 0;
+}
+END
+
+ rm -fr conftest
+ AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_sha.o conftest_sha.c 1>&AS_MESSAGE_LOG_FD 2>&1])
+ AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_shb.o conftest_shb.c 1>&AS_MESSAGE_LOG_FD 2>&1])
+ TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`"
+ AC_TRY_COMMAND([$TESTCMD -o libconftest_shb.$SHLIBEXT conftest_shb.o 1>&AS_MESSAGE_LOG_FD 2>&1])
+ AC_TRY_COMMAND([$TESTCMD -o libconftest_sha.$SHLIBEXT conftest_sha.o 1>&AS_MESSAGE_LOG_FD 2>&1])
+ AC_TRY_COMMAND([$CC -o conftest conftest.c $LDFLAGS -L. -lconftest_sha -lconftest_shb 1>&AS_MESSAGE_LOG_FD 2>&1])
+ if AC_TRY_COMMAND([eval "$LIB_PATH_VAR=. ./conftest 1>&AS_MESSAGE_LOG_FD 2>&1"])
+ then
+ AC_MSG_RESULT([no])
+ else
+ ld_as_needed_flag_found=no
+ LDFLAGS="$saved_before_as_needed_ldflags"
+ AC_MSG_RESULT([yes])
+ fi
+ rm conftest* libconftest*
+fi
# check if we have to disable LD_AS_NEEDED_FLAG:
# On some systems for a veriety of reasons linking with
@@ -1787,9 +1835,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
@@ -1826,7 +1871,6 @@
AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
-AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
###########################################################
@@ -4222,10 +4266,10 @@
################################################################
# first test for Active Directory support being enabled
- #if test x"$with_ads_support" = x"no"; then
- # AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
- # with_dnsupdate_support=no
- #fi
+ if test x"$with_ads_support" = x"no"; then
+ AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
+ with_dnsupdate_support=no
+ fi
##################################################################
# then test for uuid.h (necessary to generate unique DNS keynames
# (uuid.h is required for this test)
@@ -4470,15 +4514,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])
@@ -4488,7 +4568,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)
@@ -5480,7 +5560,8 @@
esac
fi # with_acl_support
-
+# check for NFSv4 acl
+AC_CHECK_LIB(sunacl, acl, [ACL_LIBS="$ACL_LIBS -lsunacl"])
#################################################
# check for AIO support
@@ -6021,6 +6102,7 @@
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"
;;
@@ -6111,17 +6193,10 @@
AC_DEFINE(WITH_WINBIND,1,[Whether to link to wbclient])
EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
else
- if test x"$enable_developer" = x"yes" -a x"$LINK_LIBWBCLIENT" = x"STATIC" ; then
- BUILD_LIBWBCLIENT_SHARED=no
- else
- BUILD_LIBWBCLIENT_SHARED=yes
- fi
-
LIBWBCLIENT_SHARED_TARGET=bin/libwbclient.$SHLIBEXT
LIBWBCLIENT_STATIC_TARGET=bin/libwbclient.a
LIBWBCLIENT_SOVER=0
if test $BLDSHARED = true -a x"$HAVE_WINBIND" = x"yes" -a x"$BUILD_LIBWBCLIENT_SHARED" = x"yes"; then
- NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
## Only worry about libwbclient if we have shared
# library support
LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
@@ -6141,19 +6216,26 @@
EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd\$(EXEEXT)"
- if test $BLDSHARED = true -a x"$create_pam_modules" = x"yes"; then
+ if test $BLDSHARED = true; then
+ NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
+ if test x"$create_pam_modules" = x"yes"; then
PAM_MODULES="$PAM_MODULES pam_winbind"
INSTALL_PAM_MODULES="installpammodules"
UNINSTALL_PAM_MODULES="uninstallpammodules"
+ fi
fi
else
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)
+AC_SUBST(WINBIND_WINS_NSS_EXTRA_OBJS)
AC_SUBST(NSSSONAMEVERSIONSUFFIX)
AC_SUBST(WINBIND_KRB5_LOCATOR)
@@ -6421,13 +6503,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;
@@ -6757,6 +6847,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)

View File

@ -1,24 +0,0 @@
--- ./source3/include/includes.h.orig 2010-04-01 15:26:22.000000000 +0200
+++ ./source3/include/includes.h 2010-04-23 01:08:35.000000000 +0200
@@ -226,6 +226,10 @@
#include <sys/uio.h>
#endif
+#ifdef HAVE_SYS_SYSCTL_H
+#include <sys/sysctl.h>
+#endif
+
#if HAVE_LANGINFO_H
#include <langinfo.h>
#endif
@@ -801,10 +805,6 @@
#define SIGCLD SIGCHLD
#endif
-#ifndef SIGRTMIN
-#define SIGRTMIN NSIG
-#endif
-
#ifndef MAP_FILE
#define MAP_FILE 0
#endif

View File

@ -1,164 +0,0 @@
--- ./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
@@ -25,6 +25,10 @@
#endif
+#ifdef HAVE_SYS_SYSCTL_H
+#include <sys/sysctl.h>
+#endif
+
#ifdef HAVE_SYS_PRCTL_H
#include <sys/prctl.h>
#endif
@@ -143,52 +147,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
@@ -204,8 +249,7 @@
/* @todo: Add support for the linux corepath. */
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;
@@ -281,7 +325,7 @@
SAFE_FREE(logbase);
}
- void dump_core(void)
+void dump_core(void)
{
static bool called;

View File

@ -1,153 +0,0 @@
--- ./source3/m4/aclocal.m4.orig 2010-04-01 15:26:22.000000000 +0200
+++ ./source3/m4/aclocal.m4 2010-04-23 01:08:35.000000000 +0200
@@ -429,104 +429,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="")
+ 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>
+ 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,[

View File

@ -1,21 +0,0 @@
--- ./source3/modules/vfs_zfsacl.c.orig 2011-07-24 22:04:44.000000000 +0200
+++ ./source3/modules/vfs_zfsacl.c 2011-07-29 19:11:57.000000000 +0200
@@ -251,8 +251,7 @@
return (SMB_ACL_T)NULL;
}
SMB_ACL_T zfsacl_fail__sys_acl_get_fd(vfs_handle_struct *handle,
- files_struct *fsp,
- int fd)
+ files_struct *fsp)
{
return (SMB_ACL_T)NULL;
}
@@ -267,7 +266,7 @@
int zfsacl_fail__sys_acl_set_fd(vfs_handle_struct *handle,
files_struct *fsp,
- int fd, SMB_ACL_T theacl)
+ SMB_ACL_T theacl)
{
return -1;
}

View File

@ -1,11 +0,0 @@
--- ./source3/smbd/negprot.c.orig 2010-10-07 18:41:16.000000000 +0200
+++ ./source3/smbd/negprot.c 2010-11-14 03:46:55.000000000 +0100
@@ -34,7 +34,7 @@
if (sconn->smb1.negprot.auth_context) {
DEBUG(3, ("get challenge: is this a secondary negprot? "
"sconn->negprot.auth_context is non-NULL!\n"));
- sconn->smb1.negprot.auth_context->free(
+ (sconn->smb1.negprot.auth_context->free)(
&sconn->smb1.negprot.auth_context);
}

View File

@ -1,19 +0,0 @@
--- ./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
@@ -1035,6 +1035,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));
@@ -1043,7 +1044,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;

View File

@ -1,11 +0,0 @@
--- ./source3/smbd/server.c.orig 2010-10-26 02:55:21.000000000 +0200
+++ ./source3/smbd/server.c 2010-10-26 02:55:54.000000000 +0200
@@ -841,7 +841,7 @@
if (sconn && sconn->smb1.negprot.auth_context) {
struct auth_context *a = sconn->smb1.negprot.auth_context;
- a->free(&sconn->smb1.negprot.auth_context);
+ (a->free)(&sconn->smb1.negprot.auth_context);
}
if (sconn) {

View File

@ -1,64 +0,0 @@
--- ./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
@@ -47,9 +48,42 @@
}
return result;
}
-#endif
+#elif defined(FREEBSD)
+static int bsd_statvfs(const char *path, vfs_statvfs_struct *statbuf)
+{
+ struct statfs statfs_buf;
+ int result;
-#if defined(DARWINOS)
+ 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;
+
+ return 0;
+}
+
+#elif defined(DARWINOS)
#include <sys/attr.h>
@@ -135,6 +169,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

View File

@ -1,19 +0,0 @@
--- ./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
@@ -85,10 +85,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)

View File

@ -1,46 +0,0 @@
#! /bin/sh
#
PATH=/bin:/usr/sbin:/usr/bin:/usr/sbin
SAMBA_CONFIG="%%SAMBA_CONFIG%%"
SAMBA_CONFDIR="%%SAMBA_CONFDIR%%"
SAMBA_SPOOL="%%SAMBA_SPOOL%%"
SAMBA_LOGDIR="%%SAMBA_LOGDIR%%"
SAMBA_RUNDIR="%%SAMBA_RUNDIR%%"
SAMBA_LOCKDIR="%%SAMBA_LOCKDIR%%"
SAMBA_PRIVATEDIR="%%SAMBA_PRIVATEDIR%%"
SAMBA_OWNER=root
SAMBA_GROUP=wheel
CMP="cmp"
RM="rm"
RMDIR="rmdir"
ECHO_CMD="echo"
post-deinstall() {
if ${CMP} -s ${SAMBA_CONFDIR}/${SAMBA_CONFIG} ${SAMBA_CONFDIR}/${SAMBA_CONFIG}.sample; then
${RM} -f ${SAMBA_CONFDIR}/${SAMBA_CONFIG}
fi
${RM} -f ${SAMBA_CONFDIR}/${SAMBA_CONFIG}.sample
${RM} -rf ${SAMBA_SPOOL}
${RMDIR} ${SAMBA_LOGDIR} 2>/dev/null || true
for f in connections.tdb locking.tdb messages.tdb sessionid.tdb \
unexpected.tdb brlock.tdb namelist.debug
do
${RM} -f "${SAMBA_LOCKDIR}/${f}"
done
${RMDIR} ${SAMBA_RUNDIR} 2>/dev/null || true
${RMDIR} ${SAMBA_LOCKDIR} 2>/dev/null || true
${RMDIR} ${SAMBA_PRIVATEDIR} 2>/dev/null || true
${ECHO_CMD} "WARNING: If you will *NOT* use this package anymore, please remove the"
${ECHO_CMD} " following directories manually:"
${ECHO_CMD} " ${SAMBA_PRIVATEDIR}"
${ECHO_CMD} " ${SAMBA_LOGDIR}"
${ECHO_CMD} " ${SAMBA_LOCKDIR}"
${ECHO_CMD}
}
case $2 in
POST-DEINSTALL)
post-deinstall
;;
esac

View File

@ -1,44 +0,0 @@
#! /bin/sh
#
PATH=/bin:/usr/sbin:/usr/bin:/usr/sbin
EXAMPLESDIR="%%EXAMPLESDIR%%"
SAMBA_CONFIG="%%SAMBA_CONFIG%%"
SAMBA_CONFDIR="%%SAMBA_CONFDIR%%"
SAMBA_SPOOL="%%SAMBA_SPOOL%%"
SAMBA_LOGDIR="%%SAMBA_LOGDIR%%"
SAMBA_RUNDIR="%%SAMBA_RUNDIR%%"
SAMBA_LOCKDIR="%%SAMBA_LOCKDIR%%"
SAMBA_PRIVATEDIR="%%SAMBA_PRIVATEDIR%%"
SAMBA_OWNER=root
SAMBA_GROUP=wheel
INSTALL_DATA="install -c -m 0444"
MKDIR="mkdir -p"
CHMOD="chmod"
CHOWN="chown"
post-install() {
${MKDIR} ${SAMBA_SPOOL} && ${CHMOD} 1777 ${SAMBA_SPOOL}
${MKDIR} ${SAMBA_LOGDIR} && ${CHMOD} 0755 ${SAMBA_LOGDIR}
${MKDIR} ${SAMBA_RUNDIR} && ${CHMOD} 0755 ${SAMBA_RUNDIR}
${MKDIR} ${SAMBA_LOCKDIR} && ${CHMOD} 0755 ${SAMBA_LOCKDIR}
${MKDIR} ${SAMBA_PRIVATEDIR} && ${CHMOD} 0700 ${SAMBA_PRIVATEDIR}
if [ $(id -u) -eq 0 ]; then
INSTALL_DATA="${INSTALL_DATA} -o ${SAMBA_OWNER} -g ${SAMBA_GROUP}"
${CHOWN} ${SAMBA_OWNER}:${SAMBA_GROUP} ${SAMBA_SPOOL}
${CHOWN} ${SAMBA_OWNER}:${SAMBA_GROUP} ${SAMBA_LOGDIR}
${CHOWN} ${SAMBA_OWNER}:${SAMBA_GROUP} ${SAMBA_RUNDIR}
${CHOWN} ${SAMBA_OWNER}:${SAMBA_GROUP} ${SAMBA_LOCKDIR}
${CHOWN} ${SAMBA_OWNER}:${SAMBA_GROUP} ${SAMBA_PRIVATEDIR}
fi
${INSTALL_DATA} ${EXAMPLESDIR}/${SAMBA_CONFIG}.sample ${SAMBA_CONFDIR}
if [ ! -f ${SAMBA_CONFDIR}/${SAMBA_CONFIG} ]; then
${INSTALL_DATA} ${EXAMPLESDIR}/${SAMBA_CONFIG}.sample ${SAMBA_CONFDIR}/${SAMBA_CONFIG}
fi
}
case $2 in
POST-INSTALL)
post-install
;;
esac

View File

@ -1,7 +0,0 @@
===============================================================================
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.
===============================================================================

View File

@ -1,190 +0,0 @@
#!/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
# Prevent recursive calling
unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
# 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}"; 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
# 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
# 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}"; 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
# Setup dependent variables
if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
nmbd_enable=${nmbd_enable=YES}
smbd_enable=${smbd_enable=YES}
fi
# Defaults
samba_enable=${samba_enable:=NO}
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"

View File

@ -1,618 +0,0 @@
samba3-3.4-honor-all-loopback-ips.patch
samba-3.5-crossrename.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
@@ -351,13 +351,11 @@ bool is_broadcast_addr(const struct sockaddr *pss)
}
/**
- * 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 433d1b5816a9a2befdf86c806f1ae79f7d35bef4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Jacke?= <bj@sernet.de>
Date: Mon, 8 Mar 2010 12:52:13 +0100
Subject: [PATCH 1/3] s3: remove cross-device rename support from vfs_default
cross-device rename support has some major limitations:
- on huge files clients will timeout or hang
- ACLs and EA information is not retained
Usually a client will have to handle this. A Windows Server with a reparse
point will also just return NT_STATUS_NOT_SAME_DEVICE. We will now by default
do the same.
I will add a vfs module which will restore the old cross-device renames.
---
source3/modules/vfs_default.c | 116 -----------------------------------------
1 files changed, 0 insertions(+), 116 deletions(-)
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 6e2a571..faca292 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -475,117 +475,6 @@ static ssize_t vfswrap_recvfile(vfs_handle_struct *handle,
return result;
}
-/*********************************************************
- For rename across filesystems Patch from Warren Birnbaum
- <warrenb@hpcvscdp.cv.hp.com>
-**********************************************************/
-
-static int copy_reg(const char *source, const char *dest)
-{
- SMB_STRUCT_STAT source_stats;
- int saved_errno;
- int ifd = -1;
- int ofd = -1;
-
- if (sys_lstat(source, &source_stats, false) == -1)
- return -1;
-
- if (!S_ISREG (source_stats.st_ex_mode))
- return -1;
-
- if((ifd = sys_open (source, O_RDONLY, 0)) < 0)
- return -1;
-
- if (unlink (dest) && errno != ENOENT)
- return -1;
-
-#ifdef O_NOFOLLOW
- if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC | O_NOFOLLOW, 0600)) < 0 )
-#else
- if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC , 0600)) < 0 )
-#endif
- goto err;
-
- if (transfer_file(ifd, ofd, (size_t)-1) == -1)
- goto err;
-
- /*
- * Try to preserve ownership. For non-root it might fail, but that's ok.
- * But root probably wants to know, e.g. if NFS disallows it.
- */
-
-#ifdef HAVE_FCHOWN
- if ((fchown(ofd, source_stats.st_ex_uid, source_stats.st_ex_gid) == -1) && (errno != EPERM))
-#else
- if ((chown(dest, source_stats.st_ex_uid, source_stats.st_ex_gid) == -1) && (errno != EPERM))
-#endif
- goto err;
-
- /*
- * fchown turns off set[ug]id bits for non-root,
- * so do the chmod last.
- */
-
-#if defined(HAVE_FCHMOD)
- if (fchmod (ofd, source_stats.st_ex_mode & 07777))
-#else
- if (chmod (dest, source_stats.st_ex_mode & 07777))
-#endif
- goto err;
-
- if (close (ifd) == -1)
- goto err;
-
- if (close (ofd) == -1)
- return -1;
-
- /* Try to copy the old file's modtime and access time. */
-#if defined(HAVE_UTIMENSAT)
- {
- struct timespec ts[2];
-
- ts[0] = source_stats.st_ex_atime;
- ts[1] = source_stats.st_ex_mtime;
- utimensat(AT_FDCWD, dest, ts, AT_SYMLINK_NOFOLLOW);
- }
-#elif defined(HAVE_UTIMES)
- {
- struct timeval tv[2];
-
- tv[0] = convert_timespec_to_timeval(source_stats.st_ex_atime);
- tv[1] = convert_timespec_to_timeval(source_stats.st_ex_mtime);
-#ifdef HAVE_LUTIMES
- lutimes(dest, tv);
-#else
- utimes(dest, tv);
-#endif
- }
-#elif defined(HAVE_UTIME)
- {
- struct utimbuf tv;
-
- tv.actime = convert_timespec_to_time_t(source_stats.st_ex_atime);
- tv.modtime = convert_timespec_to_time_t(source_stats.st_ex_mtime);
- utime(dest, &tv);
- }
-#endif
-
- if (unlink (source) == -1)
- return -1;
-
- return 0;
-
- err:
-
- saved_errno = errno;
- if (ifd != -1)
- close(ifd);
- if (ofd != -1)
- close(ofd);
- errno = saved_errno;
- return -1;
-}
-
static int vfswrap_rename(vfs_handle_struct *handle,
const struct smb_filename *smb_fname_src,
const struct smb_filename *smb_fname_dst)
@@ -600,11 +489,6 @@ static int vfswrap_rename(vfs_handle_struct *handle,
}
result = rename(smb_fname_src->base_name, smb_fname_dst->base_name);
- if ((result == -1) && (errno == EXDEV)) {
- /* Rename across filesystems needed. */
- result = copy_reg(smb_fname_src->base_name,
- smb_fname_dst->base_name);
- }
out:
END_PROFILE(syscall_rename);
--
1.6.6.1
From 6dc931b27daf06aa1f4cdca19dae44ffef0bc3fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Jacke?= <bj@sernet.de>
Date: Mon, 8 Mar 2010 18:18:59 +0100
Subject: [PATCH 2/3] s3: add vfs_crossrename
this module adds optional server-side support for limited rename operations
beyond filesystem boundaries, which was the previously the default.
---
source3/Makefile.in | 5 +
source3/configure.in | 3 +-
source3/modules/vfs_crossrename.c | 200 +++++++++++++++++++++++++++++++++++++
3 files changed, 207 insertions(+), 1 deletions(-)
create mode 100644 source3/modules/vfs_crossrename.c
diff --git a/source3/Makefile.in b/source3/Makefile.in
index f84ed20..2b90958 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -741,6 +741,7 @@ PERFCOUNT_ONEFS_OBJ = modules/perfcount_onefs.o
PERFCOUNT_TEST_OBJ = modules/perfcount_test.o
VFS_DIRSORT_OBJ = modules/vfs_dirsort.o
VFS_SCANNEDONLY_OBJ = modules/vfs_scannedonly.o
+VFS_CROSSRENAME_OBJ = modules/vfs_crossrename.o
PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
@@ -2846,6 +2847,10 @@ bin/scannedonly.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SCANNEDONLY_OBJ)
@echo "Building plugin $@"
@$(SHLD_MODULE) $(VFS_SCANNEDONLY_OBJ)
+bin/crossrename.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CROSSRENAME_OBJ)
+ @echo "Building plugin $@"
+ @$(SHLD_MODULE) $(VFS_CROSSRENAME_OBJ)
+
#########################################################
## IdMap NSS plugins
diff --git a/source3/configure.in b/source3/configure.in
index 0529a69..dbbc5be 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -387,7 +387,7 @@ dnl These have to be built static:
default_static_modules="pdb_smbpasswd pdb_tdbsam pdb_wbc_sam rpc_lsarpc rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss rpc_eventlog auth_sam auth_unix auth_winbind auth_wbc auth_server auth_domain auth_builtin auth_netlogond vfs_default nss_info_template"
dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 auth_script vfs_readahead vfs_xattr_tdb vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen vfs_catia vfs_scannedonly"
+default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 auth_script vfs_readahead vfs_xattr_tdb vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen vfs_catia vfs_scannedonly vfs_crossrename"
if test "x$developer" = xyes; then
default_static_modules="$default_static_modules rpc_rpcecho pdb_ads"
@@ -6571,6 +6571,7 @@ SMB_MODULE(vfs_onefs, \$(VFS_ONEFS), "bin/onefs.$SHLIBEXT", VFS)
SMB_MODULE(vfs_onefs_shadow_copy, \$(VFS_ONEFS_SHADOW_COPY), "bin/onefs_shadow_copy.$SHLIBEXT", VFS)
SMB_MODULE(vfs_dirsort, \$(VFS_DIRSORT_OBJ), "bin/dirsort.$SHLIBEXT", VFS)
SMB_MODULE(vfs_scannedonly, \$(VFS_SCANNEDONLY_OBJ), "bin/scannedonly.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_crossrename, \$(VFS_CROSSRENAME_OBJ), "bin/crossrename.$SHLIBEXT", VFS)
SMB_SUBSYSTEM(VFS,smbd/vfs.o)
diff --git a/source3/modules/vfs_crossrename.c b/source3/modules/vfs_crossrename.c
new file mode 100644
index 0000000..323ceb1
--- /dev/null
+++ b/source3/modules/vfs_crossrename.c
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) Björn Jacke 2010
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "includes.h"
+
+
+#define MODULE "crossrename"
+static SMB_OFF_T module_sizelimit;
+
+static int crossrename_connect(
+ struct vfs_handle_struct * handle,
+ const char * service,
+ const char * user)
+{
+ int ret = SMB_VFS_NEXT_CONNECT(handle, service, user);
+
+ if (ret < 0) {
+ return ret;
+ }
+
+ module_sizelimit = (SMB_OFF_T) lp_parm_int(SNUM(handle->conn),
+ MODULE, "sizelimit", 20);
+ /* convert from MiB to byte: */
+ module_sizelimit *= 1048576;
+
+ return 0;
+}
+
+/*********************************************************
+ For rename across filesystems initial Patch from Warren Birnbaum
+ <warrenb@hpcvscdp.cv.hp.com>
+**********************************************************/
+
+static int copy_reg(const char *source, const char *dest)
+{
+ SMB_STRUCT_STAT source_stats;
+ int saved_errno;
+ int ifd = -1;
+ int ofd = -1;
+
+ if (sys_lstat(source, &source_stats, false) == -1)
+ return -1;
+
+ if (!S_ISREG (source_stats.st_ex_mode))
+ return -1;
+
+ if (source_stats.st_ex_size > module_sizelimit) {
+ DEBUG(5,
+ ("%s: size of %s larger than sizelimit (%lld > %lld), rename prohititted\n",
+ MODULE, source,
+ (long long)source_stats.st_ex_size,
+ (long long)module_sizelimit));
+ return -1;
+ }
+
+ if((ifd = sys_open (source, O_RDONLY, 0)) < 0)
+ return -1;
+
+ if (unlink (dest) && errno != ENOENT)
+ return -1;
+
+#ifdef O_NOFOLLOW
+ if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC | O_NOFOLLOW, 0600)) < 0 )
+#else
+ if((ofd = sys_open (dest, O_WRONLY | O_CREAT | O_TRUNC , 0600)) < 0 )
+#endif
+ goto err;
+
+ if (transfer_file(ifd, ofd, (size_t)-1) == -1)
+ goto err;
+
+ /*
+ * Try to preserve ownership. For non-root it might fail, but that's ok.
+ * But root probably wants to know, e.g. if NFS disallows it.
+ */
+
+#ifdef HAVE_FCHOWN
+ if ((fchown(ofd, source_stats.st_ex_uid, source_stats.st_ex_gid) == -1) && (errno != EPERM))
+#else
+ if ((chown(dest, source_stats.st_ex_uid, source_stats.st_ex_gid) == -1) && (errno != EPERM))
+#endif
+ goto err;
+
+ /*
+ * fchown turns off set[ug]id bits for non-root,
+ * so do the chmod last.
+ */
+
+#if defined(HAVE_FCHMOD)
+ if (fchmod (ofd, source_stats.st_ex_mode & 07777))
+#else
+ if (chmod (dest, source_stats.st_ex_mode & 07777))
+#endif
+ goto err;
+
+ if (close (ifd) == -1)
+ goto err;
+
+ if (close (ofd) == -1)
+ return -1;
+
+ /* Try to copy the old file's modtime and access time. */
+#if defined(HAVE_UTIMENSAT)
+ {
+ struct timespec ts[2];
+
+ ts[0] = source_stats.st_ex_atime;
+ ts[1] = source_stats.st_ex_mtime;
+ utimensat(AT_FDCWD, dest, ts, AT_SYMLINK_NOFOLLOW);
+ }
+#elif defined(HAVE_UTIMES)
+ {
+ struct timeval tv[2];
+
+ tv[0] = convert_timespec_to_timeval(source_stats.st_ex_atime);
+ tv[1] = convert_timespec_to_timeval(source_stats.st_ex_mtime);
+#ifdef HAVE_LUTIMES
+ lutimes(dest, tv);
+#else
+ utimes(dest, tv);
+#endif
+ }
+#elif defined(HAVE_UTIME)
+ {
+ struct utimbuf tv;
+
+ tv.actime = convert_timespec_to_time_t(source_stats.st_ex_atime);
+ tv.modtime = convert_timespec_to_time_t(source_stats.st_ex_mtime);
+ utime(dest, &tv);
+ }
+#endif
+
+ if (unlink (source) == -1)
+ return -1;
+
+ return 0;
+
+ err:
+
+ saved_errno = errno;
+ if (ifd != -1)
+ close(ifd);
+ if (ofd != -1)
+ close(ofd);
+ errno = saved_errno;
+ return -1;
+}
+
+
+static int crossrename_rename(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname_src,
+ const struct smb_filename *smb_fname_dst)
+{
+ int result = -1;
+
+ START_PROFILE(syscall_rename);
+
+ if (smb_fname_src->stream_name || smb_fname_dst->stream_name) {
+ errno = ENOENT;
+ goto out;
+ }
+
+ result = rename(smb_fname_src->base_name, smb_fname_dst->base_name);
+ if ((result == -1) && (errno == EXDEV)) {
+ /* Rename across filesystems needed. */
+ result = copy_reg(smb_fname_src->base_name,
+ smb_fname_dst->base_name);
+ }
+
+ out:
+ END_PROFILE(syscall_rename);
+ return result;
+}
+
+static struct vfs_fn_pointers vfs_crossrename_fns = {
+ .connect_fn = crossrename_connect,
+ .rename = crossrename_rename
+};
+
+NTSTATUS vfs_crossrename_init(void);
+NTSTATUS vfs_crossrename_init(void)
+{
+ return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, MODULE,
+ &vfs_crossrename_fns);
+}
+
--
1.6.6.1
From 555acebc72c2827691e91648f697212ffa6725d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Jacke?= <bj@sernet.de>
Date: Mon, 8 Mar 2010 12:38:38 +0100
Subject: [PATCH 3/3] s3: add man page for vfs_crossrename
---
docs-xml/manpages-3/vfs_crossrename.8.xml | 115 +++++++++++++++++++++++++++++
1 files changed, 115 insertions(+), 0 deletions(-)
create mode 100644 docs-xml/manpages-3/vfs_crossrename.8.xml
diff --git a/docs-xml/manpages-3/vfs_crossrename.8.xml b/docs-xml/manpages-3/vfs_crossrename.8.xml
new file mode 100644
index 0000000..675c92e
--- /dev/null
+++ b/docs-xml/manpages-3/vfs_crossrename.8.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="vfs_crossrename.8">
+
+<refmeta>
+ <refentrytitle>vfs_crossrename</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+ <refmiscinfo class="version">3.6</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>vfs_crossrename</refname>
+ <refpurpose>server side rename files across filesystem boundaries</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = crossrename</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_crossrename</command> VFS module allows
+ server side rename operations even if source and target are on
+ differen physical devices. A "move" in Explorer is usually a
+ rename operation if it is inside of a single share or device.
+ Usually such a rename operation returns
+ NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by
+ manual copy and delete operations. If the rename by copy is done by the
+ server this can be much more efficient. vfs_crossrename tries to do
+ this server-side cross-device rename operation. There are however
+ limitations that this module currently does not solve:
+
+ <variablelist>
+ <varlistentry>
+ the ACLs of files are not preserved
+ </varlistentry>
+ <varlistentry>
+ meta data in EAs are not preserved
+ </varlistentry>
+ <varlistentry>
+ renames of whole subdirectories cannot be done recursively,
+ in that case we still return STATUS_NOT_SAME_DEVICE and
+ let the client decide what to do
+ </varlistentry>
+ <varlistentry>
+ rename operations of huge files can cause hangs on the
+ client because clients expect a rename operation to
+ return fast
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>crossrename:sizelimit = BYTES</term>
+ <listitem>
+ <para>server-side cross-device-renames are only done
+ for files if the filesize is not larger than the defined
+ size in MiB to prevent timeouts. The default sizelimit is
+ 20 (MiB)
+ </para>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>To add server-side cross-device renames inside of a share
+ for all files sized up to 50MB:</para>
+
+<programlisting>
+ <smbconfsection name="[testshare]"/>
+ <smbconfoption name="path">/data/mounts</smbconfoption>
+ <smbconfoption name="vfs objects">crossrename</smbconfoption>
+ <smbconfoption name="crossrename:sizelimit">50</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is correct for version 3.6.0 of the Samba suite.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>AUTHOR</title>
+
+ <para>The original Samba software and related utilities
+ were created by Andrew Tridgell. Samba is now developed
+ by the Samba Team as an Open Source project similar
+ to the way the Linux kernel is developed.</para>
+
+</refsect1>
+
+</refentry>
--
1.6.6.1
From 36f4541d92b7ae588743ce206514d27419d478df Mon Sep 17 00:00:00 2001
From: Torsten Kurbad <samba-technical@tk-webart.de>
Date: Thu, 25 Mar 2010 17:58:27 +0100
Subject: [PATCH] s3: Fix a missing </listitem> in vfs_crossrename.8.xml
---
docs-xml/manpages-3/vfs_crossrename.8.xml | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/docs-xml/manpages-3/vfs_crossrename.8.xml b/docs-xml/manpages-3/vfs_crossrename.8.xml
index 675c92e..f5a4444 100644
--- a/docs-xml/manpages-3/vfs_crossrename.8.xml
+++ b/docs-xml/manpages-3/vfs_crossrename.8.xml
@@ -78,6 +78,7 @@
size in MiB to prevent timeouts. The default sizelimit is
20 (MiB)
</para>
+ </listitem>
</varlistentry>
</variablelist>
</refsect1>
--
1.7.0.2

View File

@ -1,307 +0,0 @@
# 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
; ea support = yes
; 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

View File

@ -1,12 +0,0 @@
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/

View File

@ -1,231 +0,0 @@
bin/eventlogadm
bin/findsmb
bin/ldbadd
bin/ldbdel
bin/ldbedit
bin/ldbmodify
bin/ldbrename
bin/ldbsearch
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/smbtar
bin/smbtree
bin/testparm
%%SMBTORTURE%%bin/smbtorture
%%WINBIND%%bin/wbinfo
sbin/smbd
sbin/nmbd
%%SWAT%%sbin/swat
%%WINBIND%%sbin/winbindd
%%WINBIND%%lib/nss_winbind.so.1
%%WINBIND%%lib/nss_wins.so.1
%%WINBIND%%lib/pam_winbind.so
%%SMBPASS%%lib/pam_smbpass.so
%%EXAMPLESDIR%%/%%SAMBA_CONFIG%%.sample
%%EXAMPLESDIR%%/LDAP/README
%%EXAMPLESDIR%%/LDAP/convertSambaAccount
%%EXAMPLESDIR%%/LDAP/get_next_oid
%%EXAMPLESDIR%%/LDAP/ol-schema-migrate.pl
%%EXAMPLESDIR%%/LDAP/samba-nds.schema
%%EXAMPLESDIR%%/LDAP/samba-schema-FDS.ldif
%%EXAMPLESDIR%%/LDAP/samba-schema-netscapeds4.x
%%EXAMPLESDIR%%/LDAP/samba-schema-netscapeds5.x.README
%%EXAMPLESDIR%%/LDAP/samba-schema.IBMSecureWay
%%EXAMPLESDIR%%/LDAP/samba.schema
%%EXAMPLESDIR%%/LDAP/samba.schema.at.IBM-DS
%%EXAMPLESDIR%%/LDAP/samba.schema.oc.IBM-DS
%%EXAMPLESDIR%%/README
%%EXAMPLESDIR%%/VFS/Makefile.in
%%EXAMPLESDIR%%/VFS/README
%%EXAMPLESDIR%%/VFS/autogen.sh
%%EXAMPLESDIR%%/VFS/config.guess
%%EXAMPLESDIR%%/VFS/config.sub
%%EXAMPLESDIR%%/VFS/configure.in
%%EXAMPLESDIR%%/VFS/install-sh
%%EXAMPLESDIR%%/VFS/shadow_copy_test.c
%%EXAMPLESDIR%%/VFS/skel_opaque.c
%%EXAMPLESDIR%%/VFS/skel_transparent.c
%%EXAMPLESDIR%%/auth/Makefile
%%EXAMPLESDIR%%/auth/auth_skel.c
%%EXAMPLESDIR%%/auth/crackcheck/Makefile
%%EXAMPLESDIR%%/auth/crackcheck/crackcheck.c
%%EXAMPLESDIR%%/autofs/auto.smb
%%EXAMPLESDIR%%/dce-dfs/README
%%EXAMPLESDIR%%/dce-dfs/smb.conf
%%EXAMPLESDIR%%/logon/genlogon/genlogon.pl
%%EXAMPLESDIR%%/logon/mklogon/mklogon.conf
%%EXAMPLESDIR%%/logon/mklogon/mklogon.pl
%%EXAMPLESDIR%%/logon/ntlogon/README
%%EXAMPLESDIR%%/logon/ntlogon/ntlogon.conf
%%EXAMPLESDIR%%/logon/ntlogon/ntlogon.py
%%EXAMPLESDIR%%/misc/adssearch.pl
%%EXAMPLESDIR%%/misc/check_multiple_LDAP_entries.pl
%%EXAMPLESDIR%%/misc/cldap.pl
%%EXAMPLESDIR%%/misc/extra_smbstatus
%%EXAMPLESDIR%%/misc/swat.pl
%%EXAMPLESDIR%%/misc/wall.perl
%%EXAMPLESDIR%%/nss/nss_winbind.c
%%EXAMPLESDIR%%/nss/nss_winbind.h
%%EXAMPLESDIR%%/nss/wbtest.c
%%EXAMPLESDIR%%/pam_winbind/pam_winbind.conf
%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/README
%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/kdc-pdc
%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/password-mature
%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/password-migration
%%SMBPASS%%%%EXAMPLESDIR%%/pam_smbpass/password-sync
%%EXAMPLESDIR%%/pcap2nbench/COPYING
%%EXAMPLESDIR%%/pcap2nbench/Makefile
%%EXAMPLESDIR%%/pcap2nbench/README
%%EXAMPLESDIR%%/pcap2nbench/closerequest.cpp
%%EXAMPLESDIR%%/pcap2nbench/closerequest.hpp
%%EXAMPLESDIR%%/pcap2nbench/ethernet.cpp
%%EXAMPLESDIR%%/pcap2nbench/ethernet.hpp
%%EXAMPLESDIR%%/pcap2nbench/ip.cpp
%%EXAMPLESDIR%%/pcap2nbench/ip.hpp
%%EXAMPLESDIR%%/pcap2nbench/main.cpp
%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxrequest.cpp
%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxrequest.hpp
%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxresponse.cpp
%%EXAMPLESDIR%%/pcap2nbench/ntcreateandxresponse.hpp
%%EXAMPLESDIR%%/pcap2nbench/readandxrequest.cpp
%%EXAMPLESDIR%%/pcap2nbench/readandxrequest.hpp
%%EXAMPLESDIR%%/pcap2nbench/readandxresponse.hpp
%%EXAMPLESDIR%%/pcap2nbench/smb.cpp
%%EXAMPLESDIR%%/pcap2nbench/smb.hpp
%%EXAMPLESDIR%%/pcap2nbench/tcp.cpp
%%EXAMPLESDIR%%/pcap2nbench/tcp.hpp
%%EXAMPLESDIR%%/pcap2nbench/writeandxrequest.cpp
%%EXAMPLESDIR%%/pcap2nbench/writeandxrequest.hpp
%%EXAMPLESDIR%%/pdb/Makefile
%%EXAMPLESDIR%%/pdb/README
%%EXAMPLESDIR%%/pdb/test.c
%%EXAMPLESDIR%%/perfcounter/Makefile
%%EXAMPLESDIR%%/perfcounter/perf.h
%%EXAMPLESDIR%%/perfcounter/perf_writer.c
%%EXAMPLESDIR%%/perfcounter/perf_writer_cpu.c
%%EXAMPLESDIR%%/perfcounter/perf_writer_disk.c
%%EXAMPLESDIR%%/perfcounter/perf_writer_mem.c
%%EXAMPLESDIR%%/perfcounter/perf_writer_process.c
%%EXAMPLESDIR%%/perfcounter/perf_writer_util.c
%%EXAMPLESDIR%%/perfcounter/perfcountd.init
%%EXAMPLESDIR%%/printer-accounting/README
%%EXAMPLESDIR%%/printer-accounting/acct-all
%%EXAMPLESDIR%%/printer-accounting/acct-sum
%%EXAMPLESDIR%%/printer-accounting/hp5-redir
%%EXAMPLESDIR%%/printer-accounting/lp-acct
%%EXAMPLESDIR%%/printer-accounting/printcap
%%EXAMPLESDIR%%/printing/VampireDriversFunctions
%%EXAMPLESDIR%%/printing/prtpub.c
%%EXAMPLESDIR%%/printing/readme.prtpub
%%EXAMPLESDIR%%/printing/smbprint
%%EXAMPLESDIR%%/printing/smbprint.sysv
%%EXAMPLESDIR%%/scripts/debugging/linux/backtrace
%%EXAMPLESDIR%%/scripts/debugging/solaris/README
%%EXAMPLESDIR%%/scripts/debugging/solaris/solaris-oops.sh
%%EXAMPLESDIR%%/scripts/eventlog/parselog.pl
%%EXAMPLESDIR%%/scripts/idmap/README
%%EXAMPLESDIR%%/scripts/idmap/idmap_nis.sh
%%EXAMPLESDIR%%/scripts/mount/mount.smbfs
%%EXAMPLESDIR%%/scripts/printing/cups/smbaddprinter.pl
%%EXAMPLESDIR%%/scripts/printing/cups/smbdelprinter.pl
%%EXAMPLESDIR%%/scripts/shares/perl/modify_samba_config.pl
%%EXAMPLESDIR%%/scripts/shares/python/SambaConfig.py
%%EXAMPLESDIR%%/scripts/shares/python/SambaParm.py
%%EXAMPLESDIR%%/scripts/shares/python/generate_parm_table.py
%%EXAMPLESDIR%%/scripts/shares/python/modify_samba_config.py
%%EXAMPLESDIR%%/scripts/shares/python/smbparm.py
%%EXAMPLESDIR%%/scripts/users_and_groups/adduserstogroups.pl
%%EXAMPLESDIR%%/scripts/users_and_groups/createdomobj.pl
%%EXAMPLESDIR%%/scripts/wins_hook/README
%%EXAMPLESDIR%%/scripts/wins_hook/dns_update
%%EXAMPLESDIR%%/smb.conf.default
%%EXAMPLESDIR%%/tridge/README
%%EXAMPLESDIR%%/tridge/smb.conf
%%EXAMPLESDIR%%/tridge/smb.conf.WinNT
%%EXAMPLESDIR%%/tridge/smb.conf.fjall
%%EXAMPLESDIR%%/tridge/smb.conf.lapland
%%EXAMPLESDIR%%/tridge/smb.conf.vittjokk
%%EXAMPLESDIR%%/validchars/msdos70.out
%%EXAMPLESDIR%%/validchars/nwdos70.out
%%EXAMPLESDIR%%/validchars/readme
%%EXAMPLESDIR%%/validchars/validchr.c
%%EXAMPLESDIR%%/validchars/validchr.com
@dirrm %%EXAMPLESDIR%%/validchars
@dirrm %%EXAMPLESDIR%%/tridge
@dirrm %%EXAMPLESDIR%%/scripts/wins_hook
@dirrm %%EXAMPLESDIR%%/scripts/users_and_groups
@dirrm %%EXAMPLESDIR%%/scripts/shares/python
@dirrm %%EXAMPLESDIR%%/scripts/shares/perl
@dirrm %%EXAMPLESDIR%%/scripts/shares
@dirrm %%EXAMPLESDIR%%/scripts/printing/cups
@dirrm %%EXAMPLESDIR%%/scripts/printing
@dirrm %%EXAMPLESDIR%%/scripts/mount
@dirrm %%EXAMPLESDIR%%/scripts/idmap
@dirrm %%EXAMPLESDIR%%/scripts/eventlog
@dirrm %%EXAMPLESDIR%%/scripts/debugging/solaris
@dirrm %%EXAMPLESDIR%%/scripts/debugging/linux
@dirrm %%EXAMPLESDIR%%/scripts/debugging
@dirrm %%EXAMPLESDIR%%/scripts
@dirrm %%EXAMPLESDIR%%/printing
@dirrm %%EXAMPLESDIR%%/printer-accounting
@dirrm %%EXAMPLESDIR%%/perfcounter
@dirrm %%EXAMPLESDIR%%/pdb
@dirrm %%EXAMPLESDIR%%/pcap2nbench
@dirrm %%EXAMPLESDIR%%/pam_winbind
%%SMBPASS%%@dirrm %%EXAMPLESDIR%%/pam_smbpass
@dirrm %%EXAMPLESDIR%%/nss
@dirrm %%EXAMPLESDIR%%/misc
@dirrm %%EXAMPLESDIR%%/logon/ntlogon
@dirrm %%EXAMPLESDIR%%/logon/mklogon
@dirrm %%EXAMPLESDIR%%/logon/genlogon
@dirrm %%EXAMPLESDIR%%/logon
@dirrm %%EXAMPLESDIR%%/dce-dfs
@dirrm %%EXAMPLESDIR%%/autofs
@dirrm %%EXAMPLESDIR%%/auth/crackcheck
@dirrm %%EXAMPLESDIR%%/auth
@dirrm %%EXAMPLESDIR%%/VFS
@dirrm %%EXAMPLESDIR%%/LDAP
@dirrm %%EXAMPLESDIR%%
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/MAINTAINERS
%%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
%%PORTDOCS%%@dirrm %%DOCSDIR%%/registry
%%PORTDOCS%%@dirrm %%DOCSDIR%%

View File

@ -1,366 +0,0 @@
share/swat/help/Samba3-ByExample/net2000users.html
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/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/cifs.upcall.8.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_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/ldb.3.html
share/swat/help/manpages/ldbadd.1.html
share/swat/help/manpages/ldbdel.1.html
share/swat/help/manpages/ldbedit.1.html
share/swat/help/manpages/ldbmodify.1.html
share/swat/help/manpages/ldbrename.1.html
share/swat/help/manpages/ldbsearch.1.html
share/swat/help/manpages/lmhosts.5.html
share/swat/help/manpages/log2pcap.1.html
share/swat/help/manpages/mount.cifs.8.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/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/umount.cifs.8.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_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_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_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
@dirrm share/swat/lang/tr/js
@dirrm share/swat/lang/tr/include
@dirrm share/swat/lang/tr/images
@dirrm share/swat/lang/tr/help
@dirrm share/swat/lang/tr
@dirrm share/swat/lang/ja/js
@dirrm share/swat/lang/ja/include
@dirrm share/swat/lang/ja/images
@dirrm share/swat/lang/ja/help
@dirrm share/swat/lang/ja
@dirrm share/swat/lang
@dirrm share/swat/js
@dirrm share/swat/include
@dirrm share/swat/images
@dirrm share/swat/help/manpages
@dirrm share/swat/help/Samba3-HOWTO/images
@dirrm share/swat/help/Samba3-HOWTO
@dirrm share/swat/help/Samba3-Developers-Guide
@dirrm share/swat/help/Samba3-ByExample/images
@dirrm share/swat/help/Samba3-ByExample
@dirrm share/swat/help
@dirrm share/swat