diff options
Diffstat (limited to 'source4/auth/gensec/cyrus_sasl.c')
-rw-r--r-- | source4/auth/gensec/cyrus_sasl.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source4/auth/gensec/cyrus_sasl.c b/source4/auth/gensec/cyrus_sasl.c index da96d239af..39b11ff3d0 100644 --- a/source4/auth/gensec/cyrus_sasl.c +++ b/source4/auth/gensec/cyrus_sasl.c @@ -20,6 +20,7 @@ */ #include "includes.h" +#include "lib/tsocket/tsocket.h" #include "auth/credentials/credentials.h" #include "auth/gensec/gensec.h" #include "auth/gensec/gensec_proto.h" @@ -117,8 +118,8 @@ static NTSTATUS gensec_sasl_client_start(struct gensec_security *gensec_security struct gensec_sasl_state *gensec_sasl_state; const char *service = gensec_get_target_service(gensec_security); const char *target_name = gensec_get_target_hostname(gensec_security); - struct socket_address *local_socket_addr = gensec_get_my_addr(gensec_security); struct socket_address *remote_socket_addr = gensec_get_peer_addr(gensec_security); + const struct tsocket_address *tlocal_addr = gensec_get_local_address(gensec_security); char *local_addr = NULL; char *remote_addr = NULL; int sasl_ret; @@ -153,11 +154,11 @@ static NTSTATUS gensec_sasl_client_start(struct gensec_security *gensec_security gensec_security->private_data = gensec_sasl_state; - if (local_socket_addr) { - local_addr = talloc_asprintf(gensec_sasl_state, - "%s;%d", - local_socket_addr->addr, - local_socket_addr->port); + if (tlocal_addr) { + local_addr = talloc_asprintf(gensec_sasl_state, + "%s;%d", + tsocket_address_inet_addr_string(tlocal_addr, gensec_sasl_state), + tsocket_address_inet_port(tlocal_addr)); } if (remote_socket_addr) { |