Ok, here's my fix to check nonce....
$ darcs whatsnew
{
hunk ./libsofia-sip-ua/iptsec/auth_client.c 202
+ auth_challenge_t oac = *ca->ca_ac;
hunk ./libsofia-sip-ua/iptsec/auth_client.c 260
- auth_digest_challenge_free_params(home, ac);
-
hunk ./libsofia-sip-ua/iptsec/auth_client.c 262
+
+ /* Check to see if nonce is updated from the previous */
+ if ( ac->ac_nonce ) {
+ if ( !oac.ac_nonce || strcmp( ac->ac_nonce, oac.ac_nonce ) )
+ existing = 0;
+ } else if ( oac.ac_nonce ) {
+ existing = 0;
+ }
+
+ auth_digest_challenge_free_params(home, &oac);
}
Pekka Pessi wrote:
On 5/23/06, Colin Whittaker <[EMAIL PROTECTED]> wrote:
...
ca_challenge() doesn't see this as a new challenge and returns 0, so
there is never a new REGISTER generated using the new nonce after I call
nua_authenticate().
It looks like the ca_challenge() just trusts that the server adds
stale=true to the new challenge.
I'm not sure exactly how to fix this.
One idea I have is to keep the old header params around, and check to
see if any are updated. Return 1 if they are.
That sounds most reasonable approach.
I'm not sure which params would need to be compared other than nonce.
I'm not sure if it makes any sense to change any other parameters.
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Sofia-sip-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel