]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/acl.c
need this outside for back monitor ...
[openldap] / servers / slapd / acl.c
index 839bac7de631c0825a144e40560fd10c8f270f54..6e36f84521b0e95361d5a1e62488a7fde1ab2313 100644 (file)
@@ -1,7 +1,7 @@
 /* acl.c - routines to parse and check acl's */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -606,7 +606,7 @@ acl_mask(
                                                continue;
                                        }
                                } else {
-                                       if ( strcasecmp( b->a_sockurl_pat, conn->c_listener_url ) == 0 )
+                                       if ( strcasecmp( b->a_sockurl_pat, conn->c_listener_url ) != 0 )
                                                continue;
                                }
                        }
@@ -629,7 +629,7 @@ acl_mask(
                                                continue;
                                        }
                                } else {
-                                       if ( strcasecmp( b->a_domain_pat, conn->c_peer_domain ) == 0 )
+                                       if ( strcasecmp( b->a_domain_pat, conn->c_peer_domain ) != 0 )
                                                continue;
                                }
                        }
@@ -652,7 +652,7 @@ acl_mask(
                                                continue;
                                        }
                                } else {
-                                       if ( strcasecmp( b->a_peername_pat, conn->c_peer_name ) == 0 )
+                                       if ( strcasecmp( b->a_peername_pat, conn->c_peer_name ) != 0 )
                                                continue;
                                }
                        }
@@ -675,7 +675,7 @@ acl_mask(
                                                continue;
                                        }
                                } else {
-                                       if ( strcasecmp( b->a_sockname_pat, conn->c_sock_name ) == 0 )
+                                       if ( strcasecmp( b->a_sockname_pat, conn->c_sock_name ) != 0 )
                                                continue;
                                }
                        }
@@ -888,9 +888,9 @@ acl_mask(
                         * rights are determined by OR'ing the individual
                         * rights given by the acis.
                         */
-                       for ( i = 0; at->a_vals[i] != NULL; i++ ) {
+                       for ( i = 0; at->a_vals[i].bv_val != NULL; i++ ) {
                                if (aci_mask( be, conn, op,
-                                       e, desc, val, at->a_vals[i],
+                                       e, desc, val, &at->a_vals[i],
                                        matches, &grant, &deny ) != 0)
                                {
                                        tgrant |= grant;
@@ -1045,12 +1045,12 @@ acl_check_modlist(
                LDAP_LOG(( "aci", LDAP_LEVEL_DETAIL1,
                           "acl_check_modlist: conn %d  backend default %s access %s to \"%s\"\n",
                           conn->c_connid, access2str( ACL_WRITE ),
-                          be->be_dfltaccess >= ACL_WRITE ? "granted" : "denied", op->o_dn ));
+                          be->be_dfltaccess >= ACL_WRITE ? "granted" : "denied", op->o_dn.bv_val ));
 #else
                Debug( LDAP_DEBUG_ACL,
                        "=> access_allowed: backend default %s access %s to \"%s\"\n",
                        access2str( ACL_WRITE ),
-                       be->be_dfltaccess >= ACL_WRITE ? "granted" : "denied", op->o_dn );
+                       be->be_dfltaccess >= ACL_WRITE ? "granted" : "denied", op->o_dn.bv_val );
 #endif
                return be->be_dfltaccess >= ACL_WRITE;