diff --git a/process/checkpasswd.py b/process/checkpasswd.py index dd4924b32..1e6198600 100755 --- a/process/checkpasswd.py +++ b/process/checkpasswd.py @@ -9,6 +9,11 @@ if len(sys.argv)<4: filename=sys.argv[1] myfaction=sys.argv[2] mypasswd=sys.argv[3] +quiet=len(sys.argv)<=4 + +def log(str): + if not quiet: + print(str) if mypasswd[0] == '"': mypasswd = mypasswd.strip('"') @@ -16,10 +21,17 @@ if mypasswd[0] == '"': pw_data = EPasswd() try: pw_data.load_database(filename) + log("loaded from db " + filename) except: pw_data.load_file(filename) + log("loaded from file " + filename) if pw_data.fac_exists(myfaction): if pw_data.check(myfaction, mypasswd): + log("password match: " + myfaction) sys.exit(0) + log("password mismatch: " + myfaction) +else: + log("faction missing: " + myfaction) + sys.exit(-1) diff --git a/process/epasswd.py b/process/epasswd.py index 4cac6e1ce..20109b9ba 100755 --- a/process/epasswd.py +++ b/process/epasswd.py @@ -69,7 +69,7 @@ class EPasswd: def check(self, id, passwd): pw = self.get_passwd(id) if pw[0:4]=='$2a$' or pw[0:4]=='$2y$': - return bcrypt.checkpw(passwd, pw) + return bcrypt.checkpw(passwd.encode('utf8'), pw.encode('utf8')) return pw == passwd def get_passwd(self, id):