diff options
author | Rob Austein <sra@hactrn.net> | 2010-10-30 05:49:52 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2010-10-30 05:49:52 +0000 |
commit | a93b8e65eb9297ddf38e834a30db2a0bac8ac65d (patch) | |
tree | a81594a9f106a1d118b13f20a11da3be7be44796 /scripts/rpkidemo | |
parent | 37d5b17ac4ee628f2464ee617c9af29fe3ddaa52 (diff) |
Revert change 3514, reenable cookies, and use separate authorization
page as credential check. These changes put this script more closely
into alignment with the normal way of doing Django sessions.
svn path=/scripts/rpkidemo; revision=3518
Diffstat (limited to 'scripts/rpkidemo')
-rwxr-xr-x | scripts/rpkidemo | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/scripts/rpkidemo b/scripts/rpkidemo index ef13f805..f00c89c6 100755 --- a/scripts/rpkidemo +++ b/scripts/rpkidemo @@ -92,13 +92,15 @@ class main(object): # Just wire them all in for the moment. base_url = "http://demo.rpki.net/myrpki/" + auth_url = base_url + 'accounts/login/' + myrpki_url = base_url + 'myrpki/' example_myrpki_cfg = "%s/rpkid/examples/myrpki.conf" % top working_dir = "%s/rpkidemo-data" % cwd myrpki_py = "%s/rpkid/myrpki.py" % top user_agent = "RPKIDemo" delay = 15 realm = "myrpki" - use_cookies = False + use_cookies = True openssl = None @@ -141,28 +143,6 @@ class main(object): os.environ["TZ"] = "UTC" time.tzset() - def make_opener(self): - """ - Avoid issue where the http password manager keeps track of how - many attempts are made. There's probably a better way to do this. - """ - - auth_handler = urllib2.HTTPDigestAuthHandler() - auth_handler.add_password( - realm = self.realm, - uri = self.base_url, - user = self.username, - passwd = self.password) - - if self.use_cookies: - handlers = (auth_handler, urllib2.HTTPCookieProcessor()) - else: - handlers = (auth_handler,) - - return urllib2.build_opener(*handlers) - - opener = property(make_opener) - def setup_username(self): """ Get username and password for web interface, construct urllib2 @@ -178,7 +158,21 @@ class main(object): self.username = raw_input("Username: ") self.password = getpass.getpass() - self.opener.open(self.base_url) # Test login credentials + auth_handler = urllib2.HTTPDigestAuthHandler() + auth_handler.add_password( + realm = self.realm, + uri = self.base_url, + user = self.username, + passwd = self.password) + + if self.use_cookies: + handlers = (auth_handler, urllib2.HTTPCookieProcessor()) + else: + handlers = (auth_handler,) + + self.opener = urllib2.build_opener(*handlers) + + self.opener.open(self.auth_url) # Test login credentials return except urllib2.URLError, e: @@ -237,7 +231,7 @@ class main(object): Upload filename to URL, return result. """ - url = "%s%s/%s" % (self.base_url, url, self.username) + url = "%s%s/%s" % (self.myrpki_url, url, self.username) data = open(filename).read() print "Uploading", filename, "to", url return self.opener.open(urllib2.Request(url, data, { @@ -270,7 +264,7 @@ class main(object): """ try: - url = self.base_url + csv_file.url + url = self.myrpki_url + csv_file.url r = self.opener.open(urllib2.Request(url, None, { "If-Modified-Since" : csv_file.last_modified(), "User-Agent" : self.user_agent })) @@ -322,7 +316,7 @@ class main(object): self.update() self.update() - webbrowser.open(self.base_url) + webbrowser.open(self.myrpki_url) self.poll_loop() |