libradius: Verify message ID of RADIUS responses
authorTobias Brunner <tobias@strongswan.org>
Wed, 15 Apr 2015 16:03:42 +0000 (18:03 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 21 May 2015 12:30:11 +0000 (14:30 +0200)
commitd079f6a4f7c643abaa3e6b4d094b4395e56e2ec8
treed98576b37c0aa90982ab15513ebee2416a3c3d31
parent6716c6526e47c392655c5f0e6aa449a9eb6f5f94
libradius: Verify message ID of RADIUS responses

If we sent retransmits for a message and didn't receive a response it might
still arrive later.  Such a message will be queued on the socket.  The next
read will then return not the expected response but the one for the earlier
request.  For this message the verification will fail and the message gets
discarded.  But with the earlier code the actual response was never received.
Instead, a subsequent request resulted in the same failure and so on.

Fixes #838.
src/libradius/radius_socket.c