{"action":"created","issue":{"url":"https://api.github.com/repos/SSSD/sssd/issues/586","repository_url":"https://api.github.com/repos/SSSD/sssd","labels_url":"https://api.github.com/repos/SSSD/sssd/issues/586/labels{/name}","comments_url":"https://api.github.com/repos/SSSD/sssd/issues/586/comments","events_url":"https://api.github.com/repos/SSSD/sssd/issues/586/events","html_url":"https://github.com/SSSD/sssd/pull/586","id":328080949,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkxNzA4ODk3","number":586,"title":"SSH: Do not exit abruptly if SSHD closes its end of the pipe before reading all the SSH keys","user":{"login":"jhrozek","id":715522,"node_id":"MDQ6VXNlcjcxNTUyMg==","avatar_url":"https://avatars1.githubusercontent.com/u/715522?v=4","gravatar_id":"","url":"https://api.github.com/users/jhrozek","html_url":"https://github.com/jhrozek","followers_url":"https://api.github.com/users/jhrozek/followers","following_url":"https://api.github.com/users/jhrozek/following{/other_user}","gists_url":"https://api.github.com/users/jhrozek/gists{/gist_id}","starred_url":"https://api.github.com/users/jhrozek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhrozek/subscriptions","organizations_url":"https://api.github.com/users/jhrozek/orgs","repos_url":"https://api.github.com/users/jhrozek/repos","events_url":"https://api.github.com/users/jhrozek/events{/privacy}","received_events_url":"https://api.github.com/users/jhrozek/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-05-31T10:20:34Z","updated_at":"2018-06-05T19:19:09Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/SSSD/sssd/pulls/586","html_url":"https://github.com/SSSD/sssd/pull/586","diff_url":"https://github.com/SSSD/sssd/pull/586.diff","patch_url":"https://github.com/SSSD/sssd/pull/586.patch"},"body":"Resolves: https://pagure.io/SSSD/sssd/issue/3747\n\nBefore writing the keys to sshd, ignore SIGPIPE so that if the pipe towards\nthe authorizedkeys helper is closed, the sss_ssh_authorizedkeys helper is\nnot terminated with SIGPIPE, but instead proceeds and then the write(2)\ncalls would non-terminally fail with EPIPE.\n\nThe other patch in this PR is not meant to be pushed. It is an easy way to\nreproduce the bug. I would also like to write an integration test, but\nI'm not sure if I can do that very soon and given that we try to release\nin about a week I prefer to send the fix first.\n\nIn order to reproduce, load many SSH keys to a user object. I found it was\neasiest to cheat during reproducing and do this:\n    - first, set a long cache expire so that the cache doesn't expire\n      and overwrite your local changes\n    - ldbedit the cache\n    - copy the ssh public key attribute and each time, change one character\n      in the attribute (ldb would otherwise detect the duplicates)\n    - save the ldbedit window\n    - run the program from the second patch. With the sss_ssh_authorizedkeys\n      patch in, the sss_ssh_authorizedkeys binary should finish gracefully,\n      without the patch, it would fail with SIGPIPE.\n\nIn my testing, I needed about 30 ssh keys to reproduce the bug."},"comment":{"url":"https://api.github.com/repos/SSSD/sssd/issues/comments/394828648","html_url":"https://github.com/SSSD/sssd/pull/586#issuecomment-394828648","issue_url":"https://api.github.com/repos/SSSD/sssd/issues/586","id":394828648,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDgyODY0OA==","user":{"login":"jhrozek","id":715522,"node_id":"MDQ6VXNlcjcxNTUyMg==","avatar_url":"https://avatars1.githubusercontent.com/u/715522?v=4","gravatar_id":"","url":"https://api.github.com/users/jhrozek","html_url":"https://github.com/jhrozek","followers_url":"https://api.github.com/users/jhrozek/followers","following_url":"https://api.github.com/users/jhrozek/following{/other_user}","gists_url":"https://api.github.com/users/jhrozek/gists{/gist_id}","starred_url":"https://api.github.com/users/jhrozek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhrozek/subscriptions","organizations_url":"https://api.github.com/users/jhrozek/orgs","repos_url":"https://api.github.com/users/jhrozek/repos","events_url":"https://api.github.com/users/jhrozek/events{/privacy}","received_events_url":"https://api.github.com/users/jhrozek/received_events","type":"User","site_admin":false},"created_at":"2018-06-05T19:19:09Z","updated_at":"2018-06-05T19:19:09Z","author_association":"CONTRIBUTOR","body":"this PR really does need an integration test and I don't want to rush it in before this week's release so I'm tagging it with Changes Requested"}}
{"actor":{"display_login":"jhrozek"}}