mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-12 01:08:00 +00:00
parent
dc1afc968b
commit
4abcba8d8f
2 changed files with 20 additions and 1 deletions
|
@ -17,6 +17,7 @@
|
||||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||||
#include "libc/errno.h"
|
#include "libc/errno.h"
|
||||||
|
#include "libc/intrin/kprintf.h"
|
||||||
#include "libc/log/check.h"
|
#include "libc/log/check.h"
|
||||||
#include "libc/mem/gc.h"
|
#include "libc/mem/gc.h"
|
||||||
#include "libc/mem/mem.h"
|
#include "libc/mem/mem.h"
|
||||||
|
@ -434,6 +435,24 @@ TEST(ParseHttpResponse, testHttp100) {
|
||||||
EXPECT_EQ(10, req->version);
|
EXPECT_EQ(10, req->version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(ParseHttpMessage, issue1315) {
|
||||||
|
static const char m[] = "\
|
||||||
|
HTTP/1.1 200 OK\r\n\
|
||||||
|
padding: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r\n\
|
||||||
|
Date: Sat, 12 Oct 2024 22:50:55 GMT\r\n\
|
||||||
|
Server: redbean/3.0.0\r\n\
|
||||||
|
Connection: close\r\n\
|
||||||
|
Content-Type: text/html; charset=utf-8\r\n\
|
||||||
|
Referrer-Policy: no-referrer-when-downgrade\r\n\
|
||||||
|
Content-Length: 12\r\n\
|
||||||
|
\r\n";
|
||||||
|
InitHttpMessage(req, kHttpResponse);
|
||||||
|
EXPECT_EQ(0, ParseHttpMessage(req, m, strlen(m) - 1, strlen(m)));
|
||||||
|
EXPECT_EQ(200, req->status);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void DoTiniestHttpRequest(void) {
|
void DoTiniestHttpRequest(void) {
|
||||||
static const char m[] = "\
|
static const char m[] = "\
|
||||||
GET /\r\n\
|
GET /\r\n\
|
||||||
|
|
|
@ -378,7 +378,7 @@ static int LuaFetch(lua_State *L) {
|
||||||
WARNF("(ftch) HTTP client %s error", "EOF headers");
|
WARNF("(ftch) HTTP client %s error", "EOF headers");
|
||||||
goto TransportError;
|
goto TransportError;
|
||||||
}
|
}
|
||||||
rc = ParseHttpMessage(&msg, inbuf.p, inbuf.n, inbuf.c);
|
rc = ParseHttpMessage(&msg, inbuf.p, inbuf.n, SHRT_MAX);
|
||||||
if (rc == -1) {
|
if (rc == -1) {
|
||||||
WARNF("(ftch) HTTP client %s error", "ParseHttpMessage");
|
WARNF("(ftch) HTTP client %s error", "ParseHttpMessage");
|
||||||
goto TransportError;
|
goto TransportError;
|
||||||
|
|
Loading…
Reference in a new issue