From 71fd5297986ebaf30a22dfbabf88a8f0e80a9091 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Mon, 9 Nov 2009 13:40:26 +0000 Subject: Ticket #957: Fixed 0.0.0.0:0 address returned by SIP TLS client transport, which would cause 0.0.0.0:0 address in SIP via header. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3000 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib/src/pj/ssl_sock_ossl.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'pjlib/src/pj') diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c index be9b58ca..6ac12786 100644 --- a/pjlib/src/pj/ssl_sock_ossl.c +++ b/pjlib/src/pj/ssl_sock_ossl.c @@ -2089,8 +2089,13 @@ PJ_DECL(pj_status_t) pj_ssl_sock_start_connect(pj_ssl_sock_t *ssock, ssock->addr_len = addr_len; status = pj_sock_getsockname(ssock->sock, &ssock->local_addr, &ssock->addr_len); - if (status != PJ_SUCCESS) - pj_sockaddr_cp(&ssock->local_addr, localaddr); + /* Note that we may not get an IP address here. This can + * happen for example on Windows, where getsockname() + * would return 0.0.0.0 if socket has just started the + * async connect. In this case, just leave the local + * address with 0.0.0.0 for now; it will be updated + * once the socket is established. + */ /* Set remote address */ pj_sockaddr_cp(&ssock->rem_addr, remaddr); -- cgit v1.2.3