Aggressively fix permissions with wildcard fallback

This commit is contained in:
Gemini Bot
2025-12-06 18:03:42 +00:00
parent a128200f61
commit 96ed363c6b

View File

@@ -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: