diff --git a/plogical/backupUtilities.py b/plogical/backupUtilities.py index 5c7dbdff0..ccf540066 100755 --- a/plogical/backupUtilities.py +++ b/plogical/backupUtilities.py @@ -695,7 +695,7 @@ def startRestore(backupName, dir): 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 a7f9fe356..9034ef71b 100755 --- a/plogical/mailUtilities.py +++ b/plogical/mailUtilities.py @@ -56,7 +56,7 @@ def AfterEffects(domain): ProcessUtilities.normalExecutioner(command) @staticmethod - def createEmailAccount(domain, userName, password): + def createEmailAccount(domain, userName, password, restore = None): try: ## Check if already exists @@ -139,14 +139,16 @@ def createEmailAccount(domain, userName, password): CentOSPath = '/etc/redhat-release' if os.path.exists(CentOSPath): - password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) - password = '{CRYPT}%s' % (password.decode()) + if restore == None: + password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) + password = '{CRYPT}%s' % (password.decode()) emailAcct = EUsers(emailOwner=emailDomain, email=finalEmailUsername, password=password) emailAcct.mail = 'maildir:/home/vmail/%s/%s/Maildir' % (domain, userName) emailAcct.save() else: - password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) - password = '{CRYPT}%s' % (password.decode()) + if restore == None: + password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) + password = '{CRYPT}%s' % (password.decode()) emailAcct = EUsers(emailOwner=emailDomain, email=finalEmailUsername, password=password) emailAcct.mail = 'maildir:/home/vmail/%s/%s/Maildir' % (domain, userName) emailAcct.save()