mirror of
https://github.com/samba-team/samba.git
synced 2025-12-16 00:23:52 +03:00
r25428: forward declarations of enums are not portable,
so pass struct cli_credentials *cred instead of enum credentials_use_kerberos use_kerberos. metze
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
554d56aa16
commit
b945aaa9da
@@ -47,10 +47,15 @@ struct gensec_security_ops **gensec_security_all(void)
|
||||
|
||||
struct gensec_security_ops **gensec_use_kerberos_mechs(TALLOC_CTX *mem_ctx,
|
||||
struct gensec_security_ops **old_gensec_list,
|
||||
enum credentials_use_kerberos use_kerberos)
|
||||
struct cli_credentials *creds)
|
||||
{
|
||||
struct gensec_security_ops **new_gensec_list;
|
||||
int i, j, num_mechs_in;
|
||||
enum credentials_use_kerberos use_kerberos = CRED_AUTO_USE_KERBEROS;
|
||||
|
||||
if (creds) {
|
||||
use_kerberos = cli_credentials_get_kerberos_state(creds);
|
||||
}
|
||||
|
||||
if (use_kerberos == CRED_AUTO_USE_KERBEROS) {
|
||||
if (!talloc_reference(mem_ctx, old_gensec_list)) {
|
||||
@@ -112,7 +117,6 @@ struct gensec_security_ops **gensec_security_mechs(struct gensec_security *gense
|
||||
}
|
||||
return backends;
|
||||
} else {
|
||||
enum credentials_use_kerberos use_kerberos;
|
||||
struct cli_credentials *creds = gensec_get_credentials(gensec_security);
|
||||
if (!creds) {
|
||||
if (!talloc_reference(mem_ctx, backends)) {
|
||||
@@ -120,8 +124,7 @@ struct gensec_security_ops **gensec_security_mechs(struct gensec_security *gense
|
||||
}
|
||||
return backends;
|
||||
}
|
||||
use_kerberos = cli_credentials_get_kerberos_state(creds);
|
||||
return gensec_use_kerberos_mechs(mem_ctx, backends, use_kerberos);
|
||||
return gensec_use_kerberos_mechs(mem_ctx, backends, creds);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,8 +39,6 @@ enum gensec_priority {
|
||||
GENSEC_OTHER = 0
|
||||
};
|
||||
|
||||
enum credentials_use_kerberos;
|
||||
|
||||
struct gensec_security;
|
||||
struct gensec_target {
|
||||
const char *principal;
|
||||
@@ -63,6 +61,7 @@ enum gensec_role
|
||||
};
|
||||
|
||||
struct auth_session_info;
|
||||
struct cli_credentials;
|
||||
|
||||
struct gensec_update_request {
|
||||
struct gensec_security *gensec_security;
|
||||
|
||||
@@ -64,10 +64,8 @@ NTSTATUS ldapsrv_backend_Init(struct ldapsrv_connection *conn)
|
||||
if (conn->server_credentials) {
|
||||
char **sasl_mechs = NULL;
|
||||
struct gensec_security_ops **backends = gensec_security_all();
|
||||
enum credentials_use_kerberos use_kerberos
|
||||
= cli_credentials_get_kerberos_state(conn->server_credentials);
|
||||
struct gensec_security_ops **ops
|
||||
= gensec_use_kerberos_mechs(conn, backends, use_kerberos);
|
||||
= gensec_use_kerberos_mechs(conn, backends, conn->server_credentials);
|
||||
int i, j = 0;
|
||||
for (i = 0; ops && ops[i]; i++) {
|
||||
if (ops[i]->sasl_name && ops[i]->server_start) {
|
||||
|
||||
Reference in New Issue
Block a user