1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

New 4.0.3 revision of the net/samba4 port. Now we have our own AD!

This commit is contained in:
Timur I. Bakeyev 2013-02-18 14:24:56 +00:00
parent 6069394fd0
commit ae6b9a8f6d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=312507
46 changed files with 4028 additions and 299 deletions

View File

@ -1048,6 +1048,7 @@
SUBDIR += samba-smbclient
SUBDIR += samba34
SUBDIR += samba36
SUBDIR += samba4
SUBDIR += samba4-devel
SUBDIR += samba4wins
SUBDIR += samplicator

View File

@ -3,190 +3,520 @@
PORTNAME?= ${SAMBA4_PORTNAME}
PORTVERSION?= ${SAMBA4_VERSION}
PORTREVISION?= 5
PORTREVISION?= 0
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SAMBA}
MASTER_SITE_SUBDIR= samba/samba4
PKGNAMESUFFIX?= -devel
DISTNAME= ${SAMBA_DISTNAME}
MASTER_SITE_SUBDIR= samba/stable samba/rc
DISTNAME= ${SAMBA4_DISTNAME}
MAINTAINER?= timur@FreeBSD.org
COMMENT?= A free SMB and CIFS client and server for UNIX
COMMENT?= A free SMB/CIFS and AD/DC server and client for UNIX
CONFLICTS?= ldb-1.*
LICENSE= GPLv3
SAMBA4_PORTNAME= samba4
SAMBA4_VERSION= 4.0.0.a11
SAMBA_DISTNAME= ${SAMBA4_PORTNAME:S|4$||}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
OPTIONSFILE= ${PORT_DBDIR}/${SAMBA4_PORTNAME}/options
CONFLICTS?= *samba3[2-6]-3.*
LATEST_LINK?= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
EXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}
WRKSRC?= ${WRKDIR}/${DISTNAME}/source4
IPATHS= -I${WRKDIR}/${DISTNAME}/lib/replace -I${WRKDIR}/${DISTNAME}/source4
AUTOHEADER_ARGS= ${IPATHS}
AUTOCONF_ARGS= ${IPATHS}
MAKE_JOBS_SAFE= yes
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
SAMBA4_VERSION= 4.0.3
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}
.if !defined(SAMBA4_SUBPORT)
USE_PERL5= yes
USE_PYTHON= yes
USE_GMAKE= yes
USE_ICONV= yes
GNU_CONFIGURE= yes
USE_PKGCONFIG= build
USE_LDCONFIG= ${SAMBA_LIBDIR}
USE_AUTOTOOLS= autoconf autoheader
# Flags
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
# Directories
VARDIR= /var
SAMBA_LOGDIR= ${VARDIR}/log/${PORTNAME}
SAMBA_RUNDIR= ${VARDIR}/run/${PORTNAME}
SAMBA_LOCKDIR= ${VARDIR}/db/${PORTNAME}
SAMBA_PRIVATEDIR?= ${SAMBA_LOCKDIR}/private
SAMBA_CONFDIR?= ${PREFIX}/etc
SAMBA_LIBDIR= ${PREFIX}/lib/${PORTNAME}
SAMBA_INCLUDEDIR= ${PREFIX}/include/${PORTNAME}
RC_DIR= ${PREFIX}/etc/rc.d
SAMBA_CONFIG= smb4.conf
VARDIR= ${DESTDIR}/var
SAMBA4_RUNDIR= ${VARDIR}/run/${SAMBA4_PORTNAME}
SAMBA4_LOGDIR= ${VARDIR}/log/${SAMBA4_PORTNAME}
SAMBA4_LOCKDIR= ${VARDIR}/db/${SAMBA4_PORTNAME}
SAMBA4_PRIVATEDIR= ${SAMBA4_LOCKDIR}/private
SAMBA4_LIBDIR= ${PREFIX}/lib
SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/shared-modules
SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME}
SAMBA4_CONFDIR= ${PREFIX}/etc
SAMBA4_CONFIG= smb4.conf
CONFIGURE_ARGS+= --exec-prefix="${PREFIX}" \
--sysconfdir="${SAMBA_CONFDIR}" \
--includedir="${SAMBA_INCLUDEDIR}" \
CONFIGURE_ARGS+= --prefix="${PREFIX}" \
--exec-prefix="${PREFIX}" \
--mandir="${MANPREFIX}/man" \
--sysconfdir="${SAMBA4_CONFDIR}" \
--includedir="${SAMBA4_INCLUDEDIR}" \
--datadir="${DATADIR}" \
--libdir="${SAMBA_LIBDIR}" \
--with-modulesdir="${SAMBA_LIBDIR}/modules" \
--libdir="${SAMBA4_LIBDIR}" \
--with-pammodulesdir="${SAMBA4_LIBDIR}" \
--with-privatelibdir="${SAMBA4_LIBDIR}/samba" \
--with-modulesdir="${SAMBA4_MODULEDIR}" \
--with-pkgconfigdir="${PKGCONFIGDIR}" \
--localstatedir="${VARDIR}" \
--with-piddir="${SAMBA_RUNDIR}" \
--with-ncalrpcdir="${SAMBA_RUNDIR}/ncalrpc" \
--with-winbindd-socket-dir="${SAMBA_RUNDIR}/winbindd" \
--with-winbindd-privileged-socket-dir="${SAMBA_RUNDIR}/winbindd_privileged" \
--with-ntp-signd-socket-dir="${SAMBA_RUNDIR}/ntp_signd" \
--with-lockdir="${SAMBA_LOCKDIR}" \
--with-privatedir="${SAMBA_PRIVATEDIR}" \
--with-logfilebase="${SAMBA_LOGDIR}"
# Default options
CONFIGURE_ARGS+= \
--disable-external-heimdal \
--with-setproctitle \
--with-readline=/usr \
--with-libiconv=${LOCALBASE}
# backtrace
LIB_DEPENDS+= execinfo.1:${PORTSDIR}/devel/libexecinfo
# BLKID
LIB_DEPENDS+= blkid.1:${PORTSDIR}/misc/e2fsprogs-libblkid
# SASL
LIB_DEPENDS= sasl2:${PORTSDIR}/security/cyrus-sasl2
# tdb
LIB_DEPENDS+= tdb.1:${PORTSDIR}/databases/tdb
CONFIGURE_ARGS+= --enable-external-libtdb
# talloc
LIB_DEPENDS+= talloc.2:${PORTSDIR}/devel/talloc
CONFIGURE_ARGS+= --enable-external-libtalloc
# tevent
#LIB_DEPENDS+= tevent.0:${PORTSDIR}/devel/tevent
#CONFIGURE_ARGS+= --enable-external-libtevent
# tevent - use internal libtevent since FreeBSD's port is at
# 0.9.15 and samba4.alpha11 claims to want exactly 0.9.8
--with-piddir="${SAMBA4_RUNDIR}" \
--with-sockets-dir="${SAMBA4_RUNDIR}" \
--with-privileged-socket-dir="${SAMBA4_RUNDIR}" \
--with-lockdir="${SAMBA4_LOCKDIR}" \
--with-statedir="${SAMBA4_LOCKDIR}" \
--with-cachedir="${SAMBA4_LOCKDIR}" \
--with-privatedir="${SAMBA4_PRIVATEDIR}" \
--with-logfilebase="${SAMBA4_LOGDIR}"
OPTIONS= \
DEBUG "With debug info" off \
UTILS "Build userland utils(conflicts with Samba3)" off \
THREADS "With pthreads" on \
GNUTLS "With SSL (via GnuTLS) for SWAT support" off \
POPT "With system-wide POPT library" on \
PCH "With precompiled headers" off
WAF_TOOL= buildtools/bin/waf
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= ${WAF_TOOL} configure
CONFIGURE_LOG= bin/config.log
# Flags
CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LDFLAGS="${PTHREAD_LIBS}"
USE_PYTHON_BUILD= -2.7
USE_PERL5_BUILD= yes
USE_PYTHON= yes
USE_ICONV= yes
USE_GETTEXT= yes
USE_PKGCONFIG= build
USE_LDCONFIG= ${SAMBA4_LIBDIR}
PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;${PREFIX}/;;}
# XXX: Unconditional dependencies which can't be switched off(if present in the system)
# popt
LIB_DEPENDS+= popt:${PORTSDIR}/devel/popt
# XXX: We should try to switch to libunwind, libexecinfo is gcc specific(?)
# backtrace
LIB_DEPENDS+= execinfo:${PORTSDIR}/devel/libexecinfo
# inotify
LIB_DEPENDS+= inotify:${PORTSDIR}/devel/libinotify
# SASL
LIB_DEPENDS+= sasl2:${PORTSDIR}/security/cyrus-sasl2
# GNUTLS
LIB_DEPENDS+= gcrypt:${PORTSDIR}/security/libgcrypt
LIB_DEPENDS+= gnutls:${PORTSDIR}/security/gnutls
# NFS4 ACL glue
LIB_DEPENDS+= sunacl:${PORTSDIR}/sysutils/libsunacl
# External Samba dependencies
# IDL compiler
BUILD_DEPENDS+= p5-Parse-Pidl>=${SAMBA4_VERSION}:${PORTSDIR}/devel/p5-Parse-Pidl
# talloc
BUILD_DEPENDS+= talloc>=2.0.8:${PORTSDIR}/devel/talloc
RUN_DEPENDS+= talloc>=2.0.8:${PORTSDIR}/devel/talloc
SAMBA4_BUNDLED_LIBS+= !talloc
# tevent
BUILD_DEPENDS+= tevent>=0.9.17:${PORTSDIR}/devel/tevent
RUN_DEPENDS+= tevent>=0.9.17:${PORTSDIR}/devel/tevent
SAMBA4_BUNDLED_LIBS+= !tevent
# tdb
BUILD_DEPENDS+= tdb>=1.2.11:${PORTSDIR}/databases/tdb
RUN_DEPENDS+= tdb>=1.2.11:${PORTSDIR}/databases/tdb
SAMBA4_BUNDLED_LIBS+= !tdb
# ldb
BUILD_DEPENDS+= ldb>=1.1.15:${PORTSDIR}/databases/ldb
RUN_DEPENDS+= ldb>=1.1.15:${PORTSDIR}/databases/ldb
SAMBA4_BUNDLED_LIBS+= !ldb
##############################################################################
# Options
OPTIONS_DEFINE= ACL_SUPPORT ADS AIO_SUPPORT AVAHI CUPS DEBUG \
DNSUPDATE FAM_SUPPORT LDAP PAM_SMBPASS \
PTHREADPOOL QUOTAS SWAT SYSLOG UTMP WINBIND
OPTIONS_DEFAULT:= ${OPTIONS_DEFINE}
ACL_SUPPORT_DESC= File system ACL support
ADS_DESC= Active Directory support
AIO_SUPPORT_DESC= Asyncronous IO support
DNSUPDATE_DESC= Dynamic DNS update(require ADS)
EXP_MODULES_DESC= Experimental modules
FAM_SUPPORT_DESC= File Alteration Monitor support
DEBUG_DESC= With debug information in the binaries
PAM_SMBPASS_DESC= PAM authentication via passdb backends
PTHREADPOOL_DESC= Pthread pool
QUOTAS_DESC= Disk quota support
SWAT_DESC= SWAT WebGUI
UTMP_DESC= UTMP accounting support
WINBIND_DESC= WinBIND support
##############################################################################
OPTIONS_DEFINE+= DEVELOPER MANPAGES EXP_MODULES
DEVELOPER_DESC= With development support
OPTIONS_SINGLE= DNS
OPTIONS_SINGLE_DNS= NSUPDATE BIND98 BIND99
BIND98_DESC= Use bind98 as a DNS server frontend
BIND99_DESC= Use bind99 as a DNS server frontend
NSUPDATE_DESC= Use internal DNS with NSUPDATE utility
OPTIONS_DEFAULT+= NSUPDATE
.include <bsd.port.options.mk>
INSTALL_TARGET= showlayout everything installsbin installdat \
installmisc installlib installheader installpc \
installplugins installpython
.if defined(WITH_DSO)
CONFIGURE_ARGS+= --enable-dso
.else
CONFIGURE_ARGS+= --disable-dso
.endif
.if !defined(WITHOUT_UTILS)
INSTALL_TARGET+= installbin
PLIST_SUB+= UTILS=""
CONFLICTS+= ja-samba-[23].* samba-[2-9].*
.else
PLIST_SUB+= UTILS="@comment "
.endif
.if !defined(WITHOUT_DEBUG)
CONFIGURE_ARGS+= --enable-debug --enable-developer \
--enable-socket-wrapper --enable-nss-wrapper
.else
CONFIGURE_ARGS+= --disable-debug --disable-developer \
--disable-socket-wrapper --disable-nss-wrapper
.endif
.if !defined(WITHOUT_THREADS)
CPPFLAGS+= ${PTHREAD_CFLAGS}
LDFLAGS+= ${PTHREAD_LIBS}
CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LIBS="${PTHREAD_LIBS}"
CONFIGURE_ARGS+= --with-pthreads
.else
CONFIGURE_ARGS+= --without-pthreads
.endif
.if defined(WITH_GNUTLS)
LIB_DEPENDS+= gnutls.26:${PORTSDIR}/security/gnutls
CONFIGURE_ARGS+= --enable-gnutls
.else
CONFIGURE_ARGS+= --disable-gnutls
.endif
.if !defined(WITHOUT_POPT)
LIB_DEPENDS+= popt.0:${PORTSDIR}/devel/popt
CONFIGURE_ARGS+= --without-included-popt
.else
CONFIGURE_ARGS+= --with-included-popt
.endif
.if defined(WITH_SQLITE3)
USE_SQLITE= 3
CONFIGURE_ARGS+= --with-sqlite3
.else
CONFIGURE_ARGS+= --without-sqlite3
.endif
.if defined(SAMBA_DISABLE_EXT) && !empty(SAMBA_DISABLE_EXT)
CONFIGURE_ARGS+= --with-disable-ext-lib="${SAMBA_DISABLE_EXT:Q:C/(\\\\ )+/,/g}"
.endif
SAMBA_SUB= SAMBA_LOGDIR="${SAMBA_LOGDIR}" \
SAMBA_LOCKDIR="${SAMBA_LOCKDIR}" \
SAMBA_CONFDIR="${SAMBA_CONFDIR}" \
SAMBA_CONFIG="${SAMBA_CONFIG}" \
SAMBA_RUNDIR="${SAMBA_RUNDIR}" \
SAMBA_PRIVATEDIR="${SAMBA_PRIVATEDIR}"
PLIST_SUB+= ${SAMBA_SUB}
SUB_LIST+= ${SAMBA_SUB}
post-patch:
@${REINPLACE_CMD} -i '' -e 's|%%SAMBA_CONFIG%%|${SAMBA_CONFIG}|' \
${WRKSRC}/dynconfig/config.mk
.if defined(WITH_PCH)
pre-build:
(cd ${BUILD_WRKSRC} && ${GMAKE} pch)
.endif
USE_RC_SUBR= ${SAMBA_PORTNAME}
SUB_FILES= pkg-message
post-install:
@${CAT} ${PKGMESSAGE}
# !SAMBA4_SUBPORT
.endif
.include <bsd.port.mk>
.include <bsd.port.pre.mk>
.if !defined(SAMBA4_SUBPORT)
CONFIGURE_ARGS+= \
--with-pam \
--with-iconv \
--with-sendfile-support \
--builtin-libraries=smbclient \
--with-libiconv="${LOCALBASE}" \
--with-gettext="${LOCALBASE}"
# for libexecinfo: (so that __builtin_frame_address() finds the top of the stack)
.if ${ARCH} == "amd64"
CFLAGS+= -fno-omit-frame-pointer
.endif
.if ${PORT_OPTIONS:MBIND98}
RUN_DEPENDS+= bind98>=9.8.0.0:${PORTSDIR}/dns/bind98
SUB_LIST+= NSUPDATE="@comment "
.elif ${PORT_OPTIONS:MBIND99}
RUN_DEPENDS+= bind99>=9.9.0.0:${PORTSDIR}/dns/bind99
SUB_LIST+= NSUPDATE="@comment "
.else
RUN_DEPENDS+= samba-nsupdate:${PORTSDIR}/dns/samba-nsupdate
SUB_LIST+= NSUPDATE=""
.endif
.if ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+= --verbose
_MAKE_JOBS+= --verbose
CONFIGURE_ARGS+= --enable-debug
.endif
# https://bugzilla.samba.org/show_bug.cgi?id=8969
.if ${PORT_OPTIONS:MDEVELOPER}
GDB_CMD= gdb751
BUILD_DEPENDS+= ${GDB_CMD}:${PORTSDIR}/devel/gdb
RUN_DEPENDS+= ${GDB_CMD}:${PORTSDIR}/devel/gdb
SAMBA4_MODULES+= auth_skel perfcount_test pdb_test vfs_shadow_copy_test vfs_skel_opaque vfs_skel_transparent vfs_fake_acls
CONFIGURE_ARGS+= --enable-developer --enable-socket-wrapper --enable-nss-wrapper --enable-selftest
PLIST_SUB+= DEVELOPER=""
.else
GDB_CMD= /usr/bin/true
PLIST_SUB+= DEVELOPER="@comment "
.endif
##############################################################################
# XXX: That will blow up your installation
# https://bugzilla.samba.org/show_bug.cgi?id=9302
.if defined(CRAZY)
WANT_EXP_MODULES= auth_samba4 auth_script auth_skel auth_unix auth_wbc \
gpext_registry gpext_scripts gpext_security idmap_ad \
idmap_autorid idmap_hash idmap_ldap idmap_passdb \
idmap_rid idmap_tdb idmap_tdb2 idmap_nss nss_info_template \
pdb_ldap pdb_samba_dsdb pdb_smbpasswd pdb_tdbsam \
pdb_test pdb_wbc_sam perfcount_test vfs_acl_tdb \
vfs_acl_xattr vfs_aio_fork vfs_aio_posix \
vfs_aio_pthread vfs_audit vfs_cacheprime vfs_cap \
vfs_catia vfs_commit vfs_crossrename vfs_default_quota \
vfs_dfs_samba4 vfs_dirsort vfs_expand_msdfs vfs_extd_audit \
vfs_fake_acls vfs_fake_perms vfs_full_audit vfs_media_harmony \
vfs_netatalk vfs_posix_eadb vfs_preopen vfs_readahead \
vfs_readonly vfs_recycle vfs_scannedonly vfs_shadow_copy \
vfs_shadow_copy2 vfs_shadow_copy_test vfs_skel_opaque \
vfs_skel_transparent vfs_smb_traffic_analyzer vfs_streams_depot \
vfs_streams_xattr vfs_syncops vfs_time_audit \
vfs_xattr_tdb vfs_zfsacl
.endif
.if ${PORT_OPTIONS:MEXP_MODULES}
. if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES)
WANT_EXP_MODULES= idmap_ad vfs_cacheprime gpext_scripts gpext_security gpext_registry
. endif
.endif
.if ${PORT_OPTIONS:MACL_SUPPORT}
. if ${OSVERSION} > 800000
LIB_DEPENDS+= sunacl:${PORTSDIR}/sysutils/libsunacl
WANT_EXP_MODULES+= vfs_zfsacl
SAMBA4_MODULES+= vfs_zfsacl
. endif
CONFIGURE_ARGS+= --with-acl-support
.else
CONFIGURE_ARGS+= --without-acl-support
.endif
.if ${PORT_OPTIONS:MADS}
SAMBA4_WANT_ADS= yes
SAMBA4_WANT_LDAP= yes
.endif
.if ${PORT_OPTIONS:MAIO_SUPPORT}
CONFIGURE_ARGS+= --with-aio-support
SAMBA4_MODULES+= vfs_aio_posix
.else
CONFIGURE_ARGS+= --without-aio-support
.endif
.if ${PORT_OPTIONS:MAVAHI}
LIB_DEPENDS+= avahi-client:${PORTSDIR}/net/avahi-app
CONFIGURE_ARGS+= --enable-avahi
.else
CONFIGURE_ARGS+= --disable-avahi
.endif
.if ${PORT_OPTIONS:MCUPS}
LIB_DEPENDS+= cups:${PORTSDIR}/print/cups-client
CONFIGURE_ARGS+= --enable-cups --enable-iprint
.else
CONFIGURE_ARGS+= --disable-cups --disable-iprint
.endif
.if ${PORT_OPTIONS:MDNSUPDATE}
SAMBA_WANT_ADS= yes
CONFIGURE_ARGS+= --with-dnsupdate
.else
CONFIGURE_ARGS+= --without-dnsupdate
.endif
.if 0
.if ${PORT_OPTIONS:MFAM_SUPPORT}
USE_FAM= yes
CONFIGURE_ARGS+= --enable-fam
WANT_EXP_MODULES+= vfs_notify_fam
SAMBA4_MODULES+= vfs_notify_fam
.else
CONFIGURE_ARGS+= --disable-fam
.endif
.endif
.if ${PORT_OPTIONS:MLDAP}
SAMBA4_WANT_LDAP= yes
.endif
.if ${PORT_OPTIONS:MPAM_SMBPASS}
CONFIGURE_ARGS+= --with-pam_smbpass
PLIST_SUB+= SMBPASS=""
.else
CONFIGURE_ARGS+= --without-pam_smbpass
PLIST_SUB+= SMBPASS="@comment "
.endif
.if ${PORT_OPTIONS:MPTHREADPOOL}
CONFIGURE_ARGS+= --enable-pthreadpool
SAMBA4_MODULES+= vfs_aio_pthread
.else
CONFIGURE_ARGS+= --disable-pthreadpool
.endif
.if ${PORT_OPTIONS:MQUOTAS}
CONFIGURE_ARGS+= --with-quotas
.else
CONFIGURE_ARGS+= --without-quotas
.endif
.if ${PORT_OPTIONS:MSYSLOG}
CONFIGURE_ARGS+= --with-syslog
.else
CONFIGURE_ARGS+= --without-syslog
.endif
.if ${PORT_OPTIONS:MSWAT}
CONFIGURE_ARGS+= --with-swat
PLIST_SUB+= SWAT=""
.else
CONFIGURE_ARGS+= --without-swat
PLIST_SUB+= SWAT="@comment "
.endif
.if ${PORT_OPTIONS:MUTMP}
CONFIGURE_ARGS+= --with-utmp
.else
CONFIGURE_ARGS+= --without-utmp
.endif
.if ${PORT_OPTIONS:MWINBIND}
CONFIGURE_ARGS+= --with-winbind
PLIST_SUB+= WINBIND=""
.else
CONFIGURE_ARGS+= --without-winbind
PLIST_SUB+= WINBIND="@comment "
.endif
.if defined(SAMBA4_WANT_ADS)
CONFIGURE_ARGS+= --with-ads
.else
CONFIGURE_ARGS+= --without-ads
.endif
.if defined(SAMBA4_WANT_LDAP)
USE_OPENLDAP= yes
CONFIGURE_ARGS+= --with-ldap
PLIST_SUB+= LDAP=""
.else
CONFIGURE_ARGS+= --without-ldap
PLIST_SUB+= LDAP="@comment "
.endif
.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES)
SAMBA4_MODULES+= ${WANT_EXP_MODULES}
CONFIGURE_ARGS+= --with-shared-modules="${WANT_EXP_MODULES:Q:C/(\\\\ )+/,/g}"
.endif
.if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS)
CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C/(\\\\ )+/,/g}"
.endif
# XXX
.for m in ${SAMBA4_MODULES}
PLIST_REINPLACE+= ${m}
PLIST_REINPLACE_${m:U}= s|^@comment ${m} ||g
.endfor
##############################################################################
.if ! ${PORT_OPTIONS:MMANPAGES}
CONFIGURE_ENV+= XSLTPROC="/usr/bin/true"
.else
BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:${PORTSDIR}/textproc/docbook-xsl \
xsltproc:${PORTSDIR}/textproc/libxslt
.endif
SAMBA4_SUB= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \
SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \
SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \
SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \
SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \
SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \
SAMBA4_CONFIG="${SAMBA4_CONFIG}"
PLIST_SUB+= ${SAMBA4_SUB}
SUB_LIST+= ${SAMBA4_SUB}
USE_RC_SUBR= ${SAMBA4_PORTNAME}
SUB_FILES= pkg-install pkg-message README.FreeBSD
CONFIGURE_ENV+= NOCOLOR=yes
MAKE_ENV+= NOCOLOR=yes
.if !defined(DISABLE_MAKE_JOBS) && !defined(MAKE_JOBS_UNSAFE)
.if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
CONFIGURE_ARGS+= --jobs=${MAKE_JOBS_NUMBER}
_MAKE_JOBS+= --jobs=${MAKE_JOBS_NUMBER}
.endif
.endif
MAN1+= dbwrap_tool.1 findsmb.1 gentest.1 locktest.1 \
log2pcap.1 masktest.1 ndrdump.1 nmblookup.1 \
nmblookup4.1 ntlm_auth.1 oLschema2ldif.1 \
profiles.1 regdiff.1 regpatch.1 regshell.1 \
regtree.1 rpcclient.1 sharesec.1 smbcacls.1 \
smbclient.1 smbcontrol.1 smbcquotas.1 smbget.1 \
smbstatus.1 smbtar.1 smbtorture.1 smbtree.1 \
testparm.1 vfstest.1 wbinfo.1
MAN5+= lmhosts.5 smbgetrc.5 smbpasswd.5 pam_winbind.conf.5 \
smb.conf.5
MAN7+= samba.7 winbind_krb5_locator.7
MAN8+= eventlogadm.8 idmap_ad.8 idmap_autorid.8 idmap_hash.8 \
idmap_ldap.8 idmap_nss.8 idmap_rid.8 idmap_tdb.8 \
idmap_tdb2.8 net.8 nmbd.8 pam_winbind.8 pdbedit.8 \
samba-tool.8 samba.8 smbd.8 smbpasswd.8 smbspool.8 \
smbta-util.8 swat.8 vfs_acl_tdb.8 vfs_acl_xattr.8 \
vfs_aio_fork.8 vfs_aio_linux.8 vfs_aio_pthread.8 \
vfs_audit.8 vfs_cacheprime.8 vfs_cap.8 vfs_catia.8 \
vfs_commit.8 vfs_crossrename.8 vfs_default_quota.8 \
vfs_dirsort.8 vfs_extd_audit.8 vfs_fake_perms.8 vfs_fileid.8 \
vfs_full_audit.8 vfs_gpfs.8 vfs_media_harmony.8 \
vfs_netatalk.8 vfs_notify_fam.8 vfs_prealloc.8 \
vfs_preopen.8 vfs_readahead.8 vfs_readonly.8 \
vfs_recycle.8 vfs_scannedonly.8 vfs_shadow_copy.8 \
vfs_shadow_copy2.8 vfs_smb_traffic_analyzer.8 \
vfs_streams_depot.8 vfs_streams_xattr.8 vfs_time_audit.8 \
vfs_tsmsm.8 vfs_xattr_tdb.8 winbindd.8
MLINKS= smb.conf.5 smb4.conf.5 samba.8 samba4.8
PORTDOCS= README.FreeBSD
ALL_TARGET= build
INSTALL_TARGET= install
IGNORE_NONTHREAD_PYTHON=needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
post-extract:
@${RM} -rf ${WRKSRC}/pidl
# Use threading (or multiprocessing) but not thread (renamed in python 3+).
pre-configure:
@if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \
${ECHO_CMD}; \
${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \
${ECHO_CMD}; \
${FALSE}; \
fi
post-patch:
@${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${PKGCONFIGDIR}|g' \
${PATCH_WRKSRC}/buildtools/wafsamba/pkgconfig.py
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${PATCH_WRKSRC}/buildtools/wafsamba/samba_pidl.py \
${PATCH_WRKSRC}/buildtools/wafsamba/wafsamba.py
@${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${GDB_CMD}|g' \
${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh
@${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \
${PATCH_WRKSRC}/dynconfig/wscript \
${PATCH_WRKSRC}/dynconfig/config.m4
# Make sure that the right version of Python is used by the tools
# https://bugzilla.samba.org/show_bug.cgi?id=7305
@for f in ${PATCH_WRKSRC}/source4/scripting/bin/*; do \
${REINPLACE_CMD} -e '1,1 s|.*python.*|#!${PYTHON_CMD}|' $${f}; \
done
pre-build:
.if ! ${PORT_OPTIONS:MMANPAGES}
. for man in libcli/nbt/man/nmblookup4.1 \
librpc/tools/ndrdump.1 \
source4/lib/registry/man/regdiff.1 \
source4/lib/registry/man/regpatch.1 \
source4/lib/registry/man/regshell.1 \
source4/lib/registry/man/regtree.1 \
source4/torture/man/gentest.1 \
source4/torture/man/locktest.1 \
source4/torture/man/masktest.1 \
source4/torture/man/smbtorture.1 \
source4/utils/man/ntlm_auth4.1 \
source4/utils/man/oLschema2ldif.1
-@${MKDIR} `dirname ${BUILD_WRKSRC}/bin/default/${man}`
@${INSTALL_MAN} ${FILESDIR}/man/`basename ${man}` ${BUILD_WRKSRC}/bin/default/${man}
. endfor
-@${MKDIR} ${BUILD_WRKSRC}/bin/default/docs-xml/manpages
. for man in ${MAN1} ${MAN5} ${MAN7} ${MAN8}
-@${INSTALL_MAN} ${BUILD_WRKSRC}/docs/manpages/${man} ${BUILD_WRKSRC}/bin/default/docs-xml/manpages
. endfor
.endif
do-build:
@(cd ${BUILD_WRKSRC}; \
if ! ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${BUILD_WRKSRC}/${WAF_TOOL} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}; then \
if [ x != x${BUILD_FAIL_MESSAGE} ] ; then \
${ECHO_MSG} "===> Compilation failed unexpectedly."; \
(${ECHO_CMD} ${BUILD_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
fi; \
${FALSE}; \
fi)
do-install:
@(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${INSTALL_WRKSRC}/${WAF_TOOL} ${MAKE_ARGS} ${INSTALL_TARGET})
post-install:
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}
. for doc in ${PORTDOCS}
@${INSTALL_DATA} ${WRKDIR}/${doc} ${DOCSDIR}
. endfor
.endif
@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
.if ${PORT_OPTIONS:MDEVELOPER}
test: build
@(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${INSTALL_WRKSRC}/${WAF_TOOL} ${MAKE_ARGS} $@)
.endif
# !SAMBA4_SUBPORT
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +1,2 @@
SHA256 (samba-4.0.0alpha11.tar.gz) = ec9f4a9153b9e2c233420642ee98a8b944322e8b39a9b6912430fb24e88b81b9
SIZE (samba-4.0.0alpha11.tar.gz) = 13917363
SHA256 (samba-4.0.3.tar.gz) = ab5d3618632f8869c838c0b2994b3f169da6824885710aad1146738172e44a4b
SIZE (samba-4.0.3.tar.gz) = 22051995

View File

@ -0,0 +1,99 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Please read before runing any tools !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Documentation
=============
o https://wiki.samba.org/index.php/Samba4/HOWTO
o https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
o https://wiki.samba.org/index.php/Samba4/samba-tool/domain/classicupgrade/HOWTO
FreeBSD specific information
============================
* Your configuration is in: %%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%%
* All the logs are under: %%SAMBA4_LOGDIR%%
* All the relevant databases are under: %%SAMBA4_LOCKDIR%%
* Provisioning script is: %%PREFIX%%/bin/samba-tool
Samba4 provisioning requires file system(s) with POSIX ACLs support. At
the moment that is UFS2 only. You have to add 'acls' option to the mount
flags to get things working.
It is known that ZFS-only installations don't work out of the box with
Samba4. In partucular, s3fs service requires POSIX ACLs during provi-
sioning. It is possible to work around that requirement by specifying:
# samba-tool domain provision --interactive --use-xattrs=no --use-ntvfs
And removing later in '%%SAMBA4_CONFIG%%' options like:
'server services', 'dcerpc endpoint servers', 'posix:eadb'
and adding 'vfs objects = zfsacl' as well. Still this isn't supported
and tested configuration, so use it at your own risk.
You may find this tutorial useful, if you happen to run Samba4 on
ZFS-root:
o http://glsan.com/community/samba4
To run this port you need to perform the following steps:
---------------------------------------------------------
0. If you had Samba3 port installed before, please, *take backups* of
all the relevant files. That includes 'smb.conf' file and all the
content of the '/var/db/samba/' directory.
If you had Samba4-devel installation before to my knowledge the best
option would be to start from scratch.
1a. Create new '%%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%%' file by running:
# samba-tool domain provision
1b. Or upgrade from the Samba3 'smb.conf' file by running:
# samba-tool domain classicupgrade
%%NSUPDATE%%1c. You will need to specify location of the 'nsupdate' command in the
%%NSUPDATE%%'%%SAMBA4_CONFIG%%' file:
%%NSUPDATE%%
%%NSUPDATE%% nsupdate command = %%PREFIX%%/bin/samba-nsupdate -g
%%NSUPDATE%%
2. Put string 'samba4_enable="YES"' into your /etc/rc.conf.
3. Make sure that your server doesn't run Samba3, OpenLDAP and named.
Stop them, if necessary.
4. Run '%%PREFIX%%/etc/rc.d/samba4 start' or reboot.
WARNING! This port is still experimental and if you need any asistance,
please, check archives of samba@lists.samba.org and ask there for help.
https://lists.samba.org/archive/samba/
In case you found a bug which is clearly not related to the port build
process itself, plese file a bug report at:
https://bugzilla.samba.org/
And add me to CC list.
You may find those tools helpful:
---------------------------------
Microsoft Remote Server Administration Tools (RSAT) for:
* Vista: http://www.microsoft.com/en-us/download/details.aspx?id=21090
* Windows 7: http://www.microsoft.com/en-us/download/details.aspx?id=7887
FreeBSD Samba4 port maintainer: Timur I. Bakeyev <timur@FreeBSD.org>

View File

@ -0,0 +1,133 @@
'\" t
.\" Title: gentest
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: Test Suite
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "GENTEST" "1" "02/03/2013" "Samba 4\&.0" "Test Suite"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
gentest \- Run random generic SMB operations against two SMB servers and show the differences in behavior
.SH "SYNOPSIS"
.HP \w'\fBgentest\fR\ 'u
\fBgentest\fR {//server1/share1} {//server2/share2} {\-U\ user%pass} {\-U\ user%pass} [\-s\ seed] [\-o\ numops] [\-a] [\-A] [\-i\ FILE] [\-O] [\-S\ FILE] [\-L] [\-F] [\-C] [\-X]
.SH "DESCRIPTION"
.PP
gentest
is a utility for detecting differences in behaviour between SMB servers\&. It will run a random set of generic operations against
\fI//server1/share1\fR
and then the same random set against
\fI//server2/share2\fR
and display the differences in the responses it gets\&.
.PP
This utility is used by the Samba team to find differences in behaviour between Samba and Windows servers\&.
.SH "OPTIONS"
.PP
\-U user%pass
.RS 4
Specify the user and password to use when logging on on the shares\&. This parameter is mandatory and has to be specified twice\&.
.RE
.PP
\-s seed
.RS 4
Seed the random number generator with the specified value\&.
.RE
.PP
\-o numops
.RS 4
Set the number of operations to perform\&.
.RE
.PP
\-a
.RS 4
Print the operations that are performed\&.
.RE
.PP
\-A
.RS 4
Backtrack to find minimal number of operations required to make the response to a certain call differ\&.
.RE
.PP
\-i FILE
.RS 4
Specify a file containing the names of fields that have to be ignored (such as time fields)\&. See below for a description of the file format\&.
.RE
.PP
\-O
.RS 4
Enable oplocks\&.
.RE
.PP
\-S FILE
.RS 4
Set preset seeds file\&. The default is
gentest_seeds\&.dat\&.
.RE
.PP
\-L
.RS 4
Use preset seeds
.RE
.PP
\-F
.RS 4
Fast reconnect (just close files)
.RE
.PP
\-C
.RS 4
Continuous analysis mode
.RE
.PP
\-X
.RS 4
Analyse even when the test succeeded\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
Samba
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
gentest was written by Andrew Tridgell\&.
.PP
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,137 @@
'\" t
.\" Title: locktest
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: Test Suite
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "LOCKTEST" "1" "02/03/2013" "Samba 4\&.0" "Test Suite"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
locktest \- Find differences in locking between two SMB servers
.SH "SYNOPSIS"
.HP \w'\fBlocktest\fR\ 'u
\fBlocktest\fR {//server1/share1} {//server2/share2} [\-U\ user%pass] [\-U\ user%pass] [\-s\ seed] [\-o\ numops] [\-a] [\-O] [\-E] [\-Z] [\-R\ range] [\-B\ base] [\-M\ min]
.SH "DESCRIPTION"
.PP
locktest
is a utility for detecting differences in behaviour in locking between SMB servers\&. It will run a random set of locking operations against
\fI//server1/share1\fR
and then the same random set against
\fI//server2/share2\fR
and display the differences in the responses it gets\&.
.PP
This utility is used by the Samba team to find differences in behaviour between Samba and Windows servers\&.
.SH "OPTIONS"
.PP
\-U user%pass
.RS 4
Specify the user and password to use when logging on on the shares\&. This parameter can be specified twice (once for the first server, once for the second)\&.
.RE
.PP
\-s seed
.RS 4
Seed the random number generator with the specified value\&.
.RE
.PP
\-o numops
.RS 4
Set the number of operations to perform\&.
.RE
.PP
\-a
.RS 4
Print the operations that are performed\&.
.RE
.PP
\-A
.RS 4
Backtrack to find minimal number of operations required to make the response to a certain call differ\&.
.RE
.PP
\-O
.RS 4
Enable oplocks\&.
.RE
.PP
\-u
.RS 4
Hide unlock fails\&.
.RE
.PP
\-E
.RS 4
enable exact error code checking
.RE
.PP
\-Z
.RS 4
enable the zero/zero lock
.RE
.PP
\-R range
.RS 4
set lock range
.RE
.PP
\-B base
.RS 4
set lock base
.RE
.PP
\-M min
.RS 4
set min lock length
.RE
.PP
\-k
.RS 4
Use kerberos
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
Samba
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
locktest was written by Andrew Tridgell\&.
.PP
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,113 @@
'\" t
.\" Title: masktest
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: Test Suite
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "MASKTEST" "1" "02/03/2013" "Samba 4\&.0" "Test Suite"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
masktest \- Find differences in wildcard matching between Samba\*(Aqs implementation and that of a remote server\&.
.SH "SYNOPSIS"
.HP \w'\fBmasktest\fR\ 'u
\fBmasktest\fR {//server/share} [\-U\ user%pass] [\-d\ debuglevel] [\-W\ workgroup] [\-n\ numloops] [\-s\ seed] [\-a] [\-E] [\-M\ max\ protocol] [\-f\ filechars] [\-m\ maskchars] [\-v]
.SH "DESCRIPTION"
.PP
masktest
is a utility for detecting differences in behaviour between Samba\*(Aqs own implementation and that of a remote server\&. It will run generate random filenames/masks and check if these match the same files they do on the remote file as they do on the local server\&. It will display any differences it finds\&.
.PP
This utility is used by the Samba team to find differences in behaviour between Samba and Windows servers\&.
.SH "OPTIONS"
.PP
\-U user%pass
.RS 4
Specify the user and password to use when logging on on the shares\&. This parameter can be specified twice (once for the first server, once for the second)\&.
.RE
.PP
\-s seed
.RS 4
Seed the random number generator with the specified value\&.
.RE
.PP
\-n numops
.RS 4
Set the number of operations to perform\&.
.RE
.PP
\-a
.RS 4
Print the operations that are performed\&.
.RE
.PP
\-M max_protocol
.RS 4
Maximum protocol to use\&.
.RE
.PP
\-f
.RS 4
Specify characters that can be used when generating file names\&. Default: abcdefghijklm\&.
.RE
.PP
\-E
.RS 4
Abort when difference in behaviour is found\&.
.RE
.PP
\-m maskchars
.RS 4
Specify characters used for wildcards\&.
.RE
.PP
\-v
.RS 4
Be verbose
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
Samba
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
masktest was written by Andrew Tridgell\&.
.PP
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,83 @@
'\" t
.\" Title: ndrdump
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "NDRDUMP" "1" "02/03/2013" "Samba 4\&.0" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ndrdump \- DCE/RPC Packet Parser and Dumper
.SH "SYNOPSIS"
.HP \w'\fBndrdump\fR\ 'u
\fBndrdump\fR [\-c\ context] {pipe} {function} {in|out} {filename}
.HP \w'\fBndrdump\fR\ 'u
\fBndrdump\fR [pipe]
.HP \w'\fBndrdump\fR\ 'u
\fBndrdump\fR
.SH "DESCRIPTION"
.PP
ndrdump tries to parse the specified
\fIfilename\fR
using Samba\*(Aqs parser for the specified pipe and function\&. The third argument should be either
\fIin\fR
or
\fIout\fR, depending on whether the data should be parsed as a request or a reply\&.
.PP
Running ndrdump without arguments will list the pipes for which parsers are available\&.
.PP
Running ndrdump with one argument will list the functions that Samba can parse for the specified pipe\&.
.PP
The primary function of ndrdump is debugging Samba\*(Aqs internal DCE/RPC parsing functions\&. The file being parsed is usually one exported by wiresharks
\(lqExport selected packet bytes\(rq
function\&.
.PP
The context argument can be used to load context data from the request packet when parsing reply packets (such as array lengths)\&.
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
wireshark, pidl
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
ndrdump was written by Andrew Tridgell\&.
.PP
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,157 @@
'\" t
.\" Title: nmblookup4
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: User Commands
.\" Source: Samba 3.2
.\" Language: English
.\"
.TH "NMBLOOKUP4" "1" "02/03/2013" "Samba 3\&.2" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
nmblookup4 \- NetBIOS over TCP/IP client used to lookup NetBIOS names
.SH "SYNOPSIS"
.HP \w'\fBnmblookup4\fR\ 'u
\fBnmblookup4\fR [\-M] [\-R] [\-S] [\-r] [\-A] [\-h] [\-B\ <broadcast\ address>] [\-U\ <unicast\ address>] [\-d\ <debug\ level>] [\-s\ <smb\ config\ file>] [\-i\ <NetBIOS\ scope>] [\-T] [\-f] {name}
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(7)
suite\&.
.PP
\fBnmblookup4\fR
is used to query NetBIOS names and map them to IP addresses in a network using NetBIOS over TCP/IP queries\&. The options allow the name queries to be directed at a particular IP broadcast area or to a particular machine\&. All queries are done over UDP\&.
.SH "OPTIONS"
.PP
\-M
.RS 4
Searches for a master browser by looking up the NetBIOS name
\fIname\fR
with a type of
\fB0x1d\fR\&. If
\fI name\fR
is "\-" then it does a lookup on the special name
\fB__MSBROWSE__\fR\&. Please note that in order to use the name "\-", you need to make sure "\-" isn\*(Aqt parsed as an argument, e\&.g\&. use :
\fBnmblookup4 \-M \-\- \-\fR\&.
.RE
.PP
\-R
.RS 4
Set the recursion desired bit in the packet to do a recursive lookup\&. This is used when sending a name query to a machine running a WINS server and the user wishes to query the names in the WINS server\&. If this bit is unset the normal (broadcast responding) NetBIOS processing code on a machine is used instead\&. See RFC1001, RFC1002 for details\&.
.RE
.PP
\-S
.RS 4
Once the name query has returned an IP address then do a node status query as well\&. A node status query returns the NetBIOS names registered by a host\&.
.RE
.PP
\-r
.RS 4
Try and bind to UDP port 137 to send and receive UDP datagrams\&. The reason for this option is a bug in Windows 95 where it ignores the source port of the requesting packet and only replies to UDP port 137\&. Unfortunately, on most UNIX systems root privilege is needed to bind to this port, and in addition, if the
\fBnmbd\fR(8)
daemon is running on this machine it also binds to this port\&.
.RE
.PP
\-A
.RS 4
Interpret
\fIname\fR
as an IP Address and do a node status query on this address\&.
.RE
.PP
\-B <broadcast address>
.RS 4
Send the query to the given broadcast address\&. Without this option the default behavior of nmblookup4 is to send the query to the broadcast address of the network interfaces as either auto\-detected or defined in the
\m[blue]\fB\fIinterfaces\fR\fR\m[]\&\s-2\u[1]\d\s+2
parameter of the
\fBsmb.conf\fR(5)
file\&.
.RE
.PP
\-U <unicast address>
.RS 4
Do a unicast query to the specified address or host
\fIunicast address\fR\&. This option (along with the
\fI\-R\fR
option) is needed to query a WINS server\&.
.RE
.PP
\-T
.RS 4
This causes any IP addresses found in the lookup to be looked up via a reverse DNS lookup into a DNS name, and printed out before each
.sp
\fIIP address \&.\&.\&.\&. NetBIOS name\fR
.sp
pair that is the normal output\&.
.RE
.PP
\-f
.RS 4
Show which flags apply to the name that has been looked up\&. Possible answers are zero or more of: Response, Authoritative, Truncated, Recursion_Desired, Recursion_Available, Broadcast\&.
.RE
.PP
name
.RS 4
This is the NetBIOS name being queried\&. Depending upon the previous options this may be a NetBIOS name or IP address\&. If a NetBIOS name then the different name types may be specified by appending \*(Aq#<type>\*(Aq to the name\&. This name may also be \*(Aq*\*(Aq, which will return all registered names within a broadcast area\&.
.RE
.SH "EXAMPLES"
.PP
\fBnmblookup4\fR
can be used to query a WINS server (in the same way
\fBnslookup\fR
is used to query DNS servers)\&. To query a WINS server,
\fBnmblookup4\fR
must be called like this:
.PP
\fBnmblookup4 \-U server \-R \*(Aqname\*(Aq\fR
.PP
For example, running :
.PP
\fBnmblookup4 \-U samba\&.org \-R \*(AqIRIX#1B\*(Aq\fR
.PP
would query the WINS server samba\&.org for the domain master browser (1B name type) for the IRIX workgroup\&.
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "SEE ALSO"
.PP
\fBnmbd\fR(8),
\fBsamba\fR(7), and
\fBsmb.conf\fR(5)\&.
.SH "AUTHOR"
.PP
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\&.
.PP
The original Samba man pages were written by Karl Auer\&. The man page sources were converted to YODL format (another excellent piece of Open Source software, available at
\m[blue]\fBftp://ftp\&.icce\&.rug\&.nl/pub/unix/\fR\m[]\&\s-2\u[2]\d\s+2) and updated for the Samba 2\&.0 release by Jeremy Allison\&. The conversion to DocBook for Samba 2\&.2 was done by Gerald Carter\&. The conversion to DocBook XML 4\&.2 for Samba 3\&.0 was done by Alexander Bokovoy\&.
.SH "NOTES"
.IP " 1." 4
\fIinterfaces\fR
.RS 4
\%[set $man.base.url.for.relative.links]/smb.conf.5.html#INTERFACES
.RE
.IP " 2." 4
ftp://ftp.icce.rug.nl/pub/unix/
.RS 4
\%ftp://ftp.icce.rug.nl/pub/unix/
.RE

View File

@ -0,0 +1,378 @@
'\" t
.\" Title: ntlm_auth
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/04/2013
.\" Manual: User Commands
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "NTLM_AUTH" "1" "02/04/2013" "Samba 4\&.0" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ntlm_auth \- tool to allow external access to Winbind\*(Aqs NTLM authentication function
.SH "SYNOPSIS"
.HP \w'\ 'u
ntlm_auth [\-d\ debuglevel] [\-l\ logdir] [\-s\ <smb\ config\ file>]
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(7)
suite\&.
.PP
ntlm_auth
is a helper utility that authenticates users using NT/LM authentication\&. It returns 0 if the users is authenticated successfully and 1 if access was denied\&. ntlm_auth uses winbind to access the user and authentication data for a domain\&. This utility is only intended to be used by other programs (currently
Squid
and
mod_ntlm_winbind)
.SH "OPERATIONAL REQUIREMENTS"
.PP
The
\fBwinbindd\fR(8)
daemon must be operational for many of these commands to function\&.
.PP
Some of these commands also require access to the directory
winbindd_privileged
in
$LOCKDIR\&. This should be done either by running this command as root or providing group access to the
winbindd_privileged
directory\&. For security reasons, this directory should not be world\-accessable\&.
.SH "OPTIONS"
.PP
\-\-helper\-protocol=PROTO
.RS 4
Operate as a stdio\-based helper\&. Valid helper protocols are:
.PP
squid\-2\&.4\-basic
.RS 4
Server\-side helper for use with Squid 2\&.4\*(Aqs basic (plaintext) authentication\&.
.RE
.PP
squid\-2\&.5\-basic
.RS 4
Server\-side helper for use with Squid 2\&.5\*(Aqs basic (plaintext) authentication\&.
.RE
.PP
squid\-2\&.5\-ntlmssp
.RS 4
Server\-side helper for use with Squid 2\&.5\*(Aqs NTLMSSP authentication\&.
.sp
Requires access to the directory
winbindd_privileged
in
$LOCKDIR\&. The protocol used is described here:
http://devel\&.squid\-cache\&.org/ntlm/squid_helper_protocol\&.html\&. This protocol has been extended to allow the NTLMSSP Negotiate packet to be included as an argument to the
YR
command\&. (Thus avoiding loss of information in the protocol exchange)\&.
.RE
.PP
ntlmssp\-client\-1
.RS 4
Client\-side helper for use with arbitrary external programs that may wish to use Samba\*(Aqs NTLMSSP authentication knowledge\&.
.sp
This helper is a client, and as such may be run by any user\&. The protocol used is effectively the reverse of the previous protocol\&. A
YR
command (without any arguments) starts the authentication exchange\&.
.RE
.PP
gss\-spnego
.RS 4
Server\-side helper that implements GSS\-SPNEGO\&. This uses a protocol that is almost the same as
squid\-2\&.5\-ntlmssp, but has some subtle differences that are undocumented outside the source at this stage\&.
.sp
Requires access to the directory
winbindd_privileged
in
$LOCKDIR\&.
.RE
.PP
gss\-spnego\-client
.RS 4
Client\-side helper that implements GSS\-SPNEGO\&. This also uses a protocol similar to the above helpers, but is currently undocumented\&.
.RE
.PP
ntlm\-server\-1
.RS 4
Server\-side helper protocol, intended for use by a RADIUS server or the \*(Aqwinbind\*(Aq plugin for pppd, for the provision of MSCHAP and MSCHAPv2 authentication\&.
.sp
This protocol consists of lines in the form:
Parameter: value
and
Parameter:: Base64\-encode value\&. The presence of a single period
\&.
indicates that one side has finished supplying data to the other\&. (Which in turn could cause the helper to authenticate the user)\&.
.sp
Currently implemented parameters from the external program to the helper are:
.PP
Username
.RS 4
The username, expected to be in Samba\*(Aqs
\m[blue]\fBunix charset\fR\m[]\&.
.PP \fBExample\ \&1.\ \&\fR Username: bob
.PP \fBExample\ \&2.\ \&\fR Username:: Ym9i
.RE
.PP
NT\-Domain
.RS 4
The user\*(Aqs domain, expected to be in Samba\*(Aqs
\m[blue]\fBunix charset\fR\m[]\&.
.PP \fBExample\ \&3.\ \&\fR NT\-Domain: WORKGROUP
.PP \fBExample\ \&4.\ \&\fR NT\-Domain:: V09SS0dST1VQ
.RE
.PP
Full\-Username
.RS 4
The fully qualified username, expected to be in Samba\*(Aqs
\m[blue]\fBunix charset\fR\m[]
and qualified with the
\m[blue]\fBwinbind separator\fR\m[]\&.
.PP \fBExample\ \&5.\ \&\fR Full\-Username: WORKGROUP\ebob
.PP \fBExample\ \&6.\ \&\fR Full\-Username:: V09SS0dST1VQYm9i
.RE
.PP
LANMAN\-Challenge
.RS 4
The 8 byte
LANMAN Challenge
value, generated randomly by the server, or (in cases such as MSCHAPv2) generated in some way by both the server and the client\&.
.PP \fBExample\ \&7.\ \&\fR LANMAN\-Challenge: 0102030405060708
.RE
.PP
LANMAN\-Response
.RS 4
The 24 byte
LANMAN Response
value, calculated from the user\*(Aqs password and the supplied
LANMAN Challenge\&. Typically, this is provided over the network by a client wishing to authenticate\&.
.PP \fBExample\ \&8.\ \&\fR LANMAN\-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
.RE
.PP
NT\-Response
.RS 4
The >= 24 byte
NT Response
calculated from the user\*(Aqs password and the supplied
LANMAN Challenge\&. Typically, this is provided over the network by a client wishing to authenticate\&.
.PP \fBExample\ \&9.\ \&\fR NT\-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
.RE
.PP
Password
.RS 4
The user\*(Aqs password\&. This would be provided by a network client, if the helper is being used in a legacy situation that exposes plaintext passwords in this way\&.
.PP \fBExample\ \&10.\ \&\fR Password: samba2
.PP \fBExample\ \&11.\ \&\fR Password:: c2FtYmEy
.RE
.PP
Request\-User\-Session\-Key
.RS 4
Upon successful authenticaiton, return the user session key associated with the login\&.
.PP \fBExample\ \&12.\ \&\fR Request\-User\-Session\-Key: Yes
.RE
.PP
Request\-LanMan\-Session\-Key
.RS 4
Upon successful authenticaiton, return the LANMAN session key associated with the login\&.
.PP \fBExample\ \&13.\ \&\fR Request\-LanMan\-Session\-Key: Yes
.RE
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Implementers should take care to base64 encode
any data (such as usernames/passwords) that may contain malicous user data, such as
a newline\&. They may also need to decode strings from
the helper, which likewise may have been base64 encoded\&..sp .5v
.RE
.RE
.RE
.PP
\-\-username=USERNAME
.RS 4
Specify username of user to authenticate
.RE
.PP
\-\-domain=DOMAIN
.RS 4
Specify domain of user to authenticate
.RE
.PP
\-\-workstation=WORKSTATION
.RS 4
Specify the workstation the user authenticated from
.RE
.PP
\-\-challenge=STRING
.RS 4
NTLM challenge (in HEXADECIMAL)
.RE
.PP
\-\-lm\-response=RESPONSE
.RS 4
LM Response to the challenge (in HEXADECIMAL)
.RE
.PP
\-\-nt\-response=RESPONSE
.RS 4
NT or NTLMv2 Response to the challenge (in HEXADECIMAL)
.RE
.PP
\-\-password=PASSWORD
.RS 4
User\*(Aqs plaintext password
.sp
If not specified on the command line, this is prompted for when required\&.
.sp
For the NTLMSSP based server roles, this parameter specifies the expected password, allowing testing without winbindd operational\&.
.RE
.PP
\-\-request\-lm\-key
.RS 4
Retrieve LM session key
.RE
.PP
\-\-request\-nt\-key
.RS 4
Request NT key
.RE
.PP
\-\-diagnostics
.RS 4
Perform Diagnostics on the authentication chain\&. Uses the password from
\-\-password
or prompts for one\&.
.RE
.PP
\-\-require\-membership\-of={SID|Name}
.RS 4
Require that a user be a member of specified group (either name or SID) for authentication to succeed\&.
.RE
.PP
\-d|\-\-debuglevel=level
.RS 4
\fIlevel\fR
is an integer from 0 to 10\&. The default value if this parameter is not specified is 0\&.
.sp
The higher this value, the more detail will be logged to the log files about the activities of the server\&. At level 0, only critical errors and serious warnings will be logged\&. Level 1 is a reasonable level for day\-to\-day running \- it generates a small amount of information about operations carried out\&.
.sp
Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&.
.sp
Note that specifying this parameter here will override the
\m[blue]\fBlog level\fR\m[]
parameter in the
smb\&.conf
file\&.
.RE
.PP
\-V|\-\-version
.RS 4
Prints the program version number\&.
.RE
.PP
\-s|\-\-configfile <configuration file>
.RS 4
The file specified contains the configuration details required by the server\&. The information in this file includes server\-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide\&. See
smb\&.conf
for more information\&. The default configuration file name is determined at compile time\&.
.RE
.PP
\-l|\-\-log\-basename=logdirectory
.RS 4
Base directory name for log/debug files\&. The extension
\fB"\&.progname"\fR
will be appended (e\&.g\&. log\&.smbclient, log\&.smbd, etc\&.\&.\&.)\&. The log file is never removed by the client\&.
.RE
.PP
\-?|\-\-help
.RS 4
Print a summary of command line options\&.
.RE
.SH "EXAMPLE SETUP"
.PP
To setup ntlm_auth for use by squid 2\&.5, with both basic and NTLMSSP authentication, the following should be placed in the
squid\&.conf
file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
auth_param ntlm program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-ntlmssp
auth_param basic program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-basic
auth_param basic children 5
auth_param basic realm Squid proxy\-caching web server
auth_param basic credentialsttl 2 hours
.fi
.if n \{\
.RE
.\}
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.PP
This example assumes that ntlm_auth has been installed into your path, and that the group permissions on
winbindd_privileged
are as described above\&.
.sp .5v
.RE
.PP
To setup ntlm_auth for use by squid 2\&.5 with group limitation in addition to the above example, the following should be added to the
squid\&.conf
file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
auth_param ntlm program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-ntlmssp \-\-require\-membership\-of=\*(AqWORKGROUP\eDomain Users\*(Aq
auth_param basic program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-basic \-\-require\-membership\-of=\*(AqWORKGROUP\eDomain Users\*(Aq
.fi
.if n \{\
.RE
.\}
.SH "TROUBLESHOOTING"
.PP
If you\*(Aqre experiencing problems with authenticating Internet Explorer running under MS Windows 9X or Millennium Edition against ntlm_auth\*(Aqs NTLMSSP authentication helper (\-\-helper\-protocol=squid\-2\&.5\-ntlmssp), then please read
the Microsoft Knowledge Base article #239869 and follow instructions described there\&.
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
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\&.
.PP
The ntlm_auth manpage was written by Jelmer Vernooij and Andrew Bartlett\&.

View File

@ -0,0 +1,74 @@
'\" t
.\" Title: oLschema2ldif
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "OLSCHEMA2LDIF" "1" "02/03/2013" "Samba 4\&.0" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
oLschema2ldif \- Converts LDAP schema\*(Aqs to LDB\-compatible LDIF
.SH "SYNOPSIS"
.HP \w'\fBoLschema2ldif\fR\ 'u
\fBoLschema2ldif\fR [\-I\ INPUT\-FILE] [\-O\ OUTPUT\-FILE]
.SH "DESCRIPTION"
.PP
oLschema2ldif is a simple tool that converts standard OpenLDAP schema files to a LDIF format that is understood by LDB\&.
.SH "OPTIONS"
.PP
\-I input\-file
.RS 4
OpenLDAP schema to read\&. If none are specified, the schema file will be read from standard input\&.
.RE
.PP
\-O output\-file
.RS 4
File to write ldif version of schema to\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
ldb(7), ldbmodify, ldbdel, ldif(5)
.SH "AUTHOR"
.PP
ldb was written by
\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&. oLschema2ldif was written by
\m[blue]\fBSimo Sorce\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
If you wish to report a problem or make a suggestion then please see the
\m[blue]\fB\%http://ldb.samba.org/\fR\m[]
web site for current contact and maintainer information\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%http://samba.org/~tridge/
.RE
.IP " 2." 4
Simo Sorce
.RS 4
\%mailto:idra@samba.org
.RE

View File

@ -0,0 +1,87 @@
'\" t
.\" Title: regdiff
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "REGDIFF" "1" "02/03/2013" "Samba 4\&.0" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
regdiff \- Diff program for Windows registry files
.SH "SYNOPSIS"
.HP \w'\fBregdiff\fR\ 'u
\fBregdiff\fR [\-\-help] [\-\-backend=BACKEND] [\-\-backend=BACKEND] [\-\-credentials=CREDENTIALS] [\-\-credentials=CREDENTIALS] [location] [location]
.SH "DESCRIPTION"
.PP
regdiff compares two Windows registry files key by key and value by value and generates a text file that contains the differences between the two files\&.
.PP
A file generated by regdiff can later be applied to a registry file by the regpatch utility\&.
.PP
regdiff and regpatch use the same file format as the regedit32\&.exe utility from Windows\&.
.SH "OPTIONS"
.PP
\-\-help
.RS 4
Show list of available options\&.
.RE
.PP
\-\-backend BACKEND
.RS 4
Name of backend to load\&. Possible values are: creg, regf, dir and rpc\&. The default is
\fIdir\fR\&.
.sp
This argument can be specified twice: once for the first registry file and once for the second\&.
.RE
.PP
\-\-credentials=CREDENTIALS
.RS 4
Credentials to use, if any\&. Password should be separated from user name by a percent sign\&.
.sp
This argument can be specified twice: once for the first registry file and once for the second\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
gregedit, regshell, regpatch, regtree, samba, patch, diff
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
This manpage and regdiff were written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,81 @@
'\" t
.\" Title: regpatch
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "REGPATCH" "1" "02/03/2013" "Samba 4\&.0" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
regpatch \- Applies registry patches to registry files
.SH "SYNOPSIS"
.HP \w'\fBregpatch\fR\ 'u
\fBregpatch\fR [\-\-help] [\-\-backend=BACKEND] [\-\-credentials=CREDENTIALS] [location] [patch\-file]
.SH "DESCRIPTION"
.PP
The regpatch utility applies registry patches to Windows registry files\&. The patch files should have the same format as is being used by the regdiff utility and regedit32\&.exe from Windows\&.
.PP
If no patch file is specified on the command line, regpatch attempts to read it from standard input\&.
.SH "OPTIONS"
.PP
\-\-help
.RS 4
Show list of available options\&.
.RE
.PP
\-\-backend BACKEND
.RS 4
Name of backend to load\&. Possible values are: creg, regf, dir and rpc\&. The default is
\fIdir\fR\&.
.RE
.PP
\-\-credentials=CREDENTIALS
.RS 4
Credentials to use, if any\&. Password should be separated from user name by a percent sign\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
regdiff, regtree, regshell, gregedit, samba, diff, patch
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
This manpage and regpatch were written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,177 @@
'\" t
.\" Title: regshell
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "REGSHELL" "1" "02/03/2013" "Samba 4\&.0" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
regshell \- Windows registry file browser using readline
.SH "SYNOPSIS"
.HP \w'\fBregshell\fR\ 'u
\fBregshell\fR [\-\-help] [\-\-backend=BACKEND] [\-\-credentials=CREDENTIALS] [location]
.SH "DESCRIPTION"
.PP
regshell is a utility that lets you browse thru a Windows registry file as if you were using a regular unix shell to browse thru a file system\&.
.SH "OPTIONS"
.PP
\-\-help
.RS 4
Show list of available options\&.
.RE
.PP
\-\-backend BACKEND
.RS 4
Name of backend to load\&. Possible values are: creg, regf, dir and rpc\&. The default is
\fIdir\fR\&.
.RE
.PP
\-\-credentials=CREDENTIALS
.RS 4
Credentials to use, if any\&. Password should be separated from user name by a percent sign\&.
.RE
.SH "COMMANDS"
.PP
ck|cd <keyname>
.RS 4
Go to the specified subkey\&.
.RE
.PP
ch|predef [predefined\-key\-name]
.RS 4
Go to the specified predefined key\&.
.RE
.PP
list|ls
.RS 4
List subkeys and values of the current key\&.
.RE
.PP
mkkey|mkdir <keyname>
.RS 4
Create a key with the specified
\fIkeyname\fR
as a subkey of the current key\&.
.RE
.PP
rmval|rm <valname>
.RS 4
Delete the specified value\&.
.RE
.PP
rmkey|rmdir <keyname>
.RS 4
Delete the specified subkey recursively\&.
.RE
.PP
pwd|pwk
.RS 4
Print the full name of the current key\&.
.RE
.PP
set|update
.RS 4
Update the value of a key value\&. Not implemented at the moment\&.
.RE
.PP
help|?
.RS 4
Print a list of available commands\&.
.RE
.PP
exit|quit
.RS 4
Leave regshell\&.
.RE
.SH "EXAMPLES"
.PP
Browsing thru a nt4 registry file
.sp
.if n \{\
.RS 4
.\}
.nf
\fBregshell \-b nt4 NTUSER\&.DAT\fR
$$$PROTO\&.HIV> \fBls\fR
K AppEvents
K Console
K Control Panel
K Environment
K Identities
K Keyboard Layout
K Network
K Printers
K Software
K UNICODE Program Groups
K Windows 3\&.1 Migration Status
$$$PROTO\&.HIV> \fBexit\fR
.fi
.if n \{\
.RE
.\}
.PP
Listing the subkeys of HKEY_CURRENT_USER\eAppEvents on a remote computer:
.sp
.if n \{\
.RS 4
.\}
.nf
\fBregshell \-\-remote=ncacn_np:aurelia \-c "jelmer%secret"\fR
HKEY_CURRENT_MACHINE> \fBpredef HKEY_CURRENT_USER\fR
HKEY_CURRENT_USER> \fBcd AppEvents\fR
Current path is: HKEY_CURRENT_USER\eAppEvents
HKEY_CURRENT_USER\eAppEvents> \fBls\fR
K EventLabels
K Schemes
HKEY_CURRENT_USER\eAppEvents> \fBexit\fR
.fi
.if n \{\
.RE
.\}
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
regtree, regdiff, regpatch, gregedit, samba
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
This manpage and regshell were written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,89 @@
'\" t
.\" Title: regtree
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "REGTREE" "1" "02/03/2013" "Samba 4\&.0" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
regtree \- Text\-mode registry viewer
.SH "SYNOPSIS"
.HP \w'\fBregtree\fR\ 'u
\fBregtree\fR [\-\-help] [\-\-backend=BACKEND] [\-\-fullpath] [\-\-no\-values] [\-\-credentials=CREDENTIALS] [location]
.SH "DESCRIPTION"
.PP
The regtree utility prints out all the contents of a Windows registry file\&. Subkeys are printed with one level more indentation than their parents\&.
.SH "OPTIONS"
.PP
\-\-help
.RS 4
Show list of available options\&.
.RE
.PP
\-\-backend BACKEND
.RS 4
Name of backend to load\&. Possible values are: creg, regf, dir and rpc\&. The default is
\fIdir\fR\&.
.RE
.PP
\-\-credentials=CREDENTIALS
.RS 4
Credentials to use, if any\&. Password should be separated from user name by a percent sign\&.
.RE
.PP
\-\-fullpath
.RS 4
Print the full path to each key instead of only its name\&.
.RE
.PP
\-\-no\-values
.RS 4
Don\*(Aqt print values, just keys\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
gregedit, regshell, regdiff, regpatch, samba
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
This manpage and regtree were written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,369 @@
'\" t
.\" Title: smbtorture
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 02/03/2013
.\" Manual: Test Suite
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "SMBTORTURE" "1" "02/03/2013" "Samba 4\&.0" "Test Suite"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
smbtorture \- Run a series of tests against a SMB server
.SH "SYNOPSIS"
.HP \w'\fBsmbtorture\fR\ 'u
\fBsmbtorture\fR
.HP \w'\fBsmbtorture\fR\ 'u
\fBsmbtorture\fR {//server/share} [\-d\ debuglevel] [\-U\ user%pass] [\-k] [\-N\ numprocs] [\-n\ netbios_name] [\-W\ workgroup] [\-o\ num_operations] [\-e\ num\ files(entries)] [\-O\ socket_options] [\-m\ maximum_protocol] [\-L] [\-c\ CLIENT\&.TXT] [\-t\ timelimit] [\-C\ filename] [\-A] [\-p\ port] [\-s\ seed] [\-f\ max_failures] [\-X] {BINDING\-STRING|UNC} {TEST1} [TEST2] [\&.\&.\&.]
.SH "DESCRIPTION"
.PP
smbtorture is a testsuite that runs several tests against a SMB server\&. All tests are known to succeed against a Windows 2003 server (?)\&. Smbtorture\*(Aqs primary goal is finding differences in implementations of the SMB protocol and testing SMB servers\&.
.PP
Any number of tests can be specified on the command\-line\&. If no tests are specified, all tests are run\&.
.PP
If no arguments are specified at all, all available options and tests are listed\&.
.SS "Binding string format"
.PP
The binding string format is:
.PP
TRANSPORT:host[flags]
.PP
Where TRANSPORT is either ncacn_np for SMB, ncacn_ip_tcp for RPC/TCP or ncalrpc for local connections\&.
.PP
\*(Aqhost\*(Aq is an IP or hostname or netbios name\&. If the binding string identifies the server side of an endpoint, \*(Aqhost\*(Aq may be an empty string\&.
.PP
\*(Aqflags\*(Aq can include a SMB pipe name if using the ncacn_np transport or a TCP port number if using the ncacn_ip_tcp transport, otherwise they will be auto\-determined\&.
.PP
other recognised flags are:
.PP
sign
.RS 4
enable ntlmssp signing
.RE
.PP
seal
.RS 4
enable ntlmssp sealing
.RE
.PP
connect
.RS 4
enable rpc connect level auth (auth, but no sign or seal)
.RE
.PP
validate
.RS 4
enable the NDR validator
.RE
.PP
print
.RS 4
enable debugging of the packets
.RE
.PP
bigendian
.RS 4
use bigendian RPC
.RE
.PP
padcheck
.RS 4
check reply data for non\-zero pad bytes
.RE
.PP
For example, these all connect to the samr pipe:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver[samr]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver[\e\epipe\e\esamr]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver[/pipe/samr]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver[samr,sign,print]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver[\e\epipe\e\esamr,sign,seal,bigendian]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:myserver[/pipe/samr,seal,validate]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_np:[/pipe/samr]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_ip_tcp:myserver
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_ip_tcp:myserver[1024]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncacn_ip_tcp:myserver[1024,sign,seal]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ncalrpc:
.RE
.SS "UNC Format"
.PP
The UNC format is:
.PP
//server/share
.SH "OPTIONS"
.PP
\-d debuglevel
.RS 4
Use the specified Samba debug level\&. A higher debug level means more output\&.
.RE
.PP
\-U user%pass
.RS 4
Use the specified username/password combination when logging in to a remote server\&.
.RE
.PP
\-k
.RS 4
Use kerberos when authenticating\&.
.RE
.PP
\-W workgroup
.RS 4
Use specified name as our workgroup name\&.
.RE
.PP
\-n netbios_name
.RS 4
Use specified name as our NetBIOS name\&.
.RE
.PP
\-O socket_options
.RS 4
Use specified socket options, equivalent of the smb\&.conf option
\(lqsocket options\(rq\&. See the smb\&.conf(5) manpage for details\&.
.RE
.PP
\-m max_protocol
.RS 4
Specify the maximum SMB dialect that should be used\&. Possible values are: CORE, COREPLUS, LANMAN1, LANMAN2, NT1
.RE
.PP
\-s seed
.RS 4
Initialize the randomizer using
\fIseed\fR
as seed\&.
.RE
.PP
\-L
.RS 4
Use oplocks\&.
.RE
.PP
\-X
.RS 4
Enable dangerous tests\&. Use with care! This might crash your server\&.\&.\&.
.RE
.PP
\-t timelimit
.RS 4
Specify the NBENCH time limit in seconds\&. Defaults to 600\&.
.RE
.PP
\-p ports
.RS 4
Specify ports to connect to\&.
.RE
.PP
\-c file
.RS 4
Read NBENCH commands from
\fIfile\fR
instead of from CLIENT\&.TXT\&.
.RE
.PP
\-A
.RS 4
Show not just OK or FAILED but more detailed output\&. Used only by DENY test at the moment\&.
.RE
.PP
\-C filename
.RS 4
Load a list of UNC names from the specified filename\&. Smbtorture instances will connect to a random host from this list\&.
.RE
.PP
\-N numprocs
.RS 4
Specify number of smbtorture processes to launch\&.
.RE
.PP
\-o num_operations
.RS 4
Number of times some operations should be tried before assuming they\*(Aqre output is consistent (default:100)\&.
.RE
.PP
\-e num_files
.RS 4
Number of entries to use in certain tests (such as creating X files) (default: 1000)\&.
.RE
.PP
\-f max_failures
.RS 4
Number of failures before aborting a test (default: 1)\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 4\&.0 of the Samba suite\&.
.SH "SEE ALSO"
.PP
Samba
.SH "AUTHOR"
.PP
This utility is part of the
\m[blue]\fBSamba\fR\m[]\&\s-2\u[1]\d\s+2
suite, which is developed by the global
\m[blue]\fBSamba Team\fR\m[]\&\s-2\u[2]\d\s+2\&.
.PP
smbtorture was written by Andrew Tridgell\&.
.PP
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Samba
.RS 4
\%http://www.samba.org/
.RE
.IP " 2." 4
Samba Team
.RS 4
\%http://www.samba.org/samba/team/
.RE

View File

@ -0,0 +1,17 @@
--- ./buildtools/scripts/abi_gen.sh.orig 2013-02-10 00:47:43.199878737 +0000
+++ ./buildtools/scripts/abi_gen.sh 2013-02-10 00:47:55.789877693 +0000
@@ -9,6 +9,7 @@
cat <<EOF
set height 0
set width 0
+set print sevenbit-strings on
EOF
nm "$SHAREDLIB" | cut -d' ' -f2- | egrep '^[BDGTRVWS]' | grep -v @ | egrep -v ' (__bss_start|_edata|_init|_fini|_end)' | cut -c3- | sort | while read s; do
echo "echo $s: "
@@ -17,5 +17,5 @@
) > $GDBSCRIPT
# forcing the terminal avoids a problem on Fedora12
-TERM=none gdb -batch -x $GDBSCRIPT "$SHAREDLIB" < /dev/null
+TERM=none %%GDB_CMD%% -batch -x $GDBSCRIPT "$SHAREDLIB" < /dev/null
rm -f $GDBSCRIPT

View File

@ -0,0 +1,11 @@
--- ./buildtools/wafsamba/samba_install.py.orig 2012-11-13 08:03:38.000000000 +0000
+++ ./buildtools/wafsamba/samba_install.py 2013-01-27 01:44:15.919866417 +0000
@@ -111,7 +111,7 @@
inst_name = bld.make_libname(t.target)
elif self.vnum:
vnum_base = self.vnum.split('.')[0]
- install_name = bld.make_libname(target_name, version=self.vnum)
+ install_name = bld.make_libname(target_name, version=vnum_base)
install_link = bld.make_libname(target_name, version=vnum_base)
inst_name = bld.make_libname(t.target)
if not self.private_library:

View File

@ -0,0 +1,11 @@
--- ./buildtools/wafsamba/samba_pidl.py.orig 2013-01-27 23:15:21.739874063 +0000
+++ ./buildtools/wafsamba/samba_pidl.py 2013-01-27 23:15:50.549893124 +0000
@@ -88,7 +88,7 @@
# prime the list of nodes we are dependent on with the cached pidl sources
t.allnodes = pidl_src_nodes
- t.env.PIDL = os.path.join(bld.srcnode.abspath(), 'pidl/pidl')
+ t.env.PIDL = os.path.join('%%LOCALBASE%%', 'bin/pidl')
t.env.OPTIONS = TO_LIST(options)
t.env.OUTPUTDIR = bld.bldnode.name + '/' + bld.path.find_dir(output_dir).bldpath(t.env)

View File

@ -0,0 +1,11 @@
--- ./buildtools/wafsamba/wafsamba.py.orig 2013-02-05 12:25:25.000000000 +0000
+++ ./buildtools/wafsamba/wafsamba.py 2013-02-06 02:15:45.969880485 +0000
@@ -790,7 +790,7 @@
'''build and install manual pages'''
bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl'
bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'
- bld.env.SAMBA_CATALOGS = 'file:///etc/xml/catalog file:///usr/local/share/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
+ bld.env.SAMBA_CATALOGS = 'file://%%LOCALBASE%%/share/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
for m in manpages.split():
source = m + '.xml'

View File

@ -0,0 +1,10 @@
--- ./docs-xml/wscript_build.orig 2013-02-05 02:34:14.929894486 +0000
+++ ./docs-xml/wscript_build 2013-02-05 02:34:33.030266035 +0000
@@ -3,7 +3,6 @@
manpages='''
manpages/eventlogadm.8
manpages/findsmb.1
- manpages/libsmbclient.7
manpages/lmhosts.5
manpages/log2pcap.1
manpages/idmap_ad.8

View File

@ -0,0 +1,34 @@
--- ./dynconfig/config.m4.orig 2012-10-02 08:38:44.000000000 +0000
+++ ./dynconfig/config.m4 2013-01-27 07:13:46.156404375 +0000
@@ -60,6 +60,22 @@
PRIVILEGED_SOCKET_DIR="\${localstatedir}/lib/samba"
fi
+AC_ARG_WITH(pkgconfigdir,
+[AS_HELP_STRING([--with-pkgconfigdir=DIR],
+ [Which directory to use for .pc files ($libdir/pkgconfig)])],
+[ case "$withval" in
+ yes|no)
+ #
+ # Just in case anybody calls it without argument
+ #
+ AC_MSG_WARN([--with-pkgconfigdir called without argument - will use default])
+ ;;
+ * )
+ PKGCONFIGDIR="$withval"
+ ;;
+ esac])
+
+
AC_ARG_WITH(modulesdir,
[AS_HELP_STRING([--with-modulesdir=DIR],
[Which directory to use for modules ($exec_prefix/modules)])],
@@ -261,7 +277,7 @@
NMBDSOCKETDIR="${SOCKET_DIR}/nmbd"
NTP_SIGND_SOCKET_DIR="${SOCKET_DIR}/ntp_signd"
NCALRPCDIR="${SOCKET_DIR}/ncalrpc"
-CONFIGFILE="${CONFIGDIR}/smb.conf"
+CONFIGFILE="${CONFIGDIR}/%%SAMBA4_CONFIG%%"
LMHOSTSFILE="${CONFIGDIR}/lmhosts"
SMB_PASSWD_FILE="${PRIVATE_DIR}/smbpasswd"

View File

@ -0,0 +1,32 @@
--- ./dynconfig/wscript.orig 2012-11-13 08:03:38.000000000 +0000
+++ ./dynconfig/wscript 2013-01-29 19:43:57.489880918 +0000
@@ -127,6 +127,8 @@
'PKGCONFIGDIR' : {
'STD-PATH': '${LIBDIR}/pkgconfig',
'FHS-PATH': '${LIBDIR}/pkgconfig',
+ 'OPTION': '--with-pkgconfigdir',
+ 'HELPTEXT': 'Where to put .pc files',
},
'SWATDIR' : {
'STD-PATH': '${DATADIR}/swat',
@@ -236,8 +238,8 @@
'DELAY': True,
},
'CONFIGFILE' : {
- 'STD-PATH': '${CONFIGDIR}/smb.conf',
- 'FHS-PATH': '${CONFIGDIR}/smb.conf',
+ 'STD-PATH': '${CONFIGDIR}/%%SAMBA4_CONFIG%%',
+ 'FHS-PATH': '${CONFIGDIR}/%%SAMBA4_CONFIG%%',
'DELAY': True,
},
'LMHOSTSFILE' : {
@@ -294,9 +296,6 @@
flavor = 'FHS-PATH'
else:
flavor = 'STD-PATH'
- if conf.env.PREFIX == '/usr' or conf.env.PREFIX == '/usr/local':
- Logs.error("Don't install directly under /usr or /usr/local without using the FHS option (--enable-fhs)")
- raise Utils.WafError("ERROR: invalid --prefix=%s value" % (conf.env.PREFIX))
explicit_set ={}

View File

@ -0,0 +1,10 @@
--- ./lib/replace/wscript.orig 2013-02-05 12:25:25.000000000 +0000
+++ ./lib/replace/wscript 2013-02-15 06:29:28.649888344 +0000
@@ -344,7 +344,6 @@
conf.CHECK_FUNCS_IN('gettext', 'intl', checklibc=True, headers='libintl.h')
conf.CHECK_FUNCS_IN('dgettext gettext', 'intl', headers='libintl.h')
- conf.CHECK_FUNCS_IN('pthread_create', 'pthread', checklibc=True, headers='pthread.h')
conf.CHECK_FUNCS_IN('crypt', 'crypt', checklibc=True)

View File

@ -0,0 +1,50 @@
https://bugzilla.samba.org/show_bug.cgi?id=9666
--- ./lib/socket/interfaces.c.orig 2012-10-02 08:24:40.000000000 +0000
+++ ./lib/socket/interfaces.c 2013-02-18 06:52:41.529874139 +0000
@@ -185,7 +185,22 @@
memcpy(&ifaces[total].ip, ifptr->ifa_addr, copy_size);
memcpy(&ifaces[total].netmask, ifptr->ifa_netmask, copy_size);
+ /* calculate broadcast address */
+#if defined(HAVE_IPV6)
+ if (ifptr->ifa_addr->sa_family == AF_INET6) {
+ struct sockaddr_in6 *sin6 =
+ (struct sockaddr_in6 *)ifptr->ifa_addr;
+ struct in6_addr *in6 =
+ (struct in6_addr *)&sin6->sin6_addr;
+ if (IN6_IS_ADDR_LINKLOCAL(in6) || IN6_IS_ADDR_V4COMPAT(in6)) {
+ sin6->sin6_scope_id = if_nametoindex(ifptr->ifa_name);
+ continue;
+ }
+ /* IPv6 does not have broadcast it uses multicast. */
+ memset(&ifaces[total].bcast, '\0', copy_size);
+ } else
+#endif
if (ifaces[total].flags & (IFF_BROADCAST|IFF_LOOPBACK)) {
make_bcast(&ifaces[total].bcast,
&ifaces[total].ip,
@@ -195,20 +210,8 @@
memcpy(&ifaces[total].bcast,
ifptr->ifa_dstaddr,
copy_size);
-#if defined(HAVE_IPV6)
- } else if (ifptr->ifa_addr->sa_family == AF_INET6) {
- const struct sockaddr_in6 *sin6 =
- (const struct sockaddr_in6 *)ifptr->ifa_addr;
- const struct in6_addr *in6 =
- (const struct in6_addr *)&sin6->sin6_addr;
-
- if (IN6_IS_ADDR_LINKLOCAL(in6) || IN6_IS_ADDR_V4COMPAT(in6)) {
- continue;
- }
- /* IPv6 does not have broadcast it uses multicast. */
- memset(&ifaces[total].bcast, '\0', copy_size);
-#endif
- } else {
+ }
+ else {
continue;
}

View File

@ -0,0 +1,82 @@
--- ./nsswitch/wins_freebsd.c.orig 2010-04-23 01:08:35.000000000 +0200
+++ ./nsswitch/wins_freebsd.c 2010-04-23 01:08:35.000000000 +0200
@@ -0,0 +1,79 @@
+/*
+ Unix SMB/CIFS implementation.
+
+ Copyright (C) Timur I. Bakeyev 2007
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include "winbind_client.h"
+
+NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
+ char *buffer, size_t buflen, int *h_errnop);
+
+NSS_METHOD_PROTOTYPE(__nss_wins_freebsd_gethostbyname2_r);
+
+static ns_mtab methods[] =
+{
+ { NSDB_HOSTS, "getaddrinfo", NULL, NULL },
+ { NSDB_HOSTS, "ghbyname", NULL, NULL },
+ { NSDB_HOSTS, "ghbyaddr", NULL, NULL },
+ { NSDB_HOSTS, "gethostbyaddr_r", NULL, NULL },
+ { NSDB_HOSTS, "gethostbyname2_r", __nss_wins_freebsd_gethostbyname2_r, _nss_wins_gethostbyname2_r },
+ { NSDB_HOSTS, "getnetbyname_r", NULL, NULL },
+ { NSDB_HOSTS, "getnetbyaddr_r", NULL, NULL },
+ { NSDB_HOSTS, "gethostbyname", NULL, NULL },
+ { NSDB_HOSTS, "gethostbyaddr", NULL, NULL },
+ { NSDB_HOSTS, "getnetbyname", NULL, NULL },
+ { NSDB_HOSTS, "getnetbyaddr", NULL, NULL }
+};
+
+int
+__nss_wins_freebsd_gethostbyname2_r(void *retval, void *mdata, va_list ap)
+{
+ int (*fn)(const char *, int, struct hostent *, char *, size_t, int *);
+ const char *hostname;
+ int af;
+ struct hostent *he;
+ char *buffer;
+ size_t buflen;
+ int *h_errnop;
+ enum nss_status status;
+
+ fn = mdata;
+ hostname = va_arg(ap, const char *);
+ af = va_arg(ap, int);
+ he = va_arg(ap, struct hostent *);
+ buffer = va_arg(ap, char *);
+ buflen = va_arg(ap, size_t);
+ h_errnop = va_arg(ap, int *);
+
+ status = fn(hostname, af, he, buffer, buflen, h_errnop);
+ status = __nss_compat_result(status, *h_errnop);
+ if (status == NS_SUCCESS)
+ *(struct hostent **)retval = he;
+
+ return (status);
+}
+
+ns_mtab *
+nss_module_register(const char *source __unused, unsigned int *mtabsize,
+ nss_module_unregister_fn *unreg)
+{
+ *mtabsize = sizeof(methods) / sizeof(methods[0]);
+ *unreg = NULL;
+ return (methods);
+}

View File

@ -0,0 +1,11 @@
--- ./nsswitch/wscript_build.orig 2012-12-04 10:07:44.000000000 +0000
+++ ./nsswitch/wscript_build 2013-02-02 17:36:40.409893341 +0000
@@ -42,7 +42,7 @@
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_linux.c winbind_nss_freebsd.c',
deps='winbind-client',
- realname='libnss_winbind.so.1',
+ realname='nss_winbind.so.1',
vnum='1')
elif (host_os.rfind('netbsd') > -1):

View File

@ -0,0 +1,19 @@
--- ./source3/modules/vfs_zfsacl.c.orig 2013-02-05 12:25:25.000000000 +0000
+++ ./source3/modules/vfs_zfsacl.c 2013-02-06 02:16:53.149872040 +0000
@@ -269,13 +269,14 @@
static SMB_ACL_T zfsacl_fail__sys_acl_get_file(vfs_handle_struct *handle,
const char *path_p,
- SMB_ACL_TYPE_T type)
+ SMB_ACL_TYPE_T type,
+ TALLOC_CTX *mem_ctx)
{
return (SMB_ACL_T)NULL;
}
static SMB_ACL_T zfsacl_fail__sys_acl_get_fd(vfs_handle_struct *handle,
- files_struct *fsp)
+ files_struct *fsp, TALLOC_CTX *mem_ctx)
{
return (SMB_ACL_T)NULL;
}

View File

@ -0,0 +1,19 @@
--- ./source3/smbd/quotas.c.orig 2010-04-01 15:26:22.000000000 +0200
+++ ./source3/smbd/quotas.c 2010-04-23 01:08:35.000000000 +0200
@@ -1235,6 +1235,7 @@
if (!cutstr)
return False;
+ memset(&D, '\0', sizeof(D));
memset(cutstr, '\0', len+1);
host = strncat(cutstr,mnttype, sizeof(char) * len );
DEBUG(5,("nfs_quotas: looking for mount on \"%s\"\n", cutstr));
@@ -1243,7 +1244,7 @@
args.gqa_pathp = testpath+1;
args.gqa_uid = uid;
- DEBUG(5,("nfs_quotas: Asking for host \"%s\" rpcprog \"%i\" rpcvers \"%i\" network \"%s\"\n", host, RQUOTAPROG, RQUOTAVERS, "udp"));
+ DEBUG(5,("nfs_quotas: Asking for host \"%s\" rpcprog \"%lu\" rpcvers \"%lu\" network \"%s\"\n", host, RQUOTAPROG, RQUOTAVERS, "udp"));
if ((clnt = clnt_create(host, RQUOTAPROG, RQUOTAVERS, "udp")) == NULL) {
ret = False;

View File

@ -0,0 +1,18 @@
--- ./source3/utils/net.c.orig 2013-01-29 08:49:31.000000000 +0000
+++ ./source3/utils/net.c 2013-01-31 15:04:24.069877314 +0000
@@ -898,8 +898,13 @@
set_global_myname(c->opt_requester_name);
}
- if (!c->opt_user_name && getenv("LOGNAME")) {
- c->opt_user_name = getenv("LOGNAME");
+ if (!c->opt_user_name) {
+ if(getenv("LOGNAME"))
+ c->opt_user_name = getenv("LOGNAME");
+ else
+ d_fprintf(stderr,
+ _("Environment LOGNAME is not defined."
+ " Trying anonymous access.\n"));
}
if (!c->opt_workgroup) {

View File

@ -0,0 +1,19 @@
--- ./source3/utils/net_time.c.orig 2010-04-01 15:26:22.000000000 +0200
+++ ./source3/utils/net_time.c 2010-04-23 01:08:35.000000000 +0200
@@ -87,10 +87,15 @@
if (!tm) {
return "unknown";
}
-
+#if defined(FREEBSD)
+ return talloc_asprintf(talloc_tos(), "%02d%02d%02d%02d%02d.%02d",
+ tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday,
+ tm->tm_hour, tm->tm_min, tm->tm_sec);
+#else
return talloc_asprintf(talloc_tos(), "%02d%02d%02d%02d%04d.%02d",
tm->tm_mon+1, tm->tm_mday, tm->tm_hour,
tm->tm_min, tm->tm_year + 1900, tm->tm_sec);
+#endif
}
int net_time_usage(struct net_context *c, int argc, const char **argv)

View File

@ -0,0 +1,55 @@
--- ./source3/winbindd/wscript_build.orig 2013-02-05 12:25:26.000000000 +0000
+++ ./source3/winbindd/wscript_build 2013-02-08 11:47:42.280566856 +0000
@@ -18,9 +18,9 @@
bld.SAMBA3_LIBRARY('idmap',
source=IDMAP_SRC,
- deps='samba-util',
- vars=locals(),
+ deps='samba-util pdb',
allow_undefined_symbols=True,
+ vars=locals(),
private_library=True)
bld.SAMBA3_SUBSYSTEM('IDMAP_HASH',
@@ -36,9 +36,9 @@
bld.SAMBA3_MODULE('idmap_ad',
subsystem='idmap',
- allow_undefined_symbols=True,
source='',
deps='IDMAP_AD',
+ allow_undefined_symbols=True,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.CONFIG_SET("HAVE_LDAP"))
@@ -80,6 +80,7 @@
subsystem='idmap',
source=IDMAP_TDB_SRC,
deps='samba-util tdb',
+ allow_undefined_symbols=True,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_tdb'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_tdb'))
@@ -87,7 +88,7 @@
bld.SAMBA3_MODULE('idmap_tdb2',
subsystem='idmap',
source=IDMAP_TDB2_SRC,
- deps='samba-util tdb',
+ deps='samba-util tdb param',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_tdb2'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_tdb2'))
@@ -105,10 +106,10 @@
subsystem='idmap',
source=IDMAP_AUTORID_SRC,
deps='samba-util tdb',
+ allow_undefined_symbols=True,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_autorid'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_autorid'),
- allow_undefined_symbols=True)
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_autorid'))
NSS_INFO_TEMPLATE_SRC = 'nss_info_template.c'

View File

@ -0,0 +1,68 @@
--- ./source3/wscript.orig 2013-02-05 12:25:26.000000000 +0000
+++ ./source3/wscript 2013-02-15 17:54:40.099886239 +0000
@@ -475,7 +475,7 @@
conf.CHECK_CODE('struct aiocb a; return aio_return(&a);', 'HAVE_AIO_RETURN', msg='Checking for aio_return', headers='aio.h', lib='aio rt')
conf.CHECK_CODE('struct aiocb a; return aio_error(&a);', 'HAVE_AIO_ERROR', msg='Checking for aio_error', headers='aio.h', lib='aio rt')
conf.CHECK_CODE('struct aiocb a; return aio_cancel(1, &a);', 'HAVE_AIO_CANCEL', msg='Checking for aio_cancel', headers='aio.h', lib='aio rt')
- conf.CHECK_CODE('struct aiocb a; struct timespec t; return aio_suspend(&a, 1, &t);', 'HAVE_AIO_SUSPEND', msg='Checking for aio_suspend', headers='aio.h', lib='aio rt')
+ conf.CHECK_CODE('const struct aiocb * const a[1]; struct timespec t; return aio_suspend(a, 1, &t);', 'HAVE_AIO_SUSPEND', msg='Checking for aio_suspend', headers='aio.h', lib='aio rt')
if not conf.CONFIG_SET('HAVE_AIO'):
conf.DEFINE('HAVE_NO_AIO', '1')
else:
@@ -1644,26 +1644,8 @@
if PTHREAD_LDFLAGS == 'error':
if conf.CHECK_FUNCS_IN('pthread_attr_init', 'pthread'):
- PTHREAD_CFLAGS='-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS'
- PTHREAD_LDFLAGS='-lpthread'
- if PTHREAD_LDFLAGS == 'error':
- if conf.CHECK_FUNCS_IN('pthread_attr_init', 'pthreads'):
- PTHREAD_CFLAGS='-D_THREAD_SAFE'
- PTHREAD_LDFLAGS='-lpthreads'
- if PTHREAD_LDFLAGS == 'error':
- if conf.CHECK_FUNCS_IN('pthread_attr_init', 'c_r'):
- PTHREAD_CFLAGS='-D_THREAD_SAFE -pthread'
+ PTHREAD_CFLAGS='-pthread'
PTHREAD_LDFLAGS='-pthread'
- if PTHREAD_LDFLAGS == 'error':
- if conf.CHECK_FUNCS('pthread_attr_init'):
- PTHREAD_CFLAGS='-D_REENTRANT'
- PTHREAD_LDFLAGS='-lpthread'
- # especially for HP-UX, where the CHECK_FUNC macro fails to test for
- # pthread_attr_init. On pthread_mutex_lock it works there...
- if PTHREAD_LDFLAGS == 'error':
- if conf.CHECK_FUNCS_IN('pthread_mutex_lock', 'pthread'):
- PTHREAD_CFLAGS='-D_REENTRANT'
- PTHREAD_LDFLAGS='-lpthread'
if PTHREAD_CFLAGS != 'error' and PTHREAD_LDFLAGS != 'error':
conf.ADD_CFLAGS(PTHREAD_CFLAGS)
@@ -1693,8 +1675,8 @@
auth_script vfs_readahead vfs_xattr_tdb vfs_posix_eadb
vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb
vfs_smb_traffic_analyzer vfs_preopen vfs_catia vfs_scannedonly
- vfs_media_harmony
- vfs_commit
+ vfs_media_harmony
+ vfs_commit
vfs_crossrename vfs_linux_xfs_sgid
vfs_time_audit idmap_autorid idmap_tdb2
idmap_rid idmap_hash'''))
@@ -1707,7 +1689,7 @@
if Options.options.enable_selftest or Options.options.developer:
default_shared_modules.extend(TO_LIST('vfs_fake_acls'))
-
+
if conf.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
default_static_modules.extend(TO_LIST('pdb_samba_dsdb auth_samba4 vfs_dfs_samba4'))
@@ -1740,7 +1722,7 @@
default_static_modules.extend(TO_LIST('charset_macosxfs'))
if conf.CONFIG_SET('HAVE_GPFS'):
- default_shared_modules.extend(TO_LIST('vfs_gpfs'))
+ default_shared_modules.extend(TO_LIST('vfs_gpfs'))
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')

View File

@ -0,0 +1,52 @@
--- ./source3/wscript_build.orig 2012-12-11 17:10:13.000000000 +0000
+++ ./source3/wscript_build 2013-02-05 04:25:57.199878484 +0000
@@ -1,7 +1,8 @@
#!/usr/bin/env python
from samba_utils import *
-import samba_version, samba3
+import samba_version, samba3, sys
+host_os = sys.platform
TDB_LIB_SRC = '''
lib/dbwrap/dbwrap_open.c
@@ -651,7 +652,16 @@
vnum='0',
vars=locals())
-bld.SAMBA3_LIBRARY('nss_wins',
+if (host_os.rfind('freebsd') > -1):
+ # FreeBSD winbind client is implemented as a wrapper around
+ # the Linux version.
+ bld.SAMBA3_LIBRARY('nss_wins',
+ source=' '.join([WINBIND_WINS_NSS_SRC, '../nsswitch/wins_freebsd.c']),
+ deps='''param libsmb LIBTSOCKET''',
+ realname='nss_wins.so.1',
+ vnum='1')
+else:
+ bld.SAMBA3_LIBRARY('nss_wins',
source=WINBIND_WINS_NSS_SRC,
deps='''param libsmb LIBTSOCKET''',
realname='libnss_wins.so.2',
@@ -972,10 +982,11 @@
LIBAFS_SETTOKEN
RPC_SERVER
NDR_SMBXSRV
- LIBASYS
+ LIBASYS
ccan-hash
NDR_SMB_ACL
netapi
+ inotify
''' + bld.env['dmapi_lib'],
private_library=True,
vars=locals())
@@ -1629,7 +1640,7 @@
bld.SAMBA3_PYTHON('pylibsmb',
source='libsmb/pylibsmb.c',
- deps='smbclient samba-credentials',
+ deps='smbclient samba-credentials libsmb errors',
realname='samba/samba3/libsmb_samba_internal.so'
)

View File

@ -0,0 +1,79 @@
From 27b732f6bfcdcd96fd76e89c624f5f18ca944531 Mon Sep 17 00:00:00 2001
From: Guenter Kukkukk <kukks@samba.org>
Date: Sat, 16 Feb 2013 16:53:16 +0100
Subject: [PATCH] Fix internal DNS dyn. update, seen as: ; TSIG error with server: tsig verify failure
The dns update signed response must be handled differently than the TKEY response
Signed-off-by: Guenter Kukkukk <kukks@samba.org>
---
source4/dns_server/dns_crypto.c | 44 ++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/source4/dns_server/dns_crypto.c b/source4/dns_server/dns_crypto.c
index 7604a05..71adf68 100644
--- ./source4/dns_server/dns_crypto.c
+++ ./source4/dns_server/dns_crypto.c
@@ -244,6 +244,8 @@ WERROR dns_sign_tsig(struct dns_server *dns,
DATA_BLOB packet_blob, tsig_blob, sig;
uint8_t *buffer = NULL;
size_t buffer_len = 0;
+ size_t miclen_bytes = 0;
+ size_t mic_size = 0;
struct dns_server_tkey * tkey = NULL;
struct dns_res_rec *tsig = talloc_zero(mem_ctx, struct dns_res_rec);
@@ -298,16 +300,44 @@ WERROR dns_sign_tsig(struct dns_server *dns,
return DNS_ERR(SERVER_FAILURE);
}
- buffer_len = packet_blob.length + tsig_blob.length;
- buffer = talloc_zero_array(mem_ctx, uint8_t, buffer_len);
- if (buffer == NULL) {
- return WERR_NOMEM;
- }
+ /* DNS update must be handled differently than the TKEY case */
+ if ((packet->operation & DNS_OPCODE) == DNS_OPCODE_UPDATE) {
+ /* Here the request MIC must be placed in front of the buffer.
+ Calculate the length of the buffer used for the request MIC:
+ 2 bytes (sizeof uint16_t) for the length itself
+ length bytes of the MIC (here 16 + 12 = 28 bytes) */
+ miclen_bytes = sizeof(state->tsig->rdata.tsig_record.mac_size);
+ mic_size = miclen_bytes + state->tsig->rdata.tsig_record.mac_size;
+
+ buffer_len = mic_size + packet_blob.length + tsig_blob.length;
+ buffer = talloc_zero_array(mem_ctx, uint8_t, buffer_len);
+ if (buffer == NULL) {
+ return WERR_NOMEM;
+ }
- memcpy(buffer, packet_blob.data, packet_blob.length);
- memcpy(buffer+packet_blob.length, tsig_blob.data, tsig_blob.length);
+ /* copy the 2 length bytes of request MIC in big-endian order */
+ RSSVAL(buffer,0,state->tsig->rdata.tsig_record.mac_size);
+ /* copy the request MIC itself */
+ memcpy(buffer + miclen_bytes, state->tsig->rdata.tsig_record.mac,
+ state->tsig->rdata.tsig_record.mac_size);
+
+ /* copy the remaining data */
+ memcpy(buffer + mic_size, packet_blob.data, packet_blob.length);
+ memcpy(buffer + mic_size + packet_blob.length, tsig_blob.data, tsig_blob.length);
+ } else {
+ buffer_len = packet_blob.length + tsig_blob.length;
+ buffer = talloc_zero_array(mem_ctx, uint8_t, buffer_len);
+ if (buffer == NULL) {
+ return WERR_NOMEM;
+ }
+
+ memcpy(buffer, packet_blob.data, packet_blob.length);
+ memcpy(buffer+packet_blob.length, tsig_blob.data, tsig_blob.length);
+ }
+ /* FIXME: as in the verify case, some padding is wrong */
+ buffer_len -=2;
status = gensec_sign_packet(tkey->gensec, mem_ctx, buffer, buffer_len,
buffer, buffer_len, &sig);
if (!NT_STATUS_IS_OK(status)) {
--
1.7.3.4

View File

@ -0,0 +1,12 @@
https://bugzilla.samba.org/show_bug.cgi?id=9664
--- ./source4/lib/cmdline/wscript_build.orig 2013-02-02 21:15:00.669868288 +0000
+++ ./source4/lib/cmdline/wscript_build 2013-02-02 21:16:06.379875983 +0000
@@ -4,6 +4,7 @@
source='credentials.c',
autoproto='credentials.h',
public_deps='samba-credentials popt',
+ deps='replace',
private_library=True)
bld.SAMBA_SUBSYSTEM('POPT_SAMBA',

View File

@ -0,0 +1,39 @@
https://bugzilla.samba.org/show_bug.cgi?id=9656
From 30d391abd0909b4838b87ddedf4d5fe037c514cf Mon Sep 17 00:00:00 2001
From: Landon Fuller <landonf@bikemonkey.org>
Date: Sat, 16 Feb 2013 22:57:40 -0500
Subject: [PATCH] Fallback to the internal resolver on EAI_FAIL.
On Linux, non-RFC 1034-complaint names (such as gc._msdsc.example.org)
will result in the resolver returning the non-POSIX EAI_NODATA. In that
case, the case statement here would fall back on the internal resolver,
allowing resolution to complete successfully.
On FreeBSD, the libc resolver uses the same validation code, but
the POSIX result of EAI_FAIL is returned instead of EAI_NODATA. Since
there was no case for this error code, no fallback to the internal
resolver would occur. This led to replication failing on FreeBSD.
---
source4/libcli/resolve/dns_ex.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c
index bc64e8d..3f47898 100644
--- ./source4/libcli/resolve/dns_ex.c
+++ ./source4/libcli/resolve/dns_ex.c
@@ -400,8 +400,10 @@ static void run_child_getaddrinfo(struct dns_ex_state *state, int fd)
#ifdef EAI_NODATA
case EAI_NODATA:
#endif
+ case EAI_FAIL:
+ /* Linux returns EAI_NODATA on non-RFC1034-compliant names. FreeBSD returns EAI_FAIL */
case EAI_NONAME:
- /* getaddrinfo() doesn't handle CNAME records */
+ /* getaddrinfo() doesn't handle CNAME or non-RFC1034 compatible records */
run_child_dns_lookup(state, fd);
return;
default:
--
1.8.1.3

View File

@ -0,0 +1,11 @@
--- ./source4/ntvfs/sysdep/wscript_build.orig 2012-10-02 08:24:48.000000000 +0000
+++ ./source4/ntvfs/sysdep/wscript_build 2013-02-05 04:12:51.899867297 +0000
@@ -4,7 +4,7 @@
source='inotify.c',
subsystem='sys_notify',
init_function='sys_notify_inotify_init',
- deps='events',
+ deps='events inotify',
enabled = bld.CONFIG_SET('HAVE_LINUX_INOTIFY')
)

View File

@ -0,0 +1,11 @@
--- ./source4/ntvfs/sysdep/wscript_configure.orig 2012-10-02 08:24:48.000000000 +0000
+++ ./source4/ntvfs/sysdep/wscript_configure 2013-02-05 04:12:51.909866322 +0000
@@ -5,5 +5,8 @@
conf.CHECK_DECLS('F_SETLEASE', headers='linux/fcntl.h', reverse=True)
conf.CHECK_DECLS('SA_SIGINFO', headers='signal.h', reverse=True)
+conf.SET_TARGET_TYPE('inotify', 'EMPTY')
+conf.CHECK_FUNCS_IN('inotify_init', 'inotify', checklibc=True, headers='sys/inotify.h')
+
if (conf.CONFIG_SET('HAVE_SYS_INOTIFY_H')):
conf.DEFINE('HAVE_LINUX_INOTIFY', 1)

View File

@ -0,0 +1,11 @@
--- ./source4/smbd/wscript_build.orig 2012-12-04 10:07:44.000000000 +0000
+++ ./source4/smbd/wscript_build 2013-01-27 01:44:15.919866417 +0000
@@ -17,7 +17,7 @@
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
-bld.SAMBA_BINARY('samba',
+bld.SAMBA_BINARY('samba4',
source='server.c',
subsystem_name='service',
deps='''events process_model service samba-hostconfig samba-util POPT_SAMBA

View File

@ -0,0 +1,18 @@
--- ./wscript.orig 2013-01-27 22:58:07.759866676 +0000
+++ ./wscript 2013-01-27 22:58:27.961081298 +0000
@@ -43,7 +43,6 @@
opt.RECURSE('lib/nss_wrapper')
opt.RECURSE('lib/socket_wrapper')
opt.RECURSE('lib/uid_wrapper')
- opt.RECURSE('pidl')
opt.RECURSE('source3')
opt.RECURSE('lib/util')
@@ -140,7 +139,6 @@
conf.RECURSE('lib/subunit/c')
conf.RECURSE('libcli/smbreadline')
conf.RECURSE('lib/crypto')
- conf.RECURSE('pidl')
conf.RECURSE('selftest')
conf.RECURSE('source3')

View File

@ -0,0 +1,10 @@
--- ./wscript_build.orig 2013-01-27 22:58:14.032166250 +0000
+++ ./wscript_build 2013-01-27 23:03:34.089892588 +0000
@@ -130,7 +130,6 @@
if bld.AD_DC_BUILD_IS_ENABLED():
bld.RECURSE('source4/setup')
bld.RECURSE('source4/scripting')
-bld.RECURSE('pidl')
bld.RECURSE('lib')
bld.RECURSE('libds/common')
bld.RECURSE('source3')

View File

@ -0,0 +1,36 @@
#! /bin/sh
#
PATH=/bin:/usr/sbin:/usr/bin:/usr/sbin
SAMBA4_LOGDIR="%%SAMBA4_LOGDIR%%"
SAMBA4_RUNDIR="%%SAMBA4_RUNDIR%%"
SAMBA4_LOCKDIR="%%SAMBA4_LOCKDIR%%"
SAMBA4_MODULEDIR="%%SAMBA4_MODULEDIR%%"
SAMBA4_PRIVATEDIR="%%SAMBA4_PRIVATEDIR%%"
SAMBA4_OWNER=root
SAMBA4_GROUP=wheel
INSTALL_DATA="install -c -m 0444"
INSTALL_DIR="install -d -m 0755"
CHMOD="chmod"
post-install() {
if [ $(id -u) -eq 0 ]; then
INSTALL_DATA="${INSTALL_DATA} -o ${SAMBA4_OWNER} -g ${SAMBA4_GROUP}"
INSTALL_DIR="${INSTALL_DIR} -o ${SAMBA4_OWNER} -g ${SAMBA4_GROUP}"
fi
${INSTALL_DIR} ${SAMBA4_LOGDIR}
${INSTALL_DIR} ${SAMBA4_RUNDIR}
${INSTALL_DIR} ${SAMBA4_LOCKDIR}
${INSTALL_DIR} ${SAMBA4_MODULEDIR}
${INSTALL_DIR} ${SAMBA4_PRIVATEDIR}
for dir in auth bind9 gensec gpext idmap ldb nss_info pdb perfcount \
process_model service vfs; do
${INSTALL_DIR} "${SAMBA4_MODULEDIR}/${dir}"
done
}
case $2 in
POST-INSTALL)
post-install
;;
esac

View File

@ -1,17 +1,24 @@
===============================================================================
This port is *HIGHLY* experimental, lacks documentation and, in general,
unsupported. Its solely purpose is to give you a grasp of upcoming Samba4
and try it.
This *IS NOT* production ready code. Use at your own risk.
This port is *STILL* experimental, use it at your own risk.
How to start: http://wiki.samba.org/index.php/Samba4/HOWTO
Provisioning script: %%PREFIX%%/sbin/provision
* Your configuration is: %%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%%
* All the relevant databases are under: %%SAMBA4_LOCKDIR%%
* All the logs are under: %%SAMBA4_LOGDIR%%
* Provisioning script is: %%PREFIX%%/bin/samba-tool
%%NSUPDATE%%You will need to specify location of the 'nsupdate' command in the
%%NSUPDATE%%%%SAMBA4_CONFIG%% file:
%%NSUPDATE%%
%%NSUPDATE%% nsupdate command = %%PREFIX%%/bin/samba-nsupdate -g
%%NSUPDATE%%
For additional documentation check: http://wiki.samba.org/index.php/Samba4
Bug reports should go to: https://bugzilla.samba.org/
Bug reports should go to the: https://bugzilla.samba.org/
===============================================================================

View File

@ -4,7 +4,7 @@
#
# PROVIDE: samba4
# REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv
# REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv ntpd
# BEFORE: LOGIN
# KEYWORD: shutdown
#
@ -14,26 +14,28 @@
#samba4_enable="YES"
#
# Configuration file can be set with:
#samba4_config="%%SAMBA_CONFDIR%%/%%SAMBA_CONFIG%%"
#samba4_config="%%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%%"
#
. /etc/rc.subr
name="samba4"
rcvar=samba4_enable
rcvar=$(set_rcvar)
load_rc_config "${name}"
# Defaults
samba4_enable=${samba4_enable:=NO}
samba4_flags=${samba4_flags=--daemon}
samba4_config_default="%%SAMBA_CONFDIR%%/%%SAMBA_CONFIG%%"
samba4_config_default="%%SAMBA4_CONFDIR%%/%%SAMBA4_CONFIG%%"
samba4_config=${samba4_config=${samba4_config_default}}
samba4_configfile_arg=${samba4_config:+--configfile="${samba4_config}"} #"
testparm_command="%%PREFIX%%/bin/testparm --suppress-prompt --verbose ${samba4_configfile_arg}"
# Fetch parameters from configuration file
samba4_lockdir=$(${testparm_command} --parameter-name='lock directory' 2>/dev/null)
# Runtime options
start_precmd="samba4_prestart"
restart_precmd="samba4_checkconfig"
command="%%PREFIX%%/sbin/${name}"
command_args=${samba4_configfile_arg}
@ -51,4 +53,15 @@ samba4_checkconfig() {
fi
}
samba4_prestart() {
# Make sure we have our RUNDIR, even if it's on a tmpfs
if [ ! -d "%%SAMBA4_RUNDIR%%" -a ! -e "%%SAMBA4_RUNDIR%%" ]; then
install -m 0755 -d "%%SAMBA4_RUNDIR%%"
fi
# Remove smbd.pid before starting up samba(needed for s3fs)
if [ -e "%%SAMBA4_RUNDIR%%/smbd.pid" ] ; then
rm -f "%%SAMBA4_RUNDIR%%/smbd.pid"
fi
}
run_rc_command "$1"

File diff suppressed because it is too large Load Diff