Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tero Saarni
OpenLDAP
Commits
eeed8ea2
Commit
eeed8ea2
authored
Nov 08, 2008
by
Quanah Gibson-Mount
Browse files
ITS
#5731
,ITS
#5732
parent
ea03b162
Changes
17
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
eeed8ea2
...
...
@@ -3,6 +3,7 @@ OpenLDAP 2.4 Change Log
OpenLDAP 2.4.13 Engineering
Fixed liblutil hex conversion (ITS#5699)
Fixed slapd database open with real structure (ITS#5724)
Fixed slapd rewriting undefined filter (ITS#5731)
Added slapd GSSAPI refactoring (ITS#5369)
Added slapd support for certificateListExactMatch from RFC4523 (ITS#5700)
Fixed slapd-bdb/hdb invalid db crash (ITS#5698)
...
...
@@ -10,6 +11,7 @@ OpenLDAP 2.4.13 Engineering
Added slapo-constraint support for constraining rename (ITS#5703)
Added slapo-constraint support for relax control (ITS#5705)
Added slapo-constraint "set" type (ITS#5702)
Fixed slapo-rwm reusing freed filter (ITS#5732)
Added slapo-translucent try local bind when remote fails (ITS#5656)
Added slapo-translucent support for RFC3062 password mod extended op (ITS#5656)
...
...
servers/slapd/acl.c
View file @
eeed8ea2
...
...
@@ -2211,7 +2211,7 @@ acl_set_gather( SetCookie *cookie, struct berval *name, AttributeDescription *de
url_done:
;
if
(
op2
.
ors_filter
&&
op2
.
ors_filter
!=
slap_filter_objectClass_pres
)
{
filter_free_x
(
cp
->
asc_op
,
op2
.
ors_filter
);
filter_free_x
(
cp
->
asc_op
,
op2
.
ors_filter
,
1
);
}
if
(
!
BER_BVISNULL
(
&
op2
.
o_req_ndn
)
)
{
slap_sl_free
(
op2
.
o_req_ndn
.
bv_val
,
cp
->
asc_op
->
o_tmpmemctx
);
...
...
servers/slapd/back-monitor/init.c
View file @
eeed8ea2
...
...
@@ -868,7 +868,7 @@ monitor_search2ndn(
cleanup:
;
if
(
op
->
ors_filter
!=
NULL
)
{
filter_free_x
(
op
,
op
->
ors_filter
);
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
}
if
(
!
BER_BVISNULL
(
&
op
->
ors_filterstr
)
)
{
op
->
o_tmpfree
(
op
->
ors_filterstr
.
bv_val
,
op
->
o_tmpmemctx
);
...
...
servers/slapd/backend.c
View file @
eeed8ea2
...
...
@@ -1496,7 +1496,7 @@ fe_acl_group(
{
rc
=
0
;
}
filter_free_x
(
op
,
filter
);
filter_free_x
(
op
,
filter
,
1
);
}
loopit:
ldap_free_urldesc
(
ludp
);
...
...
servers/slapd/controls.c
View file @
eeed8ea2
...
...
@@ -1205,7 +1205,7 @@ static int parseAssert (
send_ldap_result
(
op
,
rs
);
}
if
(
op
->
o_assertion
!=
NULL
)
{
filter_free_x
(
op
,
op
->
o_assertion
);
filter_free_x
(
op
,
op
->
o_assertion
,
1
);
}
return
rs
->
sr_err
;
}
...
...
servers/slapd/filter.c
View file @
eeed8ea2
...
...
@@ -492,7 +492,7 @@ return_error:
}
void
filter_free_x
(
Operation
*
op
,
Filter
*
f
)
filter_free_x
(
Operation
*
op
,
Filter
*
f
,
int
freeme
)
{
Filter
*
p
,
*
next
;
...
...
@@ -531,7 +531,7 @@ filter_free_x( Operation *op, Filter *f )
case
LDAP_FILTER_NOT
:
for
(
p
=
f
->
f_list
;
p
!=
NULL
;
p
=
next
)
{
next
=
p
->
f_next
;
filter_free_x
(
op
,
p
);
filter_free_x
(
op
,
p
,
1
);
}
break
;
...
...
@@ -548,7 +548,9 @@ filter_free_x( Operation *op, Filter *f )
break
;
}
op
->
o_tmpfree
(
f
,
op
->
o_tmpmemctx
);
if
(
freeme
)
{
op
->
o_tmpfree
(
f
,
op
->
o_tmpmemctx
);
}
}
void
...
...
@@ -560,7 +562,7 @@ filter_free( Filter *f )
op
.
o_hdr
=
&
ohdr
;
op
.
o_tmpmemctx
=
slap_sl_context
(
f
);
op
.
o_tmpmfuncs
=
&
slap_sl_mfuncs
;
filter_free_x
(
&
op
,
f
);
filter_free_x
(
&
op
,
f
,
1
);
}
void
...
...
servers/slapd/overlays/dds.c
View file @
eeed8ea2
...
...
@@ -185,7 +185,7 @@ dds_expire( void *ctx, dds_info_t *di )
done_search:
;
op
->
o_tmpfree
(
op
->
ors_filterstr
.
bv_val
,
op
->
o_tmpmemctx
);
filter_free_x
(
op
,
op
->
ors_filter
);
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
rc
=
rs
.
sr_err
;
switch
(
rs
.
sr_err
)
{
...
...
@@ -1671,7 +1671,7 @@ dds_count( void *ctx, BackendDB *be )
done_search:
;
op
->
o_tmpfree
(
op
->
ors_filterstr
.
bv_val
,
op
->
o_tmpmemctx
);
filter_free_x
(
op
,
op
->
ors_filter
);
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
rc
=
rs
.
sr_err
;
switch
(
rs
.
sr_err
)
{
...
...
servers/slapd/overlays/dynlist.c
View file @
eeed8ea2
...
...
@@ -579,7 +579,7 @@ cleanup:;
slap_op_groups_free
(
&
o
);
}
if
(
o
.
ors_filter
)
{
filter_free_x
(
&
o
,
o
.
ors_filter
);
filter_free_x
(
&
o
,
o
.
ors_filter
,
1
);
}
if
(
o
.
ors_attrs
&&
o
.
ors_attrs
!=
rs
->
sr_attrs
&&
o
.
ors_attrs
!=
slap_anlist_no_attrs
)
...
...
servers/slapd/overlays/retcode.c
View file @
eeed8ea2
...
...
@@ -273,7 +273,7 @@ retcode_op_internal( Operation *op, SlapReply *rs )
rc
=
op2
.
o_bd
->
be_search
(
&
op2
,
rs
);
op
->
o_abandon
=
op2
.
o_abandon
;
filter_free_x
(
&
op2
,
op2
.
ors_filter
);
filter_free_x
(
&
op2
,
op2
.
ors_filter
,
1
);
ber_memfree_x
(
op2
.
ors_filterstr
.
bv_val
,
op2
.
o_tmpmemctx
);
if
(
rdc
.
rdc_flags
==
SLAP_CB_CONTINUE
)
{
...
...
servers/slapd/overlays/rwm.c
View file @
eeed8ea2
...
...
@@ -96,7 +96,7 @@ rwm_op_rollback( Operation *op, SlapReply *rs, rwm_op_state *ros )
break
;
case
LDAP_REQ_SEARCH
:
ch_free
(
ros
->
mapped_attrs
);
filter_free_x
(
op
,
op
->
ors_filter
);
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
ch_free
(
op
->
ors_filterstr
.
bv_val
);
op
->
ors_attrs
=
ros
->
ors_attrs
;
op
->
ors_filter
=
ros
->
ors_filter
;
...
...
@@ -833,7 +833,7 @@ error_return:;
}
if
(
f
!=
NULL
)
{
filter_free_x
(
op
,
f
);
filter_free_x
(
op
,
f
,
1
);
}
if
(
!
BER_BVISNULL
(
&
fstr
)
)
{
...
...
servers/slapd/overlays/rwmmap.c
View file @
eeed8ea2
...
...
@@ -495,6 +495,10 @@ rwm_int_filter_map_rewrite(
return
LDAP_OTHER
;
}
if
(
f
->
f_choice
&
SLAPD_FILTER_UNDEFINED
)
{
goto
computed
;
}
switch
(
f
->
f_choice
&
SLAPD_FILTER_MASK
)
{
case
LDAP_FILTER_EQUALITY
:
ad
=
f
->
f_av_desc
;
...
...
@@ -706,7 +710,7 @@ rwm_int_filter_map_rewrite(
case
-
1
:
computed:
;
filter_free_x
(
op
,
f
);
filter_free_x
(
op
,
f
,
0
);
f
->
f_choice
=
SLAPD_FILTER_COMPUTED
;
f
->
f_result
=
SLAPD_COMPARE_UNDEFINED
;
/* fallthru */
...
...
servers/slapd/overlays/unique.c
View file @
eeed8ea2
...
...
@@ -1013,7 +1013,7 @@ unique_search(
nop
->
o_bd
=
on
->
on_info
->
oi_origdb
;
rc
=
nop
->
o_bd
->
be_search
(
nop
,
&
nrs
);
filter_free_x
(
nop
,
nop
->
ors_filter
);
filter_free_x
(
nop
,
nop
->
ors_filter
,
1
);
op
->
o_tmpfree
(
key
->
bv_val
,
op
->
o_tmpmemctx
);
if
(
rc
!=
LDAP_SUCCESS
&&
rc
!=
LDAP_NO_SUCH_OBJECT
)
{
...
...
servers/slapd/proto-slap.h
View file @
eeed8ea2
...
...
@@ -1029,7 +1029,7 @@ LDAP_SLAPD_F (int) get_filter LDAP_P((
const
char
**
text
));
LDAP_SLAPD_F
(
void
)
filter_free
LDAP_P
((
Filter
*
f
));
LDAP_SLAPD_F
(
void
)
filter_free_x
LDAP_P
((
Operation
*
op
,
Filter
*
f
));
LDAP_SLAPD_F
(
void
)
filter_free_x
LDAP_P
((
Operation
*
op
,
Filter
*
f
,
int
freeme
));
LDAP_SLAPD_F
(
void
)
filter2bv
LDAP_P
((
Filter
*
f
,
struct
berval
*
bv
));
LDAP_SLAPD_F
(
void
)
filter2bv_x
LDAP_P
((
Operation
*
op
,
Filter
*
f
,
struct
berval
*
bv
));
LDAP_SLAPD_F
(
Filter
*
)
filter_dup
LDAP_P
((
Filter
*
f
,
void
*
memctx
));
...
...
servers/slapd/sasl.c
View file @
eeed8ea2
...
...
@@ -1044,7 +1044,7 @@ slapd_rw_apply( void *private, const char *filter, struct berval *val )
}
rc
=
REWRITE_ERR
;
}
filter_free_x
(
op
,
op
->
ors_filter
);
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
op
->
o_tmpfree
(
op
->
ors_filterstr
.
bv_val
,
op
->
o_tmpmemctx
);
return
rc
;
}
...
...
servers/slapd/saslauthz.c
View file @
eeed8ea2
...
...
@@ -1226,7 +1226,7 @@ is_dn: bv.bv_len = uri->bv_len - (bv.bv_val - uri->bv_val);
done:
if
(
rc
!=
LDAP_SUCCESS
)
{
if
(
*
filter
)
filter_free_x
(
op
,
*
filter
);
if
(
*
filter
)
filter_free_x
(
op
,
*
filter
,
1
);
BER_BVZERO
(
base
);
BER_BVZERO
(
fstr
);
}
else
{
...
...
@@ -1843,7 +1843,7 @@ exact_match:
CONCLUDED:
if
(
!
BER_BVISNULL
(
&
op
.
o_req_dn
)
)
slap_sl_free
(
op
.
o_req_dn
.
bv_val
,
opx
->
o_tmpmemctx
);
if
(
!
BER_BVISNULL
(
&
op
.
o_req_ndn
)
)
slap_sl_free
(
op
.
o_req_ndn
.
bv_val
,
opx
->
o_tmpmemctx
);
if
(
op
.
ors_filter
)
filter_free_x
(
opx
,
op
.
ors_filter
);
if
(
op
.
ors_filter
)
filter_free_x
(
opx
,
op
.
ors_filter
,
1
);
if
(
!
BER_BVISNULL
(
&
op
.
ors_filterstr
)
)
ch_free
(
op
.
ors_filterstr
.
bv_val
);
Debug
(
LDAP_DEBUG_TRACE
,
...
...
@@ -2015,7 +2015,7 @@ FINISHED:
slap_sl_free
(
op
.
o_req_ndn
.
bv_val
,
opx
->
o_tmpmemctx
);
}
if
(
op
.
ors_filter
)
{
filter_free_x
(
opx
,
op
.
ors_filter
);
filter_free_x
(
opx
,
op
.
ors_filter
,
1
);
}
if
(
!
BER_BVISNULL
(
&
op
.
ors_filterstr
)
)
{
ch_free
(
op
.
ors_filterstr
.
bv_val
);
...
...
servers/slapd/search.c
View file @
eeed8ea2
...
...
@@ -227,7 +227,7 @@ return_results:;
op
->
o_tmpfree
(
op
->
ors_filterstr
.
bv_val
,
op
->
o_tmpmemctx
);
}
if
(
op
->
ors_filter
!=
NULL
)
{
filter_free_x
(
op
,
op
->
ors_filter
);
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
}
if
(
op
->
ors_attrs
!=
NULL
)
{
op
->
o_tmpfree
(
op
->
ors_attrs
,
op
->
o_tmpmemctx
);
...
...
servers/slapd/syncrepl.c
View file @
eeed8ea2
...
...
@@ -2475,7 +2475,7 @@ syncrepl_del_nonpresent(
op
->
o_tmpfree
(
cf
,
op
->
o_tmpmemctx
);
op
->
ors_filter
=
of
;
}
if
(
op
->
ors_filter
)
filter_free_x
(
op
,
op
->
ors_filter
);
if
(
op
->
ors_filter
)
filter_free_x
(
op
,
op
->
ors_filter
,
1
);
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment