diff --git a/plugins/mariadb/index.py b/plugins/mariadb/index.py index 407631634..e807ce599 100755 --- a/plugins/mariadb/index.py +++ b/plugins/mariadb/index.py @@ -1545,12 +1545,15 @@ def getDbUserAccessDiff(db_access, input_access): host_var = 'localhost' local_ipvar = '127.0.0.1' + local_ip6var = '::1' for ac in input_access: if ac == host_var: continue if ac == local_ipvar: continue + if ac == local_ip6var: + continue if mw.inArray(db_access,ac): continue add.append(ac) @@ -1558,17 +1561,24 @@ def getDbUserAccessDiff(db_access, input_access): if not mw.inArray(db_access, local_ipvar) and not mw.inArray(add, local_ipvar): add.append(local_ipvar) + if not mw.inArray(db_access, local_ip6var) and not mw.inArray(add, local_ip6var): + add.append(local_ip6var) + for ac in db_access: if ac == host_var: continue if ac == local_ipvar: continue + if ac == local_ip6var: + continue if mw.inArray(input_access,ac): continue delete.append(ac) if mw.inArray(delete, local_ipvar): delete.remove(local_ipvar) + if mw.inArray(delete, local_ip6var): + delete.remove(local_ip6var) return {"add":add,"delete":delete} @@ -1585,6 +1595,8 @@ def getDbAccess(): userStr = ','.join(users) if userStr == '127.0.0.1,localhost': return mw.returnJson(True, 'localhost') + if userStr == '127.0.0.1,::1,localhost': + return mw.returnJson(True, 'localhost') return mw.returnJson(True, userStr) diff --git a/plugins/mysql-community/index.py b/plugins/mysql-community/index.py index 60d4aa3a2..ea9a0aa5c 100755 --- a/plugins/mysql-community/index.py +++ b/plugins/mysql-community/index.py @@ -1712,12 +1712,15 @@ def getDbUserAccessDiff(db_access, input_access): host_var = 'localhost' local_ipvar = '127.0.0.1' + local_ip6var = '::1' for ac in input_access: if ac == host_var: continue if ac == local_ipvar: continue + if ac == local_ip6var: + continue if mw.inArray(db_access,ac): continue add.append(ac) @@ -1725,17 +1728,24 @@ def getDbUserAccessDiff(db_access, input_access): if not mw.inArray(db_access, local_ipvar) and not mw.inArray(add, local_ipvar): add.append(local_ipvar) + if not mw.inArray(db_access, local_ip6var) and not mw.inArray(add, local_ip6var): + add.append(local_ip6var) + for ac in db_access: if ac == host_var: continue if ac == local_ipvar: continue + if ac == local_ip6var: + continue if mw.inArray(input_access,ac): continue delete.append(ac) if mw.inArray(delete, local_ipvar): delete.remove(local_ipvar) + if mw.inArray(delete, local_ip6var): + delete.remove(local_ip6var) return {"add":add,"delete":delete} @@ -1752,6 +1762,8 @@ def getDbAccess(): userStr = ','.join(users) if userStr == '127.0.0.1,localhost': return mw.returnJson(True, 'localhost') + if userStr == '127.0.0.1,::1,localhost': + return mw.returnJson(True, 'localhost') return mw.returnJson(True, userStr) diff --git a/plugins/mysql/index.py b/plugins/mysql/index.py index b0a93d8d1..39d990370 100755 --- a/plugins/mysql/index.py +++ b/plugins/mysql/index.py @@ -1919,12 +1919,15 @@ def getDbUserAccessDiff(db_access, input_access): host_var = 'localhost' local_ipvar = '127.0.0.1' + local_ip6var = '::1' for ac in input_access: if ac == host_var: continue if ac == local_ipvar: continue + if ac == local_ip6var: + continue if mw.inArray(db_access,ac): continue add.append(ac) @@ -1932,17 +1935,24 @@ def getDbUserAccessDiff(db_access, input_access): if not mw.inArray(db_access, local_ipvar) and not mw.inArray(add, local_ipvar): add.append(local_ipvar) + if not mw.inArray(db_access, local_ip6var) and not mw.inArray(add, local_ip6var): + add.append(local_ip6var) + for ac in db_access: if ac == host_var: continue if ac == local_ipvar: continue + if ac == local_ip6var: + continue if mw.inArray(input_access,ac): continue delete.append(ac) if mw.inArray(delete, local_ipvar): delete.remove(local_ipvar) + if mw.inArray(delete, local_ip6var): + delete.remove(local_ip6var) return {"add":add,"delete":delete} @@ -1959,6 +1969,8 @@ def getDbAccess(): userStr = ','.join(users) if userStr == '127.0.0.1,localhost': return mw.returnJson(True, 'localhost') + if userStr == '127.0.0.1,::1,localhost': + return mw.returnJson(True, 'localhost') return mw.returnJson(True, userStr)