--- servers/slapd/back-sock/modrdn.c 2009/01/21 23:40:37 1.4 +++ servers/slapd/back-sock/modrdn.c 2009/12/11 23:12:24 1.4.2.1 @@ -1,5 +1,5 @@ /* modrdn.c - sock backend modrdn function */ -/* $OpenLDAP: pkg/ldap/servers/slapd/back-sock/modrdn.c,v 1.3 2008/01/07 23:20:14 kurt Exp $ */ +/* $OpenLDAP: pkg/ldap/servers/slapd/back-sock/modrdn.c,v 1.4 2009/01/21 23:40:37 kurt Exp $ */ /* This work is part of OpenLDAP Software . * * Copyright 2007-2009 The OpenLDAP Foundation. @@ -34,9 +34,9 @@ sock_back_modrdn( SlapReply *rs ) { struct sockinfo *si = (struct sockinfo *) op->o_bd->be_private; - AttributeDescription *entry = slap_schema.si_ad_entry; Entry e; FILE *fp; + AclCheck ak = { &e, slap_schema.si_ad_entry, NULL, ACL_WRITE, NULL }; e.e_id = NOID; e.e_name = op->o_req_dn; @@ -47,9 +47,8 @@ sock_back_modrdn( e.e_bv.bv_val = NULL; e.e_private = NULL; - if ( ! access_allowed( op, &e, entry, NULL, - op->oq_modrdn.rs_newSup ? ACL_WDEL : ACL_WRITE, - NULL ) ) + if ( op->oq_modrdn.rs_newSup ) ak.ak_access = ACL_WDEL; + if ( ! access_allowed( op, &ak )) { send_ldap_error( op, rs, LDAP_INSUFFICIENT_ACCESS, NULL ); return -1;