Commit 21fd343a authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Peter Korsgaard
Browse files

samba: bump to version 3.6.5 and enhancements



Bump samba to version 3.6.5 with SMB2 protocol support.

Use shared popt rather than the builtin - it saves some space if you've
already got it on your target.

mount.cifs & umount.cifs have been unbundled so remove the option -
users must use cifs-tools for that.

Add recommended enhancement from bug #807 (make iconv support optional).
Optional smbd was already commited some time ago.

Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent b396983c
Loading
Loading
Loading
Loading
+13 −37
Original line number Diff line number Diff line
config BR2_PACKAGE_SAMBA
	bool "samba"
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_POPT
	help
	  Provides print services to all manner of SMB/CIFS clients,
	  including the numerous versions of Microsoft Windows
@@ -11,20 +11,23 @@ config BR2_PACKAGE_SAMBA
	  NOTE: A complete Samba install takes over 50MB of space,
		so choose only the components you need.

menu "Samba tools selection"
	depends on BR2_PACKAGE_SAMBA
if BR2_PACKAGE_SAMBA

config BR2_PACKAGE_SAMBA_CIFS
	bool "cifs"
	default y
	depends on BR2_PACKAGE_SAMBA
config BR2_PACKAGE_SAMBA_LIBICONV
	bool "extended encodings (libiconv)"
	depends on !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_LIBICONV
	help
	  Support CIFS
	  Include libiconv support for extended conversion of filename
	  enconding. Samba has built-in support for UTF-8, ISO-8859-1
	  and ASCII, so this is only required if you want to support
	  other encodings.

menu "Samba tools selection"

config BR2_PACKAGE_SAMBA_EVENTLOGADM
	bool "eventlogadm"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Write Eventlog records to a tdb or perform other eventlog functions

@@ -43,14 +46,12 @@ comment "findsmb - disabled (requires nmblookup, smbclient and perl)"
config BR2_PACKAGE_SAMBA_NET
	bool "net"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Distributed SMB/CIFS Server Management Utility

config BR2_PACKAGE_SAMBA_NMBD
	bool "nmbd"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  NetBIOS name server to provide NetBIOS over IP naming services
	  to clients
@@ -58,7 +59,6 @@ config BR2_PACKAGE_SAMBA_NMBD
config BR2_PACKAGE_SAMBA_NMBLOOKUP
	bool "nmblookup"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Query NetBIOS names and map them to IP addresses in a network
	  using NetBIOS over TCP/IP queries
@@ -66,21 +66,18 @@ config BR2_PACKAGE_SAMBA_NMBLOOKUP
config BR2_PACKAGE_SAMBA_NTLM_AUTH
	bool "ntlm_auth"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Helper utility that authenticates users using NT/LM authentication

config BR2_PACKAGE_SAMBA_PDBEDIT
	bool "pdbedit"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Manage the SAM database (Database of Samba Users)

config BR2_PACKAGE_SAMBA_PROFILES
	bool "profiles"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Utility that reports and changes SIDs in Windows NT registry files

@@ -88,7 +85,6 @@ config BR2_PACKAGE_SAMBA_RPCCLIENT
	bool "rpcclient"
	select BR2_PACKAGE_READLINE
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Tool for executing client side MS-RPC functions using RPC
	  calls from a UNIX workstation.
@@ -96,7 +92,6 @@ config BR2_PACKAGE_SAMBA_RPCCLIENT
config BR2_PACKAGE_SAMBA_SMBCACLS
	bool "smbcacls"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Set or get ACLs on an NT file or directory names

@@ -104,84 +99,72 @@ config BR2_PACKAGE_SAMBA_SMBCLIENT
	bool "smbclient"
	select BR2_PACKAGE_READLINE
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  ftp-like client to access SMB/CIFS resources on servers

config BR2_PACKAGE_SAMBA_SMBCONTROL
	bool "smbcontrol"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Send messages to smbd, nmbd or winbindd processes

config BR2_PACKAGE_SAMBA_SMBCQUOTAS
	bool "smbcquotas"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Set or get QUOTAs of NTFS 5 shares

config BR2_PACKAGE_SAMBA_SMBD
	bool "smbd"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  The server daemon that provides filesharing and printing services

config BR2_PACKAGE_SAMBA_SMBGET
	bool "smbget"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  wget-like utility for download files over SMB

config BR2_PACKAGE_SAMBA_SMBLDBTOOLS
	bool "smbldbtools"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  ldbadd ldbdel ldbedit ldbmodify ldbrename ldbsearch tools

config BR2_PACKAGE_SAMBA_SMBPASSWD
	bool "smbpasswd"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Change a user's SMB passwd

config BR2_PACKAGE_SAMBA_SMBSHARESEC
	bool "smbsharesec"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Manipulate share permissions on SMB file shares

config BR2_PACKAGE_SAMBA_SMBSPOOL
	bool "smbspool"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Send a print file to an SMB printer

config BR2_PACKAGE_SAMBA_SMBSTATUS
	bool "smbstatus"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Report on current Samba connections

config BR2_PACKAGE_SAMBA_SMBTREE
	bool "smbtree"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  A text based smb network browser

config BR2_PACKAGE_SAMBA_SWAT
	bool "swat"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Samba Web Administration Tool

@@ -198,21 +181,18 @@ comment "smbtar - disabled (requires smbclient)"
config BR2_PACKAGE_SAMBA_TDB
	bool "tdb"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Tools to operate on the .tdb database files

config BR2_PACKAGE_SAMBA_TESTPARM
	bool "testparm"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Check an smb.conf configuration file for internal correctness

config BR2_PACKAGE_SAMBA_WINBINDD
	bool "winbindd"
	default y
	depends on BR2_PACKAGE_SAMBA
	help
	  Name Service Switch daemon for resolving names from NT servers

@@ -227,11 +207,9 @@ endmenu


menu "Samba libraries selection"
	depends on BR2_PACKAGE_SAMBA

config BR2_PACKAGE_SAMBA_LIBSMBCLIENT
	bool "libsmbclient"
	depends on BR2_PACKAGE_SAMBA
	help
	  libsmbclient is a library toolset that permits applications
	  to manipulate CIFS/SMB network resources using many of the
@@ -242,12 +220,10 @@ endmenu


menu "Samba support selection"
	depends on BR2_PACKAGE_SAMBA

config BR2_PACKAGE_SAMBA_AVAHI
	bool "support avahi"
	default y
	depends on BR2_PACKAGE_SAMBA
	depends on BR2_PACKAGE_AVAHI_DAEMON
	select BR2_PACKAGE_DBUS
	help
@@ -259,7 +235,6 @@ comment "support avahi - disabled (requires avahi-daemon)"
config BR2_PACKAGE_SAMBA_GAMIN
	bool "support gamin"
	default y
	depends on BR2_PACKAGE_SAMBA
	depends on BR2_PACKAGE_GAMIN
	help
	  Include support for gamin
@@ -269,3 +244,4 @@ comment "support gamin - disabled (requires gamin)"

endmenu

endif
+0 −21
Original line number Diff line number Diff line
--- a/client/mount.cifs.c	2011-09-13 10:26:21.000000000 +0200
+++ b/client/mount.cifs.c	2011-09-13 10:27:16.000000000 +0200
@@ -39,7 +39,6 @@
 #include <mntent.h>
 #include <fcntl.h>
 #include <limits.h>
-#include <fstab.h>
 #include "mount.h"
 
 #define MOUNT_CIFS_VERSION_MAJOR "1"
@@ -255,6 +254,10 @@
 	return 0;
 }
 #else /* CIFS_LEGACY_SETUID_CHECK */
+
+#ifndef _PATH_FSTAB
+#define _PATH_FSTAB "/etc/fstab"
+#endif
 static int
 check_fstab(const char *progname, char *mountpoint, char *devname,
 	    char **options)
+19 −0
Original line number Diff line number Diff line
Patch from OpenWRT.
Don't check for buggy getaddrinfo() assume it's safe if it's present.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

--- a/source3/configure
+++ b/source3/configure
@@ -13285,10 +13285,7 @@ if test x"$libreplace_cv_HAVE_GETADDRINF
 	# see bug 5910, use our replacements if we detect
 	# a broken system.
 	if test "$cross_compiling" = yes; then :
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
+		$as_echo "assuming valid getaddrinfo without bug 5910" >&2
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+0 −20
Original line number Diff line number Diff line
--- a/source3/registry/reg_perfcount.c
+++ b/source3/registry/reg_perfcount.c
@@ -616,14 +616,14 @@ static bool _reg_perfcount_add_counter(P
 	obj = NULL;
 	memset(buf, 0, PERFCOUNT_MAX_LEN);
 	memcpy(buf, data.dptr, data.dsize);
-	begin = index(buf, '[');
-	end = index(buf, ']');
+	begin = strchr(buf, '[');
+	end = strchr(buf, ']');
 	if(begin == NULL || end == NULL)
 		return False;
 	start = begin+1;
 
 	while(start < end) {
-		stop = index(start, ',');
+		stop = strchr(start, ',');
 		if(stop == NULL)
 			stop = end;
 		*stop = '\0';
+13 −21
Original line number Diff line number Diff line
@@ -4,21 +4,19 @@
#
#############################################################

SAMBA_VERSION = 3.5.15
SAMBA_VERSION = 3.6.5
SAMBA_SITE = http://ftp.samba.org/pub/samba/stable
SAMBA_SUBDIR = source3
SAMBA_INSTALL_STAGING = YES


SAMBA_DEPENDENCIES = \
	$(if $(BR2_ENABLE_LOCALE),,libiconv) \
SAMBA_DEPENDENCIES = popt \
	$(if $(BR2_PACKAGE_SAMBA_RPCCLIENT),readline) \
	$(if $(BR2_PACKAGE_SAMBA_SMBCLIENT),readline) \
	$(if $(BR2_PACKAGE_SAMBA_AVAHI),avahi) \
	$(if $(BR2_PACKAGE_SAMBA_GAMIN),gamin)


SAMBA_CONF_ENV = \
	ac_cv_file__proc_sys_kernel_core_pattern=yes \
	samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \
	samba_cv_USE_SETREUID=yes \
	samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes \
@@ -31,7 +29,6 @@ SAMBA_CONF_ENV = \
	libreplace_cv_HAVE_IPV6=$(if $(BR2_INET_IPV6),yes,no) \
	$(if $(BR2_PACKAGE_SAMBA_AVAHI),AVAHI_LIBS=-pthread)


SAMBA_CONF_OPT = \
	--localstatedir=/var \
	--with-piddir=/var/run \
@@ -51,49 +48,38 @@ SAMBA_CONF_OPT = \
	$(if $(BR2_PACKAGE_SAMBA_SWAT),--enable-swat,--disable-swat) \
	\
	--without-cluster-support \
	--without-cifsupcall \
	--without-dnsupdate \
	$(if $(BR2_INET_RPC),--with-sys-quotas,--without-sys-quotas) \
	--without-ads \
	--without-ldap \
	--with-included-popt \
	--with-included-iniparser \
	--with-libiconv=$(STAGING_DIR) \
	\
	$(if $(BR2_PACKAGE_SAMBA_CIFS),--with-cifsmount,--without-cifsmount) \
	$(if $(BR2_PACKAGE_SAMBA_RPCCLIENT),--with-readline=$(STAGING_DIR)) \
	$(if $(BR2_PACKAGE_SAMBA_SMBCLIENT),--with-readline=$(STAGING_DIR)) \
	$(if $(BR2_PACKAGE_SAMBA_WINBINDD),--with-winbind,--without-winbind)


SAMBA_INSTALL_TARGET_OPT = \
	DESTDIR=$(TARGET_DIR) -C $(SAMBA_DIR)/$(SAMBA_SUBDIR) \
	installlibs installservers installbin installscripts \
	$(if $(BR2_PACKAGE_SAMBA_CIFS),installcifsmount) \
	$(if $(BR2_PACKAGE_SAMBA_SWAT),installswat)


SAMBA_UNINSTALL_TARGET_OPT = \
	DESTDIR=$(TARGET_DIR) -C $(SAMBA_DIR)/$(SAMBA_SUBDIR) \
	uninstalllibs uninstallservers uninstallbin uninstallscripts \
	$(if $(BR2_PACKAGE_SAMBA_CIFS),uninstallcifsmount) \
	$(if $(BR2_PACKAGE_SAMBA_SWAT),uninstallswat)


# binaries to keep
SAMBA_BINTARGETS_y = \
	usr/sbin/smbd \
	usr/lib/libtalloc.so \
	usr/lib/libtdb.so


# binaries to remove
SAMBA_BINTARGETS_ = \
	usr/lib/libnetapi.so* \
	usr/lib/libsmbsharemodes.so*


# binaries to keep or remove
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/mount.cifs
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_CIFS) += usr/sbin/umount.cifs
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_EVENTLOGADM) += usr/bin/eventlogadm
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NET) += usr/bin/net
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_NMBD) += usr/sbin/nmbd
@@ -131,7 +117,6 @@ SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WBINFO) += usr/bin/wbinfo
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_WINBINDD) += usr/lib/libwbclient.so*
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_LIBSMBCLIENT) += usr/lib/libsmbclient.so*


# non-binaries to remove
SAMBA_TXTTARGETS_ = \
	usr/include/libsmbclient.h \
@@ -141,7 +126,6 @@ SAMBA_TXTTARGETS_ = \
	usr/include/tdb.h \
	usr/include/wbclient.h


# non-binaries to keep or remove
SAMBA_TXTTARGETS_$(BR2_PACKAGE_SAMBA_FINDSMB) += usr/bin/findsmb
SAMBA_TXTTARGETS_$(BR2_PACKAGE_SAMBA_SMBTAR) += usr/bin/smbtar
@@ -163,6 +147,14 @@ define SAMBA_REMOVE_SWAT_DOCUMENTATION
	rm -rf $(TARGET_DIR)/usr/swat/help/welcome.html
endef

# --with-libiconv="" is to avoid detecting host libiconv and build failure
ifeq ($(BR2_PACKAGE_SAMBA_LIBICONV),y)
SAMBA_DEPENDENCIES += libiconv
SAMBA_CONF_OPT += --with-libiconv=$(STAGING_DIR)
else
SAMBA_CONF_OPT += --with-libiconv=""
endif

ifeq ($(BR2_PACKAGE_SAMBA_SWAT),y)
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_REMOVE_SWAT_DOCUMENTATION