{"action":"created","issue":{"url":"https://api.github.com/repos/yrutschle/sslh/issues/168","repository_url":"https://api.github.com/repos/yrutschle/sslh","labels_url":"https://api.github.com/repos/yrutschle/sslh/issues/168/labels{/name}","comments_url":"https://api.github.com/repos/yrutschle/sslh/issues/168/comments","events_url":"https://api.github.com/repos/yrutschle/sslh/issues/168/events","html_url":"https://github.com/yrutschle/sslh/pull/168","id":296403251,"number":168,"title":"Use default killmode for systemd","user":{"login":"candrews","id":194713,"avatar_url":"https://avatars3.githubusercontent.com/u/194713?v=4","gravatar_id":"","url":"https://api.github.com/users/candrews","html_url":"https://github.com/candrews","followers_url":"https://api.github.com/users/candrews/followers","following_url":"https://api.github.com/users/candrews/following{/other_user}","gists_url":"https://api.github.com/users/candrews/gists{/gist_id}","starred_url":"https://api.github.com/users/candrews/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/candrews/subscriptions","organizations_url":"https://api.github.com/users/candrews/orgs","repos_url":"https://api.github.com/users/candrews/repos","events_url":"https://api.github.com/users/candrews/events{/privacy}","received_events_url":"https://api.github.com/users/candrews/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-12T14:56:04Z","updated_at":"2018-02-12T17:05:39Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/yrutschle/sslh/pulls/168","html_url":"https://github.com/yrutschle/sslh/pull/168","diff_url":"https://github.com/yrutschle/sslh/pull/168.diff","patch_url":"https://github.com/yrutschle/sslh/pull/168.patch"},"body":"`killmode=process` will kill the main process but leave behind remaining processes behind (such as those forked as sslh frequently does). This can leave sslh unexpectedly still running after the systemd service has been stopped. Since the remaining processes keep the ports open, then sslh cannot be started again (because the ports are already in use).\r\n\r\nUsing the default `killmode=control-group` solves this problem by killing all remaining processes when the sslh service is stopped."},"comment":{"url":"https://api.github.com/repos/yrutschle/sslh/issues/comments/364991023","html_url":"https://github.com/yrutschle/sslh/pull/168#issuecomment-364991023","issue_url":"https://api.github.com/repos/yrutschle/sslh/issues/168","id":364991023,"user":{"login":"yrutschle","id":4983423,"avatar_url":"https://avatars0.githubusercontent.com/u/4983423?v=4","gravatar_id":"","url":"https://api.github.com/users/yrutschle","html_url":"https://github.com/yrutschle","followers_url":"https://api.github.com/users/yrutschle/followers","following_url":"https://api.github.com/users/yrutschle/following{/other_user}","gists_url":"https://api.github.com/users/yrutschle/gists{/gist_id}","starred_url":"https://api.github.com/users/yrutschle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yrutschle/subscriptions","organizations_url":"https://api.github.com/users/yrutschle/orgs","repos_url":"https://api.github.com/users/yrutschle/repos","events_url":"https://api.github.com/users/yrutschle/events{/privacy}","received_events_url":"https://api.github.com/users/yrutschle/received_events","type":"User","site_admin":false},"created_at":"2018-02-12T17:05:39Z","updated_at":"2018-02-12T17:05:39Z","author_association":"OWNER","body":"This should not happen, and if it does, we need to fix that, not kill everyone. The goal here is that we can kill the master process while forked children keep serving opened connexions without interruption, so we can restart sslh over ssh. sslh normally can restart just fine as the master stopped listening. It's the listening that prevents a new process from listening on the same port, not merely having opened connections.\r\n\r\nThat said, there's been a number of mixups in the fork() code, whereby I inverted the role of parent and child, which I merged just last night. Make sure you're using the very last version (I still need to make a new new release...)"}}
{"actor":{"display_login":"yrutschle"}}