Paul Howarth wrote:
I think your observation is right :-) ......Looks Like I am facing same problem... I am also getting same error..which yum tries to use. A typical TCP conversation goes like this: yum> GET ... yum> Host: ... yum> Accept-Encoding: identity yum> Proxy-authorization: Basic xxxxxxxxxxxxxxxxx yum> <--- Blank line which shouldn't be here yum> User-agent: urlgrabber/2.9.2 yum> proxy< HTTP/1.1 200 OK proxy< ... proxy< Content-Length: ... proxy< ... proxy< Keep-Alive: ... proxy< proxy< [Requested URL contents ...] proxy< ... proxy< HTTP/1.1 400 Bad Request ( The data is invalid. ) proxy< ... proxy< Connection: close proxy< Proxy-Connection: close proxy< ... yum> GET ... yum> Host: ... yum> Accept-Encoding: identity yum> Proxy-authorization: Basic xxxxxxxxxxxxxxxxx yum> <--- Blank line which shouldn't be here yum> User-agent: urlgrabber/2.9.2 yum> And the connection closes or times out.
So Yum (or urlgrabber) is incorrectly inserting a new line after the
Proxy-authorization header before adding the User-agent header. MS
ISA web proxy thinks that it's 2 separate requests, the first works and
the second results in an error message.
as I have proxy here
Yum doesn't realise as it only reads the specified number of bytes for its first request. It then reuses the connection, sending another request. It reads the previously buffer / unread data and see the error from the proxy. The difference between yum 2.1 and 2.2 is that the particular files which they try to read from closed sockets differ, probably because yum 2.1 reads mirror lists for repos its not using and yum 2.2 doesn't. Yum 2.1 only ever sees the failures on files it can and does re-try, so it eventually succeeds. Where as as yum 2.2 sees the failures on getting the mirror lists which it doesn't re-try so always fails.
This explanation suggests not using mirrorlist parameter and switching back to baseurl instead as a possible work around for yum 2.2. I will try this in a later.
With all this I have only done one or two tests with yum 2.2 specifying
proxy parameters in the configuration file. Results seem to indicate
that it just ignores these but don't count on this being the truth.
Excellent detective work!
I'd suggest raising a bug on yum for this, and/or contacting the author, Seth Vidal <skvidal at phy dot duke dot edu>, who I've always found to be very responsive.
Paul.