wget: do not abort if "_" is encountered in a HTTP header
No binary (build failed)
—
(log yok)
| @@ -328,8 +328,16 @@ static char *gethdr(FILE *fp) | |
| return NULL; | |
| /* convert the header name to lower case */ | |
| - | for (s = G.wget_buf; isalnum(*s) || *s == '-' || *s == '.'; ++s) { |
| - | /* tolower for "A-Z", no-op for "0-9a-z-." */ |
| + | for (s = G.wget_buf; isalnum(*s) || *s == '-' || *s == '.' || *s == '_'; ++s) { |
| + | /* |
| + | * No-op for 20-3f and 60-7f. "0-9a-z-." are in these ranges. |
| + | * 40-5f range ("@A-Z[\]^_") maps to 60-7f. |
| + | * "A-Z" maps to "a-z". |
| + | * "@[\]" can't occur in header names. |
| + | * "^_" maps to "~,DEL" (which is wrong). |
| + | * "^" was never seen yet, "_" was seen from web.archive.org |
| + | * (x-archive-orig-x_commoncrawl_Signature: HEXSTRING). |
| + | */ |
| *s |= 0x20; | |
| } | |