diff options
-rw-r--r-- | plugins/check_http.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index f2f7a18..6773e65 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
@@ -1099,7 +1099,19 @@ redir (char *pos, char *status_line) | |||
1099 | } | 1099 | } |
1100 | 1100 | ||
1101 | pos += i; | 1101 | pos += i; |
1102 | pos += strspn (pos, " \t\r\n"); | 1102 | pos += strspn (pos, " \t"); |
1103 | |||
1104 | /* | ||
1105 | * RFC 2616 (4.2): ``Header fields can be extended over multiple lines by | ||
1106 | * preceding each extra line with at least one SP or HT.'' | ||
1107 | */ | ||
1108 | for (; (i = strspn (pos, "\r\n")); pos += i) { | ||
1109 | pos += i; | ||
1110 | if (!(i = strspn (pos, " \t"))) { | ||
1111 | die (STATE_UNKNOWN, _("HTTP UNKNOWN - Empty redirect location%s\n"), | ||
1112 | display_html ? "</A>" : ""); | ||
1113 | } | ||
1114 | } | ||
1103 | 1115 | ||
1104 | url = realloc (url, strcspn (pos, "\r\n") + 1); | 1116 | url = realloc (url, strcspn (pos, "\r\n") + 1); |
1105 | if (url == NULL) | 1117 | if (url == NULL) |