Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
openldap
OpenLDAP
Commits
138c4926
Commit
138c4926
authored
Jul 30, 2020
by
Howard Chu
Browse files
ITS#9302 fix pwdFailireTime mutex scope
parent
0e675be7
Pipeline
#643
passed with stage
in 29 minutes and 6 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
servers/slapd/overlays/ppolicy.c
View file @
138c4926
...
...
@@ -57,6 +57,7 @@ typedef struct pp_info {
int
forward_updates
;
/* use frontend for policy state updates */
int
disable_write
;
int
send_netscape_controls
;
/* send netscape password controls */
ldap_pvt_thread_mutex_t
pwdFailureTime_mutex
;
}
pp_info
;
/* Our per-connection info - note, it is not per-instance, it is
...
...
@@ -414,7 +415,6 @@ static char *pwd_ocs[] = {
};
static
ldap_pvt_thread_mutex_t
chk_syntax_mutex
;
static
ldap_pvt_thread_mutex_t
pwdFailureTime_mutex
;
enum
{
PPOLICY_DEFAULT
=
1
,
...
...
@@ -1419,13 +1419,13 @@ ppolicy_bind_response( Operation *op, SlapReply *rs )
goto
locked
;
}
ldap_pvt_thread_mutex_lock
(
&
pwdFailureTime_mutex
);
ldap_pvt_thread_mutex_lock
(
&
pi
->
pwdFailureTime_mutex
);
op
->
o_bd
->
bd_info
=
(
BackendInfo
*
)
on
->
on_info
;
rc
=
be_entry_get_rw
(
op
,
&
op
->
o_req_ndn
,
NULL
,
NULL
,
0
,
&
e
);
op
->
o_bd
->
bd_info
=
bi
;
if
(
rc
!=
LDAP_SUCCESS
)
{
ldap_pvt_thread_mutex_unlock
(
&
pwdFailureTime_mutex
);
ldap_pvt_thread_mutex_unlock
(
&
pi
->
pwdFailureTime_mutex
);
return
SLAP_CB_CONTINUE
;
}
...
...
@@ -1784,7 +1784,7 @@ locked:
op
->
o_callback
->
sc_cleanup
=
ppolicy_ctrls_cleanup
;
}
op
->
o_bd
->
bd_info
=
bi
;
ldap_pvt_thread_mutex_unlock
(
&
pwdFailureTime_mutex
);
ldap_pvt_thread_mutex_unlock
(
&
pi
->
pwdFailureTime_mutex
);
return
SLAP_CB_CONTINUE
;
}
...
...
@@ -3119,6 +3119,7 @@ ppolicy_db_init(
)
{
slap_overinst
*
on
=
(
slap_overinst
*
)
be
->
bd_info
;
pp_info
*
pi
;
if
(
SLAP_ISGLOBALOVERLAY
(
be
)
)
{
/* do not allow slapo-ppolicy to be global by now (ITS#5858) */
...
...
@@ -3130,7 +3131,7 @@ ppolicy_db_init(
return
1
;
}
on
->
on_bi
.
bi_private
=
ch_calloc
(
sizeof
(
pp_info
),
1
);
pi
=
on
->
on_bi
.
bi_private
=
ch_calloc
(
sizeof
(
pp_info
),
1
);
if
(
!
pwcons
)
{
/* accommodate for c_conn_idx == -1 */
...
...
@@ -3140,7 +3141,7 @@ ppolicy_db_init(
ov_count
++
;
ldap_pvt_thread_mutex_init
(
&
pwdFailureTime_mutex
);
ldap_pvt_thread_mutex_init
(
&
pi
->
pwdFailureTime_mutex
);
return
0
;
}
...
...
@@ -3183,6 +3184,7 @@ ppolicy_db_destroy(
pp_info
*
pi
=
on
->
on_bi
.
bi_private
;
on
->
on_bi
.
bi_private
=
NULL
;
ldap_pvt_thread_mutex_destroy
(
&
pi
->
pwdFailureTime_mutex
);
free
(
pi
->
def_policy
.
bv_val
);
free
(
pi
);
...
...
@@ -3193,7 +3195,6 @@ ppolicy_db_destroy(
pwc
--
;
ch_free
(
pwc
);
}
ldap_pvt_thread_mutex_destroy
(
&
pwdFailureTime_mutex
);
return
0
;
}
...
...
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