Ok, tracing Chrome I narrowed it down to the 2nd possible Redirection
"mite' explanation for the HTTP BASIC/Digest Authorization problem.
This is in the function NotifyHeadersComplete()  in:

             src\net\url_request\url_request_job.cc

This function is called to do the final request preparation:

void URLRequestJob::NotifyHeadersComplete() {
  .....
  if (IsRedirectResponse(&new_location, &http_status_code)) {
    ....
  } else if (NeedsAuth()) {
    scoped_refptr<net::AuthChallengeInfo> auth_info;
    GetAuthChallengeInfo(&auth_info);
    // Need to check for a NULL auth_info because the server may have
failed
    // to send a challenge with the 401 response.
    if (auth_info) {
      scoped_refptr<net::AuthData> auth_data;
      GetCachedAuthData(*auth_info, &auth_data);
      if (auth_data) {
        SetAuth(auth_data->username, auth_data->password);
        return;
      }
      request_->delegate()->OnAuthRequired(request_, auth_info);
      // Wait for SetAuth or CancelAuth to be called.
      return;
    }
  }
  ...
}

What is it doing is completely bypassing the authorization check and
adding of the "Authorization:" header if the request was a
redirection.  This is not correct.  The authorization header MUST be
added at this stage of the final header completion logic.

Can someone confirm this debugging analysis?

I am now going to see if can understand the source better here to see
if can and simply make this parallel logic rather than an one or the
other.

Thanks

---
HLS


On Sep 21, 10:23 pm, Hector <[EMAIL PROTECTED]> wrote:
> It appears Chrome is using the Microsoft API WinHTTP to perform BASIC
> and DIGEST authentication.
>
> Assumption:
>
> If IE is using WinHTTP as well, I have no reason to believe IE is not,
> and it works correctly, then Chrome should implement WinHTTP the same
> way.
>
> Two Possible Issues To Explore
>
> 1)  Faulty Cache Logic For Authorized Schemes
>
> Based on WinHTTP MSDN documentation
>
>  http://msdn.microsoft.com/en-us/library/aa383144(VS.85,printer).aspx
>
> the implementer is responsible for caching authentication per url.
> WinHTTP does not cache it.
>
> I believe Chrome caching logic is faulty here.  I say that for two
> reasons:
>
> 1.1) The test code semantics  suggest that two urls:
>
>        http://domain/folder/page.htm
>        http://domain/page.htm
>
> is under the same authorization scheme and realm, i.e.:
>
>        http://domain/server_realm
>
> That suggest that both urls above (as well as others under http:/
> domain) are authorized under the same realm and user credentials.
>
> 1.2) The auth_scheme string prepared in the net/http code does use:
>
>        http://domain/server_realm
>
> 2) Possible Redirection Flaw
>
> The other possibility is that Chrome redirection logic is not taken
> into account whether the referrer was authorized.
>
> This is an angle I am going to look at now.
>
> Comments?
>
> PS: Ideally, if there is an assigned cog for the net/http logic, I
> really hope he can chime in here and provide input.  I, like anyone
> else here, don't wish to going nuts posting notes galore pissing off
> people and losing my welcome here.  Thats not me, however, I do wish
> to address this asap.  Thanks.
>
> --
> HLS
>
> On Sep 21, 9:06 pm, Hector <[EMAIL PROTECTED]> wrote:
>
> > Folks,
>
> > The main reason for me to get the chrome source was to look at the
> > long time problem that Safari had with HTTP BASIC/DIGEST
> > authentication which obviously Chrome has inherited.
>
> > With our developers and operators, who were getting increasingly
> > frustrated with this problem as th "Apple Clones" era was moving into
> > the Windows environments, the general agreement was that the problem
> > was with WebKit since they both using the same rendering engine.
>
> > Attempting to seek input from Apple and now the Chrome team was not
> > getting anywhere so getting the source and seeing whats going on had
> > to be done.
>
> > Well,  not I am not too such it is a WebKit issue because last night I
> > downloaded yet another webkit based browser - Arora and it worked
> > fine.
>
> > So there has to be something with the way Safari (and Chrome inherits)
> > has implemented their authentication cache.
>
> > I would like to get a serious discussion on this long time problem.
> > I would like for someone to point me to the code snippets I should
> > look for regarding how the engine resolves authenticated vs non-
> > authenticated requests.
>
> > Overall the issue is, a user request
>
> >  http://domain--> redirection tohttp://domain/public/default.htm
>
> > where a login button are available.
>
> >   [ LOGIN ] --->  http://domain/login?mode=html
>
> > When clicked,  this does a www-authenticate 401 response forcing the
> > browser to popup its internal authentication box for BASIC or DIGEST
> > authentication.
>
> > When the users fills it in, and clicks ok, the server then logs in the
> > user and redirects him to:
>
> >    http://domain
>
> > which NORMAL browsers will perform the redirected request with the
> > Authorization: header included and the server will finally output he
> > privatehttp://domain/default.htmhomepage.
>
> > What happens is Safari/Chrome, is that it does not send the
> > authorization header and the server redirects him back to /public/
> > default.htm.
>
> > No other browsers other than Safari/Chrome exhibit this behavior.
>
> > We explored having  the server redirecting to /default.htm and this
> > works to display the right page, but looking at the socket logs, shows
> > there are TWO request done for every page browsed from that point one
> > - one without the Authorization header which the server response with
> > 401 and then again with the Authorization.
>
> > So this is something I would like to resolved.
>
> > The other things I want to resolve are:
>
> > At the operation level:
>
> > -  Better handling of MIME based file association and launching.
>
> > At the security level:
>
> > - Add Allow | Allow Session | Block  dialog/manager for cookies.
> > - Option to turn off some of the "spying" stuff.
>
> > The main things for me is the HTTP AUTH and the File Association
> > issue, these are show stoppers for Chrome usage for our customers.
>
> > --
> > HLS
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Chromium-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/chromium-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to