Changeset 5105


Ignore:
Timestamp:
Jun 11, 2015 12:12:21 PM (6 years ago)
Author:
nanang
Message:

Misc (re #1843): Updated SIP transport TCP & TLS to get server local address info using getsockname() instead of using the listener address.

Location:
pjproject/trunk/pjsip/src/pjsip
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_transport_tcp.c

    r5090 r5105  
    10871087    char addr[PJ_INET6_ADDRSTRLEN+10]; 
    10881088    pjsip_tp_state_callback state_cb; 
    1089     pj_sockaddr tmp_src_addr; 
     1089    pj_sockaddr tmp_src_addr, tmp_dst_addr; 
     1090    int addr_len; 
    10901091    pj_status_t status; 
    10911092 
     
    11241125    pj_sockaddr_cp(&tmp_src_addr, src_addr); 
    11251126 
     1127    /* Get local address */ 
     1128    addr_len = sizeof(tmp_dst_addr); 
     1129    status = pj_sock_getsockname(sock, &tmp_dst_addr, &addr_len); 
     1130    if (status != PJ_SUCCESS) { 
     1131        pj_sockaddr_cp(&tmp_dst_addr, &listener->factory.local_addr); 
     1132    } 
     1133 
    11261134    /*  
    11271135     * Incoming connection! 
     
    11291137     */ 
    11301138    status = tcp_create( listener, NULL, sock, PJ_TRUE, 
    1131                          &listener->factory.local_addr, 
    1132                          &tmp_src_addr, &tcp); 
     1139                         &tmp_dst_addr, &tmp_src_addr, &tcp); 
    11331140    if (status == PJ_SUCCESS) { 
    11341141        status = tcp_start_read(tcp); 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport_tls.c

    r5090 r5105  
    12101210     */ 
    12111211    status = tls_create( listener, NULL, new_ssock, PJ_TRUE, 
    1212                          &listener->factory.local_addr, 
    1213                          &tmp_src_addr, NULL, &tls); 
     1212                         &ssl_info.local_addr, &tmp_src_addr, NULL, &tls); 
    12141213     
    12151214    if (status != PJ_SUCCESS) 
Note: See TracChangeset for help on using the changeset viewer.