Module: wine Branch: master Commit: a1ebffb4527e083d3a39762851fbc3d76b5ecfa4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a1ebffb4527e083d3a39762851...
Author: Dan Hipschman dsh@linux.ucla.edu Date: Tue Apr 22 15:48:28 2008 -0700
wininet: Remove custom content-length/type headers from redirects.
---
dlls/wininet/http.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index c47a994..3f50d5c 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -2861,10 +2861,13 @@ static BOOL HTTP_GetRequestURL(WININETHTTPREQW *req, LPWSTR buf) */ static BOOL HTTP_HandleRedirect(LPWININETHTTPREQW lpwhr, LPCWSTR lpszUrl) { + static const WCHAR szContentType[] = {'C','o','n','t','e','n','t','-','T','y','p','e',0}; + static const WCHAR szContentLength[] = {'C','o','n','t','e','n','t','-','L','e','n','g','t','h',0}; LPWININETHTTPSESSIONW lpwhs = lpwhr->lpHttpSession; LPWININETAPPINFOW hIC = lpwhs->lpAppInfo; BOOL using_proxy = hIC->lpszProxy && hIC->lpszProxy[0]; WCHAR path[INTERNET_MAX_URL_LENGTH]; + int index;
if(lpszUrl[0]=='/') { @@ -3051,6 +3054,14 @@ static BOOL HTTP_HandleRedirect(LPWININETHTTPREQW lpwhr, LPCWSTR lpszUrl) } }
+ /* Remove custom content-type/length headers on redirects. */ + index = HTTP_GetCustomHeaderIndex(lpwhr, szContentType, 0, TRUE); + if (0 <= index) + HTTP_DeleteCustomHeader(lpwhr, index); + index = HTTP_GetCustomHeaderIndex(lpwhr, szContentLength, 0, TRUE); + if (0 <= index) + HTTP_DeleteCustomHeader(lpwhr, index); + return TRUE; }