parent
c81ad78835
commit
edbf3dbd34
|
@ -1 +1 @@
|
|||
samba-3.4.5.tar.gz
|
||||
samba-3.4.6.tar.gz
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
From efc2e996e3348392f1fd5c0ec7feae4f869fb8f9 Mon Sep 17 00:00:00 2001
|
||||
From: Jeff Layton <jlayton@redhat.com>
|
||||
Date: Tue, 16 Feb 2010 09:16:42 -0500
|
||||
Subject: [PATCH] cifs.upcall: allocate a talloc context for smb_krb5_unparse_name
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
cifs.upcall calls smb_krb5_unparse_name with a NULL talloc context.
|
||||
Older versions of this function though will conditionally use
|
||||
SMB_REALLOC instead of TALLOC_REALLOC when a NULL context is passed
|
||||
in. To make it more consistent, just spawn a talloc context that
|
||||
we can pass into this function.
|
||||
|
||||
Resolves:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=565446
|
||||
https://bugzilla.samba.org/show_bug.cgi?id=6868
|
||||
|
||||
Reported-by: Ludek Finstrle <luf@seznam.cz>
|
||||
Signed-off-by: Jeff Layton <jlayton@redhat.com>
|
||||
Signed-off-by: Günther Deschner <gd@samba.org>
|
||||
(cherry picked from commit a8cc2fa09ed43a167f62711bef363a5ac335dc78)
|
||||
---
|
||||
source3/client/cifs.upcall.c | 5 ++++-
|
||||
1 files changed, 4 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/source3/client/cifs.upcall.c b/source3/client/cifs.upcall.c
|
||||
index 1617e0e..d573e76 100644
|
||||
--- a/source3/client/cifs.upcall.c
|
||||
+++ b/source3/client/cifs.upcall.c
|
||||
@@ -55,6 +55,7 @@ get_tgt_time(const char *ccname) {
|
||||
krb5_principal principal;
|
||||
time_t credtime = 0;
|
||||
char *realm = NULL;
|
||||
+ TALLOC_CTX *mem_ctx;
|
||||
|
||||
if (krb5_init_context(&context)) {
|
||||
syslog(LOG_DEBUG, "%s: unable to init krb5 context", __func__);
|
||||
@@ -86,9 +87,10 @@ get_tgt_time(const char *ccname) {
|
||||
goto err_ccstart;
|
||||
}
|
||||
|
||||
+ mem_ctx = talloc_init("cifs.upcall");
|
||||
while (!credtime && !krb5_cc_next_cred(context, ccache, &cur, &creds)) {
|
||||
char *name;
|
||||
- if (smb_krb5_unparse_name(NULL, context, creds.server, &name)) {
|
||||
+ if (smb_krb5_unparse_name(mem_ctx, context, creds.server, &name)) {
|
||||
syslog(LOG_DEBUG, "%s: unable to unparse name", __func__);
|
||||
goto err_endseq;
|
||||
}
|
||||
@@ -101,6 +103,7 @@ get_tgt_time(const char *ccname) {
|
||||
TALLOC_FREE(name);
|
||||
}
|
||||
err_endseq:
|
||||
+ TALLOC_FREE(mem_ctx);
|
||||
krb5_cc_end_seq_get(context, ccache, &cur);
|
||||
err_ccstart:
|
||||
krb5_free_principal(context, principal);
|
||||
--
|
||||
1.6.6
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From ad6a97f4a6908fa8858cd4bb9e5d804e8c29aba0 Mon Sep 17 00:00:00 2001
|
||||
From: Volker Lendecke <vl@samba.org>
|
||||
Date: Wed, 27 May 2009 18:40:13 +0200
|
||||
Subject: [PATCH] Do not segfault in pdb_search_destructor if no real search was started
|
||||
(cherry picked from commit d07464b21fe652e205f5eb2c74d12495bab100ce)
|
||||
|
||||
---
|
||||
source3/passdb/pdb_interface.c | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/source3/passdb/pdb_interface.c b/source3/passdb/pdb_interface.c
|
||||
index 8c00329..01815c6 100644
|
||||
--- a/source3/passdb/pdb_interface.c
|
||||
+++ b/source3/passdb/pdb_interface.c
|
||||
@@ -1711,7 +1711,7 @@ static NTSTATUS pdb_default_lookup_names(struct pdb_methods *methods,
|
||||
|
||||
static int pdb_search_destructor(struct pdb_search *search)
|
||||
{
|
||||
- if (!search->search_ended) {
|
||||
+ if ((!search->search_ended) && (search->search_end != NULL)) {
|
||||
search->search_end(search);
|
||||
}
|
||||
return 0;
|
||||
@@ -1733,6 +1733,7 @@ struct pdb_search *pdb_search_init(TALLOC_CTX *mem_ctx,
|
||||
result->num_entries = 0;
|
||||
result->cache_size = 0;
|
||||
result->search_ended = False;
|
||||
+ result->search_end = NULL;
|
||||
|
||||
/* Segfault appropriately if not initialized */
|
||||
result->next_entry = NULL;
|
||||
--
|
||||
1.6.6
|
||||
|
11
samba.spec
11
samba.spec
|
@ -1,5 +1,5 @@
|
|||
%define main_release 48
|
||||
%define samba_version 3.4.5
|
||||
%define main_release 49
|
||||
%define samba_version 3.4.6
|
||||
%define tdb_version 1.1.3
|
||||
%define talloc_version 1.3.0
|
||||
%define pre_release %nil
|
||||
|
@ -47,9 +47,7 @@ Patch104: samba-3.0.0rc3-nmbd-netbiosname.patch
|
|||
# The passwd part has been applied, but not the group part
|
||||
Patch107: samba-3.2.0pre1-grouppwd.patch
|
||||
Patch200: samba-3.2.5-inotify.patch
|
||||
Patch201: samba-3.4.5-pdbedit.patch
|
||||
Patch202: samba-3.4.5-CVE-2009-3297-mount_cifs.patch
|
||||
Patch203: samba-3.4.5-cifs_upcall.patch
|
||||
|
||||
Requires(pre): samba-common = %{epoch}:%{samba_version}-%{release}
|
||||
Requires: pam >= 0:0.64
|
||||
|
@ -260,9 +258,7 @@ cp %{SOURCE11} packaging/Fedora/
|
|||
#%patch104 -p1 -b .nmbd-netbiosname # FIXME: does not apply
|
||||
%patch107 -p1 -b .grouppwd
|
||||
%patch200 -p0 -b .inotify
|
||||
%patch201 -p1 -b .pdbedit
|
||||
%patch202 -p1 -b .CVE-2009-3297-mount_cifs
|
||||
%patch203 -p1 -b .cifs_upcall
|
||||
|
||||
mv %samba_source/VERSION %samba_source/VERSION.orig
|
||||
sed -e 's/SAMBA_VERSION_VENDOR_SUFFIX=$/&\"%{samba_release}\"/' < %samba_source/VERSION.orig > %samba_source/VERSION
|
||||
|
@ -889,6 +885,9 @@ exit 0
|
|||
%{_datadir}/pixmaps/samba/logo-small.png
|
||||
|
||||
%changelog
|
||||
* Wed Feb 24 2010 Guenther Deschner <gdeschner@redhat.com> - 3.4.6-0.49
|
||||
- Update to 3.4.6
|
||||
|
||||
* Wed Feb 17 2010 Guenther Deschner <gdeschner@redhat.com> - 3.4.5-0.48
|
||||
- Fix crash in cifs.upcall
|
||||
- resolves: #565446
|
||||
|
|
Loading…
Reference in New Issue