webssh

Web based ssh client https://github.com/huashengdun/webssh webssh.huashengdun.org/
git clone http://git.hanabi.in/repos/webssh.git
Log | Files | Refs | README | LICENSE

commit 704d2b68e667d536b5d6c7707702b4a5ac268750
parent 8eb636d73b181f5b72401b3b9afde3bd78679581
Author: Sheng <webmaster0115@gmail.com>
Date:   Sun,  9 Sep 2018 15:33:59 +0800

Check private key size for the final value

Diffstat:
Mwebssh/handler.py | 18++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/webssh/handler.py b/webssh/handler.py @@ -90,16 +90,18 @@ class IndexHandler(MixinHandler, tornado.web.RequestHandler): def get_privatekey(self): name = 'privatekey' lst = self.request.files.get(name) # multipart form - if not lst: - return self.get_argument(name, u'') # urlencoded form - else: + if lst: self.filename = lst[0]['filename'] data = lst[0]['body'] - if len(data) > KEY_MAX_SIZE: - raise InvalidValueError( - 'Invalid private key: {}'.format(self.filename) - ) - return self.decode_argument(data, name=name) + value = self.decode_argument(data, name=name).strip() + else: + value = self.get_argument(name, u'') # urlencoded form + + if len(value) > KEY_MAX_SIZE: + raise InvalidValueError( + 'Invalid private key: {}'.format(self.filename) + ) + return value @classmethod def get_specific_pkey(cls, pkeycls, privatekey, password):