From 91c9c22f388eceb91f0374d4125dd86311194e05 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Wed, 24 Jul 2019 22:37:37 +0500 Subject: [PATCH] bug fix for ubuntu and docker manager --- CyberCP/secMiddleware.py | 36 +++++++++--- backup/backupManager.py | 9 ++- databases/databaseManager.py | 2 +- firewall/firewallManager.py | 4 ++ ftp/ftpManager.py | 2 +- ftp/static/ftp/ftp.js | 2 +- install/install.py | 3 +- install/installCyberPanel.py | 2 +- loginSystem/views.py | 14 ++++- mailServer/mailserverManager.py | 4 +- mailServer/static/mailServer/mailServer.js | 2 +- plogical/CyberCPLogFileWriter.py | 6 +- plogical/backupUtilities.py | 64 ++++++++++++++-------- plogical/cPanelImporter.py | 63 ++++++++++++--------- plogical/mailUtilities.py | 2 + plogical/remoteTransferUtilities.py | 6 -- plogical/upgrade.py | 7 ++- serverStatus/serverStatusUtil.py | 14 ++--- static/ftp/ftp.js | 2 +- static/mailServer/mailServer.js | 2 +- 20 files changed, 156 insertions(+), 90 deletions(-) diff --git a/CyberCP/secMiddleware.py b/CyberCP/secMiddleware.py index e1ade8a9c..19612eee0 100755 --- a/CyberCP/secMiddleware.py +++ b/CyberCP/secMiddleware.py @@ -10,14 +10,32 @@ class secMiddleware: def __call__(self, request): try: uID = request.session['userID'] - if request.session['ipAddr'] == request.META.get('REMOTE_ADDR'): - pass + ipAddr = request.META.get('REMOTE_ADDR') + + if ipAddr.find('.') > -1: + if request.session['ipAddr'] == ipAddr: + pass + else: + del request.session['userID'] + del request.session['ipAddr'] + logging.writeToFile(request.META.get('REMOTE_ADDR')) + final_dic = {'error_message': "Session reuse detected, IPAddress logged.", + "errorMessage": "Session reuse detected, IPAddress logged."} + final_json = json.dumps(final_dic) + return HttpResponse(final_json) else: - logging.writeToFile(request.META.get('REMOTE_ADDR')) - final_dic = {'error_message': "Session reuse detected, IPAddress logged.", - "errorMessage": "Session reuse detected, IPAddress logged."} - final_json = json.dumps(final_dic) - return HttpResponse(final_json) + ipAddr = request.META.get('REMOTE_ADDR').split(':')[:3] + + if request.session['ipAddr'] == ipAddr: + pass + else: + del request.session['userID'] + del request.session['ipAddr'] + logging.writeToFile(request.META.get('REMOTE_ADDR')) + final_dic = {'error_message': "Session reuse detected, IPAddress logged.", + "errorMessage": "Session reuse detected, IPAddress logged."} + final_json = json.dumps(final_dic) + return HttpResponse(final_json) except: pass if request.method == 'POST': @@ -40,9 +58,9 @@ class secMiddleware: else: continue - if request.build_absolute_uri().find('cloudAPI') > -1 or request.build_absolute_uri().find('filemanager') > -1 or request.build_absolute_uri().find('verifyLogin') > -1 or request.build_absolute_uri().find('submitUserCreation') > -1: + if request.build_absolute_uri().find('docker') > -1 or request.build_absolute_uri().find('cloudAPI') > -1 or request.build_absolute_uri().find('filemanager') > -1 or request.build_absolute_uri().find('verifyLogin') > -1 or request.build_absolute_uri().find('submitUserCreation') > -1: continue - if key == 'passwordByPass' or key == 'cronCommand' or key == 'emailMessage' or key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT' or key == 'SecAuditLogRelevantStatus' or key == 'fileContent': + if key == 'imageByPass' or key == 'passwordByPass' or key == 'cronCommand' or key == 'emailMessage' or key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT' or key == 'SecAuditLogRelevantStatus' or key == 'fileContent': continue if value.find(';') > -1 or value.find('&&') > -1 or value.find('|') > -1 or value.find('...') > -1 \ or value.find("`") > -1 or value.find("$") > -1 or value.find("(") > -1 or value.find(")") > -1 \ diff --git a/backup/backupManager.py b/backup/backupManager.py index 9ad618a1a..0188bed11 100755 --- a/backup/backupManager.py +++ b/backup/backupManager.py @@ -1035,8 +1035,7 @@ class BackupManager: ## - execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py" - + execPath = "python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py" execPath = execPath + " remoteBackupRestore --backupDirComplete " + backupDirComplete + " --backupDir " + str( backupDir) @@ -1074,14 +1073,14 @@ class BackupManager: status = ProcessUtilities.outputExecutioner(command) if status.find("completed[success]") > -1: - command = "sudo rm -rf " + removalPath - # subprocess.call(shlex.split(command)) + command = "rm -rf " + removalPath + ProcessUtilities.executioner(command) data_ret = {'remoteTransferStatus': 1, 'error_message': "None", "status": status, "complete": 1} json_data = json.dumps(data_ret) return HttpResponse(json_data) elif status.find("[5010]") > -1: command = "sudo rm -rf " + removalPath - # subprocess.call(shlex.split(command)) + ProcessUtilities.executioner(command) data = {'remoteTransferStatus': 0, 'error_message': status, "status": "None", "complete": 0} json_data = json.dumps(data) diff --git a/databases/databaseManager.py b/databases/databaseManager.py index 0da7cee19..aced68386 100755 --- a/databases/databaseManager.py +++ b/databases/databaseManager.py @@ -190,7 +190,7 @@ class DatabaseManager: userName = data['dbUserName'] dbPassword = data['dbPassword'] - db = Databases.objects.get(dbName=userName) + db = Databases.objects.get(dbUser=userName) admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(db.website.domain, admin, currentACL) == 1: diff --git a/firewall/firewallManager.py b/firewall/firewallManager.py index 7099148d0..664977e3a 100755 --- a/firewall/firewallManager.py +++ b/firewall/firewallManager.py @@ -386,10 +386,14 @@ class FirewallManager: FirewallUtilities.deleteRule("tcp", updateFW.port, "0.0.0.0/0") updateFW.port = sshPort updateFW.save() + FirewallUtilities.addRule('tcp', sshPort, "0.0.0.0/0") except: try: newFireWallRule = FirewallRules(name="SSHCustom", port=sshPort, proto="tcp") newFireWallRule.save() + FirewallUtilities.addRule('tcp', sshPort, "0.0.0.0/0") + command = 'firewall-cmd --permanent --remove-service=ssh' + ProcessUtilities.executioner(command) except BaseException, msg: logging.CyberCPLogFileWriter.writeToFile(str(msg)) diff --git a/ftp/ftpManager.py b/ftp/ftpManager.py index 28e0ab6b8..64a0ebe68 100755 --- a/ftp/ftpManager.py +++ b/ftp/ftpManager.py @@ -267,7 +267,7 @@ class FTPManager: data = json.loads(self.request.body) userName = data['ftpUserName'] - password = data['ftpPassword'] + password = data['passwordByPass'] admin = Administrator.objects.get(pk=userID) ftp = Users.objects.get(user=userName) diff --git a/ftp/static/ftp/ftp.js b/ftp/static/ftp/ftp.js index 8e2d41bdf..679a8b5f7 100755 --- a/ftp/static/ftp/ftp.js +++ b/ftp/static/ftp/ftp.js @@ -328,7 +328,7 @@ app.controller('listFTPAccounts', function ($scope, $http) { var data = { ftpUserName: globalFTPUsername, - ftpPassword: $scope.ftpPassword, + passwordByPass: $scope.ftpPassword, }; var config = { diff --git a/install/install.py b/install/install.py index f44a3a714..660400d1f 100755 --- a/install/install.py +++ b/install/install.py @@ -1151,7 +1151,7 @@ class preFlightsChecks: 'Change permissions for client.', 1, 0, os.EX_OSERR) impFile = ['/etc/pure-ftpd/pure-ftpd.conf', '/etc/pure-ftpd/pureftpd-pgsql.conf', '/etc/pure-ftpd/pureftpd-mysql.conf', '/etc/pure-ftpd/pureftpd-ldap.conf', - '/etc/dovecot/dovecot.conf', '/etc/pdns/pdns.conf'] + '/etc/dovecot/dovecot.conf', '/etc/pdns/pdns.conf', '/etc/pure-ftpd/db/mysql.conf'] for items in impFile: command = 'chmod 600 %s' % (items) @@ -2470,6 +2470,7 @@ enabled=1""" FirewallUtilities.addRule("tcp", "993") FirewallUtilities.addRule("udp", "53") FirewallUtilities.addRule("tcp", "53") + FirewallUtilities.addRule("udp", "443") FirewallUtilities.addRule("tcp", "40110-40210") logging.InstallLog.writeToFile("FirewallD installed and configured!") diff --git a/install/installCyberPanel.py b/install/installCyberPanel.py index 432e1152d..0e3b2cd87 100755 --- a/install/installCyberPanel.py +++ b/install/installCyberPanel.py @@ -599,7 +599,7 @@ class InstallCyberPanel: "/etc/resolv.conf'", 1, 1, os.EX_OSERR) if self.distro == centos: - command = 'yum -y install epel-release yum-plugin-priorities' + command = 'yum -y install epel-release' install.preFlightsChecks.call(command, self.distro, '[installPowerDNS]', 'Install PowerDNS', 1, 1, os.EX_OSERR) diff --git a/loginSystem/views.py b/loginSystem/views.py index 36d8ea48c..d89fe4748 100755 --- a/loginSystem/views.py +++ b/loginSystem/views.py @@ -15,6 +15,7 @@ import CyberCP.settings as settings from models import ACL from plogical.acl import ACLManager from django.views.decorators.csrf import ensure_csrf_cookie +from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging # Create your views here. def verifyLogin(request): @@ -116,7 +117,15 @@ def verifyLogin(request): if hashPassword.check_password(admin.password, password): request.session['userID'] = admin.pk - request.session['ipAddr'] = request.META.get('REMOTE_ADDR') + + ipAddr = request.META.get('REMOTE_ADDR') + + if ipAddr.find(':') > -1: + ipAddr = ipAddr.split(':')[:3] + request.session['ipAddr'] = ''.join(ipAddr) + else: + request.session['ipAddr'] = request.META.get('REMOTE_ADDR') + request.session.set_expiry(3600) data = {'userID': admin.pk, 'loginStatus': 1, 'error_message': "None"} json_data = json.dumps(data) @@ -195,6 +204,9 @@ def loadLoginPage(request): newFWRule = FirewallRules(name="ftptls", proto="tcp", port="40110-40210") newFWRule.save() + newFWRule = FirewallRules(name="quic", proto="udp", port="443") + newFWRule.save() + if numberOfAdministrator == 0: ACLManager.createDefaultACLs() acl = ACL.objects.get(name='admin') diff --git a/mailServer/mailserverManager.py b/mailServer/mailserverManager.py index 8fc3400aa..e0ae011a3 100755 --- a/mailServer/mailserverManager.py +++ b/mailServer/mailserverManager.py @@ -377,7 +377,7 @@ class MailServerManager: data = json.loads(self.request.body) email = data['email'] - password = data['password'] + password = data['passwordByPass'] emailDB = EUsers.objects.get(email=email) @@ -393,6 +393,8 @@ class MailServerManager: password = '{CRYPT}%s' % (password) emailDB.password = password else: + password = bcrypt.hashpw(str(password), bcrypt.gensalt()) + password = '{CRYPT}%s' % (password) emailDB.password = password emailDB.save() diff --git a/mailServer/static/mailServer/mailServer.js b/mailServer/static/mailServer/mailServer.js index 96403c507..75cf08898 100755 --- a/mailServer/static/mailServer/mailServer.js +++ b/mailServer/static/mailServer/mailServer.js @@ -391,7 +391,7 @@ app.controller('changeEmailPassword', function ($scope, $http) { var data = { domain: domain, email: email, - password: password, + passwordByPass: password, }; var config = { diff --git a/plogical/CyberCPLogFileWriter.py b/plogical/CyberCPLogFileWriter.py index 397303f49..05b07d1af 100755 --- a/plogical/CyberCPLogFileWriter.py +++ b/plogical/CyberCPLogFileWriter.py @@ -49,6 +49,8 @@ class CyberCPLogFileWriter: statusFile.close() print(mesg + '\n') except BaseException, msg: - CyberCPLogFileWriter.writeToFile(str(msg) + ' [statusWriter]') - print str(msg) + pass + #CyberCPLogFileWriter.writeToFile(str(msg) + ' [statusWriter]') + #print str(msg) + diff --git a/plogical/backupUtilities.py b/plogical/backupUtilities.py index d06c9494d..e0af0e68e 100755 --- a/plogical/backupUtilities.py +++ b/plogical/backupUtilities.py @@ -102,7 +102,13 @@ class backupUtilities: databasesXML = Element('Databases') for items in databases: - dbuser = DBUsers.objects.get(user=items.dbUser) + try: + dbuser = DBUsers.objects.get(user=items.dbUser) + except: + dbusers = DBUsers.objects.all().filter(user=items.dbUser) + for it in dbusers: + dbuser = it + break databaseXML = Element('database') @@ -154,8 +160,8 @@ class backupUtilities: metaFileXML.append(dnsRecordsXML) - except: - pass + except BaseException, msg: + logging.CyberCPLogFileWriter.statusWriter(status, '%s. [158:prepMeta]' % (str(msg))) ## Email accounts XML @@ -175,9 +181,8 @@ class backupUtilities: emailRecordsXML.append(emailRecordXML) metaFileXML.append(emailRecordsXML) - - except: - pass + except BaseException, msg: + logging.CyberCPLogFileWriter.statusWriter(status, '%s. [179:prepMeta]' % (str(msg))) ## Email meta generated! @@ -1009,25 +1014,45 @@ def submitBackupCreation(tempStoragePath, backupName, backupPath, backupDomain): ## - command = 'mkdir -p %s' % (backupPath) - ProcessUtilities.executioner(command) + if not os.path.exists(backupPath) or not os.path.islink(backupPath): + command = 'mkdir -p %s' % (backupPath) + ProcessUtilities.executioner(command) + else: + return 0 - command = 'chown -R %s:%s %s' % (website.externalApp, website.externalApp, backupPath) - ProcessUtilities.executioner(command) + if not os.path.exists(backupPath) or not os.path.islink(backupPath): + command = 'chown -R %s:%s %s' % (website.externalApp, website.externalApp, backupPath) + ProcessUtilities.executioner(command) + else: + return 0 ## + if not os.path.exists(tempStoragePath) or not os.path.islink(tempStoragePath): + command = 'mkdir -p %s' % (tempStoragePath) + ProcessUtilities.executioner(command) + else: + return 0 - command = 'mkdir -p %s' % (tempStoragePath) - ProcessUtilities.executioner(command) - - command = 'chown -R %s:%s %s' % (website.externalApp, website.externalApp, tempStoragePath) - ProcessUtilities.executioner(command) + if not os.path.exists(tempStoragePath) or not os.path.islink(tempStoragePath): + command = 'chown -R %s:%s %s' % (website.externalApp, website.externalApp, tempStoragePath) + ProcessUtilities.executioner(command) + else: + return 0 ## + if not os.path.exists(status) or not os.path.islink(status): + command = 'touch %s' % (status) + ProcessUtilities.executioner(command) + else: + return 0 + + if not os.path.exists(status) or not os.path.islink(status): + command = 'chown cyberpanel:cyberpanel %s' % (status) + ProcessUtilities.executioner(command) + else: + return 0 - command = 'chown cyberpanel:cyberpanel %s' % (status) - ProcessUtilities.executioner(command) result = backupUtilities.prepareBackupMeta(backupDomain, backupName, tempStoragePath, backupPath) @@ -1052,11 +1077,6 @@ def submitBackupCreation(tempStoragePath, backupName, backupPath, backupDomain): backupMetaData = ElementTree.parse(result[2]) - if os.path.islink(status) or os.path.islink(tempStoragePath or os.path.islink(backupPath)) or os.path.islink( - result[2]): - logging.CyberCPLogFileWriter.writeToFile('symlinked.') - return 0 - databases = backupMetaData.findall('Databases/database') for database in databases: diff --git a/plogical/cPanelImporter.py b/plogical/cPanelImporter.py index 35ec41fc5..ff400b9c9 100644 --- a/plogical/cPanelImporter.py +++ b/plogical/cPanelImporter.py @@ -514,31 +514,35 @@ class cPanelImporter: start = 0 for items in data: - if items.find('SOA') > -1: - SOACheck = 1 - continue + try: + if items.find('SOA') > -1: + SOACheck = 1 + continue - if SOACheck == 1 and items.find(')') > -1: - SOACheck = 0 - start = 1 - continue - else: - pass + if SOACheck == 1 and items.find(')') > -1: + SOACheck = 0 + start = 1 + continue + else: + pass - if start == 1: - if len(items) > 3: - if items.find("DKIM1") > -1: - continue - RecordsData = items.split('\t') + if start == 1: + if len(items) > 3: + if items.find("DKIM1") > -1: + continue + RecordsData = items.split('\t') - if RecordsData[3] == 'A': - RecordsData[4] = ipAddress + if RecordsData[3] == 'A': + RecordsData[4] = ipAddress - if RecordsData[0].find(topLevelDomain) > -1: - DNS.createDNSRecord(zone, RecordsData[0].replace('.', ''), RecordsData[3], RecordsData[4], 0, RecordsData[1]) - else: - DNS.createDNSRecord(zone, RecordsData[0] + '.' + topLevelDomain , RecordsData[3], RecordsData[4], 0, - RecordsData[1]) + if RecordsData[0].find(topLevelDomain) > -1: + DNS.createDNSRecord(zone, RecordsData[0].replace('.', ''), RecordsData[3], RecordsData[4], 0, RecordsData[1]) + else: + DNS.createDNSRecord(zone, RecordsData[0] + '.' + topLevelDomain , RecordsData[3], RecordsData[4], 0, + RecordsData[1]) + except BaseException, msg: + message = 'Failed while creating DNS entry for %s, error message: %s.' % (topLevelDomain, str(msg)) + logging.statusWriter(self.logFile, message, 1) message = 'DNS records successfully created for %s.' % (topLevelDomain) logging.statusWriter(self.logFile, message, 1) @@ -599,7 +603,7 @@ class cPanelImporter: try: cursor.execute("CREATE DATABASE " + items.replace('.sql', '')) except BaseException, msg: - message = 'Error while restoring database %s from backup file %s, error message: %s' % (items.replace('.sql', ''), self.backupFile, str(msg)) + message = 'Failed while restoring database %s from backup file %s, error message: %s' % (items.replace('.sql', ''), self.backupFile, str(msg)) logging.statusWriter(self.logFile, message, 1) command = 'sudo mysql -u root -p' + password + ' ' + items.replace('.sql', '') @@ -632,7 +636,7 @@ class cPanelImporter: try: cursor.execute(items) except BaseException, msg: - message = 'Error while restoring database %s from backup file %s, error message: %s' % ( + message = 'Failed while restoring database %s from backup file %s, error message: %s' % ( items.replace('.sql', ''), self.backupFile, str(msg)) logging.statusWriter(self.logFile, message, 1) @@ -684,6 +688,8 @@ class cPanelImporter: pass else: return 0 + + if self.RestoreDatabases(): pass else: @@ -811,10 +817,13 @@ def main(): for items in os.listdir(args.path): if items.endswith('.tar.gz'): finalPath = '%s/%s' % (args.path.rstrip('/'), items) - cI = cPanelImporter(finalPath, LogFile) - if cI.MainController(): - pass - else: + try: + cI = cPanelImporter(finalPath, LogFile) + if cI.MainController(): + pass + else: + pass + except: pass if __name__ == "__main__": diff --git a/plogical/mailUtilities.py b/plogical/mailUtilities.py index d5bb85289..526cf40e7 100755 --- a/plogical/mailUtilities.py +++ b/plogical/mailUtilities.py @@ -132,6 +132,8 @@ class mailUtilities: emailAcct.mail = 'maildir:/home/vmail/%s/%s/Maildir' % (domain, userName) emailAcct.save() else: + 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() diff --git a/plogical/remoteTransferUtilities.py b/plogical/remoteTransferUtilities.py index 266ec2caa..4225c517c 100755 --- a/plogical/remoteTransferUtilities.py +++ b/plogical/remoteTransferUtilities.py @@ -321,12 +321,6 @@ class remoteTransferUtilities: "%I-%M-%S-%a-%b-%Y") + "]" + " Backup Restore complete\n") writeToFile.writelines("completed[success]") - try: - shutil.rmtree("/home/backup/transfer-" + dir) - except: - pass - - except BaseException, msg: logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [remoteTransferUtilities.startRestore]") diff --git a/plogical/upgrade.py b/plogical/upgrade.py index 23cabd357..2ec47f210 100755 --- a/plogical/upgrade.py +++ b/plogical/upgrade.py @@ -1443,7 +1443,7 @@ class Upgrade: impFile = ['/etc/pure-ftpd/pure-ftpd.conf', '/etc/pure-ftpd/pureftpd-pgsql.conf', '/etc/pure-ftpd/pureftpd-mysql.conf', '/etc/pure-ftpd/pureftpd-ldap.conf', - '/etc/dovecot/dovecot.conf', '/etc/pdns/pdns.conf'] + '/etc/dovecot/dovecot.conf', '/etc/pdns/pdns.conf', '/etc/pure-ftpd/db/mysql.conf'] for items in impFile: command = 'chmod 600 %s' % (items) @@ -1508,7 +1508,7 @@ class Upgrade: @staticmethod def upgradePDNS(): - command = "yum install epel-release yum-plugin-priorities && curl -o /etc/yum.repos.d/powerdns-auth-42.repo https://repo.powerdns.com/repo-files/centos-auth-42.repo && yum --enablerepo=epel install pdns" + command = "yum install epel-release && curl -o /etc/yum.repos.d/powerdns-auth-42.repo https://repo.powerdns.com/repo-files/centos-auth-42.repo && yum --enablerepo=epel install pdns" subprocess.call(command, shell=True) @staticmethod @@ -1572,6 +1572,9 @@ enabled=1""" os.chdir("/usr/local") + command = 'yum remove yum-plugin-priorities -y' + Upgrade.executioner(command, 'remove yum-plugin-priorities', 0) + ## Current Version Version = version.objects.get(pk=1) diff --git a/serverStatus/serverStatusUtil.py b/serverStatus/serverStatusUtil.py index 79d6cfb44..72105b131 100755 --- a/serverStatus/serverStatusUtil.py +++ b/serverStatus/serverStatusUtil.py @@ -57,22 +57,22 @@ class ServerStatusUtil: except: pass - command = 'wget https://www.litespeedtech.com/packages/5.0/lsws-5.3.5-ent-x86_64-linux.tar.gz' + command = 'wget https://www.litespeedtech.com/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz' if ServerStatusUtil.executioner(command, statusFile) == 0: return 0 - command = 'tar zxf lsws-5.3.5-ent-x86_64-linux.tar.gz -C /usr/local/CyberCP' + command = 'tar zxf lsws-5.3.8-ent-x86_64-linux.tar.gz -C /usr/local/CyberCP' if ServerStatusUtil.executioner(command, statusFile) == 0: return 0 - writeSerial = open('/usr/local/CyberCP/lsws-5.3.5/serial.no', 'w') + writeSerial = open('/usr/local/CyberCP/lsws-5.3.8/serial.no', 'w') writeSerial.writelines(licenseKey) writeSerial.close() - shutil.copy('/usr/local/CyberCP/serverStatus/litespeed/install.sh', '/usr/local/CyberCP/lsws-5.3.5/') - shutil.copy('/usr/local/CyberCP/serverStatus/litespeed/functions.sh', '/usr/local/CyberCP/lsws-5.3.5/') + shutil.copy('/usr/local/CyberCP/serverStatus/litespeed/install.sh', '/usr/local/CyberCP/lsws-5.3.8/') + shutil.copy('/usr/local/CyberCP/serverStatus/litespeed/functions.sh', '/usr/local/CyberCP/lsws-5.3.8/') - os.chdir('/usr/local/CyberCP/lsws-5.3.5/') + os.chdir('/usr/local/CyberCP/lsws-5.3.8/') command = 'chmod +x install.sh' if ServerStatusUtil.executioner(command, statusFile) == 0: @@ -99,7 +99,7 @@ class ServerStatusUtil: pass try: - os.rmdir("/usr/local/CyberCP/lsws-5.3.5") + os.rmdir("/usr/local/CyberCP/lsws-5.3.8") except: pass diff --git a/static/ftp/ftp.js b/static/ftp/ftp.js index 8e2d41bdf..679a8b5f7 100644 --- a/static/ftp/ftp.js +++ b/static/ftp/ftp.js @@ -328,7 +328,7 @@ app.controller('listFTPAccounts', function ($scope, $http) { var data = { ftpUserName: globalFTPUsername, - ftpPassword: $scope.ftpPassword, + passwordByPass: $scope.ftpPassword, }; var config = { diff --git a/static/mailServer/mailServer.js b/static/mailServer/mailServer.js index 96403c507..75cf08898 100644 --- a/static/mailServer/mailServer.js +++ b/static/mailServer/mailServer.js @@ -391,7 +391,7 @@ app.controller('changeEmailPassword', function ($scope, $http) { var data = { domain: domain, email: email, - password: password, + passwordByPass: password, }; var config = {