Skip to content

Commit e525196

Browse files
apenwarrbrianmay
authored andcommitted
firewall.py: catch SIGINT and SIGTERM too.
There were still a few conditions under some OSes that would cause firewall.py to terminate without cleaning up the firewall settings. 'pkill sshuttle' was one of them. Ignore a couple more signals to further ensure a correct cleanup. (This only affects sshuttle --firewall, which is a subprocess of the main sshuttle process. The firewall is supposed to exit automatically whenever the client exits, and so far that part seems to work reliably.)
1 parent b8e150f commit e525196

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/firewall.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,8 @@ def main(port_v6, port_v4, dnsport_v6, dnsport_v4, method, udp, syslog):
570570
# disappears; we still have to clean up.
571571
signal.signal(signal.SIGHUP, signal.SIG_IGN)
572572
signal.signal(signal.SIGPIPE, signal.SIG_IGN)
573+
signal.signal(signal.SIGTERM, signal.SIG_IGN)
574+
signal.signal(signal.SIGINT, signal.SIG_IGN)
573575

574576
# ctrl-c shouldn't be passed along to me. When the main sshuttle dies,
575577
# I'll die automatically.

0 commit comments

Comments
 (0)