diff options
author | Liong Sauw Ming <ming@teluu.com> | 2016-05-20 04:17:00 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2016-05-20 04:17:00 +0000 |
commit | 58d6c60c881d265cee8c5ca5dbaad545ff44e995 (patch) | |
tree | b2bb5a9c72e01491d8dd6bce70d3a4c6c1ab4750 /pjsip/src/pjsip/sip_transport_udp.c | |
parent | 2e1173b56db0083559b4bc09e00d27d03dbad8bc (diff) |
Re #1922: Replace IPv4 specific APIs as per Apple's recommendations
https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW27
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5311 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip/sip_transport_udp.c')
-rw-r--r-- | pjsip/src/pjsip/sip_transport_udp.c | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/pjsip/src/pjsip/sip_transport_udp.c b/pjsip/src/pjsip/sip_transport_udp.c index 499cbeac..9e6d3ee5 100644 --- a/pjsip/src/pjsip/sip_transport_udp.c +++ b/pjsip/src/pjsip/sip_transport_udp.c @@ -160,17 +160,9 @@ static void udp_on_read_complete( pj_ioqueue_key_t *key, rdata->pkt_info.len = bytes_read; rdata->pkt_info.zero = 0; pj_gettimeofday(&rdata->pkt_info.timestamp); - if (src_addr->addr.sa_family == pj_AF_INET()) { - pj_ansi_strcpy(rdata->pkt_info.src_name, - pj_inet_ntoa(src_addr->ipv4.sin_addr)); - rdata->pkt_info.src_port = pj_ntohs(src_addr->ipv4.sin_port); - } else { - pj_inet_ntop(pj_AF_INET6(), - pj_sockaddr_get_addr(&rdata->pkt_info.src_addr), - rdata->pkt_info.src_name, - sizeof(rdata->pkt_info.src_name)); - rdata->pkt_info.src_port = pj_ntohs(src_addr->ipv6.sin6_port); - } + pj_sockaddr_print(src_addr, rdata->pkt_info.src_name, + sizeof(rdata->pkt_info.src_name), 0); + rdata->pkt_info.src_port = pj_sockaddr_get_port(src_addr); size_eaten = pjsip_tpmgr_receive_packet(rdata->tp_info.transport->tpmgr, @@ -517,12 +509,12 @@ static pj_status_t get_published_name(pj_sock_t sock, if (status != PJ_SUCCESS) return status; - pj_strcpy2(&bound_name->host, pj_inet_ntoa(hostip.ipv4.sin_addr)); + status = pj_inet_ntop(pj_AF_INET(), &hostip.ipv4.sin_addr, + hostbuf, hostbufsz); } else { /* Otherwise use bound address. */ - pj_strcpy2(&bound_name->host, - pj_inet_ntoa(tmp_addr.ipv4.sin_addr)); - status = PJ_SUCCESS; + status = pj_inet_ntop(pj_AF_INET(), &tmp_addr.ipv4.sin_addr, + hostbuf, hostbufsz); } } else { @@ -542,9 +534,9 @@ static pj_status_t get_published_name(pj_sock_t sock, status = pj_inet_ntop(tmp_addr.addr.sa_family, pj_sockaddr_get_addr(&tmp_addr), hostbuf, hostbufsz); - if (status == PJ_SUCCESS) { - bound_name->host.slen = pj_ansi_strlen(hostbuf); - } + } + if (status == PJ_SUCCESS) { + bound_name->host.slen = pj_ansi_strlen(hostbuf); } |