diff --git a/src/apps/relay/netengine.c b/src/apps/relay/netengine.c index 795b724..cc1118e 100644 --- a/src/apps/relay/netengine.c +++ b/src/apps/relay/netengine.c @@ -732,7 +732,7 @@ static int handle_relay_message(relay_server_handle rs, struct message_to_relay turnserver_accept_tcp_client_data_connection(&(rs->server), sm->m.cb_sm.connection_id, &(sm->m.cb_sm.tid), sm->m.cb_sm.s, sm->m.cb_sm.message_integrity, &(sm->m.cb_sm.nd), - sm->m.cb_sm.can_resume); + /*sm->m.cb_sm.can_resume*//* we cannot resume this call, it must be authenticated in-place:*/0); ioa_network_buffer_delete(rs->ioa_eng, sm->m.cb_sm.nd.nbh); sm->m.cb_sm.nd.nbh = NULL; diff --git a/src/client/ns_turn_msg.c b/src/client/ns_turn_msg.c index 3ea7744..29571f4 100644 --- a/src/client/ns_turn_msg.c +++ b/src/client/ns_turn_msg.c @@ -340,6 +340,9 @@ int stun_is_challenge_response_str(const u08bits* buf, size_t len, int *err_code stun_attr_ref sar = stun_attr_get_first_by_type_str(buf,len,STUN_ATTRIBUTE_REALM); if(sar) { + + int found_oauth = 0; + const u08bits *value = stun_attr_get_value(sar); if(value) { size_t vlen = (size_t)stun_attr_get_len(sar); @@ -356,9 +359,7 @@ int stun_is_challenge_response_str(const u08bits* buf, size_t len, int *err_code if(server_name) { ns_bcopy(value,server_name,vlen); } - if(oauth) { - *oauth = 1; - } + found_oauth = 1; } } } @@ -371,6 +372,9 @@ int stun_is_challenge_response_str(const u08bits* buf, size_t len, int *err_code vlen = (size_t)stun_attr_get_len(sar); ns_bcopy(value,nonce,vlen); nonce[vlen]=0; + if(oauth) { + *oauth = found_oauth; + } return 1; } }