Aggressively fix permissions with wildcard fallback
This commit is contained in:
@@ -41,27 +41,36 @@ for service in services:
|
|||||||
|
|
||||||
changed = False
|
changed = False
|
||||||
|
|
||||||
# Ensure bridge.permissions structure exists
|
# Ensure bridge.permissions structure exists and is a dict
|
||||||
if 'bridge' not in data:
|
if 'bridge' not in data:
|
||||||
data['bridge'] = {}
|
data['bridge'] = {}
|
||||||
|
|
||||||
if 'permissions' not in data['bridge'] or data['bridge']['permissions'] is None:
|
if 'permissions' not in data['bridge'] or not isinstance(data['bridge']['permissions'], dict):
|
||||||
data['bridge']['permissions'] = {}
|
data['bridge']['permissions'] = {}
|
||||||
changed = True
|
changed = True
|
||||||
|
|
||||||
perms = data['bridge']['permissions']
|
perms = data['bridge']['permissions']
|
||||||
|
|
||||||
# Add admin user if missing
|
# Force set permissions to ensure they are present
|
||||||
if admin_user not in perms:
|
# We use string keys explicitly
|
||||||
|
|
||||||
|
# 1. Admin User
|
||||||
|
if str(admin_user) not in perms:
|
||||||
perms[str(admin_user)] = "admin"
|
perms[str(admin_user)] = "admin"
|
||||||
changed = True
|
changed = True
|
||||||
print(f" - Added admin permission for {admin_user}")
|
print(f" - Added admin permission for {admin_user}")
|
||||||
|
|
||||||
# Add beeper.local domain permission
|
# 2. Domain Permission
|
||||||
if 'beeper.local' not in perms:
|
if 'beeper.local' not in perms:
|
||||||
perms['beeper.local'] = "user"
|
perms['beeper.local'] = "user"
|
||||||
changed = True
|
changed = True
|
||||||
print(f" - Added basic permission for beeper.local domain")
|
print(f" - Added permission for beeper.local")
|
||||||
|
|
||||||
|
# 3. Wildcard Fallback (safety net)
|
||||||
|
if '*' not in perms:
|
||||||
|
perms['*'] = "user"
|
||||||
|
changed = True
|
||||||
|
print(f" - Added wildcard (*) permission")
|
||||||
|
|
||||||
if changed:
|
if changed:
|
||||||
with open(config_path, 'w') as f:
|
with open(config_path, 'w') as f:
|
||||||
|
|||||||
Reference in New Issue
Block a user