r16127: adding volker parse_net change
authorGerald Carter <jerry@samba.org>
Fri, 9 Jun 2006 17:53:00 +0000 (17:53 +0000)
committerGerald Carter <jerry@samba.org>
Fri, 9 Jun 2006 17:53:00 +0000 (17:53 +0000)
WHATSNEW.txt
source/rpc_parse/parse_net.c

index d37a40e82e872641f016045e96ae7a4f0bd87293..45aa09791417614d45970e138809ff3c24ecd883 100644 (file)
@@ -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>
index e168f5abbd3a565fa7ae9052ff8929c1d58bdf51..cecec314101a1b35578ff2bccf06576336bb5210 100644 (file)
@@ -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 */