From d8cd429c9fd988c824983e43b6955c180e9b4376 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Mon, 16 Dec 2019 20:53:03 +0500 Subject: [PATCH] bug fix: restore email password --- plogical/backupUtilities.py | 2 +- plogical/mailUtilities.py | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/plogical/backupUtilities.py b/plogical/backupUtilities.py index 053de8859..bc09d8ddf 100755 --- a/plogical/backupUtilities.py +++ b/plogical/backupUtilities.py @@ -695,7 +695,7 @@ class backupUtilities: username = email.split("@")[0] password = emailAccount.find('password').text - result = mailUtilities.createEmailAccount(masterDomain, username, password) + result = mailUtilities.createEmailAccount(masterDomain, username, password, 'restore') if result[0] == 0: raise BaseException(result[1]) diff --git a/plogical/mailUtilities.py b/plogical/mailUtilities.py index 9f99fbbde..414b97377 100755 --- a/plogical/mailUtilities.py +++ b/plogical/mailUtilities.py @@ -56,7 +56,7 @@ class mailUtilities: ProcessUtilities.normalExecutioner(command) @staticmethod - def createEmailAccount(domain, userName, password): + def createEmailAccount(domain, userName, password, restore = None): try: ## Check if already exists @@ -142,14 +142,16 @@ class mailUtilities: CentOSPath = '/etc/redhat-release' if os.path.exists(CentOSPath): - password = bcrypt.hashpw(str(password), bcrypt.gensalt()) - password = '{CRYPT}%s' % (password) + if restore == None: + password = bcrypt.hashpw(str(password), bcrypt.gensalt()) + password = '{CRYPT}%s' % (password) emailAcct = EUsers(emailOwner=emailDomain, email=finalEmailUsername, password=password) emailAcct.mail = 'maildir:/home/vmail/%s/%s/Maildir' % (domain, userName) emailAcct.save() else: - password = bcrypt.hashpw(str(password), bcrypt.gensalt()) - password = '{CRYPT}%s' % (password) + if restore == None: + password = bcrypt.hashpw(str(password), bcrypt.gensalt()) + password = '{CRYPT}%s' % (password) emailAcct = EUsers(emailOwner=emailDomain, email=finalEmailUsername, password=password) emailAcct.mail = 'maildir:/home/vmail/%s/%s/Maildir' % (domain, userName) emailAcct.save()