Please sign in to comment.
The CLI protocol and its implementation is not designed for
transferring huge amounts of data, and it should not be used that way. But we have commands like ban.list which potentially can return at metric shitload of data and this is a problem. This commit implements a cli_limit paramter which (with its upper limit) protects from responses that cannot be moved by the CLI protocol no matter what. We set the default to a low 4096 bytes, in order to make people specifically shoot their feet off if they really want to see 200k bans.
- Loading branch information...
Showing with 67 additions and 20 deletions.
- +2 −1 bin/varnishd/cache/cache_cli.c
- +1 −0 bin/varnishd/common/params.h
- +2 −1 bin/varnishd/mgt/mgt_cli.c
- +4 −0 bin/varnishd/mgt/mgt_main.c
- +13 −7 bin/varnishd/mgt/mgt_param.c
- +4 −0 bin/varnishtest/tests/b00008.vtc
- +1 −0 include/vcli.h
- +1 −0 include/vcli_common.h
- +2 −1 include/vcli_serve.h
- +16 −6 lib/libvarnish/cli_common.c
- +21 −4 lib/libvarnish/cli_serve.c