Commit 7752df41 authored by Wayne Davison's avatar Wayne Davison

Compute the right checksum length for the current protocol_version

only once instead of over and over again.
parent d8b108c2
...@@ -68,6 +68,7 @@ extern struct filter_list_struct filter_list; ...@@ -68,6 +68,7 @@ extern struct filter_list_struct filter_list;
extern struct filter_list_struct server_filter_list; extern struct filter_list_struct server_filter_list;
int io_error; int io_error;
int checksum_len;
dev_t filesystem_dev; /* used to implement -x */ dev_t filesystem_dev; /* used to implement -x */
static char empty_sum[MD4_SUM_LENGTH]; static char empty_sum[MD4_SUM_LENGTH];
...@@ -84,6 +85,7 @@ void init_flist(void) ...@@ -84,6 +85,7 @@ void init_flist(void)
/* Figure out how big the file_struct is without trailing padding */ /* Figure out how big the file_struct is without trailing padding */
file_struct_len = offsetof(struct file_struct, flags) + sizeof f.flags; file_struct_len = offsetof(struct file_struct, flags) + sizeof f.flags;
checksum_len = protocol_version < 21 ? 2 : MD4_SUM_LENGTH;
} }
static int show_filelist_p(void) static int show_filelist_p(void)
...@@ -475,14 +477,13 @@ void send_file_entry(struct file_struct *file, int f, unsigned short base_flags) ...@@ -475,14 +477,13 @@ void send_file_entry(struct file_struct *file, int f, unsigned short base_flags)
if (always_checksum && (S_ISREG(mode) || protocol_version < 28)) { if (always_checksum && (S_ISREG(mode) || protocol_version < 28)) {
char *sum; char *sum;
int slen = protocol_version < 21 ? 2 : MD4_SUM_LENGTH;
if (S_ISREG(mode)) if (S_ISREG(mode))
sum = file->u.sum; sum = file->u.sum;
else { else {
/* Prior to 28, we sent a useless set of nulls. */ /* Prior to 28, we sent a useless set of nulls. */
sum = empty_sum; sum = empty_sum;
} }
write_buf(f, sum, slen); write_buf(f, sum, checksum_len);
} }
strlcpy(lastname, fname, MAXPATHLEN); strlcpy(lastname, fname, MAXPATHLEN);
...@@ -698,7 +699,6 @@ static struct file_struct *receive_file_entry(struct file_list *flist, ...@@ -698,7 +699,6 @@ static struct file_struct *receive_file_entry(struct file_list *flist,
if (always_checksum && (sum_len || protocol_version < 28)) { if (always_checksum && (sum_len || protocol_version < 28)) {
char *sum; char *sum;
int slen = protocol_version < 21 ? 2 : MD4_SUM_LENGTH;
if (sum_len) { if (sum_len) {
file->u.sum = sum = bp; file->u.sum = sum = bp;
/*bp += sum_len;*/ /*bp += sum_len;*/
...@@ -706,7 +706,7 @@ static struct file_struct *receive_file_entry(struct file_list *flist, ...@@ -706,7 +706,7 @@ static struct file_struct *receive_file_entry(struct file_list *flist,
/* Prior to 28, we get a useless set of nulls. */ /* Prior to 28, we get a useless set of nulls. */
sum = empty_sum; sum = empty_sum;
} }
read_buf(f, sum, slen); read_buf(f, sum, checksum_len);
} }
if (!preserve_perms) { if (!preserve_perms) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment