diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/appl/gssftp/ftpd/ChangeLog | 5 | ||||
| -rw-r--r-- | src/appl/gssftp/ftpd/ftpd.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/appl/gssftp/ftpd/ChangeLog b/src/appl/gssftp/ftpd/ChangeLog index fd13cf535..2a9bee278 100644 --- a/src/appl/gssftp/ftpd/ChangeLog +++ b/src/appl/gssftp/ftpd/ChangeLog @@ -3,6 +3,11 @@ Fri Apr 10 20:06:31 1998 Tom Yu <tlyu@mit.edu> * ftpd.c (receive_data): (send_data): Add support for sigsetjmp(). (main): Use sigaction() if we can to avoid SysV lossage. + (send_file_list): Oops missed a sigsetjmp() call. + (send_data): Add call to secure_flush() to send a zero length + buffer when aborting. + (send_file_list): Add call to secure_flush() to send a zero length + buffer when aborting. * ftpcmd.y (PBSZ): Remove restriction on shrinking buffer size. diff --git a/src/appl/gssftp/ftpd/ftpd.c b/src/appl/gssftp/ftpd/ftpd.c index 45e561f95..9fa9af2c1 100644 --- a/src/appl/gssftp/ftpd/ftpd.c +++ b/src/appl/gssftp/ftpd/ftpd.c @@ -1182,6 +1182,7 @@ void send_data(instr, outstr, blksize) transflag++; if (sigsetjmp(urgcatch, 1)) { transflag = 0; + (void)secure_flush(fileno(outstr)); return; } switch (type) { @@ -2200,8 +2201,9 @@ send_file_list(whichfiles) simple = 1; } - if (setjmp(urgcatch)) { + if (sigsetjmp(urgcatch, 1)) { transflag = 0; + (void)secure_flush(fileno(dout)); return; } while (dirname = *dirlist++) { |
