mirror of https://github.com/lukechilds/node.git
Browse Source
A user was able to crash chat.tinyclouds.org by sending it a malformed URL! Not good.v0.7.4-release
Ryan
16 years ago
2 changed files with 37 additions and 2 deletions
@ -0,0 +1,31 @@ |
|||
include("mjsunit.js"); |
|||
|
|||
// Make sure no exceptions are thrown when receiving malformed HTTP
|
|||
// requests.
|
|||
port = 9999; |
|||
|
|||
nrequests_completed = 0; |
|||
nrequests_expected = 1; |
|||
|
|||
var s = node.http.createServer(function (req, res) { |
|||
puts("req: " + JSON.stringify(req.uri)); |
|||
|
|||
res.sendHeader(200, {"Content-Type": "text/plain"}); |
|||
res.sendBody("Hello World"); |
|||
res.finish(); |
|||
|
|||
if (++nrequests_completed == nrequests_expected) s.close(); |
|||
}); |
|||
s.listen(port); |
|||
|
|||
var c = node.tcp.createConnection(port); |
|||
c.addListener("connect", function () { |
|||
c.send("GET /hello?foo=%99bar HTTP/1.1\r\n\r\n"); |
|||
c.close(); |
|||
}); |
|||
|
|||
// TODO add more!
|
|||
|
|||
process.addListener("exit", function () { |
|||
assertEquals(nrequests_expected, nrequests_completed); |
|||
}); |
Loading…
Reference in new issue