summaryrefslogtreecommitdiff
path: root/pjlib
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-11-09 13:40:26 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-11-09 13:40:26 +0000
commit71fd5297986ebaf30a22dfbabf88a8f0e80a9091 (patch)
treeda5e15518bc6b69411289551c1245583c9f00476 /pjlib
parent428df93dd836dc597c7ef9b44f84a7701ad4c482 (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')
-rw-r--r--pjlib/src/pj/ssl_sock_ossl.c9
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);