From abd9cc54feaa78495d9be3e475bdf26a26b5b7e2 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 13 Oct 2023 11:44:17 +0200 Subject: [PATCH] Fix error when API try to remove a port that doesn't exist in Shadowsocks --- debian/changelog | 6 ++++++ omr-admin.py | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index b153280..57b897a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +omr-vps-admin (0.4+20231013) unstable; urgency=medium + + * Fix error when API try to remove a Shadowsocks port that doesn't exist + + -- OpenMPTCProuter Fri, 13 Oct 2023 11:43:24 +0200 + omr-vps-admin (0.4+20231009) unstable; urgency=medium * Add Shadowsocks-go traffic support diff --git a/omr-admin.py b/omr-admin.py index 4e29e54..99dbe57 100755 --- a/omr-admin.py +++ b/omr-admin.py @@ -305,9 +305,11 @@ def remove_ss_user(port): content = re.sub(",\s*}", "}", content) # pylint: disable=W1401 data = json.loads(content) if 'port_key' in data: - del data['port_key'][str(port)] + if str(port) in data['port_key']: + del data['port_key'][str(port)] else: - del data['port_conf'][str(port)] + if str(port) in data['port_conf']: + del data['port_conf'][str(port)] with open('/etc/shadowsocks-libev/manager.json', 'w') as f: json.dump(data, f, indent=4) try: