diff options
Diffstat (limited to 'auth/gensec/gensec_start.c')
-rw-r--r-- | auth/gensec/gensec_start.c | 7 |
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; |