Package: xchat
Version: 2.8.6-4ubuntu3
Severity: normal
Tags: patch

Binary package hint: xchat

Freenode will soon be moving to its new IRCD (ircd-seven) 
http://announce.freenode.net/
Part of this change is that the way the client requests the IDENTIFY-MSG 
capability has changed, see 
http://dev.freenode.net/ircd-seven/browser/doc/hyperion-migration.txt

The patch at 
http://adipose.attenuate.org/~stephen/ircd-seven/xchat-ircd-seven-identify-msg.patch.txt
 adds some basic CAP command parsing ability to maintain use of this feature.


-- System Information:
Debian Release: squeeze/sid
  APT prefers karmic-updates
  APT policy: (500, 'karmic-updates'), (500, 'karmic-security'), (500, 
'karmic-backports'), (500, 'karmic')
Architecture: i386 (i686)

Kernel: Linux 2.6.31-16-generic (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages xchat depends on:
ii  libatk1.0-0     1.28.0-0ubuntu1          The ATK accessibility toolkit
ii  libc6           2.10.1-0ubuntu16         GNU C Library: Shared libraries
ii  libcairo2       1.8.8-2ubuntu1           The Cairo 2D vector graphics libra
ii  libdbus-1-3     1.2.16-0ubuntu9          simple interprocess messaging syst
ii  libdbus-glib-1- 0.80-4ubuntu1            simple interprocess messaging syst
ii  libfontconfig1  2.6.0-1ubuntu12          generic font configuration library
ii  libfreetype6    2.3.9-5                  FreeType 2 font engine, shared lib
ii  libglib2.0-0    2.22.3-0ubuntu1          The GLib library of C routines
ii  libgtk2.0-0     2.18.3-1ubuntu2.1        The GTK+ graphical user interface 
ii  liblaunchpad-in 0.1.26                   library for launchpad integration
ii  libpango1.0-0   1.26.0-1                 Layout and rendering of internatio
ii  libperl5.10     5.10.0-24ubuntu4         Shared Perl library
ii  libsexy2        0.1.11-2build1           collection of additional GTK+ widg
ii  libssl0.9.8     0.9.8g-16ubuntu3         SSL shared libraries
ii  libx11-6        2:1.2.2-1ubuntu1         X11 client-side library
ii  libxml2         2.7.5.dfsg-1ubuntu1      GNOME XML library
ii  xchat-common    2.8.6-4ubuntu3           Common files for X-Chat
ii  zlib1g          1:1.2.3.3.dfsg-13ubuntu3 compression library - runtime

Versions of packages xchat recommends:
ii  alsa-utils               1.0.20-2ubuntu6 ALSA utilities
ii  esound-clients           0.2.41-5        Enlightened Sound Daemon - clients
ii  libnotify-bin            0.4.5-1ubuntu1  sends desktop notifications to a n
ii  libnotify1               0.4.5-1ubuntu1  sends desktop notifications to a n
ii  python                   2.6.4-0ubuntu1  An interactive high-level object-o
ii  tcl                      8.4.16-2        The Tool Command Language (default
ii  xdg-utils                1.0.2-6.1       desktop integration utilities from

xchat suggests no packages.

-- no debconf information
diff -u xchat-2.8.6/debian/changelog xchat-2.8.6/debian/changelog
--- xchat-2.8.6/debian/changelog
+++ xchat-2.8.6/debian/changelog
@@ -1,3 +1,10 @@
+xchat (2.8.6-4ubuntu3) lucid; urgency=low
+
+  * debian/patches/73_freenode_ircd-seven.dpatch: Add support for ircd-seven
+    CAP command (taken from http://adipose.attenuate.org/~stephen/ircd-seven/)
+
+ -- Terence Simpson <tsimp...@ubuntu.com>  Thu, 14 Jan 2010 08:13:39 +0000
+
 xchat (2.8.6-4ubuntu2) karmic; urgency=low
 
   * debian/patches/72_fix_connect_button.dpatch: Fixes 'C_onnect' button on 
diff -u xchat-2.8.6/debian/patches/00list xchat-2.8.6/debian/patches/00list
--- xchat-2.8.6/debian/patches/00list
+++ xchat-2.8.6/debian/patches/00list
@@ -18,2 +18,3 @@
 72_fix_connect_button.dpatch
+73_freenode_ircd-seven.dpatch
 99_gtype
only in patch2:
unchanged:
--- xchat-2.8.6.orig/debian/patches/73_freenode_ircd-seven.dpatch
+++ xchat-2.8.6/debian/patches/73_freenode_ircd-seven.dpatch
@@ -0,0 +1,60 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 73_freenode_ircd-seven.dpatch by Terence Simpson <tsimp...@kubuntu.org>
+##
+## Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/xchat/+bug/507072
+## Bug: http://sourceforge.net/support/tracker.php?aid=2931474
+## Origin: http://adipose.attenuate.org/~stephen/ircd-seven/xchat-ircd-seven-identify-msg.patch.txt
+## Description: Add support for ircd-seven CAP command.
+
+...@dpatch@
+diff -urNad xchat-2.8.6~/src/common/proto-irc.c xchat-2.8.6/src/common/proto-irc.c
+--- xchat-2.8.6~/src/common/proto-irc.c	2008-04-02 05:32:15.000000000 +0100
++++ xchat-2.8.6/src/common/proto-irc.c	2010-01-14 08:12:32.000000000 +0000
+@@ -46,6 +46,8 @@
+ 	if (serv->password[0])
+ 		tcp_sendf (serv, "PASS %s\r\n", serv->password);
+ 
++	tcp_sendf (serv, "CAP LS\r\n");
++
+ 	tcp_sendf (serv,
+ 				  "NICK %s\r\n"
+ 				  "USER %s %s %s :%s\r\n",
+@@ -1093,6 +1095,38 @@
+ 		}
+ 	}
+ 
++	else if (len == 3)
++	{
++		guint32 t;
++
++		t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]); 	
++		switch (t)
++		{
++		case WORDL('C','A','P','\0'):
++			if (strncasecmp(word[4], "ACK", 3) == 0)
++			{
++				if (strncasecmp(word[5][0]==':' ? word[5]+1 : word[5],
++					    "identify-msg", 12) == 0)
++				{
++					serv->have_idmsg = TRUE;
++					tcp_send_len(serv, "CAP END\r\n", 9);
++				}
++			}
++			else if (strncasecmp(word[4], "LS", 2) == 0)
++			{
++				if (strstr(word[5], "identify-msg") != 0)
++					tcp_send_len(serv, "CAP REQ :identify-msg\r\n", 23);
++				else
++					tcp_send_len(serv, "CAP END\r\n", 9);
++			}
++			else if (strncasecmp(word[4], "NAK",3) == 0)
++			{
++				tcp_send_len(serv, "CAP END\r\n", 9);
++			}
++			return;
++		}
++	}
++
+ garbage:
+ 	/* unknown message */
+ 	PrintTextf (sess, "GARBAGE: %s\n", word_eol[1]);

Reply via email to