[Chilli] [Patch] Fix access_request() to conform with radius pack ID semantics
IT-Systemmanagement Pieter Hollants
pieter at hollants.com
Thu May 20 19:07:02 UTC 2010
now this got me really confused. But I still wasn't completely wrong.
Am 20.05.2010 07:24, schrieb David Bird:
> Hi Pieter,
> I had made some changes around that code... specifically, I don't
> believe your patch takes note of the situation where access_request()
> returns a Reject. This is why the following is done:
> int id;
> id = radius_pack.id;
> radius_pack.id = pack->id;
> ... possible radius_resp() with reject which needs id of req...
> appconn->radiusid = pack->id; // Noted so that later we can reply
> with correct id
> radius_pack.id = id;
> return radius_req(radius, &radius_pack, appconn);
I see the reason for overwriting radius_pack.id with pack->id. However,
it does not make sense to preserve radius_pack.id in "id", because, my
argument still holds true that an eventually called terminate_appconn()
inbetween already used the value in "id".
So, the first chunk in my patch was wrong, but the second chunk was
correct: radius_default_pack() _must_ be called after the call to
terminate_appconn() to get a new, valid ID.
Dipl.-Wirtsch.-Inform. Pieter Hollants
IT-Systemmanagement Pieter Hollants Tel. : (+49) (0)6192-910717
Rossertstraße 80 Fax : (+49) (0)6192-910713
65830 Kriftel eMail: pieter at hollants.com
More information about the Chilli