summaryrefslogtreecommitdiff
path: root/net/rsync
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2006-05-30 09:35:28 +0000
committerPav Lucistnik <pav@FreeBSD.org>2006-05-30 09:35:28 +0000
commit0fad60428685a0fd5a566c5ebd578b5bcbd472db (patch)
tree854da53c437fe3919b86cff2128be5e29da0b659 /net/rsync
parent- Update to 0.0.20 (diff)
- Apply vendor patch to fix 'unexpected tag 3' errors
Requested by: Zoltan Frombach <zoltan@frombach.com> Obtained from: http://lists.samba.org/archive/rsync/2006-May/015607.html
Notes
Notes: svn path=/head/; revision=163955
Diffstat (limited to 'net/rsync')
-rw-r--r--net/rsync/Makefile2
-rw-r--r--net/rsync/files/patch-2.6.8-unexpected_tag_398
2 files changed, 99 insertions, 1 deletions
diff --git a/net/rsync/Makefile b/net/rsync/Makefile
index f63cf9c7e774..87a6a1d81871 100644
--- a/net/rsync/Makefile
+++ b/net/rsync/Makefile
@@ -7,7 +7,7 @@
PORTNAME= rsync
PORTVERSION= 2.6.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net ipv6
MASTER_SITES= http://rsync.samba.org/ftp/%SUBDIR%/ \
ftp://ftp.samba.org//pub/%SUBDIR%/ \
diff --git a/net/rsync/files/patch-2.6.8-unexpected_tag_3 b/net/rsync/files/patch-2.6.8-unexpected_tag_3
new file mode 100644
index 000000000000..c00ca4a11a9e
--- /dev/null
+++ b/net/rsync/files/patch-2.6.8-unexpected_tag_3
@@ -0,0 +1,98 @@
+===================================================================
+RCS file: /cvsroot/rsync/io.c,v
+retrieving revision 1.195
+retrieving revision 1.196
+diff -u -r1.195 -r1.196
+--- rsync/io.c 2006/05/03 06:32:59 1.195
++++ rsync/io.c 2006/05/03 16:17:46 1.196
+@@ -282,10 +282,7 @@
+ exit_cleanup(RERR_STREAMIO);
+ }
+ read_loop(fd, buf, len);
+- if (defer_forwarding_messages)
+- msg_list_add(&msg2sndr, MSG_DELETED, buf, len);
+- else
+- io_multiplex_write(MSG_DELETED, buf, len);
++ send_msg(MSG_DELETED, buf, len);
+ break;
+ case MSG_SUCCESS:
+ if (len != 4 || !am_generator) {
+@@ -295,10 +292,7 @@
+ read_loop(fd, buf, len);
+ if (remove_sent_files) {
+ decrement_active_files(IVAL(buf,0));
+- if (defer_forwarding_messages)
+- msg_list_add(&msg2sndr, MSG_SUCCESS, buf, len);
+- else
+- io_multiplex_write(MSG_SUCCESS, buf, len);
++ send_msg(MSG_SUCCESS, buf, len);
+ }
+ if (preserve_hard_links)
+ flist_ndx_push(&hlink_list, IVAL(buf,0));
+@@ -318,10 +312,7 @@
+ if (n >= sizeof buf)
+ n = sizeof buf - 1;
+ read_loop(fd, buf, n);
+- if (am_generator && am_server && defer_forwarding_messages)
+- msg_list_add(&msg2sndr, tag, buf, n);
+- else
+- rwrite((enum logcode)tag, buf, n);
++ rwrite(tag, buf, n);
+ len -= n;
+ }
+ break;
+@@ -395,14 +386,19 @@
+ return 1;
+ }
+
+-void send_msg(enum msgcode code, char *buf, int len)
++int send_msg(enum msgcode code, char *buf, int len)
+ {
+ if (msg_fd_out < 0) {
+- io_multiplex_write(code, buf, len);
+- return;
++ if (!defer_forwarding_messages)
++ return io_multiplex_write(code, buf, len);
++ if (!io_multiplexing_out)
++ return 0;
++ msg_list_add(&msg2sndr, code, buf, len);
++ return 1;
+ }
+ msg_list_add(&msg2genr, code, buf, len);
+ msg2genr_flush(NORMAL_FLUSH);
++ return 1;
+ }
+
+ int get_redo_num(int itemizing, enum logcode code)
+===================================================================
+RCS file: /cvsroot/rsync/log.c,v
+retrieving revision 1.147
+retrieving revision 1.148
+diff -u -r1.147 -r1.148
+--- rsync/log.c 2006/05/03 06:11:11 1.147
++++ rsync/log.c 2006/05/03 16:17:49 1.148
+@@ -256,7 +256,7 @@
+
+ if (am_server) {
+ /* Pass the message to the non-server side. */
+- if (io_multiplex_write((enum msgcode)code, buf, len))
++ if (send_msg(code, buf, len))
+ return;
+ if (am_daemon) {
+ /* TODO: can we send the error to the user somehow? */
+===================================================================
+RCS file: /cvsroot/rsync/proto.h,v
+retrieving revision 1.303
+retrieving revision 1.304
+diff -u -r1.303 -r1.304
+--- rsync/proto.h 2006/05/03 00:48:17 1.303
++++ rsync/proto.h 2006/05/03 16:17:42 1.304
+@@ -104,7 +104,7 @@
+ void set_msg_fd_out(int fd);
+ void increment_active_files(int ndx, int itemizing, enum logcode code);
+ void decrement_active_files(int ndx);
+-void send_msg(enum msgcode code, char *buf, int len);
++int send_msg(enum msgcode code, char *buf, int len);
+ int get_redo_num(int itemizing, enum logcode code);
+ int get_hlink_num(void);
+ void io_set_filesfrom_fds(int f_in, int f_out);