summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Renner Berthing <esmil@mailme.dk>2013-01-24 14:09:10 +0100
committerEmil Renner Berthing <esmil@mailme.dk>2013-01-24 22:04:03 +0100
commit4f582e0be0bd6afbae2ba0fb0e747410bc3a5d42 (patch)
treeb885d76275a8235be1138753403d433e90f98913
parentbdb085de82231eb709058ffa78fbac6ff2df8c38 (diff)
downloadlem-4f582e0be0bd6afbae2ba0fb0e747410bc3a5d42.tar.gz
lem-4f582e0be0bd6afbae2ba0fb0e747410bc3a5d42.tar.xz
lem-4f582e0be0bd6afbae2ba0fb0e747410bc3a5d42.zip
http: allow whitespace after HTTP and /
This allows for requests like GET /index.html HTTP / 1.1 but still doesn't allow GET /index.html HTTP / 1 . 1 which is actually valid HTTP. However this change is basically free.
-rw-r--r--lem/http/core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lem/http/core.c b/lem/http/core.c
index 70f1327..5c14d13 100644
--- a/lem/http/core.c
+++ b/lem/http/core.c
@@ -127,8 +127,8 @@ static const unsigned char state_table[SMAX][C_MAX] = {
/* SH__*/ { X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,SHT1,X___,X___ },
/* SHT1*/ { X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,SHT2,X___,X___ },
/* SHT2*/ { X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,SHTP,X___ },
-/* SHTP*/ { X___,X___,X___,X___,X___,SSLH,X___,X___,X___,X___,X___,X___,X___ },
-/* SSLH*/ { X___,X___,X___,X___,X___,X___,X___,X___,SMAV,X___,X___,X___,X___ },
+/* SHTP*/ { X___,X___,X___,SHTP,X___,SSLH,X___,X___,X___,X___,X___,X___,X___ },
+/* SSLH*/ { X___,X___,X___,SSLH,X___,X___,X___,X___,SMAV,X___,X___,X___,X___ },
/* SMAV*/ { X___,X___,X___,X___,X___,X___,X___,SDOT,SMAV,X___,X___,X___,X___ },
/* SDOT*/ { X___,X___,X___,X___,X___,X___,X___,X___,SMIV,X___,X___,X___,X___ },
/* SMIV*/ { X___,X___,SRE1,X___,X___,X___,X___,X___,SMIV,X___,X___,X___,X___ },
@@ -136,8 +136,8 @@ static const unsigned char state_table[SMAX][C_MAX] = {
/* CH__*/ { X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,CHT1,X___,X___ },
/* CHT1*/ { X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,CHT2,X___,X___ },
/* CHT2*/ { X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,X___,CHTP,X___ },
-/* CHTP*/ { X___,X___,X___,X___,X___,CSLH,X___,X___,X___,X___,X___,X___,X___ },
-/* CSLH*/ { X___,X___,X___,X___,X___,X___,X___,X___,CMAV,X___,X___,X___,X___ },
+/* CHTP*/ { X___,X___,X___,CHTP,X___,CSLH,X___,X___,X___,X___,X___,X___,X___ },
+/* CSLH*/ { X___,X___,X___,CSLH,X___,X___,X___,X___,CMAV,X___,X___,X___,X___ },
/* CMAV*/ { X___,X___,X___,X___,X___,X___,X___,CDOT,CMAV,X___,X___,X___,X___ },
/* CDOT*/ { X___,X___,X___,X___,X___,X___,X___,X___,CMIV,X___,X___,X___,X___ },
/* CMIV*/ { X___,X___,X___,XVNS,X___,X___,X___,X___,CMIV,X___,X___,X___,X___ },