• Fabrice Bellet's avatar
    conncheck: test inbound stun address on the candidate base address · 0b70e024
    Fabrice Bellet authored
    When receiving an stun packet on a socket, and looking for the matching
    local candidate, normally it doesn't make a difference to test the
    address or the base address. Because a pair cannot have a local candidate
    of type srv-rflx, where there would be a difference, the local candidate
    obtained will be part of a pair of the conncheck list.
    Except for the case of a pairs with tcp-act local candidate, where the
    addr has a port number of zero (tcp-act socket before connect), and the
    socket of the stun packet has a non-null port number (tcp-act socket
    after connect), corresponding to the base address of another
    peer-reflexive tcp-act local candidate, previously discoverd.
    The selection of the local candidate concerned by an inbound stun
    request happens when early incoming checks are processed, and when
    inbound stun packets are normally received during the conncheck.
    This commit complete commit e6a19418 (for early incoming checks)
    in the normal inbound stun packets code path, where is similar
    modification is needed.
conncheck.c 160 KB