Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
7221e9b1
Commit
7221e9b1
authored
Jan 04, 2011
by
Quanah Gibson-Mount
Browse files
ITS#6700
parent
509f3847
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
7221e9b1
...
...
@@ -70,6 +70,7 @@ OpenLDAP 2.4.24 Engineering
Fixed slapo-dynlist entry handling (ITS#6752)
Fixed slapo-memberof log messages (ITS#6748)
Fixed slapo-memberof with an empty groupOfNames (ITS#6670)
Fixed slapo-memberof with modrdn operations (ITS#6700)
Fixed slapo-pcache callback freeing (ITS#6640)
Fixed slapo-pcache to ignore undefined attrs (ITS#6600)
Fixed slapo-ppolicy don't update opattrs on consumers (ITS#6608)
...
...
servers/slapd/overlays/memberof.c
View file @
7221e9b1
...
...
@@ -388,6 +388,9 @@ memberof_value_modify(
op2
.
orm_no_opattrs
=
0
;
if
(
new_ndn
!=
NULL
)
{
BackendInfo
*
bi
=
op2
.
o_bd
->
bd_info
;
OpExtra
oex
;
assert
(
!
BER_BVISNULL
(
new_dn
)
);
assert
(
!
BER_BVISNULL
(
new_ndn
)
);
...
...
@@ -397,12 +400,17 @@ memberof_value_modify(
ml
->
sml_values
[
0
]
=
*
new_dn
;
ml
->
sml_nvalues
[
0
]
=
*
new_ndn
;
oex
.
oe_key
=
(
void
*
)
&
memberof
;
LDAP_SLIST_INSERT_HEAD
(
&
op2
.
o_extra
,
&
oex
,
oe_next
);
op2
.
o_bd
->
bd_info
=
(
BackendInfo
*
)
on
->
on_info
;
(
void
)
op
->
o_bd
->
be_modify
(
&
op2
,
&
rs2
);
op2
.
o_bd
->
bd_info
=
bi
;
LDAP_SLIST_REMOVE
(
&
op2
.
o_extra
,
&
oex
,
OpExtra
,
oe_next
);
if
(
rs2
.
sr_err
!=
LDAP_SUCCESS
)
{
char
buf
[
SLAP_TEXT_BUFLEN
];
snprintf
(
buf
,
sizeof
(
buf
),
"memberof_value_modify %s=
\"
%s
\"
failed err=%d"
,
ad
->
ad_cname
.
bv_val
,
new_dn
->
bv_val
,
rs2
.
sr_err
);
"memberof_value_modify
DN=
\"
%s
\"
add
%s=
\"
%s
\"
failed err=%d"
,
op2
.
o_req_dn
.
bv_val
,
ad
->
ad_cname
.
bv_val
,
new_dn
->
bv_val
,
rs2
.
sr_err
);
Debug
(
LDAP_DEBUG_ANY
,
"%s: %s
\n
"
,
op
->
o_log_prefix
,
buf
,
0
);
}
...
...
@@ -422,6 +430,9 @@ memberof_value_modify(
}
if
(
old_ndn
!=
NULL
)
{
BackendInfo
*
bi
=
op2
.
o_bd
->
bd_info
;
OpExtra
oex
;
assert
(
!
BER_BVISNULL
(
old_dn
)
);
assert
(
!
BER_BVISNULL
(
old_ndn
)
);
...
...
@@ -431,12 +442,17 @@ memberof_value_modify(
ml
->
sml_values
[
0
]
=
*
old_dn
;
ml
->
sml_nvalues
[
0
]
=
*
old_ndn
;
oex
.
oe_key
=
(
void
*
)
&
memberof
;
LDAP_SLIST_INSERT_HEAD
(
&
op2
.
o_extra
,
&
oex
,
oe_next
);
op2
.
o_bd
->
bd_info
=
(
BackendInfo
*
)
on
->
on_info
;
(
void
)
op
->
o_bd
->
be_modify
(
&
op2
,
&
rs2
);
op2
.
o_bd
->
bd_info
=
bi
;
LDAP_SLIST_REMOVE
(
&
op2
.
o_extra
,
&
oex
,
OpExtra
,
oe_next
);
if
(
rs2
.
sr_err
!=
LDAP_SUCCESS
)
{
char
buf
[
SLAP_TEXT_BUFLEN
];
snprintf
(
buf
,
sizeof
(
buf
),
"memberof_value_modify %s=
\"
%s
\"
failed err=%d"
,
ad
->
ad_cname
.
bv_val
,
old_dn
->
bv_val
,
rs2
.
sr_err
);
"memberof_value_modify
DN=
\"
%s
\"
delete
%s=
\"
%s
\"
failed err=%d"
,
op2
.
o_req_dn
.
bv_val
,
ad
->
ad_cname
.
bv_val
,
old_dn
->
bv_val
,
rs2
.
sr_err
);
Debug
(
LDAP_DEBUG_ANY
,
"%s: %s
\n
"
,
op
->
o_log_prefix
,
buf
,
0
);
}
...
...
@@ -492,6 +508,12 @@ memberof_op_add( Operation *op, SlapReply *rs )
struct
berval
save_dn
,
save_ndn
;
slap_callback
*
sc
;
memberof_cbinfo_t
*
mci
;
OpExtra
*
oex
;
LDAP_SLIST_FOREACH
(
oex
,
&
op
->
o_extra
,
oe_next
)
{
if
(
oex
->
oe_key
==
(
void
*
)
&
memberof
)
return
SLAP_CB_CONTINUE
;
}
if
(
op
->
ora_e
->
e_attrs
==
NULL
)
{
/* FIXME: global overlay; need to deal with */
...
...
@@ -720,7 +742,12 @@ memberof_op_delete( Operation *op, SlapReply *rs )
slap_callback
*
sc
;
memberof_cbinfo_t
*
mci
;
OpExtra
*
oex
;
LDAP_SLIST_FOREACH
(
oex
,
&
op
->
o_extra
,
oe_next
)
{
if
(
oex
->
oe_key
==
(
void
*
)
&
memberof
)
return
SLAP_CB_CONTINUE
;
}
sc
=
op
->
o_tmpalloc
(
sizeof
(
slap_callback
)
+
sizeof
(
*
mci
),
op
->
o_tmpmemctx
);
sc
->
sc_private
=
sc
+
1
;
...
...
@@ -754,6 +781,12 @@ memberof_op_modify( Operation *op, SlapReply *rs )
struct
berval
save_dn
,
save_ndn
;
slap_callback
*
sc
;
memberof_cbinfo_t
*
mci
,
mcis
;
OpExtra
*
oex
;
LDAP_SLIST_FOREACH
(
oex
,
&
op
->
o_extra
,
oe_next
)
{
if
(
oex
->
oe_key
==
(
void
*
)
&
memberof
)
return
SLAP_CB_CONTINUE
;
}
if
(
MEMBEROF_REVERSE
(
mo
)
)
{
for
(
mlp
=
&
op
->
orm_modlist
;
*
mlp
;
mlp
=
&
(
*
mlp
)
->
sml_next
)
{
...
...
@@ -1165,6 +1198,12 @@ memberof_op_modrdn( Operation *op, SlapReply *rs )
slap_overinst
*
on
=
(
slap_overinst
*
)
op
->
o_bd
->
bd_info
;
slap_callback
*
sc
;
memberof_cbinfo_t
*
mci
;
OpExtra
*
oex
;
LDAP_SLIST_FOREACH
(
oex
,
&
op
->
o_extra
,
oe_next
)
{
if
(
oex
->
oe_key
==
(
void
*
)
&
memberof
)
return
SLAP_CB_CONTINUE
;
}
sc
=
op
->
o_tmpalloc
(
sizeof
(
slap_callback
)
+
sizeof
(
*
mci
),
op
->
o_tmpmemctx
);
sc
->
sc_private
=
sc
+
1
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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