summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2005-01-23 21:17:27 +0000
committerSven Wegener <swegener@gentoo.org>2005-01-23 21:17:27 +0000
commitb5c0f26579fa610c353a85bc409db4db32507761 (patch)
tree3daa16673bf169237056f90cc9a34d3ad815e71c /net-irc/dircproxy
parentlibGL.la fix (diff)
downloadhistorical-b5c0f26579fa610c353a85bc409db4db32507761.tar.gz
historical-b5c0f26579fa610c353a85bc409db4db32507761.tar.bz2
historical-b5c0f26579fa610c353a85bc409db4db32507761.zip
Added a patch from Adrian <adrian@planetcoding.net> that reduces the on-attach lag by sending all channels in NAMES and TOPIC requests at once. Closes bug #78341.
Package-Manager: portage-2.0.51-r14
Diffstat (limited to 'net-irc/dircproxy')
-rw-r--r--net-irc/dircproxy/ChangeLog8
-rw-r--r--net-irc/dircproxy/Manifest15
-rw-r--r--net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild3
-rw-r--r--net-irc/dircproxy/files/1.1.0-less-lag-on-attach.patch53
4 files changed, 75 insertions, 4 deletions
diff --git a/net-irc/dircproxy/ChangeLog b/net-irc/dircproxy/ChangeLog
index 40eb5642384b..9e03a8d1e807 100644
--- a/net-irc/dircproxy/ChangeLog
+++ b/net-irc/dircproxy/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-irc/dircproxy
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/dircproxy/ChangeLog,v 1.13 2005/01/09 16:57:54 luckyduck Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/dircproxy/ChangeLog,v 1.14 2005/01/23 21:17:26 swegener Exp $
+
+ 23 Jan 2005; Sven Wegener <swegener@gentoo.org>
+ +files/1.1.0-less-lag-on-attach.patch, dircproxy-1.1.0-r1.ebuild:
+ Added a patch from Adrian <adrian@planetcoding.net> that reduces the
+ on-attach lag by sending all channels in NAMES and TOPIC requests at once.
+ Closes bug #78341.
09 Jan 2005; Jan Brinkmann <luckyduck@gentoo.org> dircproxy-1.0.5.ebuild,
dircproxy-1.1.0-r1.ebuild:
diff --git a/net-irc/dircproxy/Manifest b/net-irc/dircproxy/Manifest
index 47e45603f165..2c43afd54ced 100644
--- a/net-irc/dircproxy/Manifest
+++ b/net-irc/dircproxy/Manifest
@@ -1,7 +1,18 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
MD5 4753a74e9959d7771d1743b43e9fa4cc dircproxy-1.0.5.ebuild 604
-MD5 ca094938b7abfcb2354e47b1072fb842 dircproxy-1.1.0-r1.ebuild 712
-MD5 e0eeaac10fb71cc447a39d321c3af9f8 ChangeLog 2197
+MD5 e3d18c06e1dc57e3236d7748aebec2f5 dircproxy-1.1.0-r1.ebuild 762
+MD5 6abcdc05538c623935e0e33f16cc9227 ChangeLog 2484
MD5 44c39c6ad372a8e5a5e7ee3311f703a7 metadata.xml 160
MD5 8735716fa2ac751e4b10e7f38cd1bd38 files/digest-dircproxy-1.0.5 67
MD5 a7c7b1ea76afc3f604758a6448fd1b96 files/1.1.0-005-numeric.patch 708
MD5 3305b6d2321a112b03180bef0a02b0d6 files/digest-dircproxy-1.1.0-r1 67
+MD5 d020302a46b1d425abe235ba16582a03 files/1.1.0-less-lag-on-attach.patch 1506
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.9.10 (GNU/Linux)
+
+iD8DBQFB9BRsI1lqEGTUzyQRAh23AJ92aqFG4H59pA1lqIVWAP+c8V/s1QCbBl72
+DuNC/GVf6GDzex2MLq3Mbok=
+=4VC/
+-----END PGP SIGNATURE-----
diff --git a/net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild b/net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild
index d7789295c915..5b11b4c1e470 100644
--- a/net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild
+++ b/net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild,v 1.2 2005/01/09 16:57:54 luckyduck Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/dircproxy/dircproxy-1.1.0-r1.ebuild,v 1.3 2005/01/23 21:17:26 swegener Exp $
inherit eutils
@@ -20,6 +20,7 @@ src_unpack() {
cd ${S}
epatch ${FILESDIR}/${PV}-005-numeric.patch
+ epatch ${FILESDIR}/${PV}-less-lag-on-attach.patch
}
src_install() {
diff --git a/net-irc/dircproxy/files/1.1.0-less-lag-on-attach.patch b/net-irc/dircproxy/files/1.1.0-less-lag-on-attach.patch
new file mode 100644
index 000000000000..c6e6248d34d4
--- /dev/null
+++ b/net-irc/dircproxy/files/1.1.0-less-lag-on-attach.patch
@@ -0,0 +1,53 @@
+--- src/irc_client.c 2005-01-06 02:48:12.964637427 +0100
++++ src/irc_client.c.lessflood 2005-01-06 02:47:50.433376383 +0100
+@@ -1910,13 +1910,34 @@
+ /* Recall channel log files, and get channel topic and members from server */
+ if (p->channels) {
+ struct ircchannel *c;
++ unsigned int cnames_length = 0;
++ char *cnames = 0;
++
++ c = p->channels;
++ while (c) {
++ if (!c->inactive && !c->unjoined) {
++ cnames_length += strlen(c->name) + 1; // +1 to hold comma
++ }
++
++ c = c->next;
++ }
++
++ if(cnames_length)
++ {
++ cnames = (char *)malloc(cnames_length + 1);
++ memset(cnames, 0, cnames_length + 1);
++ }
+
+ c = p->channels;
+ while (c) {
+ if (!c->inactive && !c->unjoined) {
+ ircclient_send_selfcmd(p, "JOIN", ":%s", c->name);
+- ircserver_send_command(p, "TOPIC", ":%s", c->name);
+- ircserver_send_command(p, "NAMES", ":%s", c->name);
++ if(cnames_length) {
++ if(c == p->channels) // first channel in list
++ sprintf(cnames, "%s", c->name);
++ else
++ sprintf(cnames, "%s,%s", cnames, c->name);
++ }
+
+ if (p->conn_class->chan_log_enabled) {
+ irclog_autorecall(p, c->name);
+@@ -1926,6 +1948,13 @@
+
+ c = c->next;
+ }
++
++ if(cnames_length)
++ {
++ ircserver_send_command(p, "TOPIC", ":%s", cnames);
++ ircserver_send_command(p, "NAMES", ":%s", cnames);
++ free(cnames);
++ }
+ }
+
+ /* Recall private log file */