Index: third_party/tlslite/scripts/tlsdb.py |
diff --git a/third_party/tlslite/scripts/tlsdb.py b/third_party/tlslite/scripts/tlsdb.py |
old mode 100644 |
new mode 100755 |
index bdd524e64174b96c26d92f613e42bc2fa57cea67..476d61899f6272a9b2d91691d2db9834502a9a89 |
--- a/third_party/tlslite/scripts/tlsdb.py |
+++ b/third_party/tlslite/scripts/tlsdb.py |
@@ -1,61 +1,52 @@ |
-#! python |
+#!/usr/bin/env python |
+# Authors: |
+# Trevor Perrin |
+# Martin von Loewis - python 3 port |
+# |
+# See the LICENSE file for legal information regarding use of this file. |
+ |
+from __future__ import print_function |
import sys |
import os |
import socket |
-import thread |
import math |
-try: |
- import cryptoIDlib |
- cryptoIDlibLoaded = True |
-except: |
- cryptoIDlibLoaded = False |
- |
- |
if __name__ != "__main__": |
raise "This must be run as a command, not used as a module!" |
-from tlslite.api import * |
+from tlslite import * |
+from tlslite import __version__ |
if len(sys.argv) == 1 or (len(sys.argv)==2 and sys.argv[1].lower().endswith("help")): |
- print "" |
- print "Version: 0.3.8" |
- print "" |
- print "RNG: %s" % prngName |
- print "" |
- print "Modules:" |
- if cryptlibpyLoaded: |
- print " cryptlib_py : Loaded" |
- else: |
- print " cryptlib_py : Not Loaded" |
+ print("") |
+ print("Version: %s" % __version__) |
+ print("") |
+ print("RNG: %s" % prngName) |
+ print("") |
+ print("Modules:") |
if m2cryptoLoaded: |
- print " M2Crypto : Loaded" |
+ print(" M2Crypto : Loaded") |
else: |
- print " M2Crypto : Not Loaded" |
+ print(" M2Crypto : Not Loaded") |
if pycryptoLoaded: |
- print " pycrypto : Loaded" |
+ print(" pycrypto : Loaded") |
else: |
- print " pycrypto : Not Loaded" |
+ print(" pycrypto : Not Loaded") |
if gmpyLoaded: |
- print " GMPY : Loaded" |
+ print(" GMPY : Loaded") |
else: |
- print " GMPY : Not Loaded" |
- if cryptoIDlibLoaded: |
- print " cryptoIDlib : Loaded" |
- else: |
- print " cryptoIDlib : Not Loaded" |
- print "" |
- print "Commands:" |
- print "" |
- print " createsrp <db>" |
- print " createsharedkey <db>" |
- print "" |
- print " add <db> <user> <pass> [<bits>]" |
- print " del <db> <user>" |
- print " check <db> <user> [<pass>]" |
- print " list <db>" |
+ print(" GMPY : Not Loaded") |
+ print("") |
+ print("Commands:") |
+ print("") |
+ print(" createsrp <db>") |
+ print("") |
+ print(" add <db> <user> <pass> [<bits>]") |
+ print(" del <db> <user>") |
+ print(" check <db> <user> [<pass>]") |
+ print(" list <db>") |
sys.exit() |
cmd = sys.argv[1].lower() |
@@ -85,9 +76,9 @@ try: |
if cmd == "help": |
command = args.getLast(2).lower() |
if command == "valid": |
- print "" |
+ print("") |
else: |
- print "Bad command: '%s'" % command |
+ print("Bad command: '%s'" % command) |
elif cmd == "createsrp": |
dbName = args.get(2) |
@@ -95,46 +86,25 @@ try: |
db = VerifierDB(dbName) |
db.create() |
- elif cmd == "createsharedkey": |
- dbName = args.getLast(2) |
- |
- db = SharedKeyDB(dbName) |
- db.create() |
- |
elif cmd == "add": |
dbName = args.get(2) |
username = args.get(3) |
password = args.get(4) |
- try: |
- db = VerifierDB(dbName) |
- db.open() |
- if username in db: |
- print "User already in database!" |
- sys.exit() |
- bits = int(args.getLast(5)) |
- N, g, salt, verifier = VerifierDB.makeVerifier(username, password, bits) |
- db[username] = N, g, salt, verifier |
- except ValueError: |
- db = SharedKeyDB(dbName) |
- db.open() |
- if username in db: |
- print "User already in database!" |
- sys.exit() |
- args.getLast(4) |
- db[username] = password |
+ db = VerifierDB(dbName) |
+ db.open() |
+ if username in db: |
+ print("User already in database!") |
+ sys.exit() |
+ bits = int(args.getLast(5)) |
+ N, g, salt, verifier = VerifierDB.makeVerifier(username, password, bits) |
+ db[username] = N, g, salt, verifier |
elif cmd == "del": |
dbName = args.get(2) |
username = args.getLast(3) |
- |
- try: |
- db = VerifierDB(dbName) |
- db.open() |
- except ValueError: |
- db = SharedKeyDB(dbName) |
- db.open() |
- |
+ db = VerifierDB(dbName) |
+ db.open() |
del(db[username]) |
elif cmd == "check": |
@@ -145,50 +115,36 @@ try: |
else: |
password = None |
- try: |
- db = VerifierDB(dbName) |
- db.open() |
- except ValueError: |
- db = SharedKeyDB(dbName) |
- db.open() |
+ db = VerifierDB(dbName) |
+ db.open() |
try: |
db[username] |
- print "Username exists" |
+ print("Username exists") |
if password: |
if db.check(username, password): |
- print "Password is correct" |
+ print("Password is correct") |
else: |
- print "Password is wrong" |
+ print("Password is wrong") |
except KeyError: |
- print "Username does not exist" |
+ print("Username does not exist") |
sys.exit() |
elif cmd == "list": |
dbName = args.get(2) |
- |
- try: |
- db = VerifierDB(dbName) |
- db.open() |
- except ValueError: |
- db = SharedKeyDB(dbName) |
- db.open() |
- |
- if isinstance(db, VerifierDB): |
- print "Verifier Database" |
- def numBits(n): |
- if n==0: |
- return 0 |
- return int(math.floor(math.log(n, 2))+1) |
- for username in db.keys(): |
- N, g, s, v = db[username] |
- print numBits(N), username |
- else: |
- print "Shared Key Database" |
- for username in db.keys(): |
- print username |
+ db = VerifierDB(dbName) |
+ db.open() |
+ |
+ print("Verifier Database") |
+ def numBits(n): |
+ if n==0: |
+ return 0 |
+ return int(math.floor(math.log(n, 2))+1) |
+ for username in db.keys(): |
+ N, g, s, v = db[username] |
+ print(numBits(N), username) |
else: |
- print "Bad command: '%s'" % cmd |
+ print("Bad command: '%s'" % cmd) |
except: |
raise |