summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-06-09 17:53:00 +0000
committerGerald Carter <jerry@samba.org>2006-06-09 17:53:00 +0000
commit5c08b2be656110b31d02398fb1b9639b401c56c5 (patch)
tree57ac3e78550847acb8f37a50c98a9722e1aeebb4
parent004bfa4709ef522b05b35f1548954db380303827 (diff)
downloadsamba-5c08b2be656110b31d02398fb1b9639b401c56c5.tar.gz
r16127: adding volker parse_net change
-rw-r--r--WHATSNEW.txt13
-rw-r--r--source/rpc_parse/parse_net.c35
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 */