diff --git a/databases/databaseManager.py b/databases/databaseManager.py index 3ededecfd..1a85cf5d1 100755 --- a/databases/databaseManager.py +++ b/databases/databaseManager.py @@ -195,13 +195,19 @@ class DatabaseManager: db = Databases.objects.filter(dbUser=userName) admin = Administrator.objects.get(pk=userID) + if ACLManager.checkOwnership(db[0].website.domain, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() + try: + meta = DBMeta.objects.get(database=db[0], key=DatabaseManager.REMOTE_ACCESS) + host = json.loads(meta.value)['remoteIP'] + except: + host = None - res = mysqlUtilities.changePassword(userName, dbPassword) + res = mysqlUtilities.changePassword(userName, dbPassword, None, host) if res == 0: data_ret = {'status': 0, 'changePasswordStatus': 0,'error_message': "Please see CyberPanel main log file."} diff --git a/plogical/mysqlUtilities.py b/plogical/mysqlUtilities.py index 91c96ada8..4d4745346 100755 --- a/plogical/mysqlUtilities.py +++ b/plogical/mysqlUtilities.py @@ -767,7 +767,7 @@ password=%s return 0 @staticmethod - def changePassword(userName, dbPassword, encrypt = None): + def changePassword(userName, dbPassword, encrypt = None, host = None): try: connection, cursor = mysqlUtilities.setupConnection() @@ -776,6 +776,9 @@ password=%s return 0 cursor.execute("use mysql") + if host != None: + mysqlUtilities.LOCALHOST = host + if encrypt == None: try: dbuser = DBUsers.objects.get(user=userName)