diff web/index.py @ 334:3b821541657d

hmac
author Matt Johnston <matt@ucc.asn.au>
date Tue, 12 Jun 2012 00:35:23 +0800
parents 298e502fdcd4
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():