diff options
author | pav <pav@FreeBSD.org> | 2004-11-06 21:17:05 +0800 |
---|---|---|
committer | pav <pav@FreeBSD.org> | 2004-11-06 21:17:05 +0800 |
commit | e95e0b9661ffa3ba3a36f2cce2d894f414f98122 (patch) | |
tree | bbfb1c968bbc219f40ca5d9aa6c6099676f02e03 /irc | |
parent | 74a57746317dd6df3cbaee6027490da603cdb674 (diff) | |
download | freebsd-ports-gnome-e95e0b9661ffa3ba3a36f2cce2d894f414f98122.tar.gz freebsd-ports-gnome-e95e0b9661ffa3ba3a36f2cce2d894f414f98122.tar.zst freebsd-ports-gnome-e95e0b9661ffa3ba3a36f2cce2d894f414f98122.zip |
- Fix bug in DCC protocol handling.
PR: ports/73542
Submitted by: KIMURA Yasuhiro <yasu@utahime.org> (maintainer)
Obtained from: author
Diffstat (limited to 'irc')
-rw-r--r-- | irc/riece-emacs21/Makefile | 1 | ||||
-rw-r--r-- | irc/riece-emacs21/files/patch-lisp::riece-rdcc.el | 43 | ||||
-rw-r--r-- | irc/riece/Makefile | 1 | ||||
-rw-r--r-- | irc/riece/files/patch-lisp::riece-rdcc.el | 43 |
4 files changed, 88 insertions, 0 deletions
diff --git a/irc/riece-emacs21/Makefile b/irc/riece-emacs21/Makefile index 267d092c3959..606c9c0c8923 100644 --- a/irc/riece-emacs21/Makefile +++ b/irc/riece-emacs21/Makefile @@ -6,6 +6,7 @@ PORTNAME= riece PORTVERSION= 1.0.4 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= irc elisp MASTER_SITES= http://wiliki.designflaw.org/riece/ diff --git a/irc/riece-emacs21/files/patch-lisp::riece-rdcc.el b/irc/riece-emacs21/files/patch-lisp::riece-rdcc.el new file mode 100644 index 000000000000..6ef32bae8b06 --- /dev/null +++ b/irc/riece-emacs21/files/patch-lisp::riece-rdcc.el @@ -0,0 +1,43 @@ +Index: lisp/riece-rdcc.el +=================================================================== +RCS file: /cvs/root/riece/lisp/riece-rdcc.el,v +retrieving revision 1.26 +diff -u -F^( -r1.26 riece-rdcc.el +--- lisp/riece-rdcc.el 6 Jun 2004 06:11:59 -0000 1.26 ++++ lisp/riece-rdcc.el 4 Nov 2004 07:12:26 -0000 +@@ -64,6 +64,9 @@ (defcustom riece-rdcc-send-program + total += bytes.length + puts(\"#{total}\") + session.write(bytes) ++ begin ++ buf = session.read(4) ++ end until buf.unpack('N')[0] == total + end + } + session.close +@@ -198,13 +201,21 @@ (defun riece-rdcc-filter (process input) + (let ((coding-system-for-write 'binary) + jka-compr-compression-info-list jam-zcat-filename-list) + (write-region (point-min) (point-max) riece-rdcc-temp-file t 0)) ++ (setq riece-rdcc-received-size (+ (buffer-size) riece-rdcc-received-size)) ++ (process-send-string ++ process ++ (format "%c%c%c%c" ++ (logand (lsh riece-rdcc-received-size -24) 255) ++ (logand (lsh riece-rdcc-received-size -16) 255) ++ (logand (lsh riece-rdcc-received-size -8) 255) ++ (logand riece-rdcc-received-size 255))) + (message "Receiving %s from %s...(%s/%s)" + (file-name-nondirectory riece-rdcc-request-file) + riece-rdcc-request-user +- (riece-rdcc-format-size +- (setq riece-rdcc-received-size (+ (buffer-size) +- riece-rdcc-received-size))) +- (riece-rdcc-format-size riece-rdcc-request-size)))) ++ (riece-rdcc-format-size riece-rdcc-received-size) ++ (riece-rdcc-format-size riece-rdcc-request-size)) ++ (if (= riece-rdcc-received-size riece-rdcc-request-size) ++ (set-process-filter process nil)))) + + (defun riece-rdcc-sentinel (process status) + (save-excursion diff --git a/irc/riece/Makefile b/irc/riece/Makefile index 267d092c3959..606c9c0c8923 100644 --- a/irc/riece/Makefile +++ b/irc/riece/Makefile @@ -6,6 +6,7 @@ PORTNAME= riece PORTVERSION= 1.0.4 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= irc elisp MASTER_SITES= http://wiliki.designflaw.org/riece/ diff --git a/irc/riece/files/patch-lisp::riece-rdcc.el b/irc/riece/files/patch-lisp::riece-rdcc.el new file mode 100644 index 000000000000..6ef32bae8b06 --- /dev/null +++ b/irc/riece/files/patch-lisp::riece-rdcc.el @@ -0,0 +1,43 @@ +Index: lisp/riece-rdcc.el +=================================================================== +RCS file: /cvs/root/riece/lisp/riece-rdcc.el,v +retrieving revision 1.26 +diff -u -F^( -r1.26 riece-rdcc.el +--- lisp/riece-rdcc.el 6 Jun 2004 06:11:59 -0000 1.26 ++++ lisp/riece-rdcc.el 4 Nov 2004 07:12:26 -0000 +@@ -64,6 +64,9 @@ (defcustom riece-rdcc-send-program + total += bytes.length + puts(\"#{total}\") + session.write(bytes) ++ begin ++ buf = session.read(4) ++ end until buf.unpack('N')[0] == total + end + } + session.close +@@ -198,13 +201,21 @@ (defun riece-rdcc-filter (process input) + (let ((coding-system-for-write 'binary) + jka-compr-compression-info-list jam-zcat-filename-list) + (write-region (point-min) (point-max) riece-rdcc-temp-file t 0)) ++ (setq riece-rdcc-received-size (+ (buffer-size) riece-rdcc-received-size)) ++ (process-send-string ++ process ++ (format "%c%c%c%c" ++ (logand (lsh riece-rdcc-received-size -24) 255) ++ (logand (lsh riece-rdcc-received-size -16) 255) ++ (logand (lsh riece-rdcc-received-size -8) 255) ++ (logand riece-rdcc-received-size 255))) + (message "Receiving %s from %s...(%s/%s)" + (file-name-nondirectory riece-rdcc-request-file) + riece-rdcc-request-user +- (riece-rdcc-format-size +- (setq riece-rdcc-received-size (+ (buffer-size) +- riece-rdcc-received-size))) +- (riece-rdcc-format-size riece-rdcc-request-size)))) ++ (riece-rdcc-format-size riece-rdcc-received-size) ++ (riece-rdcc-format-size riece-rdcc-request-size)) ++ (if (= riece-rdcc-received-size riece-rdcc-request-size) ++ (set-process-filter process nil)))) + + (defun riece-rdcc-sentinel (process status) + (save-excursion |