Update to Samba 4.0.5.
This commit is contained in:
parent
60243866e5
commit
03d77d76fb
@ -1,30 +0,0 @@
|
||||
From 95ce588e21398d04a1f50fb7cc226236b0b725b5 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schneider <asn@samba.org>
|
||||
Date: Thu, 14 Feb 2013 12:14:33 +0100
|
||||
Subject: [PATCH] waf: Fix correct linking of libreplace with
|
||||
cmdline-credentials.
|
||||
|
||||
cmdline-credentials needs rep_getpass from libreplace. The function has
|
||||
been replaced in master so this issue only exists in 4.0 releases.
|
||||
|
||||
Reviewed-by: Andrew Bartlet <abartlet@samba.org>
|
||||
Signed-off-by: Andreas Schneider <asn@samba.org>
|
||||
---
|
||||
source4/lib/cmdline/wscript_build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/source4/lib/cmdline/wscript_build b/source4/lib/cmdline/wscript_build
|
||||
index 9b6f6e5..eec92d4 100644
|
||||
--- a/source4/lib/cmdline/wscript_build
|
||||
+++ b/source4/lib/cmdline/wscript_build
|
||||
@@ -4,6 +4,7 @@ bld.SAMBA_LIBRARY('cmdline-credentials',
|
||||
source='credentials.c',
|
||||
autoproto='credentials.h',
|
||||
public_deps='samba-credentials popt',
|
||||
+ deps='replace',
|
||||
private_library=True)
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('POPT_SAMBA',
|
||||
--
|
||||
1.8.1.2
|
||||
|
@ -1,220 +0,0 @@
|
||||
From 410b045c45006ae9c3f2bbcafb07d6ac8c615a56 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schneider <asn@samba.org>
|
||||
Date: Mon, 28 Jan 2013 16:16:42 +0100
|
||||
Subject: [PATCH 1/3] Rename pdb_ldap to pdb_ldapsam
|
||||
|
||||
This patch moves pdb_ldap to pdb_ldapsam unconditionally
|
||||
and makes possible to load ldapsam.so dynamically
|
||||
|
||||
Reviewed-by: Alexander Bokovoy <ab@samba.org>
|
||||
---
|
||||
source3/passdb/pdb_ipa.c | 2 +-
|
||||
source3/passdb/pdb_ldap.c | 12 +++++++++---
|
||||
source3/passdb/pdb_ldap.h | 4 ++--
|
||||
source3/passdb/pdb_nds.c | 2 +-
|
||||
source3/passdb/wscript_build | 6 +++---
|
||||
source3/wscript | 2 +-
|
||||
6 files changed, 17 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/source3/passdb/pdb_ipa.c b/source3/passdb/pdb_ipa.c
|
||||
index d31b37f..a699aab 100644
|
||||
--- a/source3/passdb/pdb_ipa.c
|
||||
+++ b/source3/passdb/pdb_ipa.c
|
||||
@@ -1446,7 +1446,7 @@ static NTSTATUS pdb_init_IPA_ldapsam(struct pdb_methods **pdb_method, const char
|
||||
struct ldapsam_privates *ldap_state;
|
||||
NTSTATUS status;
|
||||
|
||||
- status = pdb_init_ldapsam(pdb_method, location);
|
||||
+ status = pdb_ldapsam_init_common(pdb_method, location);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
|
||||
index ca35ef7..7ae9056 100644
|
||||
--- a/source3/passdb/pdb_ldap.c
|
||||
+++ b/source3/passdb/pdb_ldap.c
|
||||
@@ -6462,7 +6462,8 @@ static NTSTATUS pdb_init_ldapsam_common(struct pdb_methods **pdb_method, const c
|
||||
Initialise the normal mode for pdb_ldap
|
||||
*********************************************************************/
|
||||
|
||||
-NTSTATUS pdb_init_ldapsam(struct pdb_methods **pdb_method, const char *location)
|
||||
+NTSTATUS pdb_ldapsam_init_common(struct pdb_methods **pdb_method,
|
||||
+ const char *location)
|
||||
{
|
||||
NTSTATUS nt_status;
|
||||
struct ldapsam_privates *ldap_state = NULL;
|
||||
@@ -6611,11 +6612,16 @@ NTSTATUS pdb_init_ldapsam(struct pdb_methods **pdb_method, const char *location)
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
-NTSTATUS pdb_ldap_init(void)
|
||||
+NTSTATUS pdb_ldapsam_init(void)
|
||||
{
|
||||
NTSTATUS nt_status;
|
||||
- if (!NT_STATUS_IS_OK(nt_status = smb_register_passdb(PASSDB_INTERFACE_VERSION, "ldapsam", pdb_init_ldapsam)))
|
||||
+
|
||||
+ nt_status = smb_register_passdb(PASSDB_INTERFACE_VERSION,
|
||||
+ "ldapsam",
|
||||
+ pdb_ldapsam_init_common);
|
||||
+ if (!NT_STATUS_IS_OK(nt_status)) {
|
||||
return nt_status;
|
||||
+ }
|
||||
|
||||
/* Let pdb_nds register backends */
|
||||
pdb_nds_init();
|
||||
diff --git a/source3/passdb/pdb_ldap.h b/source3/passdb/pdb_ldap.h
|
||||
index 1372f33..0420314 100644
|
||||
--- a/source3/passdb/pdb_ldap.h
|
||||
+++ b/source3/passdb/pdb_ldap.h
|
||||
@@ -29,8 +29,8 @@
|
||||
/* The following definitions come from passdb/pdb_ldap.c */
|
||||
|
||||
const char** get_userattr_list( TALLOC_CTX *mem_ctx, int schema_ver );
|
||||
-NTSTATUS pdb_init_ldapsam(struct pdb_methods **pdb_method, const char *location);
|
||||
-NTSTATUS pdb_ldap_init(void);
|
||||
+NTSTATUS pdb_ldapsam_init_common(struct pdb_methods **pdb_method, const char *location);
|
||||
+NTSTATUS pdb_ldapsam_init(void);
|
||||
int ldapsam_search_suffix_by_name(struct ldapsam_privates *ldap_state,
|
||||
const char *user,
|
||||
LDAPMessage ** result,
|
||||
diff --git a/source3/passdb/pdb_nds.c b/source3/passdb/pdb_nds.c
|
||||
index cce4937..d7c16da 100644
|
||||
--- a/source3/passdb/pdb_nds.c
|
||||
+++ b/source3/passdb/pdb_nds.c
|
||||
@@ -878,7 +878,7 @@ static NTSTATUS pdb_init_NDS_ldapsam_common(struct pdb_methods **pdb_method, con
|
||||
|
||||
static NTSTATUS pdb_init_NDS_ldapsam(struct pdb_methods **pdb_method, const char *location)
|
||||
{
|
||||
- NTSTATUS nt_status = pdb_init_ldapsam(pdb_method, location);
|
||||
+ NTSTATUS nt_status = pdb_ldapsam_init_common(pdb_method, location);
|
||||
|
||||
(*pdb_method)->name = "NDS_ldapsam";
|
||||
|
||||
diff --git a/source3/passdb/wscript_build b/source3/passdb/wscript_build
|
||||
index 03a0df4..a6620cd 100644
|
||||
--- a/source3/passdb/wscript_build
|
||||
+++ b/source3/passdb/wscript_build
|
||||
@@ -13,13 +13,13 @@ bld.SAMBA3_MODULE('pdb_tdbsam',
|
||||
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_tdbsam'),
|
||||
enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_tdbsam'))
|
||||
|
||||
-bld.SAMBA3_MODULE('pdb_ldap',
|
||||
+bld.SAMBA3_MODULE('pdb_ldapsam',
|
||||
subsystem='pdb',
|
||||
deps='smbldap smbldaphelper',
|
||||
source=PDB_LDAP_SRC,
|
||||
init_function='',
|
||||
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldap'),
|
||||
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldap') and bld.CONFIG_SET('HAVE_LDAP'))
|
||||
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldapsam'),
|
||||
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldapsam') and bld.CONFIG_SET('HAVE_LDAP'))
|
||||
|
||||
bld.SAMBA3_MODULE('pdb_smbpasswd',
|
||||
subsystem='pdb',
|
||||
diff --git a/source3/wscript b/source3/wscript
|
||||
index 097cd83..34fccb1 100644
|
||||
--- a/source3/wscript
|
||||
+++ b/source3/wscript
|
||||
@@ -1734,7 +1734,7 @@ main() {
|
||||
default_shared_modules.extend(TO_LIST('vfs_aio_linux'))
|
||||
|
||||
if conf.CONFIG_SET('HAVE_LDAP'):
|
||||
- default_static_modules.extend(TO_LIST('pdb_ldap idmap_ldap'))
|
||||
+ default_static_modules.extend(TO_LIST('pdb_ldapsam idmap_ldap'))
|
||||
|
||||
if conf.CONFIG_SET('DARWINOS'):
|
||||
default_static_modules.extend(TO_LIST('charset_macosxfs'))
|
||||
--
|
||||
1.8.1.2
|
||||
|
||||
From 8c7b0ab9b3ae07574c6b5c5ba5888c3f329c9e02 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Bokovoy <ab@samba.org>
|
||||
Date: Wed, 6 Feb 2013 10:43:16 +0200
|
||||
Subject: [PATCH 2/3] source3/wscript: support 'pdb_ldap' module in configure
|
||||
|
||||
While PASSDB module ldapsam is called pdb_ldapsam internally,
|
||||
support specifying 'pdb_ldap' during configure step.
|
||||
|
||||
This should make transition to pdb_ldapsam transparent to distributions.
|
||||
|
||||
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||
---
|
||||
source3/wscript | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/source3/wscript b/source3/wscript
|
||||
index 34fccb1..194d712 100644
|
||||
--- a/source3/wscript
|
||||
+++ b/source3/wscript
|
||||
@@ -1745,6 +1745,19 @@ main() {
|
||||
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
|
||||
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')
|
||||
|
||||
+ def replace_list_item(lst, item, value):
|
||||
+ try:
|
||||
+ idx = lst.index(item)
|
||||
+ lst[idx] = value
|
||||
+ except:
|
||||
+ pass
|
||||
+ # PDB module file name should have the same name as module registers itself
|
||||
+ # In Autoconf build we export LDAP passdb module as ldapsam but WAF build
|
||||
+ # was always exporting pdb_ldap. In order to support existing packages
|
||||
+ # allow referring to pdb_ldapsam as pdb_ldap but use proper name internally.
|
||||
+ replace_list_item(explicit_shared_modules, 'pdb_ldap', 'pdb_ldapsam')
|
||||
+ replace_list_item(explicit_static_modules, 'pdb_ldap', 'pdb_ldapsam')
|
||||
+
|
||||
final_static_modules = default_static_modules
|
||||
final_shared_modules = default_shared_modules
|
||||
|
||||
--
|
||||
1.8.1.2
|
||||
|
||||
From 2b070b226926798fc544f6867721f57a5ec7075c Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Bokovoy <ab@samba.org>
|
||||
Date: Wed, 6 Feb 2013 12:22:12 +0200
|
||||
Subject: [PATCH 3/3] autoconf: rename pdb_ldap module to pdb_ldapsam
|
||||
|
||||
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||
|
||||
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
|
||||
Autobuild-Date(master): Wed Feb 6 13:32:53 CET 2013 on sn-devel-104
|
||||
---
|
||||
source3/configure.in | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/source3/configure.in b/source3/configure.in
|
||||
index d0c2a48..a4e0763 100644
|
||||
--- a/source3/configure.in
|
||||
+++ b/source3/configure.in
|
||||
@@ -3276,7 +3276,7 @@ if test x"$with_ldap_support" != x"no"; then
|
||||
if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes"; then
|
||||
AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])
|
||||
CPPFLAGS="$CPPFLAGS -DLDAP_DEPRECATED"
|
||||
- default_static_modules="$default_static_modules pdb_ldap idmap_ldap";
|
||||
+ default_static_modules="$default_static_modules pdb_ldapsam idmap_ldap";
|
||||
default_shared_modules="$default_shared_modules";
|
||||
SMBLDAP="lib/smbldap.o"
|
||||
with_ldap_support=yes
|
||||
@@ -6353,13 +6353,18 @@ AC_ARG_WITH(shared-modules,
|
||||
done
|
||||
fi ])
|
||||
|
||||
+# additionally, support pdb_ldap -> pdb_ldapsam replacement
|
||||
+if test x"$MODULE_pdb_ldap" != x ; then
|
||||
+ MODULE_pdb_ldapsam="$MODULE_pdb_ldap"
|
||||
+fi
|
||||
+
|
||||
if test x"$MODULE_DEFAULT_vfs_notify_fam" = xSTATIC -o \
|
||||
x"$MODULE_vfs_notify_fam" = xSTATIC ; then
|
||||
SMBD_FAM_LIBS="$SMB_FAM_LIBS"
|
||||
AC_SUBST(SMBD_FAM_LIBS)
|
||||
fi
|
||||
|
||||
-SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o passdb/pdb_ldap_util.o,
|
||||
+SMB_MODULE(pdb_ldapsam, passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o passdb/pdb_ldap_util.o,
|
||||
"bin/ldapsam.$SHLIBEXT", PDB,
|
||||
[ PASSDB_LIBS="$PASSDB_LIBS $LDAP_LIBS" ] )
|
||||
SMB_MODULE(pdb_smbpasswd, passdb/pdb_smbpasswd.o, "bin/smbpasswd.$SHLIBEXT", PDB)
|
||||
--
|
||||
1.8.1.2
|
||||
|
@ -1,60 +0,0 @@
|
||||
From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Bokovoy <ab@samba.org>
|
||||
Date: Wed, 6 Feb 2013 10:17:57 +0200
|
||||
Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output
|
||||
|
||||
When PIDL calls out to C preprocessor to expand IDL files
|
||||
and parse the output, it filters out linemarkers and line control
|
||||
information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
|
||||
and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control
|
||||
|
||||
With gcc 4.8 stdc-predef.h is included automatically and linemarker for the
|
||||
file has extended flags that PIDL couldn't parse ('system header that needs to
|
||||
be extern "C" protected for C++')
|
||||
|
||||
Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format.
|
||||
|
||||
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517
|
||||
|
||||
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||
(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526)
|
||||
|
||||
Signed-off-by: Andreas Schneider <asn@samba.org>
|
||||
---
|
||||
pidl/idl.yp | 4 +++-
|
||||
pidl/lib/Parse/Pidl/IDL.pm | 4 +++-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pidl/idl.yp b/pidl/idl.yp
|
||||
index b5c5185..c8a65f6 100644
|
||||
--- a/pidl/idl.yp
|
||||
+++ b/pidl/idl.yp
|
||||
@@ -610,7 +610,9 @@ again:
|
||||
|
||||
for ($parser->YYData->{INPUT}) {
|
||||
if (/^\#/) {
|
||||
- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
|
||||
+ # Linemarker format is described at
|
||||
+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
|
||||
+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
|
||||
$parser->YYData->{LINE} = $1-1;
|
||||
$parser->YYData->{FILE} = $2;
|
||||
goto again;
|
||||
diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
|
||||
index d4820ff..6927c89 100644
|
||||
--- a/pidl/lib/Parse/Pidl/IDL.pm
|
||||
+++ b/pidl/lib/Parse/Pidl/IDL.pm
|
||||
@@ -2576,7 +2576,9 @@ again:
|
||||
|
||||
for ($parser->YYData->{INPUT}) {
|
||||
if (/^\#/) {
|
||||
- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
|
||||
+ # Linemarker format is described at
|
||||
+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
|
||||
+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
|
||||
$parser->YYData->{LINE} = $1-1;
|
||||
$parser->YYData->{FILE} = $2;
|
||||
goto again;
|
||||
--
|
||||
1.8.1.1
|
||||
|
File diff suppressed because it is too large
Load Diff
20
samba.spec
20
samba.spec
@ -1,13 +1,13 @@
|
||||
# Set --with testsuite or %bcond_without to run the Samba torture testsuite.
|
||||
%bcond_with testsuite
|
||||
|
||||
%define main_release 3
|
||||
%define main_release 1
|
||||
|
||||
%define samba_version 4.0.4
|
||||
%define samba_version 4.0.5
|
||||
%define talloc_version 2.0.7
|
||||
%define ntdb_version 0.9
|
||||
%define tdb_version 1.2.11
|
||||
%define tevent_version 0.9.17
|
||||
%define tevent_version 0.9.18
|
||||
%define ldb_version 1.1.15
|
||||
# This should be rc1 or nil
|
||||
%define pre_release %nil
|
||||
@ -76,11 +76,6 @@ Source6: samba.pamd
|
||||
Source200: README.dc
|
||||
Source201: README.downgrade
|
||||
|
||||
Patch0: samba-4.0.3-fix_pidl_with_gcc48.patch
|
||||
Patch1: samba-4.0.3-fix_pdb_ldapsam.patch
|
||||
Patch2: samba-4.0.3-fix_libcmdline-credentials_linking.patch
|
||||
Patch3: samba-4.0.4-fix_large_read_handling.patch
|
||||
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
@ -435,11 +430,6 @@ the local kerberos library to use the same KDC as samba and winbind use
|
||||
%prep
|
||||
%setup -q -n samba-%{version}%{pre_release}
|
||||
|
||||
%patch0 -p1 -b .pidl_gcc48
|
||||
%patch1 -p1 -b .pdb_ldapsam
|
||||
%patch2 -p1 -b .libreplace_linking
|
||||
%patch3 -p1 -b .large_read
|
||||
|
||||
%build
|
||||
%global _talloc_lib ,talloc,pytalloc,pytalloc-util
|
||||
%global _tevent_lib ,tevent,pytevent
|
||||
@ -868,7 +858,6 @@ rm -rf %{buildroot}
|
||||
%{_sbindir}/samba_dnsupdate
|
||||
%{_sbindir}/samba_spnupdate
|
||||
%{_sbindir}/samba_upgradedns
|
||||
%{_sbindir}/samba_upgradeprovision
|
||||
%{_libdir}/mit_samba.so
|
||||
%{_libdir}/samba/bind9/dlz_bind9.so
|
||||
%{_libdir}/samba/libheimntlm-samba4.so.1
|
||||
@ -1357,6 +1346,9 @@ rm -rf %{buildroot}
|
||||
%{_mandir}/man7/winbind_krb5_locator.7*
|
||||
|
||||
%changelog
|
||||
* Tue Apr 10 2013 - Andreas Schneider <asn@redhat.com> - 2:4.0.5-1
|
||||
- Update to Samba 4.0.5.
|
||||
|
||||
* Fri Mar 22 2013 - Andreas Schneider <asn@redhat.com> - 2:4.0.4-3
|
||||
- resolves: #919405 - Fix and improve large_readx handling for broken clients.
|
||||
- resolves: #924525 - Don't use waf caching.
|
||||
|
Loading…
Reference in New Issue
Block a user