A RID can never be zero
authorSimo Sorce <idra@samba.org>
Sat, 26 Apr 2003 01:01:14 +0000 (01:01 +0000)
committerSimo Sorce <idra@samba.org>
Sat, 26 Apr 2003 01:01:14 +0000 (01:01 +0000)
(This used to be commit e2d757aed27ede67cf904c01e8f23e436d764108)

source3/rpc_server/srv_samr_util.c

index d7ead0d15fd9716e7c59f6ed756a4627da66fc82..b81c441811411fcfccc31c22ac2d421e1f8cb691 100644 (file)
@@ -169,13 +169,17 @@ void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from)
                        pdb_set_munged_dial(to   , new_string, PDB_CHANGED);
        }
        
-       if (from->user_rid != pdb_get_user_rid(to)) {
+       if (from->user_rid == 0) {
+               DEBUG(10, ("INFO_21: Asked to set User RID to 0 !? Skipping change!\n"));
+       } else if (from->user_rid != pdb_get_user_rid(to)) {
                DEBUG(10,("INFO_21 USER_RID: %u -> %u NOT UPDATED!\n",pdb_get_user_rid(to),from->user_rid));
                /* we really allow this ??? metze */
                /* pdb_set_user_sid_from_rid(to, from->user_rid, PDB_CHANGED);*/
        }
        
-       if (from->group_rid != pdb_get_group_rid(to)) {
+       if (from->group_rid == 0) {
+               DEBUG(10, ("INFO_21: Asked to set Group RID to 0 !? Skipping change!\n"));
+       } else if (from->group_rid != pdb_get_group_rid(to)) {
                DEBUG(10,("INFO_21 GROUP_RID: %u -> %u\n",pdb_get_group_rid(to),from->group_rid));
                pdb_set_group_sid_from_rid(to, from->group_rid, PDB_CHANGED);
        }
@@ -371,13 +375,16 @@ void copy_id23_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_23 *from)
                        pdb_set_munged_dial(to   , new_string, PDB_CHANGED);
        }
        
-       if (from->user_rid != pdb_get_user_rid(to)) {
+       if (from->user_rid == 0) {
+               DEBUG(10, ("INFO_23: Asked to set User RID to 0 !? Skipping change!\n"));
+       } else if (from->user_rid != pdb_get_user_rid(to)) {
                DEBUG(10,("INFO_23 USER_RID: %u -> %u NOT UPDATED!\n",pdb_get_user_rid(to),from->user_rid));
                /* we really allow this ??? metze */
                /* pdb_set_user_sid_from_rid(to, from->user_rid, PDB_CHANGED);*/
        }
-       
-       if (from->group_rid != pdb_get_group_rid(to)) {
+       if (from->group_rid == 0) {
+               DEBUG(10, ("INFO_23: Asked to set Group RID to 0 !? Skipping change!\n"));
+       } else if (from->group_rid != pdb_get_group_rid(to)) {
                DEBUG(10,("INFO_23 GROUP_RID: %u -> %u\n",pdb_get_group_rid(to),from->group_rid));
                pdb_set_group_sid_from_rid(to, from->group_rid, PDB_CHANGED);
        }