The branch, master has been updated
       via  e914c2c smbd: Properly initialize mangle_hash
       via  7f44432 passdb: fix NT_STATUS_NO_SUCH_GROUP
      from  6174bfa Don't discard result of checking grouptype

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e914c2c52db7ecf3bb2a3860820c5cfe8812696e
Author: Volker Lendecke <v...@samba.org>
Date:   Tue Aug 19 14:32:15 2014 +0000

    smbd: Properly initialize mangle_hash
    
    [Bug 10782] mangle_hash() can fail to initialize charset (smbd crash).
    
    https://bugzilla.samba.org/show_bug.cgi?id=10782
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Tue Aug 26 01:30:38 CEST 2014 on sn-devel-104

commit 7f44432fb0b17c1c7cdda3d56c2cc132d25d9397
Author: Arvid Requate <requ...@univention.de>
Date:   Thu Jan 17 16:44:28 2013 +0100

    passdb: fix NT_STATUS_NO_SUCH_GROUP
    
    Share options like "force group" and "valid users = @group1"
    triggered a NT_STATUS_NO_SUCH_GROUP. While the group was found in
    the SAM backend, its objectclass was not retrived.
    
    This fix also revealed a talloc access after free in the group
    branch of pdb_samba_dsdb_getgrfilter.
    
    [Bug 9570] Access failure for shares with "force group" or "valid users = 
@group"
    
    https://bugzilla.samba.org/show_bug.cgi?id=9570
    
    Reviewed-by: Stefan Metzmacher <me...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/passdb/pdb_samba_dsdb.c |    4 ++--
 source3/smbd/mangle_hash.c      |    4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/passdb/pdb_samba_dsdb.c b/source3/passdb/pdb_samba_dsdb.c
index 87320e8..7d7bd8d 100644
--- a/source3/passdb/pdb_samba_dsdb.c
+++ b/source3/passdb/pdb_samba_dsdb.c
@@ -885,7 +885,7 @@ static NTSTATUS pdb_samba_dsdb_getgrfilter(struct 
pdb_methods *m, GROUP_MAP *map
 {
        struct pdb_samba_dsdb_state *state = talloc_get_type_abort(
                m->private_data, struct pdb_samba_dsdb_state);
-       const char *attrs[] = { "objectSid", "description", "samAccountName", 
"groupType",
+       const char *attrs[] = { "objectClass", "objectSid", "description", 
"samAccountName", "groupType",
                                NULL };
        struct ldb_message *msg;
        va_list ap;
@@ -950,7 +950,7 @@ static NTSTATUS pdb_samba_dsdb_getgrfilter(struct 
pdb_methods *m, GROUP_MAP *map
                id_maps[1] = NULL;
 
                status = idmap_sids_to_xids(state->idmap_ctx, tmp_ctx, id_maps);
-               talloc_free(tmp_ctx);
+
                if (!NT_STATUS_IS_OK(status)) {
                        talloc_free(tmp_ctx);
                        return status;
diff --git a/source3/smbd/mangle_hash.c b/source3/smbd/mangle_hash.c
index 994f79f..5daac62 100644
--- a/source3/smbd/mangle_hash.c
+++ b/source3/smbd/mangle_hash.c
@@ -767,6 +767,10 @@ const struct mangle_fns *mangle_hash_init(void)
 {
        mangle_reset();
 
+       if (chartest == NULL) {
+               init_chartest();
+       }
+
        /* Create the in-memory tdb using our custom hash function. */
        tdb_mangled_cache = tdb_open_ex("mangled_cache", 1031, TDB_INTERNAL,
                                (O_RDWR|O_CREAT), 0644, NULL, fast_string_hash);


-- 
Samba Shared Repository

Reply via email to