From: F. T. R. <tar...@ci...> - 2004-11-09 02:08:15
|
Olivier, just a word of caution, that patch will work for ts but wont for me, because the 401 might also contain a Proxy-Authenticate header. The fix is to look for both headers and use whichever it finds, regardless of 401 vs 407. I've been out of town, but will try to look at it this week. t > From code reading (cannot test it now), can you test if the attached > patch works for you? > > To apply: > patch <authfix.diff ; make ossl > > Olivier. > > F. Tarek Rogers wrote: > >> Oops. I tested against only the Cisco Proxy which sends a >> Proxy-Authenticate header, even in the 401. Your server is sending >> WWW-Authenticate, and sipp isn't extracting that header from the 401. >> >> I don't have time to fix it and test it right now, but I believe the >> problem area is the call::process_incomming function in call.cpp. >> >> /* is a challenge */ >> char auth[MAX_HEADER_LEN]; >> memset(auth, 0, sizeof(auth)); >> strcpy(auth, get_header_content(msg, (char*)"Proxy-Authenticate:")); >> >> If you'd like to make a patch and test it, that'd be super. >> Otherwise, I'll look at it next week. >> >> t >> >> >>> Has anyone gotten sipp to work with a uas using the 401 response >>> rather than >>> the proxy 407 response ? >>> >>> 2004-11-04 19:06:53: createAuthHeader: authentication must be digest. >>> > > diff -bruN sipp.cumulus.2004-11-03.cvs/call.cpp > sipp.cumulus.2004-11-03.authfix/call.cpp > --- sipp.cumulus.2004-11-03.cvs/call.cpp Tue Nov 2 18:48:10 2004 > +++ sipp.cumulus.2004-11-03.authfix/call.cpp Fri Nov 5 08:22:59 2004 > @@ -1602,7 +1602,11 @@ > /* is a challenge */ > char auth[MAX_HEADER_LEN]; > memset(auth, 0, sizeof(auth)); > + if (reply_code == 401) { > + strcpy(auth, get_header_content(msg, (char*)"WWW-Authenticate:")); > + } else { > strcpy(auth, get_header_content(msg, (char*)"Proxy-Authenticate:")); > + } > > dialog_authentication = (char *) calloc(1, strlen(auth) + 2); > sprintf(dialog_authentication, "%s", auth); |