Ticket UUID: | da3fef0b21c37d7e4aa611ec08076fe8af2eee35 | ||
Title: | Bug in http.c: missing \r for Proxy-Authorization header | ||
Status: | Fixed | Type: | Code_Defect |
Severity: | Minor | Priority: | |
Subsystem: | Resolution: | Fixed | |
Last Modified: | 2011-05-13 14:01:36 | ||
Version Found In: | 2011-05-12 14:56:52 d8221b98636b76cfd99cb6ccce0e24f5baaafe51 | ||
Description & Comments: | |||
Easiest to show the bug by just showing the patch:
--- src/http.c +++ src/http.c @@ -100,11 +100,11 @@ }else{ zSep = "/"; } blob_appendf(pHdr, "POST %s%sxfer/xfer HTTP/1.0\r\n", g.urlPath, zSep); if( g.urlProxyAuth ){ - blob_appendf(pHdr, "Proxy-Authorization: %s\n", g.urlProxyAuth); + blob_appendf(pHdr, "Proxy-Authorization: %s\r\n", g.urlProxyAuth); } if( g.urlPasswd && g.urlUser && g.urlPasswd[0]=='#' ){ char *zCredentials = mprintf("%s:%s", g.urlUser, &g.urlPasswd[1]); char *zEncoded = encode64(zCredentials, -1); blob_appendf(pHdr, "Authorization: Basic %s\r\n", zEncoded); All HTTP headers should be terminated by a CRLF combination, not just an LF. Without the proper termination, some servers may reject the header. |