diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2009-11-09 13:40:26 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2009-11-09 13:40:26 +0000 |
commit | 71fd5297986ebaf30a22dfbabf88a8f0e80a9091 (patch) | |
tree | da5e15518bc6b69411289551c1245583c9f00476 /pjlib/src/pj/ssl_sock_ossl.c | |
parent | 428df93dd836dc597c7ef9b44f84a7701ad4c482 (diff) |
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
Diffstat (limited to 'pjlib/src/pj/ssl_sock_ossl.c')
-rw-r--r-- | pjlib/src/pj/ssl_sock_ossl.c | 9 |
1 files changed, 7 insertions, 2 deletions
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); |