diff options
author | Emil Renner Berthing <esmil@mailme.dk> | 2013-01-24 14:09:10 +0100 |
---|---|---|
committer | Emil Renner Berthing <esmil@mailme.dk> | 2013-01-24 22:04:03 +0100 |
commit | 4f582e0be0bd6afbae2ba0fb0e747410bc3a5d42 (patch) | |
tree | b885d76275a8235be1138753403d433e90f98913 | |
parent | bdb085de82231eb709058ffa78fbac6ff2df8c38 (diff) | |
download | lem-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.c | 8 |
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___ }, |