Ignore:
Timestamp:
Jul 26, 2019 5:40:42 AM (5 years ago)
Author:
nanang
Message:

Fix #2216: reverted back changes in ticket #2198: r6025, r5998, r5995.

File:
1 edited

Legend:

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

    r6025 r6044  
    277277            svr_addr.count = 1; 
    278278            if (ip_addr_ver == 4) { 
    279                 if (af == pj_AF_INET()) { 
    280                     pj_sockaddr_init(pj_AF_INET(), &svr_addr.entry[0].addr,  
    281                                      NULL, 0); 
    282                     pj_inet_pton(pj_AF_INET(), &target->addr.host, 
    283                                  &svr_addr.entry[0].addr.ipv4.sin_addr); 
    284                 } 
    285  
    286                 if (af == pj_AF_INET6() || 
    287                     (type != PJSIP_TRANSPORT_LOOP_DGRAM && 
    288                      PJSIP_MAX_RESOLVED_ADDRESSES > 1)) 
    289                 { 
     279                if (af == pj_AF_INET6()) { 
    290280                    /* Generate a synthesized IPv6 address, if possible. */ 
    291281                    unsigned int count = 1; 
     
    298288                        ai[0].ai_addr.addr.sa_family == pj_AF_INET6()) 
    299289                    { 
    300                         unsigned idx = 0; 
    301                          
    302                         if (af != pj_AF_INET6()) { 
    303                             /* Return IPv4 and IPv6 addresses */ 
    304                             idx = 1; 
    305                             svr_addr.count++; 
    306                         } 
    307290                        pj_sockaddr_init(pj_AF_INET6(), 
    308                                          &svr_addr.entry[idx].addr, 
     291                                         &svr_addr.entry[0].addr, 
    309292                                         NULL, 0); 
    310                         svr_addr.entry[idx].addr.ipv6.sin6_addr = 
     293                        svr_addr.entry[0].addr.ipv6.sin6_addr = 
    311294                            ai[0].ai_addr.ipv6.sin6_addr; 
    312                     } else if (af == pj_AF_INET6()) { 
    313                         svr_addr.count = 0; 
    314                         status = PJ_ERESOLVE; 
    315                         goto on_error; 
     295                    } else { 
     296                        pj_sockaddr_init(pj_AF_INET(), 
     297                                         &svr_addr.entry[0].addr, NULL, 0); 
     298                        pj_inet_pton(pj_AF_INET(), &target->addr.host, 
     299                                     &svr_addr.entry[0].addr.ipv4.sin_addr); 
    316300                    } 
     301                } else { 
     302                    pj_sockaddr_init(pj_AF_INET(), &svr_addr.entry[0].addr,  
     303                                     NULL, 0); 
     304                    pj_inet_pton(pj_AF_INET(), &target->addr.host, 
     305                                 &svr_addr.entry[0].addr.ipv4.sin_addr); 
    317306                } 
    318307            } else { 
Note: See TracChangeset for help on using the changeset viewer.