]> granicus.if.org Git - sudo/commit
Implement suspend/resume callbacks for the conversation function.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 7 Sep 2015 12:06:08 +0000 (06:06 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 7 Sep 2015 12:06:08 +0000 (06:06 -0600)
commit0c70df5de952f0ba591cc264738731c70e6e7363
tree03571874c05158b088a98e0d542edce4631d30fb
parent00142c91fa1ed54c7957022ff91bd32126d86868
Implement suspend/resume callbacks for the conversation function.
If suspended, close the timestamp file (dropping all locks).  On
resume, lock the record before reading the password.

For this to work properly we need to be able to run th callback
when tsetattr() suspends us, not just when the user does.  To
accomplish this the term_* functions now return EINTR if SIGTTOU
would be generated.  The caller now has to restart the term_*
function (and send itself SIGTTOU) instead of it being done
automatically.
lib/util/term.c
plugins/sudoers/check.c
plugins/sudoers/sudoreplay.c
src/tgetpass.c