r16954: Volker reminded me we already have code to do this check.
authorGerald Carter <jerry@samba.org>
Tue, 11 Jul 2006 20:31:13 +0000 (20:31 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:19:15 +0000 (11:19 -0500)
Reuse can_create() to prevent renameing a group to
an existing user or group.
(This used to be commit ce7091fda1eb3c7ea0900f455cec48c3b95a17f6)

source3/rpc_server/srv_samr_nt.c

index 66f196ae3aae7c14072cd81c5068df13cfc08ea1..9c453b04a42a3b5a3012ef19a753024821123640 100644 (file)
@@ -4592,7 +4592,7 @@ NTSTATUS _samr_set_aliasinfo(pipes_struct *p, SAMR_Q_SET_ALIASINFO *q_u, SAMR_R_
                case 2:
                {
                        fstring group_name;
-                       enum SID_NAME_USE type;
+                       NTSTATUS status;
 
                        /* We currently do not support renaming groups in the
                           the BUILTIN domain.  Refer to util_builtin.c to understand 
@@ -4614,13 +4614,9 @@ NTSTATUS _samr_set_aliasinfo(pipes_struct *p, SAMR_Q_SET_ALIASINFO *q_u, SAMR_R_
                           or local group */
 
                        fstr_sprintf( group_name, "%s\\%s", global_myname(), info.acct_name );
-                       if ( lookup_name( p->mem_ctx, group_name, 0, NULL, NULL, NULL, &type) ) {
-                               if ( type == SID_NAME_USER ) {
-                                       return NT_STATUS_USER_EXISTS;
-                               }
-
-                               return NT_STATUS_ALIAS_EXISTS;
-                       }
+                       status = can_create( p->mem_ctx, group_name );
+                       if ( !NT_STATUS_IS_OK( status ) ) 
+                               return status;
                        break;
                }
                case 3: