Mercurial > templog
diff web/index.py @ 28:e3e0ed7758f9
hmac
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 12 Jun 2012 00:35:23 +0800 |
parents | dbbd503119ba |
children | 048143905092 |
line wrap: on
line diff
--- a/web/index.py Tue Jun 12 00:09:09 2012 +0800 +++ b/web/index.py Tue Jun 12 00:35:23 2012 +0800 @@ -1,11 +1,27 @@ #!/usr/bin/env python2.7 +import binascii +import hmac + import bottle from bottle import route, request +import config +import log + @route('/update', method='post') def update(): - return "Done" + enc_lines = request.forms.lines + mac = request.forms.hmac + + if hmac.new(config.HMAC_KEY, enc_lines).hexdigest() != mac: + raise HTTPError(code = 403, output = "Bad key") + + lines = binascii.a2b_base64(enc_lines).split('\n') + + log.parse(lines) + + return "OK" @route('/graph.png') def graph():