Skip to content
Snippets Groups Projects
Commit 32fb9d34 authored by inso's avatar inso
Browse files

Merge branch 'password_newline' into dev

parents 5490f334 7642f639
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,8 @@ Created on 24 dec. 2014 ...@@ -5,6 +5,8 @@ Created on 24 dec. 2014
''' '''
import logging import logging
import unicodedata
import re
from PyQt5.QtWidgets import QDialog, QMessageBox from PyQt5.QtWidgets import QDialog, QMessageBox
...@@ -40,16 +42,24 @@ class PasswordAskerDialog(QDialog, Ui_PasswordAskerDialog): ...@@ -40,16 +42,24 @@ class PasswordAskerDialog(QDialog, Ui_PasswordAskerDialog):
def accept(self): def accept(self):
password = self.edit_password.text() password = self.edit_password.text()
if self.account.check_password(password):
if detect_non_printable(password):
QMessageBox.warning(self, "Bad password",
"Non printable characters in password",
QMessageBox.Ok)
return False
if not self.account.check_password(password):
QMessageBox.warning(self, "Failed to get private key",
"Wrong password typed. Cannot open the private key",
QMessageBox.Ok)
return False
self.remember = self.check_remember.isChecked() self.remember = self.check_remember.isChecked()
self.password = password self.password = password
self.edit_password.setText("") self.edit_password.setText("")
logging.debug("Password is valid") logging.debug("Password is valid")
super().accept() super().accept()
else:
QMessageBox.warning(self, "Failed to get private key",
"Wrong password typed. Cannot open the private key",
QMessageBox.Ok)
def reject(self): def reject(self):
self.edit_password.setText("") self.edit_password.setText("")
...@@ -57,3 +67,10 @@ class PasswordAskerDialog(QDialog, Ui_PasswordAskerDialog): ...@@ -57,3 +67,10 @@ class PasswordAskerDialog(QDialog, Ui_PasswordAskerDialog):
self.setResult(QDialog.Accepted) self.setResult(QDialog.Accepted)
self.password = "" self.password = ""
super().reject() super().reject()
def detect_non_printable(data):
control_chars = ''.join(map(chr, list(range(0, 32)) + list(range(127, 160))))
control_char_re = re.compile('[%s]' % re.escape(control_chars))
if control_char_re.search(data):
return True
...@@ -55,6 +55,12 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog): ...@@ -55,6 +55,12 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
recipient = self.edit_pubkey.text() recipient = self.edit_pubkey.text()
amount = self.spinbox_amount.value() amount = self.spinbox_amount.value()
if not amount:
QMessageBox.critical(self, "Money transfer",
"No amount. Please give the transfert amount",
QMessageBox.Ok)
return
password = self.password_asker.exec_() password = self.password_asker.exec_()
if self.password_asker.result() == QDialog.Rejected: if self.password_asker.result() == QDialog.Rejected:
return return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment