{"action":"created","issue":{"url":"https://api.github.com/repos/systemd/systemd/issues/1432","labels_url":"https://api.github.com/repos/systemd/systemd/issues/1432/labels{/name}","comments_url":"https://api.github.com/repos/systemd/systemd/issues/1432/comments","events_url":"https://api.github.com/repos/systemd/systemd/issues/1432/events","html_url":"https://github.com/systemd/systemd/pull/1432","id":109247590,"number":1432,"title":"Ask for passphrases not only on the first console of /dev/console","user":{"login":"bitstreamout","id":2392549,"avatar_url":"https://avatars.githubusercontent.com/u/2392549?v=3","gravatar_id":"","url":"https://api.github.com/users/bitstreamout","html_url":"https://github.com/bitstreamout","followers_url":"https://api.github.com/users/bitstreamout/followers","following_url":"https://api.github.com/users/bitstreamout/following{/other_user}","gists_url":"https://api.github.com/users/bitstreamout/gists{/gist_id}","starred_url":"https://api.github.com/users/bitstreamout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitstreamout/subscriptions","organizations_url":"https://api.github.com/users/bitstreamout/orgs","repos_url":"https://api.github.com/users/bitstreamout/repos","events_url":"https://api.github.com/users/bitstreamout/events{/privacy}","received_events_url":"https://api.github.com/users/bitstreamout/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/systemd/systemd/labels/ask-password","name":"ask-password","color":"d4c5f9"},{"url":"https://api.github.com/repos/systemd/systemd/labels/reviewed/needs-rework","name":"reviewed/needs-rework","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-10-01T07:54:09Z","updated_at":"2015-10-02T09:50:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/systemd/systemd/pulls/1432","html_url":"https://github.com/systemd/systemd/pull/1432","diff_url":"https://github.com/systemd/systemd/pull/1432.diff","patch_url":"https://github.com/systemd/systemd/pull/1432.patch"},"body":"but also on all other consoles.  This does help on e.g. mainframes\r\nwhere often a serial console together with other consoles are\r\nused.  Even rack based servers attachted to both a serial console\r\nas well as having a virtual console do sometimes miss a connected\r\nmonitor.\r\n\r\nTo be able to ask on all terminal devices of /dev/console the devices\r\nare collected. If more than one device are found, then on each of the\r\nterminals a inquiring task for passphrase is forked and do not return\r\nto the caller.\r\n\r\nEvery task has its own session and its own controlling terminal.\r\nIf one of the tasks does handle a password, the remaining tasks\r\nwill be terminated.\r\n\r\nAlso let contradictory options on the command of\r\nsystemd-tty-ask-password-agent fail."},"comment":{"url":"https://api.github.com/repos/systemd/systemd/issues/comments/144977853","html_url":"https://github.com/systemd/systemd/pull/1432#issuecomment-144977853","issue_url":"https://api.github.com/repos/systemd/systemd/issues/1432","id":144977853,"user":{"login":"bitstreamout","id":2392549,"avatar_url":"https://avatars.githubusercontent.com/u/2392549?v=3","gravatar_id":"","url":"https://api.github.com/users/bitstreamout","html_url":"https://github.com/bitstreamout","followers_url":"https://api.github.com/users/bitstreamout/followers","following_url":"https://api.github.com/users/bitstreamout/following{/other_user}","gists_url":"https://api.github.com/users/bitstreamout/gists{/gist_id}","starred_url":"https://api.github.com/users/bitstreamout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitstreamout/subscriptions","organizations_url":"https://api.github.com/users/bitstreamout/orgs","repos_url":"https://api.github.com/users/bitstreamout/repos","events_url":"https://api.github.com/users/bitstreamout/events{/privacy}","received_events_url":"https://api.github.com/users/bitstreamout/received_events","type":"User","site_admin":false},"created_at":"2015-10-02T09:50:19Z","updated_at":"2015-10-02T09:50:19Z","body":"AFAICS from do_execute() of  src/basic/util.c(the former execute_directory() I guess) the loop on the the PIDs does wait on the first process in the list and does not get informed if e.g. the second process has finished its job ... at least the wait_for_terminate() in src/basic/process-util.c seems to suggest this.\r\n\r\nFor the passphrase input it is regardless which of the processes will do the final job, that is if the third in the list has handled the passphrase input all other processes may terminated afterwards."}}