Bug 1651601: Only do the minimum processing for STUN messages on an obsolete stream. r=mjf

Differential Revision: https://phabricator.services.mozilla.com/D83545
This commit is contained in:
Byron Campen [:bwc] 2020-07-24 17:01:49 +00:00
parent f4e86cd6e4
commit 7f56bb6ec2

View File

@ -985,22 +985,27 @@ static int nr_ice_component_process_incoming_check(nr_ice_component *comp, nr_tr
static int nr_ice_component_stun_server_cb(void *cb_arg,nr_stun_server_ctx *stun_ctx,nr_socket *sock, nr_stun_server_request *req, int *dont_free, int *error)
{
nr_ice_component *comp=cb_arg;
nr_ice_component *pcomp=cb_arg;
nr_transport_addr local_addr;
int r,_status;
if(comp->state==NR_ICE_COMPONENT_FAILED) {
if(pcomp->state==NR_ICE_COMPONENT_FAILED) {
*error=400;
ABORT(R_REJECTED);
}
if (pcomp->local_component->stream->obsolete) {
/* Don't do any triggered check stuff in thiis case. */
return 0;
}
/* Find the candidate pair that this maps to */
if(r=nr_socket_getaddr(sock,&local_addr)) {
*error=500;
ABORT(r);
}
if (r=nr_ice_component_process_incoming_check(comp, &local_addr, req, error))
if (r=nr_ice_component_process_incoming_check(pcomp, &local_addr, req, error))
ABORT(r);
_status=0;