version 1.4.2.3, 2010/04/13 20:23:40
|
version 1.5.2.1, 2009/12/11 23:12:24
|
Line 1
|
Line 1
|
/* compare.c - sock backend compare function */ |
/* compare.c - sock backend compare function */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/back-sock/compare.c,v 1.4.2.2 2009/01/22 00:01:10 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/back-sock/compare.c,v 1.5 2009/01/21 23:40:37 kurt Exp $ */ |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* |
* |
* Copyright 1998-2010 The OpenLDAP Foundation. |
* Copyright 1998-2009 The OpenLDAP Foundation. |
* All rights reserved. |
* All rights reserved. |
* |
* |
* Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
Line 34 sock_back_compare(
|
Line 34 sock_back_compare(
|
SlapReply *rs ) |
SlapReply *rs ) |
{ |
{ |
struct sockinfo *si = (struct sockinfo *) op->o_bd->be_private; |
struct sockinfo *si = (struct sockinfo *) op->o_bd->be_private; |
AttributeDescription *entry = slap_schema.si_ad_entry; |
|
Entry e; |
Entry e; |
FILE *fp; |
FILE *fp; |
|
AclCheck ak = { &e, slap_schema.si_ad_entry, NULL, ACL_COMPARE, NULL }; |
|
|
e.e_id = NOID; |
e.e_id = NOID; |
e.e_name = op->o_req_dn; |
e.e_name = op->o_req_dn; |
Line 47 sock_back_compare(
|
Line 47 sock_back_compare(
|
e.e_bv.bv_val = NULL; |
e.e_bv.bv_val = NULL; |
e.e_private = NULL; |
e.e_private = NULL; |
|
|
if ( ! access_allowed( op, &e, |
if ( ! access_allowed( op, &ak )) |
entry, NULL, ACL_COMPARE, NULL ) ) |
|
{ |
{ |
send_ldap_error( op, rs, LDAP_INSUFFICIENT_ACCESS, NULL ); |
send_ldap_error( op, rs, LDAP_INSUFFICIENT_ACCESS, NULL ); |
return -1; |
return -1; |