Ignore:
Timestamp:
Dec 28, 2016 3:40:07 AM (8 years ago)
Author:
nanang
Message:

Re #1900: More merged from trunk (r5512 mistakenly contains merged changes in third-party dir only).

Location:
pjproject/branches/projects/uwp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/uwp

  • pjproject/branches/projects/uwp/pjnath/src/pjnath-test/sess_auth.c

    r4537 r5513  
    230230/* Instantiate standard server */ 
    231231static int create_std_server(pj_stun_auth_type auth_type, 
    232                              pj_bool_t responding) 
     232                             pj_bool_t responding, 
     233                             pj_bool_t use_ipv6) 
    233234{ 
    234235    pj_pool_t *pool; 
     
    267268 
    268269    /* Create socket */ 
    269     status = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &server->sock); 
     270    status = pj_sock_socket(GET_AF(use_ipv6), pj_SOCK_DGRAM(), 0, &server->sock); 
    270271    if (status != PJ_SUCCESS) { 
    271272        destroy_server(); 
     
    274275 
    275276    /* Bind */ 
    276     pj_sockaddr_in_init(&server->addr.ipv4, NULL, 0); 
     277    pj_sockaddr_init(GET_AF(use_ipv6), &server->addr, NULL, 0); 
    277278    status = pj_sock_bind(server->sock, &server->addr, pj_sockaddr_get_len(&server->addr)); 
    278279    if (status != PJ_SUCCESS) { 
     
    290291        } 
    291292 
    292         status = pj_gethostip(pj_AF_INET(), &addr); 
    293         if (status != PJ_SUCCESS) { 
    294             destroy_server(); 
    295             return -45; 
    296         } 
     293        if (use_ipv6) { 
     294            /* pj_gethostip() may return IPv6 link-local and currently it will cause 
     295             * 'no route to host' error, so let's just hardcode to [::1] 
     296             */ 
     297            pj_sockaddr_init(pj_AF_INET6(), &addr, NULL, 0); 
     298            addr.ipv6.sin6_addr.s6_addr[15] = 1;         
     299        } else { 
     300            status = pj_gethostip(GET_AF(use_ipv6), &addr); 
     301            if (status != PJ_SUCCESS) { 
     302                destroy_server(); 
     303                return -45; 
     304            } 
     305        } 
    297306 
    298307        pj_sockaddr_copy_addr(&server->addr, &addr); 
     
    453462                           const char *password, 
    454463                           pj_bool_t dummy_mi, 
    455  
     464                           pj_bool_t use_ipv6, 
    456465                           pj_bool_t expected_error, 
    457466                           pj_status_t expected_code, 
     
    466475    pj_stun_tx_data *tdata; 
    467476    pj_status_t status; 
     477    pj_sockaddr addr; 
    468478    int rc = 0; 
    469479     
    470     PJ_LOG(3,(THIS_FILE, "   %s test", title)); 
     480    PJ_LOG(3,(THIS_FILE, "   %s test (%s)", title, use_ipv6?"IPv6":"IPv4")); 
    471481 
    472482    /* Create client */ 
     
    494504 
    495505    /* Create client socket */ 
    496     status = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &client->sock); 
     506    status = pj_sock_socket(GET_AF(use_ipv6), pj_SOCK_DGRAM(), 0, &client->sock); 
    497507    if (status != PJ_SUCCESS) { 
    498508        destroy_client_server(); 
     
    501511 
    502512    /* Bind client socket */ 
    503     status = pj_sock_bind_in(client->sock, 0, 0); 
     513    pj_sockaddr_init(GET_AF(use_ipv6), &addr, NULL, 0); 
     514    status = pj_sock_bind(client->sock, &addr, pj_sockaddr_get_len(&addr)); 
    504515    if (status != PJ_SUCCESS) { 
    505516        destroy_client_server(); 
     
    529540 
    530541    /* Create the server */ 
    531     status = create_std_server(server_auth_type, server_responding); 
     542    status = create_std_server(server_auth_type, server_responding, use_ipv6); 
    532543    if (status != 0) { 
    533544        destroy_client_server(); 
     
    681692done: 
    682693    destroy_client_server(); 
     694 
     695    /* If IPv6 is enabled, test again for IPv4. */ 
     696    if ((rc == 0) && use_ipv6) { 
     697        rc = run_client_test(title, 
     698                             server_responding, 
     699                             server_auth_type, 
     700                             client_auth_type, 
     701                             realm, 
     702                             username, 
     703                             nonce, 
     704                             password, 
     705                             dummy_mi, 
     706                             0, 
     707                             expected_error, 
     708                             expected_code, 
     709                             expected_realm, 
     710                             expected_nonce, 
     711                             more_check); 
     712    } 
     713 
    683714    return rc; 
    684715} 
     
    779810                         NULL,              // password 
    780811                         PJ_FALSE,          // dummy MI 
     812                         USE_IPV6,          // use IPv6 
    781813                         PJ_TRUE,           // expected error 
    782814                         PJNATH_ESTUNTIMEDOUT,// expected code 
     
    809841                         NULL,              // password 
    810842                         PJ_FALSE,          // dummy MI 
     843                         USE_IPV6,          // use IPv6 
    811844                         PJ_TRUE,           // expected error 
    812845                         PJ_STATUS_FROM_STUN_CODE(400),// expected code 
     
    833866                         "anotherpass",     // password 
    834867                         PJ_FALSE,          // dummy MI 
     868                         USE_IPV6,          // use IPv6 
    835869                         PJ_TRUE,           // expected error 
    836870                         PJ_STATUS_FROM_STUN_CODE(401),// expected code 
     
    861895                         "anotherpass",     // password 
    862896                         PJ_FALSE,          // dummy MI 
     897                         USE_IPV6,          // use IPv6 
    863898                         PJ_TRUE,           // expected error 
    864899                         PJ_STATUS_FROM_STUN_CODE(401),// expected code 
     
    883918                         NULL,              // password 
    884919                         PJ_TRUE,           // dummy MI 
     920                         USE_IPV6,          // use IPv6 
    885921                         PJ_TRUE,           // expected error 
    886922                         PJ_STATUS_FROM_STUN_CODE(400),     // expected code 
     
    903939                         PASSWORD,          // password 
    904940                         PJ_FALSE,          // dummy MI 
     941                         USE_IPV6,          // use IPv6 
    905942                         PJ_FALSE,          // expected error 
    906943                         PJ_SUCCESS,        // expected code 
     
    929966                         PASSWORD,          // password 
    930967                         PJ_TRUE,           // dummy MI 
     968                         USE_IPV6,          // use IPv6 
    931969                         PJ_TRUE,           // expected error 
    932970                         PJ_STATUS_FROM_STUN_CODE(401),     // expected code 
     
    9621000                         NULL,              // client password 
    9631001                         PJ_FALSE,          // client dummy MI 
     1002                         USE_IPV6,          // use IPv6 
    9641003                         PJ_TRUE,           // expected error 
    9651004                         PJ_STATUS_FROM_STUN_CODE(401), // expected code 
     
    9881027                         PASSWORD,          // client password 
    9891028                         PJ_TRUE,           // client dummy MI 
     1029                         USE_IPV6,          // use IPv6 
    9901030                         PJ_TRUE,           // expected error 
    9911031                         PJ_STATUS_FROM_STUN_CODE(400), // expected code 
     
    10081048                         PASSWORD,          // client password 
    10091049                         PJ_TRUE,           // client dummy MI 
     1050                         USE_IPV6,          // use IPv6 
    10101051                         PJ_TRUE,           // expected error 
    10111052                         PJ_STATUS_FROM_STUN_CODE(400), // expected code 
     
    10281069                         PASSWORD,          // client password 
    10291070                         PJ_TRUE,           // client dummy MI 
     1071                         USE_IPV6,          // use IPv6 
    10301072                         PJ_TRUE,           // expected error 
    10311073                         PJ_STATUS_FROM_STUN_CODE(400), // expected code 
     
    10641106                         "somepassword",    // client password 
    10651107                         PJ_FALSE,          // client dummy MI 
     1108                         USE_IPV6,          // use IPv6 
    10661109                         PJ_TRUE,           // expected error 
    10671110                         PJ_STATUS_FROM_STUN_CODE(401), // expected code 
     
    10841127                         PASSWORD,          // client password 
    10851128                         PJ_FALSE,          // client dummy MI 
     1129                         USE_IPV6,          // use IPv6 
    10861130                         PJ_FALSE,          // expected error 
    10871131                         0,                 // expected code 
     
    11141158                         PASSWORD,          // client password 
    11151159                         PJ_FALSE,          // client dummy MI 
     1160                         USE_IPV6,          // use IPv6 
    11161161                         PJ_TRUE,           // expected error 
    11171162                         PJ_STATUS_FROM_STUN_CODE(401), // expected code 
Note: See TracChangeset for help on using the changeset viewer.