Update to 4.0.0rc1.

This commit is contained in:
Andreas Schneider 2012-09-26 14:23:24 +02:00
parent ce3342b6dc
commit f6791b27d8
22 changed files with 1570 additions and 1261 deletions

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: samba
# $Id$
NAME := samba
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

20
README.dc Normal file
View File

@ -0,0 +1,20 @@
MIT Kerberos 5 Support
=======================
Fedora is using MIT Kerberos implementation as its Kerberos infrastructure of
choice. Samba 4 build in Fedora is using MIT Kerberos implementation in order
to allow system-wide interoperability between both desktop and server
applications running on the same machine.
At the moment Samba 4 Active Directory Domain Controller implementation is not
available with MIT Kereberos. FreeIPA and Samba Team members are currently
working on Samba 4 MIT Kerberos support as this is a requirement for a
GNU/Linux distribution integration of Samba 4 AD DC features.
We have just finished migrating the file server and all client utilities to MIT
Kerberos. The result of this work is available in samba4-* packages in Fedora.
We'll provide Samba 4 AD DC functionality as soon as its support of MIT
Kerberos KDC will be ready.
In case of further questions do not hesitate to send your inquiries to
samba4-owner@fedoraproject.org

29
README.downgrade Normal file
View File

@ -0,0 +1,29 @@
Downgrading Samba
=================
Short version: data-preserving downgrades between Samba versions are not supported
Long version:
With Samba development there are cases when on-disk database format evolves.
In general, Samba Team attempts to maintain forward compatibility and
automatically upgrade databases during runtime when requires.
However, when downgrade is required Samba will not perform downgrade to
existing databases. It may be impossible if new features that caused database
upgrade are in use. Thus, one needs to consider a downgrade procedure before
actually downgrading Samba setup.
Please always perform back up prior both upgrading and downgrading across major
version changes. Restoring database files is easiest and simplest way to get to
previously working setup.
Easiest way to downgrade is to remove all created databases and start from scratch.
This means losing all authentication and domain relationship data, as well as
user databases (in case of tdb storage), printers, registry settings, and winbindd
caches.
Remove databases in following locations:
/var/lib/samba/*.tdb
/var/lib/samba/private/*.tdb
In particular, registry settings are known to prevent running downgraded versions
(Samba 4 to Samba 3) as registry format has changed between Samba 3 and Samba 4.

114
nmb.init
View File

@ -1,114 +0,0 @@
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba smbd and nmbd daemons \
# used to provide SMB network services.
#
# pidfile: /var/run/samba/nmbd.pid
# config: /etc/samba/smb.conf
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 1
fi
# Avoid using root's TMPDIR
unset TMPDIR
# Source networking configuration.
. /etc/sysconfig/network
if [ -f /etc/sysconfig/samba ]; then
. /etc/sysconfig/samba
fi
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1
# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 6
RETVAL=0
start() {
KIND="NMB"
echo -n $"Starting $KIND services: "
daemon nmbd $NMBDOPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/nmb || \
RETVAL=1
return $RETVAL
}
stop() {
KIND="NMB"
echo -n $"Shutting down $KIND services: "
killproc nmbd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nmb
return $RETVAL
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading smb.conf file: "
killproc nmbd -HUP
RETVAL=$?
echo
return $RETVAL
}
rhstatus() {
status -l nmb nmbd
return $?
}
# Allow status as non-root.
if [ "$1" = status ]; then
rhstatus
exit $?
fi
# Check that we can write to it... so non-root users stop here
[ -w /etc/samba/smb.conf ] || exit 4
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/nmb ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
exit 2
esac
exit $?

View File

@ -1,90 +0,0 @@
diff -ur samba-3.0.0rc3/source/lib/popt_common.c samba-3.0.0rc3-lhh/source/lib/popt_common.c
--- samba-3.0.0rc3/source/lib/popt_common.c 2003-09-10 13:57:00.000000000 -0400
+++ samba-3.0.0rc3-lhh/source/lib/popt_common.c 2003-09-11 13:49:24.000000000 -0400
@@ -87,7 +87,7 @@
case 'n':
if (arg) {
- set_global_myname(arg);
+ set_global_myname_override(arg);
}
break;
diff -ur samba-3.0.0rc3/source/lib/util.c samba-3.0.0rc3-lhh/source/lib/util.c
--- samba-3.0.0rc3/source/lib/util.c 2003-09-08 12:04:35.000000000 -0400
+++ samba-3.0.0rc3-lhh/source/lib/util.c 2003-09-11 13:47:18.000000000 -0400
@@ -84,6 +84,7 @@
***********************************************************************/
static char *smb_myname;
+static char *smb_myname_override;
static char *smb_myworkgroup;
static char *smb_scope;
static int smb_num_netbios_names;
@@ -108,6 +109,27 @@
return smb_myname;
}
+
+/***********************************************************************
+ Allocate and set override for myname. Ensure upper case.
+***********************************************************************/
+
+BOOL set_global_myname_override(const char *myname)
+{
+ SAFE_FREE(smb_myname_override);
+ smb_myname_override = strdup(myname);
+ if (!smb_myname_override)
+ return False;
+ strupper_m(smb_myname_override);
+ return True;
+}
+
+const char *global_myname_override(void)
+{
+ return smb_myname_override;
+}
+
+
/***********************************************************************
Allocate and set myworkgroup. Ensure upper case.
***********************************************************************/
diff -ur samba-3.0.0rc3/source/nmbd/nmbd.c samba-3.0.0rc3-lhh/source/nmbd/nmbd.c
--- samba-3.0.0rc3/source/nmbd/nmbd.c 2003-09-10 13:57:00.000000000 -0400
+++ samba-3.0.0rc3-lhh/source/nmbd/nmbd.c 2003-09-11 14:05:21.000000000 -0400
@@ -608,6 +608,7 @@
{"hosts", 'H', POPT_ARG_STRING, dyn_LMHOSTSFILE, 'H', "Load a netbios hosts file"},
{"port", 'p', POPT_ARG_INT, &global_nmb_port, NMB_PORT, "Listen on the specified port" },
POPT_COMMON_SAMBA
+ POPT_COMMON_CONNECTION
{ NULL }
};
diff -ur samba-3.0.0rc3/source/param/loadparm.c samba-3.0.0rc3-lhh/source/param/loadparm.c
--- samba-3.0.0rc3/source/param/loadparm.c 2003-09-08 12:04:35.000000000 -0400
+++ samba-3.0.0rc3-lhh/source/param/loadparm.c 2003-09-11 14:00:51.000000000 -0400
@@ -1327,7 +1327,10 @@
*/
string_set(&Globals.szPasswdChat, DEFAULT_PASSWD_CHAT);
- set_global_myname(myhostname());
+ if (!global_myname_override())
+ set_global_myname(myhostname());
+ else
+ set_global_myname(global_myname_override());
string_set(&Globals.szNetbiosName,global_myname());
set_global_myworkgroup(WORKGROUP);
@@ -2698,6 +2701,12 @@
BOOL ret;
pstring netbios_name;
+ if (global_myname_override()) {
+ DEBUG(4, ("handle_netbios_name: ignoring netbios name "
+ "parameter"));
+ return True;
+ }
+
pstrcpy(netbios_name, pszParmValue);
standard_sub_basic(current_user_info.smb_name, netbios_name,sizeof(netbios_name));

View File

@ -1,11 +0,0 @@
--- samba-3.2.0pre1/source3/winbindd/winbindd_group.c.star 2007-10-03 17:40:31.000000000 -0400
+++ samba-3.2.0pre1/source3/winbindd/winbindd_group.c 2007-10-03 17:40:46.000000000 -0400
@@ -215,7 +215,7 @@
/* Group name and password */
safe_strcpy(gr->gr_name, full_group_name, sizeof(gr->gr_name) - 1);
- safe_strcpy(gr->gr_passwd, "x", sizeof(gr->gr_passwd) - 1);
+ safe_strcpy(gr->gr_passwd, "*", sizeof(gr->gr_passwd) - 1);
return True;
}

View File

@ -1,11 +0,0 @@
--- samba-3.2.0pre1/nsswitch/winbind_struct_protocol.h.pipedir 2007-10-03 15:32:23.000000000 -0400
+++ samba-3.2.0pre1/nsswitch/winbind_struct_protocol.h 2007-10-03 15:33:13.000000000 -0400
@@ -24,7 +24,7 @@
* is needed for launchd support -- jpeach.
*/
#ifndef WINBINDD_SOCKET_DIR
-#define WINBINDD_SOCKET_DIR "/tmp/.winbindd" /* Name of PF_UNIX dir */
+#define WINBINDD_SOCKET_DIR "/var/run/winbindd" /* Name of PF_UNIX dir */
#endif
/*

View File

@ -1,47 +0,0 @@
--- source3/smbd/notify_inotify.c.inotify 2009-12-15 09:25:26.000000000 +0100
+++ source3/smbd/notify_inotify.c 2009-12-17 18:42:06.000000000 +0100
@@ -75,6 +75,7 @@
struct sys_notify_context *ctx;
int fd;
struct inotify_watch_context *watches;
+ bool broken_inotify; /* Late stop for broken system */
};
struct inotify_watch_context {
@@ -239,8 +240,15 @@
filenames, and thus can't know how much to allocate
otherwise
*/
- if (ioctl(in->fd, FIONREAD, &bufsize) != 0 ||
- bufsize == 0) {
+ if ((ioctl(in->fd, FIONREAD, &bufsize) != 0) && (errno == EACCES)) {
+ /*
+ * Workaround for broken system (SELinux policy bug fixed since long but it is always better not to loop on EACCES)
+ */
+ TALLOC_FREE(fde);
+ in->broken_inotify = True;
+ return;
+ }
+ if (bufsize == 0) {
DEBUG(0,("No data on inotify fd?!\n"));
TALLOC_FREE(fde);
return;
@@ -297,6 +305,7 @@
}
in->ctx = ctx;
in->watches = NULL;
+ in->broken_inotify = False;
ctx->private_data = in;
talloc_set_destructor(in, inotify_destructor);
@@ -391,6 +400,10 @@
in = talloc_get_type(ctx->private_data, struct inotify_private);
+ if (in->broken_inotify) {
+ return NT_STATUS_OK;
+ }
+
mask = inotify_map(e);
if (mask == 0) {
/* this filter can't be handled by inotify */

View File

@ -1,251 +0,0 @@
From 2464a7b0ddb556bed86a845c9400e26c4d7f584a Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Wed, 30 Nov 2011 17:58:30 +0100
Subject: [PATCH] s3-libsmb: Remove obsolete smb_krb5_locate_kdc.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Günther Deschner <gd@samba.org>
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Thu Feb 9 14:58:57 CET 2012 on sn-devel-104
---
source3/configure.in | 1 -
source3/include/krb5_protos.h | 4 --
source3/libsmb/clikrb5.c | 89 -----------------------------------------
source3/wscript | 2 +-
4 files changed, 1 insertions(+), 95 deletions(-)
diff --git a/source3/configure.in b/source3/configure.in
index 298fe1b..1ce1a5b 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3860,7 +3860,6 @@ if test x"$with_ads_support" != x"no"; then
AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_locate_kdc, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_free_data_contents, $KRB5_LIBS)
diff --git a/source3/include/krb5_protos.h b/source3/include/krb5_protos.h
index 32f995c..f16cafd 100644
--- a/source3/include/krb5_protos.h
+++ b/source3/include/krb5_protos.h
@@ -67,10 +67,6 @@ bool setup_kaddr( krb5_address *pkaddr, struct sockaddr_storage *paddr);
int create_kerberos_key_from_string(krb5_context context, krb5_principal host_princ, krb5_data *password, krb5_keyblock *key, krb5_enctype enctype, bool no_salt);
bool get_auth_data_from_tkt(TALLOC_CTX *mem_ctx, DATA_BLOB *auth_data, krb5_ticket *tkt);
krb5_const_principal get_principal_from_tkt(krb5_ticket *tkt);
-krb5_error_code smb_krb5_locate_kdc(krb5_context ctx, const krb5_data *realm, struct sockaddr **addr_pp, int *naddrs, int get_masters);
-#if defined(HAVE_KRB5_LOCATE_KDC)
-krb5_error_code krb5_locate_kdc(krb5_context ctx, const krb5_data *realm, struct sockaddr **addr_pp, int *naddrs, int get_masters);
-#endif
krb5_error_code get_kerberos_allowed_etypes(krb5_context context, krb5_enctype **enctypes);
bool get_krb5_smb_session_key(TALLOC_CTX *mem_ctx,
krb5_context context,
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index 9af3e49..8cea29c 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -488,95 +488,6 @@
#endif
}
-#if !defined(HAVE_KRB5_LOCATE_KDC)
-
-/* krb5_locate_kdc is an internal MIT symbol. MIT are not yet willing to commit
- * to a public interface for this functionality, so we have to be able to live
- * without it if the MIT libraries are hiding their internal symbols.
- */
-
-#if defined(KRB5_KRBHST_INIT)
-/* Heimdal */
- krb5_error_code smb_krb5_locate_kdc(krb5_context ctx, const krb5_data *realm, struct sockaddr **addr_pp, int *naddrs, int get_masters)
-{
- krb5_krbhst_handle hnd;
- krb5_krbhst_info *hinfo;
- krb5_error_code rc;
- int num_kdcs, i;
- struct sockaddr *sa;
- struct addrinfo *ai;
-
- *addr_pp = NULL;
- *naddrs = 0;
-
- rc = krb5_krbhst_init(ctx, realm->data, KRB5_KRBHST_KDC, &hnd);
- if (rc) {
- DEBUG(0, ("smb_krb5_locate_kdc: krb5_krbhst_init failed (%s)\n", error_message(rc)));
- return rc;
- }
-
- for ( num_kdcs = 0; (rc = krb5_krbhst_next(ctx, hnd, &hinfo) == 0); num_kdcs++)
- ;
-
- krb5_krbhst_reset(ctx, hnd);
-
- if (!num_kdcs) {
- DEBUG(0, ("smb_krb5_locate_kdc: zero kdcs found !\n"));
- krb5_krbhst_free(ctx, hnd);
- return -1;
- }
-
- sa = SMB_MALLOC_ARRAY( struct sockaddr, num_kdcs );
- if (!sa) {
- DEBUG(0, ("smb_krb5_locate_kdc: malloc failed\n"));
- krb5_krbhst_free(ctx, hnd);
- naddrs = 0;
- return -1;
- }
-
- memset(sa, '\0', sizeof(struct sockaddr) * num_kdcs );
-
- for (i = 0; i < num_kdcs && (rc = krb5_krbhst_next(ctx, hnd, &hinfo) == 0); i++) {
-
-#if defined(HAVE_KRB5_KRBHST_GET_ADDRINFO)
- rc = krb5_krbhst_get_addrinfo(ctx, hinfo, &ai);
- if (rc) {
- DEBUG(0,("krb5_krbhst_get_addrinfo failed: %s\n", error_message(rc)));
- continue;
- }
-#endif
- if (hinfo->ai && hinfo->ai->ai_family == AF_INET)
- memcpy(&sa[i], hinfo->ai->ai_addr, sizeof(struct sockaddr));
- }
-
- krb5_krbhst_free(ctx, hnd);
-
- *naddrs = num_kdcs;
- *addr_pp = sa;
- return 0;
-}
-
-#else /* ! defined(KRB5_KRBHST_INIT) */
-
- krb5_error_code smb_krb5_locate_kdc(krb5_context ctx, const krb5_data *realm,
- struct sockaddr **addr_pp, int *naddrs, int get_masters)
-{
- DEBUG(0, ("unable to explicitly locate the KDC on this platform\n"));
- return KRB5_KDC_UNREACH;
-}
-
-#endif /* KRB5_KRBHST_INIT */
-
-#else /* ! HAVE_KRB5_LOCATE_KDC */
-
- krb5_error_code smb_krb5_locate_kdc(krb5_context ctx, const krb5_data *realm,
- struct sockaddr **addr_pp, int *naddrs, int get_masters)
-{
- return krb5_locate_kdc(ctx, realm, addr_pp, naddrs, get_masters);
-}
-
-#endif /* HAVE_KRB5_LOCATE_KDC */
-
#if !defined(HAVE_KRB5_FREE_UNPARSED_NAME)
void krb5_free_unparsed_name(krb5_context context, char *val)
{
diff --git a/source3/wscript b/source3/wscript
index 901d2b6..40b2cde 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -639,7 +639,7 @@
krb5_set_real_time krb5_set_default_in_tkt_etypes krb5_set_default_tgs_enctypes
krb5_set_default_tgs_ktypes krb5_principal2salt krb5_use_enctype
krb5_string_to_key krb5_get_pw_salt krb5_string_to_key_salt krb5_auth_con_setkey
-krb5_auth_con_setuseruserkey krb5_locate_kdc krb5_get_permitted_enctypes
+krb5_auth_con_setuseruserkey krb5_get_permitted_enctypes
krb5_get_default_in_tkt_etypes krb5_free_data_contents
krb5_principal_get_comp_string krb5_free_unparsed_name
krb5_free_keytab_entry_contents krb5_kt_free_entry krb5_krbhst_init
--
1.7.7.6
From 419e92b1499c77ddf3648d6b99ed482a57b3e713 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Wed, 30 Nov 2011 17:39:22 +0100
Subject: [PATCH] s3-net: Don't use an internal krb5 for kdc lookup.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This replaces the use of the internal krb5_locate_kdc() function with
our own get_kdc_list() function.
Signed-off-by: Günther Deschner <gd@samba.org>
---
source3/utils/net_lookup.c | 42 +++++++++++++++++++++++-------------------
1 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/source3/utils/net_lookup.c b/source3/utils/net_lookup.c
index febf481..7b2a214 100644
--- a/source3/utils/net_lookup.c
+++ b/source3/utils/net_lookup.c
@@ -276,10 +276,11 @@ static int net_lookup_kdc(struct net_context *c, int argc, const char **argv)
#ifdef HAVE_KRB5
krb5_error_code rc;
krb5_context ctx;
- struct sockaddr_in *addrs;
- int num_kdcs,i;
- krb5_data realm;
- char **realms;
+ struct ip_service *kdcs;
+ const char *realm;
+ int num_kdcs = 0;
+ int i;
+ NTSTATUS status;
initialize_krb5_error_table();
rc = krb5_init_context(&ctx);
@@ -289,34 +290,37 @@ static int net_lookup_kdc(struct net_context *c, int argc, const char **argv)
return -1;
}
- if (argc>0) {
- realm.data = CONST_DISCARD(char *, argv[0]);
- realm.length = strlen(argv[0]);
+ if (argc > 0) {
+ realm = argv[0];
} else if (lp_realm() && *lp_realm()) {
- realm.data = lp_realm();
- realm.length = strlen((const char *)realm.data);
+ realm = lp_realm();
} else {
+ char **realms;
+
rc = krb5_get_host_realm(ctx, NULL, &realms);
if (rc) {
DEBUG(1,("krb5_gethost_realm failed (%s)\n",
error_message(rc)));
return -1;
}
- realm.data = (char *) *realms;
- realm.length = strlen((const char *)realm.data);
+ realm = (const char *) *realms;
}
- rc = smb_krb5_locate_kdc(ctx, &realm, (struct sockaddr **)(void *)&addrs, &num_kdcs, 0);
- if (rc) {
- DEBUG(1, ("smb_krb5_locate_kdc failed (%s)\n", error_message(rc)));
+ status = get_kdc_list(realm, NULL, &kdcs, &num_kdcs);
+ if (!NT_STATUS_IS_OK(status)) {
+ DEBUG(1,("get_kdc_list failed (%s)\n", nt_errstr(status)));
return -1;
}
- for (i=0;i<num_kdcs;i++)
- if (addrs[i].sin_family == AF_INET)
- d_printf("%s:%hd\n", inet_ntoa(addrs[i].sin_addr),
- ntohs(addrs[i].sin_port));
- return 0;
+ for (i = 0; i < num_kdcs; i++) {
+ char addr[INET6_ADDRSTRLEN];
+
+ print_sockaddr(addr, sizeof(addr), &kdcs[i].ss);
+
+ d_printf("%s:%hd\n", addr, kdcs[i].port);
+ }
+
+ return 0;
#endif
DEBUG(1, ("No kerberos support\n"));
return -1;

View File

@ -0,0 +1,33 @@
From a7a6a368f87c8b8af80511f1a3b32a457e48aa99 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Thu, 13 Sep 2012 17:52:13 +0200
Subject: [PATCH] docs: Fix generating idmap manpages.
Signed-off-by: Andreas Schneider <asn@samba.org>
---
docs-xml/wscript_build | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index 14fa152..9a17be3 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -6,6 +6,14 @@ manpages='''
manpages/libsmbclient.7
manpages/lmhosts.5
manpages/log2pcap.1
+ manpages/idmap_ad.8
+ manpages/idmap_autorid.8
+ manpages/idmap_hash.8
+ manpages/idmap_ldap.8
+ manpages/idmap_nss.8
+ manpages/idmap_rid.8
+ manpages/idmap_tdb.8
+ manpages/idmap_tdb2.8
manpages/net.8
manpages/nmbd.8
manpages/nmblookup.1
--
1.7.12

View File

@ -0,0 +1,84 @@
commit be7a856f5bd251dc84a72eb56cf011facd10988f
Author: Alexander Bokovoy <ab@samba.org>
AuthorDate: Thu Sep 13 15:40:31 2012 +0300
Commit: Alexander Bokovoy <ab@samba.org>
CommitDate: Thu Sep 13 17:36:07 2012 +0200
s3: make ldapsam-related functions a smbldaphelper subsystem
Since these functions are used in pdb_ldap and idmap_ldap, and
pdb_ldap might be statically linked to libpdb (default), it is
better to keep them as separate subsystem to avoid polluting libpdb
namespace.
This is first step in refactoring libpdb. Right now I cannot move
these functions into proper libsmbldaphelper as it uses more of
libpdb-included functions and linking pdb_ldap against libsmbldaphelper
library would have created a loop if pdb_ldap is included into libpdb.
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Thu Sep 13 17:36:07 CEST 2012 on sn-devel-104
---
source3/passdb/wscript_build | 4 ++--
source3/winbindd/wscript_build | 2 +-
source3/wscript_build | 5 ++++-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/source3/passdb/wscript_build b/source3/passdb/wscript_build
index 1dfdfd0..d26afc2 100644
--- a/source3/passdb/wscript_build
+++ b/source3/passdb/wscript_build
@@ -1,7 +1,7 @@
#!/usr/bin/env python
PDB_TDBSAM_SRC = 'pdb_tdb.c'
-PDB_LDAP_SRC = 'pdb_ldap.c pdb_nds.c pdb_ipa.c pdb_ldap_util.c'
+PDB_LDAP_SRC = 'pdb_ldap.c pdb_nds.c pdb_ipa.c'
PDB_SMBPASSWD_SRC = 'pdb_smbpasswd.c'
PDB_WBC_SAM_SRC = 'pdb_wbc_sam.c'
@@ -15,7 +15,7 @@ bld.SAMBA3_MODULE('pdb_tdbsam',
bld.SAMBA3_MODULE('pdb_ldap',
subsystem='pdb',
- deps='smbldap',
+ deps='smbldap smbldaphelper',
source=PDB_LDAP_SRC,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldap'),
diff --git a/source3/winbindd/wscript_build b/source3/winbindd/wscript_build
index 9f11aff..af3741b 100644
--- a/source3/winbindd/wscript_build
+++ b/source3/winbindd/wscript_build
@@ -62,7 +62,7 @@ bld.SAMBA3_MODULE('idmap_passdb',
bld.SAMBA3_MODULE('idmap_ldap',
subsystem='idmap',
source=IDMAP_LDAP_SRC,
- deps='smbldap',
+ deps='smbldap smbldaphelper',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ldap'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ldap') and bld.env.HAVE_LDAP)
diff --git a/source3/wscript_build b/source3/wscript_build
index c7395e7..c534ae6 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -215,7 +215,6 @@ PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c
passdb/account_pol.c ${PRIVILEGES_SRC}
lib/util_nscd.c lib/winbind_util.c
passdb/pdb_util.c passdb/pdb_interface.c
- passdb/pdb_ldap_schema.c
passdb/pdb_secrets.c
passdb/pdb_unixid.c'''
#FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC
@@ -733,6 +732,10 @@ bld.SAMBA3_LIBRARY('pdb',
vnum='0',
vars=locals())
+bld.SAMBA3_SUBSYSTEM('smbldaphelper',
+ source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
+ deps='smbldap secrets3 pdb')
+
bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
source=SERVER_MUTEX_SRC,
deps='talloc')

View File

@ -0,0 +1,42 @@
commit 2a7484eb7286a6896826ad1ed15aa7b1760a451c
Author: Matthieu Patou <mat@matws.net>
AuthorDate: Mon Sep 17 16:51:02 2012 -0700
Commit: Stefan Metzmacher <metze@samba.org>
CommitDate: Tue Sep 18 06:12:00 2012 +0200
panic action is defined as GLOBAL_VAR(szPanicAction) not GLOBAL_VAR(panic_action)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Sep 18 06:12:00 CEST 2012 on sn-devel-104
---
lib/param/loadparm.c | 2 +-
source3/param/loadparm.c | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 990dd29..b2e4218 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -2295,7 +2295,7 @@ static bool lpcfg_update(struct loadparm_context *lp_ctx)
return true;
}
- panic_action = lp_ctx->globals->panic_action;
+ panic_action = lp_ctx->globals->szPanicAction;
reload_charcnv(lp_ctx);
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index f1999ad..61606ce 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -131,7 +131,6 @@ static bool defaults_saved = false;
char *tls_cafile; \
char *tls_crlfile; \
char *tls_dhpfile; \
- char *panic_action; \
int bPreferredMaster;
#include "param/param_global.h"

View File

@ -0,0 +1,155 @@
commit 73ed1533105ac3f90813e5a0e7888a095eff4b75
Author: Alexander Bokovoy <ab@samba.org>
AuthorDate: Mon Sep 17 13:07:26 2012 +0300
Commit: Alexander Bokovoy <ab@samba.org>
CommitDate: Mon Sep 17 14:18:31 2012 +0200
docs-xml: convert smb.conf.5 build to waf
smb.conf(5) is different from other manpages because before it is
built, it gets merged together from a number of smaller files, one
per parameter. So we first create a parameters.all.xml file that
references all these files and then include it into master smb.conf.5.xml
One small issue is how to handle generated files in WAF build
from xi:include perspective as the files are generated in bin/default/docs-xml
rather than in docs-xml. We solve this by further expanding use of XML catalogs
and rewriting virtual path http://www.samba.org/samba/smbdotconf/ to proper
location.
Both docs-xml autoconf and waf builds work correctly now.
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Mon Sep 17 14:18:31 CEST 2012 on sn-devel-104
---
buildtools/wafsamba/wafsamba.py | 6 ++++--
docs-xml/build/catalog.xml.in | 7 +++++--
docs-xml/manpages/smb.conf.5.xml | 5 ++++-
docs-xml/wscript_build | 25 +++++++++++++++++++++++--
wscript_build | 6 ++++--
5 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 1f71bd3..50bd4fa 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -789,14 +789,16 @@ def SAMBAMANPAGES(bld, manpages):
'''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'
- os.environ["XML_CATALOG_FILES"] = 'file:///etc/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
+ bld.env.SAMBA_CATALOGS = 'file:///etc/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
for m in manpages.split():
source = m + '.xml'
bld.SAMBA_GENERATOR(m,
source=source,
target=m,
group='final',
- rule='${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC} && ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'
+ rule='''export XML_CATALOG_FILES="${SAMBA_CATALOGS}"
+ ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC}
+ ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'''
)
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
Build.BuildContext.SAMBAMANPAGES = SAMBAMANPAGES
diff --git a/docs-xml/build/catalog.xml.in b/docs-xml/build/catalog.xml.in
index 4b99cf5..56d13a6 100644
--- a/docs-xml/build/catalog.xml.in
+++ b/docs-xml/build/catalog.xml.in
@@ -6,9 +6,12 @@
<rewriteURI
uriStartString="http://www.samba.org/samba/DTD/"
- rewritePrefix="file://@abs_top_builddir@/build/DTD/"/>
+ rewritePrefix="file://@abs_top_srcdir@/build/DTD/"/>
<rewriteURI
uriStartString="http://www.gnu.org/licenses/"
- rewritePrefix="file://@abs_top_builddir@/Samba3-ByExample/"/>
+ rewritePrefix="file://@abs_top_srcdir@/Samba3-ByExample/"/>
+ <rewriteURI
+ uriStartString="http://www.samba.org/samba/smbdotconf/"
+ rewritePrefix="file://@abs_top_builddir@/smbdotconf/"/>
</catalog>
diff --git a/docs-xml/manpages/smb.conf.5.xml b/docs-xml/manpages/smb.conf.5.xml
index e09eee0..a73382f 100644
--- a/docs-xml/manpages/smb.conf.5.xml
+++ b/docs-xml/manpages/smb.conf.5.xml
@@ -757,7 +757,10 @@ chmod 1770 /usr/local/samba/lib/usershares
<title>EXPLANATION OF EACH PARAMETER</title>
<samba:parameterlist>
- <xi:include href="../smbdotconf/parameters.all.xml" parse="xml"/>
+ <!-- The URI below is resolved to local generated version of parameters.all.xml //-->
+ <!-- WAF build places it in bin/default/docs-xml/smbdotconf/parameters.all.xml //-->
+ <!-- and we redirect there via use of XML_CATALOG_FILES, see docs-xml/build/catalog.xml.in //-->
+ <xi:include href="http://www.samba.org/samba/smbdotconf/parameters.all.xml" parse="xml"/>
</samba:parameterlist>
</refsect1>
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index 011854b..c5d5839 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-
+from samba_utils import save_file
manpages='''
manpages/eventlogadm.8
manpages/findsmb.1
@@ -23,7 +23,6 @@ manpages='''
manpages/rpcclient.1
manpages/samba.7
manpages/sharesec.1
- manpages/smb.conf.5
manpages/smbcacls.1
manpages/smbclient.1
manpages/smbcontrol.1
@@ -87,8 +86,30 @@ pam_winbind_manpages = '''
krb5_locator_manpages = 'manpages/winbind_krb5_locator.7'
+def smbdotconf_generate_parameter_list(task):
+ parameter_all = task.outputs[0].bldpath(task.env)
+ articles = task.inputs
+
+ t = '<section xmlns:xi="http://www.w3.org/2003/XInclude">\n'
+ for article in articles:
+ t += "<xi:include href='file://" + article.abspath(task.env) + "' parse='xml'/>\n"
+ t += "</section>\n"
+ save_file(parameter_all, t , create_dir=True)
+ return 0
+
+def SMBDOTCONF_MANPAGE(bld, target):
+ ''' assemble and build smb.conf.5 manual page'''
+ articles = bld.path.ant_glob("smbdotconf/**/*.xml")
+ parameter_all = 'smbdotconf/parameters.all.xml'
+ bld.SAMBA_GENERATOR(parameter_all,
+ source=articles,
+ target=parameter_all,
+ rule=smbdotconf_generate_parameter_list)
+ bld.SAMBAMANPAGES(target)
+
if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
+ SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5')
bld.SAMBAMANPAGES(manpages)
if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
diff --git a/wscript_build b/wscript_build
index 5434056..0098036 100755
--- a/wscript_build
+++ b/wscript_build
@@ -144,7 +144,9 @@ bld.RECURSE('testsuite/headers')
bld.SYMBOL_CHECK()
bld.DUP_SYMBOL_CHECK()
-bld.env.ABS_TOP_BUILDDIR = bld.srcnode.abspath() + '/docs-xml'
+bld.env.ABS_TOP_SRCDIR = bld.srcnode.abspath() + '/docs-xml'
+bld.env.ABS_TOP_BUILDDIR = bld.srcnode.abspath() + '/bin/default/docs-xml'
bld.CONFIGURE_FILE('docs-xml/build/catalog.xml',
- ABS_TOP_BUILDDIR = bld.env.ABS_TOP_BUILDDIR)
+ ABS_TOP_BUILDDIR = bld.env.ABS_TOP_BUILDDIR,
+ ABS_TOP_SRCDIR=bld.env.ABS_TOP_SRCDIR)
bld.RECURSE('docs-xml')

View File

@ -0,0 +1,26 @@
commit 35a4a1ed1f0fc6f1cbccd31bb7db9431b2518a5b
Author: Andrew Bartlett <abartlet@samba.org>
AuthorDate: Fri Sep 14 11:58:02 2012 -0700
Commit: Andrew Bartlett <abartlet@samba.org>
CommitDate: Fri Sep 14 22:53:30 2012 +0200
build: Fix build on systems without ldap development headers
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Sep 14 22:53:30 CEST 2012 on sn-devel-104
---
source3/wscript_build | 1 +
1 file changed, 1 insertion(+)
diff --git a/source3/wscript_build b/source3/wscript_build
index 60965ef..7e39ec3 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -740,6 +740,7 @@ bld.SAMBA3_LIBRARY('smbldaphelper',
source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
deps='smbldap secrets3',
allow_undefined_symbols=True,
+ enabled=bld.env.HAVE_LDAP,
private_library=True)
bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',

View File

@ -0,0 +1,112 @@
commit 86a4ca28649141f77556208b833db2e076c0125d
Author: Alexander Bokovoy <ab@samba.org>
AuthorDate: Thu Sep 13 20:29:25 2012 +0300
Commit: Alexander Bokovoy <ab@samba.org>
CommitDate: Fri Sep 14 01:02:21 2012 +0200
s3: make smbldaphelper subsystem an internal library
Break pdb_ldap -> smbldaphelper -> pdb -> pdb_ldap loop by
making smbldaphelp intentionally underlinked internal library.
It means that libsmbldaphelp is not usable unless its user is
also linked to libpdb (that is the case for both its users,
idmap_ldap and pdb_ldap, already) but gives us a break of
the circular dependency in case pdb_ldap statically linked
into pdb (default).
This should solve case when idmap_ldap and pdb_ldap are dynamically
loaded modules
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Fri Sep 14 01:02:21 CEST 2012 on sn-devel-104
---
source3/passdb/ABI/pdb-0.sigs | 7 -------
source3/winbindd/wscript_build | 2 +-
source3/wscript_build | 12 +++++++++---
3 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/source3/passdb/ABI/pdb-0.sigs b/source3/passdb/ABI/pdb-0.sigs
index 2b57301..bc82ff3 100644
--- a/source3/passdb/ABI/pdb-0.sigs
+++ b/source3/passdb/ABI/pdb-0.sigs
@@ -16,19 +16,14 @@ algorithmic_pdb_rid_is_user: bool (uint32_t)
algorithmic_pdb_uid_to_user_rid: uint32_t (uid_t)
algorithmic_pdb_user_rid_to_uid: uid_t (uint32_t)
algorithmic_rid_base: int (void)
-attrib_map_to_delete_v30: {attrib = 5, name = 0xXXXX "sambaPwdLastSet"}, {attrib = 6, name = 0xXXXX "sambaPwdCanChange"}, {attrib = 7, name = 0xXXXX "sambaPwdMustChange"}, {attrib = 8, name = 0xXXXX "sambaLogonTime"}, {attrib = 9, name = 0xXXXX "sambaLogoffTime"}, {attrib = 10, name = 0xXXXX "sambaKickoffTime"}, {attrib = 12, name = 0xXXXX "displayName"}, {attrib = 29, name = 0xXXXX "sambaHomeDrive"}, {attrib = 13, name = 0xXXXX "sambaHomePath"}, {attrib = 14, name = 0xXXXX "sambaLogonScript"}, {attrib = 15, name = 0xXXXX "sambaProfilePath"}, {attrib = 17, name = 0xXXXX "sambaUserWorkstations"}, {attrib = 18, name = 0xXXXX "sambaSID"}, {attrib = 19, name = 0xXXXX "sambaPrimaryGroupSID"}, {attrib = 21, name = 0xXXXX "sambaLMPassword"}, {attrib = 22, name = 0xXXXX "sambaNTPassword"}, {attrib = 23, name = 0xXXXX "sambaDomainName"}, {attrib = 25, name = 0xXXXX "sambaAcctFlags"}, {attrib = 37, name = 0xXXXX "sambaMungedDial"}, {attrib = 35, name = 0xXXXX "sambaBadPasswordCount"}, {attrib = 38, name = 0xXXXX "sambaBadPasswordTime"}, {attrib = 39, name = 0xXXXX "sambaPasswordHistory"}, {attrib = 42, name = 0xXXXX "sambaLogonHours"}, {attrib = 0, name = 0xXXXX}
-attrib_map_v30: {attrib = 1, name = 0xXXXX "uid"}, {attrib = 2, name = 0xXXXX "uidNumber"}, {attrib = 3, name = 0xXXXX "gidNumber"}, {attrib = 4, name = 0xXXXX "homeDirectory"}, {attrib = 5, name = 0xXXXX "sambaPwdLastSet"}, {attrib = 6, name = 0xXXXX "sambaPwdCanChange"}, {attrib = 7, name = 0xXXXX "sambaPwdMustChange"}, {attrib = 8, name = 0xXXXX "sambaLogonTime"}, {attrib = 9, name = 0xXXXX "sambaLogoffTime"}, {attrib = 10, name = 0xXXXX "sambaKickoffTime"}, {attrib = 11, name = 0xXXXX "cn"}, {attrib = 44, name = 0xXXXX "sn"}, {attrib = 12, name = 0xXXXX "displayName"}, {attrib = 29, name = 0xXXXX "sambaHomeDrive"}, {attrib = 13, name = 0xXXXX "sambaHomePath"}, {attrib = 14, name = 0xXXXX "sambaLogonScript"}, {attrib = 15, name = 0xXXXX "sambaProfilePath"}, {attrib = 16, name = 0xXXXX "description"}, {attrib = 17, name = 0xXXXX "sambaUserWorkstations"}, {attrib = 18, name = 0xXXXX "sambaSID"}, {attrib = 19, name = 0xXXXX "sambaPrimaryGroupSID"}, {attrib = 21, name = 0xXXXX "sambaLMPassword"}, {attrib = 22, name = 0xXXXX "sambaNTPassword"}, {attrib = 23, name = 0xXXXX "sambaDomainName"}, {attrib = 24, name = 0xXXXX "objectClass"}, {attrib = 25, name = 0xXXXX "sambaAcctFlags"}, {attrib = 37, name = 0xXXXX "sambaMungedDial"}, {attrib = 35, name = 0xXXXX "sambaBadPasswordCount"}, {attrib = 38, name = 0xXXXX "sambaBadPasswordTime"}, {attrib = 39, name = 0xXXXX "sambaPasswordHistory"}, {attrib = 41, name = 0xXXXX "modifyTimestamp"}, {attrib = 42, name = 0xXXXX "sambaLogonHours"}, {attrib = 0, name = 0xXXXX}
builtin_domain_name: const char *(void)
cache_account_policy_get: bool (enum pdb_policy_type, uint32_t *)
cache_account_policy_set: bool (enum pdb_policy_type, uint32_t)
create_builtin_administrators: NTSTATUS (const struct dom_sid *)
create_builtin_users: NTSTATUS (const struct dom_sid *)
decode_account_policy_name: const char *(enum pdb_policy_type)
-dominfo_attr_list: {attrib = 23, name = 0xXXXX "sambaDomainName"}, {attrib = 34, name = 0xXXXX "sambaNextRid"}, {attrib = 26, name = 0xXXXX "sambaNextUserRid"}, {attrib = 27, name = 0xXXXX "sambaNextGroupRid"}, {attrib = 28, name = 0xXXXX "sambaSID"}, {attrib = 33, name = 0xXXXX "sambaAlgorithmicRidBase"}, {attrib = 24, name = 0xXXXX "objectClass"}, {attrib = 0, name = 0xXXXX}
get_account_pol_db: struct db_context *(void)
get_account_policy_attr: const char *(enum pdb_policy_type)
-get_attr_key2string: const char *(ATTRIB_MAP_ENTRY *, int)
-get_attr_list: const char **(TALLOC_CTX *, ATTRIB_MAP_ENTRY *)
get_domain_group_from_sid: bool (struct dom_sid, GROUP_MAP *)
get_primary_group_sid: NTSTATUS (TALLOC_CTX *, const char *, struct passwd **, struct dom_sid **)
get_privileges_for_sid_as_set: NTSTATUS (TALLOC_CTX *, PRIVILEGE_SET **, struct dom_sid *)
@@ -42,7 +37,6 @@ grant_all_privileges: bool (const struct dom_sid *)
grant_privilege_by_name: bool (const struct dom_sid *, const char *)
grant_privilege_set: bool (const struct dom_sid *, struct lsa_PrivilegeSet *)
groupdb_tdb_init: const struct mapping_backend *(void)
-idpool_attr_list: {attrib = 2, name = 0xXXXX "uidNumber"}, {attrib = 3, name = 0xXXXX "gidNumber"}, {attrib = 24, name = 0xXXXX "objectClass"}, {attrib = 0, name = 0xXXXX}
init_account_policy: bool (void)
init_buffer_from_samu: uint32_t (uint8_t **, struct samu *, bool)
init_samu_from_buffer: bool (struct samu *, uint32_t, uint8_t *, uint32_t)
@@ -272,7 +266,6 @@ sid_check_is_wellknown_builtin: bool (const struct dom_sid *)
sid_check_is_wellknown_domain: bool (const struct dom_sid *, const char **)
sid_to_gid: bool (const struct dom_sid *, gid_t *)
sid_to_uid: bool (const struct dom_sid *, uid_t *)
-sidmap_attr_list: {attrib = 32, name = 0xXXXX "sambaSID"}, {attrib = 2, name = 0xXXXX "uidNumber"}, {attrib = 3, name = 0xXXXX "gidNumber"}, {attrib = 24, name = 0xXXXX "objectClass"}, {attrib = 0, name = 0xXXXX}
sids_to_unixids: bool (const struct dom_sid *, uint32_t, struct unixid *)
smb_add_user_group: int (const char *, const char *)
smb_create_group: int (const char *, gid_t *)
diff --git a/source3/winbindd/wscript_build b/source3/winbindd/wscript_build
index af3741b..302b9ee 100644
--- a/source3/winbindd/wscript_build
+++ b/source3/winbindd/wscript_build
@@ -62,7 +62,7 @@ bld.SAMBA3_MODULE('idmap_passdb',
bld.SAMBA3_MODULE('idmap_ldap',
subsystem='idmap',
source=IDMAP_LDAP_SRC,
- deps='smbldap smbldaphelper',
+ deps='smbldap smbldaphelper pdb',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ldap'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ldap') and bld.env.HAVE_LDAP)
diff --git a/source3/wscript_build b/source3/wscript_build
index c534ae6..60965ef 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -710,7 +710,11 @@ private_pdb_match.append('!idmap_xids_to_sids')
# ldap module is actually three modules merged together: ldapsam, ipa, and nds
static_pdb_match = static_pdb_match + ['ldap', 'ipa', 'nds']
-ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info', '!ldapsam_*', '!groupmap_attr_list*', '!get_userattr_list']
+ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info',
+ '!ldapsam_*', '!groupmap_attr_list*', '!get_userattr_list',
+ '!dominfo_attr_list', '!get_attr_key2string',
+ '!sidmap_attr_list', '!attrib_map_*', '!idpool_attr_list',
+ '!get_attr_list']
private_pdb_match.append('!pdb_nds_*')
private_pdb_match.append('!pdb_init_ldapsam')
private_pdb_match = private_pdb_match + ldapsam_pdb_match
@@ -732,9 +736,11 @@ bld.SAMBA3_LIBRARY('pdb',
vnum='0',
vars=locals())
-bld.SAMBA3_SUBSYSTEM('smbldaphelper',
+bld.SAMBA3_LIBRARY('smbldaphelper',
source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
- deps='smbldap secrets3 pdb')
+ deps='smbldap secrets3',
+ allow_undefined_symbols=True,
+ private_library=True)
bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
source=SERVER_MUTEX_SRC,

View File

@ -0,0 +1,30 @@
commit e7a58bc251bd74c3c7c64ee4f5cb85ec76852a8d
Author: Alexander Bokovoy <ab@samba.org>
AuthorDate: Mon Sep 17 19:09:35 2012 +0300
Commit: Alexander Bokovoy <ab@samba.org>
CommitDate: Mon Sep 17 19:52:53 2012 +0200
docs-xml: fix build of winbindd- and krb5 locator-related manpages
These manpages depend on docs-xml infrastructure (samba DTDs)
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Mon Sep 17 19:52:53 CEST 2012 on sn-devel-104
---
docs-xml/wscript_build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index c5d5839..32cf9be 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -113,7 +113,7 @@ if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
bld.SAMBAMANPAGES(manpages)
if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
- bld.MANPAGES(pam_winbind_manpages)
+ bld.SAMBAMANPAGES(pam_winbind_manpages)
if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
- bld.MANPAGES(krb5_locator_manpages)
+ bld.SAMBAMANPAGES(krb5_locator_manpages)

View File

@ -1 +1,2 @@
d /var/run/samba 755 root root
d /var/run/winbindd 755 root root

1522
samba.spec

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +0,0 @@
## Path: Network/Samba
## Description: Samba process options
## Type: string
## Default: ""
## ServiceRestart: smb
SMBDOPTIONS=""
## Type: string
## Default: ""
## ServiceRestart: nmb
NMBDOPTIONS=""
## Type: string
## Default: ""
## ServiceRestart: winbind
WINBINDOPTIONS=""

114
smb.init
View File

@ -1,114 +0,0 @@
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba smbd daemon \
# used to provide SMB network services.
#
# pidfile: /var/run/samba/smbd.pid
# config: /etc/samba/smb.conf
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 1
fi
# Avoid using root's TMPDIR
unset TMPDIR
# Source networking configuration.
. /etc/sysconfig/network
if [ -f /etc/sysconfig/samba ]; then
. /etc/sysconfig/samba
fi
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1
# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 6
RETVAL=0
start() {
KIND="SMB"
echo -n $"Starting $KIND services: "
daemon smbd $SMBDOPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb || \
RETVAL=1
return $RETVAL
}
stop() {
KIND="SMB"
echo -n $"Shutting down $KIND services: "
killproc smbd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smb
return $RETVAL
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading smb.conf file: "
killproc smbd -HUP
RETVAL=$?
echo
return $RETVAL
}
rhstatus() {
status -l smb smbd
return $?
}
# Allow status as non-root.
if [ "$1" = status ]; then
rhstatus
exit $?
fi
# Check that we can write to it... so non-root users stop here
[ -w /etc/samba/smb.conf ] || exit 4
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/smb ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
exit 2
esac
exit $?

View File

@ -1 +1 @@
b23be56c15dd52f64eb7ba54c0ea1ed5 samba-3.6.7.tar.gz
9fd5a6ac70f724a66c6fa53b9161ea06 samba-4.0.0rc1.tar.bz2

View File

@ -1,102 +0,0 @@
#!/bin/sh
#
# chkconfig: - 27 73
# description: Starts and stops the Samba winbind daemon
# #
# pidfile: /var/run/winbindd.pid
# config: /etc/samba/smb.conf
# Source function library.
. /etc/rc.d/init.d/functions
# Avoid using root's TMPDIR
unset TMPDIR
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1
# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 6
[ -f /etc/sysconfig/samba ] && . /etc/sysconfig/samba
RETVAL=0
start() {
KIND="Winbind"
echo -n $"Starting $KIND services: "
daemon winbindd "$WINBINDOPTIONS"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/winbindd || RETVAL=1
return $RETVAL
}
stop() {
echo
KIND="Winbind"
echo -n $"Shutting down $KIND services: "
killproc winbindd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/winbindd
echo ""
return $RETVAL
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading smb.conf file: "
killproc winbindd -HUP
RETVAL=$?
echo
return $RETVAL
}
rhstatus() {
status winbindd
return $?
}
# Allow status as non-root.
if [ "$1" = status ]; then
rhstatus
exit $?
fi
# Check that we can write to it... so non-root users stop here
[ -w /etc/samba/smb.conf ] || exit 4
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/winbindd ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
exit 2
esac
exit $?