In the editline(3) branch of the sftp(1) event loop, handle SIGINT
authorschwarze <schwarze@openbsd.org>
Thu, 12 Aug 2021 09:59:00 +0000 (09:59 +0000)
committerschwarze <schwarze@openbsd.org>
Thu, 12 Aug 2021 09:59:00 +0000 (09:59 +0000)
commit51a02d25af355d4e819e8c97481adb2cf17ab975
tree77ea593ab377a011fd0fcf5f3a3124fef4558c57
parentcaa8ce6a3685537daa76aca76d59413627de06b3
In the editline(3) branch of the sftp(1) event loop, handle SIGINT
rather than ignoring it, such that the user can use Ctrl-C to discard
the currently edited command line and get a fresh prompt, just like
in ftp(1), bc(1), and in shells.

It is critical to not use ssl_signal() for this particular case
because that function unconditionally sets SA_RESTART, but here we
need the signal to interrupt the read(2) in the el_gets(3) event loop.

OK dtucker@ deraadt@
usr.bin/ssh/sftp.c