diff options
author | Gerald Carter <jerry@samba.org> | 2006-06-09 17:53:00 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2006-06-09 17:53:00 +0000 |
commit | 5c08b2be656110b31d02398fb1b9639b401c56c5 (patch) | |
tree | 57ac3e78550847acb8f37a50c98a9722e1aeebb4 | |
parent | 004bfa4709ef522b05b35f1548954db380303827 (diff) | |
download | samba-5c08b2be656110b31d02398fb1b9639b401c56c5.tar.gz |
r16127: adding volker parse_net change
-rw-r--r-- | WHATSNEW.txt | 13 | ||||
-rw-r--r-- | source/rpc_parse/parse_net.c | 35 |
2 files changed, 28 insertions, 20 deletions
diff --git a/WHATSNEW.txt b/WHATSNEW.txt index d37a40e82e8..45aa0979141 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -21,6 +21,17 @@ Common issues addressed in 3.0.23rc2 include: o Winbind & AD trust failures. +Group Mapping Changes +===================== + +The default mapping entries for groups such as "Domain Admins" +are no longer created when using an smbpasswd file or a tdbsam passdb +backend. This means that it is necessary to use 'net groupmap add' +rathe than 'net groupmap modify' to set these entries. This change +has no effect on winbindd's IDmap functionality for domain groups. + + + ###################################################################### Changes ####### @@ -99,6 +110,8 @@ o Volker Lendecke <vl@samba.org> when mapped to a non-algorithmic rid. * Fix regression which upper-cased machine names passed to the 'add machine script'. + * Correct parsing error in parse_net.c for user's with no group + membership. o Jason Mader <jason@ncac.gwu.edu> diff --git a/source/rpc_parse/parse_net.c b/source/rpc_parse/parse_net.c index e168f5abbd3..cecec314101 100644 --- a/source/rpc_parse/parse_net.c +++ b/source/rpc_parse/parse_net.c @@ -4,7 +4,7 @@ * Copyright (C) Andrew Tridgell 1992-1997, * Copyright (C) Luke Kenneth Casson Leighton 1996-1997, * Copyright (C) Paul Ashton 1997. - * Copyright (C) Jean François Micouleau 2002. + * Copyright (C) Jean Francois Micouleau 2002. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1711,29 +1711,24 @@ BOOL net_io_user_info3(const char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, if(!prs_align(ps)) return False; - if (usr->num_groups > 0) { + if(!prs_uint32("num_groups2 ", ps, depth, &usr->num_groups2)) /* num groups2 */ + return False; - if(!prs_uint32("num_groups2 ", ps, depth, &usr->num_groups2)) /* num groups2 */ - return False; + if (usr->num_groups != usr->num_groups2) { + DEBUG(3,("net_io_user_info3: num_groups mismatch! (%d != %d)\n", + usr->num_groups, usr->num_groups2)); + return False; + } - if (usr->num_groups != usr->num_groups2) { - DEBUG(3,("net_io_user_info3: num_groups mismatch! (%d != %d)\n", - usr->num_groups, usr->num_groups2)); + if (UNMARSHALLING(ps)) { + usr->gids = PRS_ALLOC_MEM(ps, DOM_GID, usr->num_groups); + if (usr->gids == NULL) return False; - } - - - if (UNMARSHALLING(ps)) { - usr->gids = PRS_ALLOC_MEM(ps, DOM_GID, usr->num_groups); - if (usr->gids == NULL) - return False; - } + } - for (i = 0; i < usr->num_groups; i++) { - if(!smb_io_gid("", &usr->gids[i], ps, depth)) /* group info */ - return False; - } - + for (i = 0; i < usr->num_groups; i++) { + if(!smb_io_gid("", &usr->gids[i], ps, depth)) /* group info */ + return False; } if(!smb_io_unistr2("uni_logon_srv", &usr->uni_logon_srv, usr->hdr_logon_srv.buffer, ps, depth)) /* logon server unicode string */ |