Skip to content
Snippets Groups Projects
Commit d868fcdd authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#5637

don't copy strings if not necessary
fix log message
parent 7badd424
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ OpenLDAP 2.4.12 Engineering ...@@ -4,6 +4,7 @@ OpenLDAP 2.4.12 Engineering
Fixed liblutil executables on Windows (ITS#5604) Fixed liblutil executables on Windows (ITS#5604)
Fixed slapd aci performance (ITS#5636) Fixed slapd aci performance (ITS#5636)
Fixed slapd custom attribute inheritance (ITS#5642) Fixed slapd custom attribute inheritance (ITS#5642)
Fixed slapd dynacl mask handling (ITS#5637)
Fixed slapd firstComponentMatch normalization (ITS#5634) Fixed slapd firstComponentMatch normalization (ITS#5634)
Fixed slapd overlay control registration (ITS#5649) Fixed slapd overlay control registration (ITS#5649)
Fixed slapd socket closing on Windows (ITS#5606) Fixed slapd socket closing on Windows (ITS#5606)
......
...@@ -63,7 +63,8 @@ static slap_control_t slap_acl_mask( ...@@ -63,7 +63,8 @@ static slap_control_t slap_acl_mask(
int nmatch, int nmatch,
regmatch_t *matches, regmatch_t *matches,
int count, int count,
AccessControlState *state ); AccessControlState *state,
slap_access_t access );
static int regex_matches( static int regex_matches(
struct berval *pat, char *str, char *buf, struct berval *pat, char *str, char *buf,
...@@ -246,7 +247,7 @@ slap_access_allowed( ...@@ -246,7 +247,7 @@ slap_access_allowed(
} }
control = slap_acl_mask( a, &mask, op, control = slap_acl_mask( a, &mask, op,
e, desc, val, MAXREMATCHES, matches, count, state ); e, desc, val, MAXREMATCHES, matches, count, state, access );
if ( control != ACL_BREAK ) { if ( control != ACL_BREAK ) {
break; break;
...@@ -1053,7 +1054,8 @@ slap_acl_mask( ...@@ -1053,7 +1054,8 @@ slap_acl_mask(
int nmatch, int nmatch,
regmatch_t *matches, regmatch_t *matches,
int count, int count,
AccessControlState *state ) AccessControlState *state,
slap_access_t access )
{ {
int i; int i;
Access *b; Access *b;
...@@ -1061,7 +1063,7 @@ slap_acl_mask( ...@@ -1061,7 +1063,7 @@ slap_acl_mask(
char accessmaskbuf[ACCESSMASK_MAXLEN]; char accessmaskbuf[ACCESSMASK_MAXLEN];
#endif /* DEBUG */ #endif /* DEBUG */
const char *attr; const char *attr;
slap_mask_t a2pmask = ACL_ACCESS2PRIV( *mask ); slap_mask_t a2pmask = ACL_ACCESS2PRIV( access );
assert( a != NULL ); assert( a != NULL );
assert( mask != NULL ); assert( mask != NULL );
...@@ -1790,8 +1792,6 @@ slap_acl_mask( ...@@ -1790,8 +1792,6 @@ slap_acl_mask(
*mask = modmask; *mask = modmask;
} }
a2pmask = *mask;
Debug( LDAP_DEBUG_ACL, Debug( LDAP_DEBUG_ACL,
"<= acl_mask: [%d] mask: %s\n", "<= acl_mask: [%d] mask: %s\n",
i, accessmask2str(*mask, accessmaskbuf, 1), 0 ); i, accessmask2str(*mask, accessmaskbuf, 1), 0 );
...@@ -2114,7 +2114,7 @@ acl_set_gather( SetCookie *cookie, struct berval *name, AttributeDescription *de ...@@ -2114,7 +2114,7 @@ acl_set_gather( SetCookie *cookie, struct berval *name, AttributeDescription *de
if ( rc != LDAP_SUCCESS ) { if ( rc != LDAP_SUCCESS ) {
Debug( LDAP_DEBUG_TRACE, Debug( LDAP_DEBUG_TRACE,
"%s acl_set_gather: DN=\"%s\" normalize failed\n", "%s acl_set_gather: DN=\"%s\" normalize failed\n",
cp->asc_op->o_log_prefix, op2.o_req_dn.bv_val, 0 ); cp->asc_op->o_log_prefix, ludp->lud_dn, 0 );
goto url_done; goto url_done;
} }
...@@ -2275,7 +2275,7 @@ acl_match_set ( ...@@ -2275,7 +2275,7 @@ acl_match_set (
AclSetCookie cookie; AclSetCookie cookie;
if ( default_set_attribute == NULL ) { if ( default_set_attribute == NULL ) {
ber_dupbv_x( &set, subj, op->o_tmpmemctx ); set = *subj;
} else { } else {
struct berval subjdn, ndn = BER_BVNULL; struct berval subjdn, ndn = BER_BVNULL;
...@@ -2324,7 +2324,9 @@ acl_match_set ( ...@@ -2324,7 +2324,9 @@ acl_match_set (
acl_set_gather, acl_set_gather,
(SetCookie *)&cookie, &set, (SetCookie *)&cookie, &set,
&op->o_ndn, &e->e_nname, NULL ) > 0 ); &op->o_ndn, &e->e_nname, NULL ) > 0 );
slap_sl_free( set.bv_val, op->o_tmpmemctx ); if ( set.bv_val != subj->bv_val ) {
slap_sl_free( set.bv_val, op->o_tmpmemctx );
}
} }
return(rc); return(rc);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment