Ignore:
Timestamp:
Apr 13, 2009 8:54:10 AM (12 years ago)
Author:
bennylp
Message:

Ticket #780: Update TURN from draft 09 to draft 13:

  • new rules for permissions:
    • permission must be created and refreshed explicitly with CreatePermission?
    • transmitting data does not refresh permission
  • attributes changed/added: XOR-PEER-ADDRESS, XOR-RELAYED-ADDRESS, EVEN-PORT, DONT-FRAGMENT
  • attribute(s) removed: REQUESTED-PROPS
  • new status codes: 401 (Forbidden), 507 (Insufficient Capacity)
  • removed status codes: 443 (Invalid IP address), 444 (Invalid Port), 508 (Insufficient Port Capacity)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjnath/src/pjturn-srv/allocation.c

    r2394 r2589  
    110110    pj_stun_req_transport_attr *attr_req_tp; 
    111111    pj_stun_res_token_attr *attr_res_token; 
    112     pj_stun_req_props_attr *attr_rpp; 
    113112    pj_stun_lifetime_attr *attr_lifetime; 
    114113 
     
    165164    } 
    166165 
    167     /* Get REQUESTED-PROPS attribute, if any */ 
    168     attr_rpp = (pj_stun_req_props_attr*) 
    169                pj_stun_msg_find_attr(req, PJ_STUN_ATTR_REQ_PROPS, 0); 
    170     if (attr_rpp) { 
    171         /* We don't support REQUESTED-PROPS for now */ 
    172         pj_stun_session_respond(sess, rdata,  
    173                                 PJ_STUN_SC_BAD_REQUEST, 
    174                                 "REQUESTED-PROPS is not supported",  
    175                                 NULL, PJ_TRUE, src_addr, src_addr_len); 
    176         return PJ_STATUS_FROM_STUN_CODE(PJ_STUN_SC_BAD_REQUEST); 
    177     } 
    178  
    179166    /* Get LIFETIME attribute */ 
    180167    attr_lifetime = (pj_stun_uint_attr*) 
     
    212199        return status; 
    213200 
    214     /* Add RELAYED-ADDRESS attribute */ 
     201    /* Add XOR-RELAYED-ADDRESS attribute */ 
    215202    pj_stun_msg_add_sockaddr_attr(tdata->pool, tdata->msg, 
    216                                   PJ_STUN_ATTR_RELAYED_ADDR, PJ_TRUE, 
     203                                  PJ_STUN_ATTR_XOR_RELAYED_ADDR, PJ_TRUE, 
    217204                                  &alloc->relay.hkey.addr, 
    218205                                  pj_sockaddr_get_len(&alloc->relay.hkey.addr)); 
     
    10711058 
    10721059        pj_stun_msg_add_sockaddr_attr(tdata->pool, tdata->msg,  
    1073                                       PJ_STUN_ATTR_PEER_ADDR, PJ_TRUE, 
     1060                                      PJ_STUN_ATTR_XOR_PEER_ADDR, PJ_TRUE, 
    10741061                                      src_addr, pj_sockaddr_get_len(src_addr)); 
    10751062        pj_stun_msg_add_binary_attr(tdata->pool, tdata->msg, 
     
    12311218         */ 
    12321219        pj_stun_channel_number_attr *ch_attr; 
    1233         pj_stun_peer_addr_attr *peer_attr; 
     1220        pj_stun_xor_peer_addr_attr *peer_attr; 
    12341221        pj_turn_permission *p1, *p2; 
    12351222 
    12361223        ch_attr = (pj_stun_channel_number_attr*) 
    12371224                  pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_CHANNEL_NUMBER, 0); 
    1238         peer_attr = (pj_stun_peer_addr_attr*) 
    1239                     pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_PEER_ADDR, 0); 
     1225        peer_attr = (pj_stun_xor_peer_addr_attr*) 
     1226                    pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_XOR_PEER_ADDR, 0); 
    12401227 
    12411228        if (!ch_attr || !peer_attr) { 
     
    13341321                                         unsigned src_addr_len) 
    13351322{ 
    1336     pj_stun_peer_addr_attr *peer_attr; 
     1323    pj_stun_xor_peer_addr_attr *peer_attr; 
    13371324    pj_stun_data_attr *data_attr; 
    13381325    pj_turn_allocation *alloc; 
     
    13541341    } 
    13551342 
    1356     /* Get PEER-ADDRESS attribute */ 
    1357     peer_attr = (pj_stun_peer_addr_attr*) 
    1358                 pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_PEER_ADDR, 0); 
    1359  
    1360     /* MUST have PEER-ADDRESS attribute */ 
     1343    /* Get XOR-PEER-ADDRESS attribute */ 
     1344    peer_attr = (pj_stun_xor_peer_addr_attr*) 
     1345                pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_XOR_PEER_ADDR, 0); 
     1346 
     1347    /* MUST have XOR-PEER-ADDRESS attribute */ 
    13611348    if (!peer_attr) 
    13621349        return PJ_SUCCESS; 
Note: See TracChangeset for help on using the changeset viewer.