Fix: Samba MacOS toggle deaktivieren löscht fruit: Keys via delparm

net conf setparm kann Keys nicht entfernen. Beim Deaktivieren blieben
fruit:* Keys in der Registry erhalten. Jetzt werden Keys die im neuen
Dict fehlen via net conf delparm gelöscht.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-05 16:06:46 +02:00
parent 3632991043
commit fd40c2e899
+13 -1
View File
@@ -251,8 +251,20 @@ class SharesManager:
return {"parameters": []} return {"parameters": []}
def set_samba_global_config(self, parameters: Dict[str, str]) -> bool: def set_samba_global_config(self, parameters: Dict[str, str]) -> bool:
"""Update Samba global configuration parameters using 'net conf setparm'""" """Update Samba global configuration parameters using 'net conf setparm/delparm'"""
try: try:
current = self.get_samba_global_config()
current_keys = {p["key"] for p in current.get("parameters", [])}
new_keys = set(parameters.keys())
# Delete keys that were removed
for key in current_keys - new_keys:
subprocess.run(
['/usr/bin/net', 'conf', 'delparm', 'global', key],
capture_output=True, text=True, timeout=10
)
# Set/update remaining keys
for key, value in parameters.items(): for key, value in parameters.items():
result = subprocess.run( result = subprocess.run(
['/usr/bin/net', 'conf', 'setparm', 'global', key, '--', value], ['/usr/bin/net', 'conf', 'setparm', 'global', key, '--', value],