7167490 Samba 3.6.4 coredumps when trying to use setgroups for the internal default gid -1
7175829 passwords greater than 8 characters supplied to smbpasswd 3.6 don't work
7175184 Samba 3.6.4 net ads join fails failed to lookup DC info for domain 'DOMAIN' over rpc: Logon failure
--- a/components/samba/samba/Makefile Mon Jun 18 09:57:40 2012 -0700
+++ b/components/samba/samba/Makefile Mon Jun 18 11:06:49 2012 -0700
@@ -123,6 +123,7 @@
CFLAGS.studio += $(studio_C99_ENABLE)
CFLAGS.gcc += -std=c99
+CPPFLAGS += -DSAMBA_VERSION_VENDOR_SUFFIX=\\\"Samba_bugs_8729_8952_fixed\\\"
CPPFLAGS += $(CPP_LARGEFILES)
CPPFLAGS += $(CPP_XPG6MODE)
CPPFLAGS += -I$(PROTOUSRINCDIR)/samba -I$(PROTOUSRINCDIR)/samba/ldap6 -I$(BUILD_DIR_$(BITS))/include
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/samba/samba/patches/7167490-8952.patch Mon Jun 18 11:06:49 2012 -0700
@@ -0,0 +1,44 @@
+From 7a64da3189a1e901aff66aa5e2e46e4a9c03750f Mon Sep 17 00:00:00 2001
+From: Ira Cooper <[email protected]>
+Date: Wed, 23 May 2012 21:39:03 -0400
+Subject: [PATCH] s3-passdb: Fix negative SID->uid/gid cache handling. (bug #8952)
+
+-1 uid/gid signals a non existent uid/gid.
+
+Signed-off-by: Stefan Metzmacher <[email protected]>
+---
+ source3/passdb/lookup_sid.c | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+diff --git a/source3/passdb/lookup_sid.c b/source3/passdb/lookup_sid.c
+index 5cf391f..2afa86e 100644
+--- a/source3/passdb/lookup_sid.c
++++ b/source3/passdb/lookup_sid.c
+@@ -1490,7 +1490,24 @@ bool sids_to_unix_ids(const struct dom_sid *sids, uint32_t num_sids,
+ continue;
+ }
+ }
++
+ done:
++ for (i=0; i<num_sids; i++) {
++ switch(ids[i].type) {
++ case WBC_ID_TYPE_GID:
++ if (ids[i].id.gid == (gid_t)-1) {
++ ids[i].type = WBC_ID_TYPE_NOT_SPECIFIED;
++ }
++ break;
++ case WBC_ID_TYPE_UID:
++ if (ids[i].id.uid == (uid_t)-1) {
++ ids[i].type = WBC_ID_TYPE_NOT_SPECIFIED;
++ }
++ break;
++ case WBC_ID_TYPE_NOT_SPECIFIED:
++ break;
++ }
++ }
+ ret = true;
+ fail:
+ TALLOC_FREE(wbc_ids);
+--
+1.7.4.1
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/samba/samba/patches/7175829-8729.patch Mon Jun 18 11:06:49 2012 -0700
@@ -0,0 +1,57 @@
+From 18611335c830d6ea78d79e2376559c8f221db1dc Mon Sep 17 00:00:00 2001
+From: Ira Cooper <[email protected]>
+Date: Tue, 31 Jan 2012 12:15:36 -0800
+Subject: [PATCH] Fix bug #8729 - getpass regressions on Solaris/Illumos - 3.6
+ and master.
+
+Autobuild-User: Jeremy Allison <[email protected]>
+Autobuild-Date: Tue Jan 31 23:28:09 CET 2012 on sn-devel-104
+(cherry picked from commit a1901b55cfa658f39a33d0ea120641f56453fe4e)
+---
+ lib/replace/replace.h | 11 +++++++++++
+ lib/replace/system/passwd.h | 2 ++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+diff --git a/lib/replace/replace.h b/lib/replace/replace.h
+index c081f23..c47cf1c 100644
+--- a/lib/replace/replace.h
++++ b/lib/replace/replace.h
+@@ -802,4 +802,15 @@ int fdatasync(int );
+ /* prototype is in "system/network.h" */
+ #endif
+
++#if !defined(getpass)
++#ifdef REPLACE_GETPASS
++#if defined(REPLACE_GETPASS_BY_GETPASSPHRASE)
++#define getpass(prompt) getpassphrase(prompt)
++#else
++#define getpass(prompt) rep_getpass(prompt)
++char *rep_getpass(const char *prompt);
++#endif
++#endif
++#endif
++
+ #endif /* _LIBREPLACE_REPLACE_H */
+diff --git a/lib/replace/system/passwd.h b/lib/replace/system/passwd.h
+index aaea9c8..03476b9 100644
+--- a/lib/replace/system/passwd.h
++++ b/lib/replace/system/passwd.h
+@@ -67,6 +67,7 @@
+ #include <compat.h>
+ #endif
+
++#if !defined(getpass)
+ #ifdef REPLACE_GETPASS
+ #if defined(REPLACE_GETPASS_BY_GETPASSPHRASE)
+ #define getpass(prompt) getpassphrase(prompt)
+@@ -75,6 +76,7 @@
+ char *rep_getpass(const char *prompt);
+ #endif
+ #endif
++#endif
+
+ #ifndef NGROUPS_MAX
+ #define NGROUPS_MAX 32 /* Guess... */
+--
+1.7.7.3
+