Skip to content
Snippets Groups Projects
Commit 79994bad authored by Howard Chu's avatar Howard Chu
Browse files

Clean up Bind ppolicy diagnostics

parent 75325bee
No related branches found
No related tags found
No related merge requests found
......@@ -790,6 +790,9 @@ tool_bind( LDAP *ld )
int msgid, err;
LDAPMessage *result;
LDAPControl **ctrls;
char msgbuf[256];
msgbuf[0] = 0;
if (( msgid = ldap_bind( ld, binddn, passwd.bv_val, authmethod )) == -1 )
{
......@@ -811,25 +814,29 @@ tool_bind( LDAP *ld )
#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
if ( ctrls && ppolicy ) {
LDAPControl *ctrl;
int expire, grace;
int expire, grace, len = 0;
LDAPPasswordPolicyError pErr = -1;
ctrl = ldap_find_control( LDAP_CONTROL_PASSWORDPOLICYRESPONSE, ctrls );
if ( ctrl && ldap_parse_passwordpolicy_control( ld, ctrl,
&expire, &grace, &pErr ) == LDAP_SUCCESS ) {
if ( pErr != PP_noError ){
msgbuf[0] = ';';
msgbuf[1] = ' ';
strcpy( msgbuf+2, ldap_passwordpolicy_err2txt( pErr ));
len = strlen( msgbuf );
}
if ( expire >= 0 ) {
fprintf( stderr, "Password expires in %d seconds\n", expire );
sprintf( msgbuf+len, " (Password expires in %d seconds)", expire );
} else if ( grace >= 0 ) {
fprintf( stderr, "Password expired, %d grace logins remain\n", grace );
}
if ( pErr != PP_noError ){
fprintf( stderr, "%s\n", ldap_passwordpolicy_err2txt( pErr ) );
sprintf( msgbuf+len, " (Password expired, %d grace logins remain)", grace );
}
}
}
#endif
if ( err != LDAP_SUCCESS ) {
fprintf( stderr, "ldap_bind: %s\n", ldap_err2string( err ));
if ( err != LDAP_SUCCESS || msgbuf[0] ) {
fprintf( stderr, "ldap_bind: %s%s\n", ldap_err2string( err ),
msgbuf );
exit( EXIT_FAILURE );
}
}
......
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