summaryrefslogtreecommitdiff
path: root/auth/gensec/gensec_start.c
diff options
context:
space:
mode:
Diffstat (limited to 'auth/gensec/gensec_start.c')
-rw-r--r--auth/gensec/gensec_start.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/auth/gensec/gensec_start.c b/auth/gensec/gensec_start.c
index c38b97050f..9576e53ec6 100644
--- a/auth/gensec/gensec_start.c
+++ b/auth/gensec/gensec_start.c
@@ -118,14 +118,19 @@ struct gensec_security_ops **gensec_security_mechs(struct gensec_security *gense
TALLOC_CTX *mem_ctx)
{
struct gensec_security_ops **backends;
- backends = gensec_security_all();
if (!gensec_security) {
+ backends = gensec_security_all();
if (!talloc_reference(mem_ctx, backends)) {
return NULL;
}
return backends;
} else {
struct cli_credentials *creds = gensec_get_credentials(gensec_security);
+ if (gensec_security->settings->backends) {
+ backends = gensec_security->settings->backends;
+ } else {
+ backends = gensec_security_all();
+ }
if (!creds) {
if (!talloc_reference(mem_ctx, backends)) {
return NULL;