Commit 4bf742ec authored by Youness Alaoui's avatar Youness Alaoui

Save the key for a received request and use that key when finishing its response

parent 3d0d5a90
...@@ -219,8 +219,11 @@ StunValidationStatus stun_agent_validate (StunAgent *agent, StunMessage *msg, ...@@ -219,8 +219,11 @@ StunValidationStatus stun_agent_validate (StunAgent *agent, StunMessage *msg,
} }
stun_debug ("STUN auth: OK!\n"); stun_debug ("STUN auth: OK!\n");
msg->key = key;
msg->key_len = key_len;
} }
if (sent_id_idx != -1 && sent_id_idx < STUN_AGENT_MAX_SAVED_IDS) { if (sent_id_idx != -1 && sent_id_idx < STUN_AGENT_MAX_SAVED_IDS) {
agent->sent_ids[sent_id_idx].valid = FALSE; agent->sent_ids[sent_id_idx].valid = FALSE;
} }
...@@ -302,8 +305,8 @@ bool stun_agent_init_response (StunAgent *agent, StunMessage *msg, ...@@ -302,8 +305,8 @@ bool stun_agent_init_response (StunAgent *agent, StunMessage *msg,
msg->buffer = buffer; msg->buffer = buffer;
msg->buffer_len = buffer_len; msg->buffer_len = buffer_len;
msg->agent = agent; msg->agent = agent;
msg->key = NULL; msg->key = request->key;
msg->key_len = 0; msg->key_len = request->key_len;
stun_message_id (request, id); stun_message_id (request, id);
...@@ -333,8 +336,8 @@ bool stun_agent_init_error (StunAgent *agent, StunMessage *msg, ...@@ -333,8 +336,8 @@ bool stun_agent_init_error (StunAgent *agent, StunMessage *msg,
msg->buffer = buffer; msg->buffer = buffer;
msg->buffer_len = buffer_len; msg->buffer_len = buffer_len;
msg->agent = agent; msg->agent = agent;
msg->key = NULL; msg->key = request->key;
msg->key_len = 0; msg->key_len = request->key_len;
stun_message_id (request, id); stun_message_id (request, id);
...@@ -392,6 +395,11 @@ size_t stun_agent_finish_message (StunAgent *agent, StunMessage *msg, ...@@ -392,6 +395,11 @@ size_t stun_agent_finish_message (StunAgent *agent, StunMessage *msg,
int i; int i;
stun_transid_t id; stun_transid_t id;
if (msg->key != NULL) {
key = msg->key;
key_len = msg->key_len;
}
if (key != NULL) { if (key != NULL) {
ptr = stun_message_append (msg, STUN_ATTRIBUTE_MESSAGE_INTEGRITY, 20); ptr = stun_message_append (msg, STUN_ATTRIBUTE_MESSAGE_INTEGRITY, 20);
if (ptr == NULL) { if (ptr == NULL) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment