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
orbea -
OpenLDAP
Commits
dfbeb824
Commit
dfbeb824
authored
Oct 31, 2018
by
Ondřej Kuzník
Browse files
Pass correct credentials in slapd-bind
parent
f5bef58c
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/progs/slapd-bind.c
View file @
dfbeb824
...
...
@@ -41,8 +41,8 @@
#include "slapd-common.h"
static
int
do_bind
(
struct
tester_conn_args
*
config
,
char
*
dn
,
int
maxloop
,
int
force
,
int
noinit
,
LDAP
**
ldp
,
int
action_type
,
void
*
action
);
do_bind
(
struct
tester_conn_args
*
config
,
char
*
dn
,
int
maxloop
,
int
force
,
int
noinit
,
LDAP
**
ldp
,
struct
berval
*
pass
,
int
action_type
,
void
*
action
);
static
int
do_base
(
struct
tester_conn_args
*
config
,
char
*
dn
,
char
*
base
,
char
*
filter
,
char
*
pwattr
,
...
...
@@ -187,7 +187,7 @@ main( int argc, char **argv )
filter
,
pwattr
,
force
,
noinit
,
-
1
,
NULL
);
}
else
{
rc
=
do_bind
(
config
,
config
->
binddn
,
config
->
loops
,
force
,
noinit
,
NULL
,
-
1
,
NULL
);
config
->
loops
,
force
,
noinit
,
NULL
,
&
config
->
pass
,
-
1
,
NULL
);
}
if
(
rc
==
LDAP_SERVER_DOWN
)
break
;
...
...
@@ -198,8 +198,8 @@ main( int argc, char **argv )
static
int
do_bind
(
struct
tester_conn_args
*
config
,
char
*
dn
,
int
maxloop
,
int
force
,
int
noinit
,
LDAP
**
ldp
,
int
action_type
,
void
*
action
)
do_bind
(
struct
tester_conn_args
*
config
,
char
*
dn
,
int
maxloop
,
int
force
,
int
noinit
,
LDAP
**
ldp
,
struct
berval
*
pass
,
int
action_type
,
void
*
action
)
{
LDAP
*
ld
=
ldp
?
*
ldp
:
NULL
;
char
*
bindfunc
=
"ldap_sasl_bind_s"
;
...
...
@@ -277,7 +277,7 @@ do_bind( struct tester_conn_args *config, char *dn, int maxloop,
#ifdef HAVE_CYRUS_SASL
bindfunc
=
"ldap_sasl_interactive_bind_s"
;
rc
=
ldap_sasl_interactive_bind_s
(
ld
,
config
->
bind
dn
,
dn
,
config
->
mech
,
NULL
,
NULL
,
LDAP_SASL_QUIET
,
...
...
@@ -290,8 +290,8 @@ do_bind( struct tester_conn_args *config, char *dn, int maxloop,
}
else
if
(
config
->
authmethod
==
LDAP_AUTH_SIMPLE
)
{
bindfunc
=
"ldap_sasl_bind_s"
;
rc
=
ldap_sasl_bind_s
(
ld
,
config
->
bind
dn
,
LDAP_SASL_SIMPLE
,
&
config
->
pass
,
NULL
,
NULL
,
NULL
);
dn
,
LDAP_SASL_SIMPLE
,
pass
,
NULL
,
NULL
,
NULL
);
}
if
(
rc
)
{
...
...
@@ -477,6 +477,7 @@ novals:;
/* Ok, got list of DNs, now start binding to each */
for
(
i
=
0
;
i
<
config
->
loops
;
i
++
)
{
struct
berval
*
pass
=
&
config
->
pass
;
int
j
;
#if 0 /* use high-order bits for better randomness (Numerical Recipes in "C") */
...
...
@@ -485,10 +486,10 @@ novals:;
j
=
((
double
)
ndns
)
*
rand
()
/
(
RAND_MAX
+
1
.
0
);
if
(
creds
&&
!
BER_BVISEMPTY
(
&
creds
[
j
]
)
)
{
config
->
pass
=
creds
[
j
];
pass
=
&
creds
[
j
];
}
if
(
do_bind
(
config
,
dns
[
j
],
1
,
force
,
noinit
,
&
ld
,
if
(
do_bind
(
config
,
dns
[
j
],
1
,
force
,
noinit
,
&
ld
,
pass
,
action_type
,
action
)
&&
!
force
)
{
break
;
...
...
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