aboutsummaryrefslogtreecommitdiffstats
path: root/irc
diff options
context:
space:
mode:
authorpav <pav@FreeBSD.org>2004-11-06 21:17:05 +0800
committerpav <pav@FreeBSD.org>2004-11-06 21:17:05 +0800
commite95e0b9661ffa3ba3a36f2cce2d894f414f98122 (patch)
treebbfb1c968bbc219f40ca5d9aa6c6099676f02e03 /irc
parent74a57746317dd6df3cbaee6027490da603cdb674 (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--irc/riece-emacs21/files/patch-lisp::riece-rdcc.el43
-rw-r--r--irc/riece/Makefile1
-rw-r--r--irc/riece/files/patch-lisp::riece-rdcc.el43
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