From c538876c35a41c861c95bafffabbe568300b4f27 Mon Sep 17 00:00:00 2001 From: Seth Schoen Date: Wed, 11 Jul 2012 16:44:52 -0700 Subject: [PATCH 1/4] add newline to GET error message output --- server-ca/chocolate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server-ca/chocolate.py b/server-ca/chocolate.py index 8132be60f..5bafde9f7 100755 --- a/server-ca/chocolate.py +++ b/server-ca/chocolate.py @@ -340,7 +340,7 @@ class session(object): def GET(self): web.header("Content-type", "text/html") - return "Hello, world! This server only accepts POST requests." + return "Hello, world! This server only accepts POST requests.\r\n" if __name__ == "__main__": app = web.application(urls, globals()) From 2e49fbaa5ef3cd5aa1c104e116d8ad1338c3ac6b Mon Sep 17 00:00:00 2001 From: Seth Schoen Date: Wed, 11 Jul 2012 19:09:54 -0700 Subject: [PATCH 2/4] implement polldelay in client --- client-webserver/client.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/client-webserver/client.py b/client-webserver/client.py index 30e2bea29..8fa793406 100644 --- a/client-webserver/client.py +++ b/client-webserver/client.py @@ -35,5 +35,18 @@ def make_request(m): def sign(k, m): m.request.sig = CSR.sign(k, sha256("(%d) (%s) (%s)" % (m.request.timestamp, m.request.recipient, m.request.csr))) -k=chocolatemessage(); m=chocolatemessage(); init(k); init(m); make_request(m); m.request.csr = open("req.pem").read(); sign(open("key.pem").read(), m); r=decode(do(m)); print (r); k.session = r.session; print decode(do(k)) - +k=chocolatemessage() +m=chocolatemessage() +init(k) +init(m) +make_request(m) +m.request.csr = open("req.pem").read() +sign(open("key.pem").read(), m) +r=decode(do(m)) +print r +while r.proceed.IsInitialized(): + print "waiting", r.proceed.polldelay + time.sleep(r.proceed.polldelay) + k.session = r.session + r = decode(do(k)) + print r From 0d6b85a9b5b4d3da4ad3f39102cfc2d1453065b1 Mon Sep 17 00:00:00 2001 From: Seth Schoen Date: Wed, 11 Jul 2012 19:10:50 -0700 Subject: [PATCH 3/4] this client won't wait more than 60 seconds even if the server asks it to --- client-webserver/client.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client-webserver/client.py b/client-webserver/client.py index 8fa793406..a5c3c5f77 100644 --- a/client-webserver/client.py +++ b/client-webserver/client.py @@ -45,6 +45,7 @@ sign(open("key.pem").read(), m) r=decode(do(m)) print r while r.proceed.IsInitialized(): + if r.proceed.polldelay > 60: r.proceed.polldelay = 60 print "waiting", r.proceed.polldelay time.sleep(r.proceed.polldelay) k.session = r.session From 9c499c06f345811e95d276effc53ad0c9b4b882b Mon Sep 17 00:00:00 2001 From: Seth Schoen Date: Wed, 11 Jul 2012 19:40:09 -0700 Subject: [PATCH 4/4] show all challenges --- client-webserver/client.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client-webserver/client.py b/client-webserver/client.py index a5c3c5f77..a1f4c8743 100644 --- a/client-webserver/client.py +++ b/client-webserver/client.py @@ -51,3 +51,6 @@ while r.proceed.IsInitialized(): k.session = r.session r = decode(do(k)) print r + +for chall in r.challenges: + print chall