ptpb / pb

pb is a formerly-lightweight pastebin and url shortener
Other
549 stars 52 forks source link

Support 64 MiB pastes #119

Closed HalosGhost closed 9 years ago

HalosGhost commented 9 years ago

At the moment, pb supports pastes up to 60 MiB in size.

That is, 62914560 bytes. Look how awful that number is!

Would it not be dramatically rounder and prettier to allow for 64 MiB; i.e., 67108864 (or 2 ^ 26) bytes?

buhman commented 9 years ago

Fixed:

$ dd if=/dev/zero bs=67108865 count=1 | curl -D - --data-binary @- https://ptpb.pw
HTTP/1.1 413 Request Entity Too Large
Server: nginx/1.6.2
Date: Thu, 23 Apr 2015 04:48:30 GMT
Content-Type: text/html
Content-Length: 198
Connection: close

<html>
<head><title>413 Request Entity Too Large</title></head>
<body bgcolor="white">
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>nginx/1.6.2</center>
</body>
</html>
$ dd if=/dev/zero bs=67108864 count=1 | curl -D - --data-binary @- https://ptpb.pw
HTTP/1.1 100 Continue

HTTP/1.1 400 BAD REQUEST
Server: nginx/1.6.2
Date: Thu, 23 Apr 2015 04:50:00 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 6
Connection: keep-alive
Access-Control-Allow-Origin: *
X-Varnish: 3310705
Age: 0
Via: 1.1 varnish-v4

Nope.

It's funny because you get to watch how long it takes werkzeug to parse a 64MiB-of-zeros request body now, before pb says 'Nop'.

HalosGhost commented 9 years ago

Lol, so pb's max request is 64 MiB now, but werkzeug can't handle it?

buhman commented 9 years ago

Erm no. That request is 400 (generated by pb, not werkzeug) because it lacks a c form field.