From 8e6cf5d1891caeed1b1e6c446b8723cd33969b06 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 25 Feb 2005 21:56:00 +0000 Subject: [PATCH] Accept the new keep-alive (no-op) packet. --- receiver.c | 4 ++++ sender.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/receiver.c b/receiver.c index 1779d175..fd75e8e9 100644 --- a/receiver.c +++ b/receiver.c @@ -426,6 +426,10 @@ int recv_files(int f_in, struct file_list *flist, char *local_name, } if (i < 0 || i >= flist->count) { + /* Handle the new keep-alive (no-op) packet. */ + if (i == flist->count && protocol_version >= 29 + && read_shortint(f_in) == ITEM_IS_NEW) + continue; rprintf(FERROR,"Invalid file index %d in recv_files (count=%d)\n", i, flist->count); exit_cleanup(RERR_PROTOCOL); diff --git a/sender.c b/sender.c index ca6ae1e3..b745f6f7 100644 --- a/sender.c +++ b/sender.c @@ -167,6 +167,13 @@ void send_files(struct file_list *flist, int f_out, int f_in) } if (i < 0 || i >= flist->count) { + /* Handle the new keep-alive (no-op) packet. */ + if (i == flist->count && protocol_version >= 29 + && read_shortint(f_in) == ITEM_IS_NEW) { + write_int(f_out, i); + write_shortint(f_out, ITEM_IS_NEW); + continue; + } rprintf(FERROR, "Invalid file index %d (count=%d)\n", i, flist->count); exit_cleanup(RERR_PROTOCOL); -- 2.34.1