Hello, I just uploaded a NMU of ircd-hybrid fixing FTBFS and this bug. Patch attached.
Cheers, -- Julien Danjou <? TuxFamily Administrator Team | [EMAIL PROTECTED] ?> <? TuxFamily Free Network Services | http://www.tuxfamily.org ?> Free Hosting For Free People
diff -u ircd-hybrid-7.0.3/debian/patches/00list
ircd-hybrid-7.0.3/debian/patches/00list
--- ircd-hybrid-7.0.3/debian/patches/00list
+++ ircd-hybrid-7.0.3/debian/patches/00list
@@ -12,0 +13 @@
+14_fix_va_list
diff -u ircd-hybrid-7.0.3/debian/copyright ircd-hybrid-7.0.3/debian/copyright
--- ircd-hybrid-7.0.3/debian/copyright
+++ ircd-hybrid-7.0.3/debian/copyright
@@ -15,8 +15,7 @@
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA.
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General Public License
can be found in `/usr/share/common-licenses/GPL'.
diff -u ircd-hybrid-7.0.3/debian/changelog ircd-hybrid-7.0.3/debian/changelog
--- ircd-hybrid-7.0.3/debian/changelog
+++ ircd-hybrid-7.0.3/debian/changelog
@@ -1,3 +1,14 @@
+ircd-hybrid (1:7.0.3-3.1) unstable; urgency=low
+
+ * NMU
+ * Fix a segfault on ppc and amd64 in va_list (Closes: #300638)
+ Add 14_fix_va_list.dpatch
+ * Change $(PWD) to $(CURDIR) in debian/rules
+ * Remove tools/vimotd and tools/viklines on clean target in debian/rules
+ * Update FSF address in debian/copyright
+
+ -- Julien Danjou <[EMAIL PROTECTED]> Tue, 16 May 2006 17:22:44 +0200
+
ircd-hybrid (1:7.0.3-3) unstable; urgency=high
* Patch work:
diff -u ircd-hybrid-7.0.3/debian/control ircd-hybrid-7.0.3/debian/control
--- ircd-hybrid-7.0.3/debian/control
+++ ircd-hybrid-7.0.3/debian/control
@@ -1,14 +1,14 @@
Source: ircd-hybrid
Section: net
Priority: optional
-Build-Depends: debhelper (>= 4.1.16), bison, zlib1g-dev, dpatch, flex,
docbook-to-man
+Build-Depends: debhelper (>= 4.1.16), bison, zlib1g-dev, dpatch, flex,
docbook-to-man
Maintainer: Joshua Kwan <[EMAIL PROTECTED]>
Standards-Version: 3.6.1.0
Package: ircd-hybrid
Architecture: any
Conflicts: ircd-ircu, ircd-irc2, dancer-ircd, oftc-hybrid, ircd
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Provides: ircd
Recommends: whois
Description: high-performance secure IRC server
@@ -33,7 +33,6 @@
Section: devel
Architecture: all
Suggests: ircd-hybrid
-Depends: libadns1-dev
Description: development files for ircd-hybrid
These are the headers used when writing modules for ircd-hybrid.
For more information on how to write these modules, see the ircd-hybrid
@@ -45,2 +44 @@
- assumes a lot; if you know what you're doing, you can probably do it
- better yourself anyway.
+ assumes a lot; if you possess clue, you will know what to do anyway.
diff -u ircd-hybrid-7.0.3/debian/rules ircd-hybrid-7.0.3/debian/rules
--- ircd-hybrid-7.0.3/debian/rules
+++ ircd-hybrid-7.0.3/debian/rules
@@ -57,7 +57,7 @@
CFLAGS= \
./configure $(crossflags) $(sslflags) \
--with-nicklen=$(NICKLEN) --with-topiclen=$(TOPICLEN) \
- --prefix=$(PWD)/debian/tmp --bindir=\${prefix}/usr/sbin
\
+ --prefix=$(CURDIR)/debian/tmp
--bindir=\${prefix}/usr/sbin \
--sysconfdir=/etc/ircd-hybrid --localstatedir=/var/log \
--sharedstatedir=/usr/share/ircd-hybrid \
--mandir=/usr/share/man --includedir=/usr/include \
@@ -107,6 +107,7 @@
rm -f build-stamp configure-stamp manpages-stamp config.log
changelog-stamp control-stamp
-$(MAKE) distclean
-$(MAKE) -C messages distclean
+ rm -f tools/vimotd tools/viklines
dh_clean
debian/changelog: changelog-stamp
@@ -177,7 +178,7 @@
$(MAKE) -C contrib install
$(MAKE) -C messages install
ifndef USE_OPENSSL
- rm -f $(PWD)/debian/tmp/usr/sbin/encspeed
+ rm -f $(CURDIR)/debian/tmp/usr/sbin/encspeed
endif
# Make life easier for woody backporters.
only in patch2:
unchanged:
--- ircd-hybrid-7.0.3.orig/debian/patches/14_fix_va_list.dpatch
+++ ircd-hybrid-7.0.3/debian/patches/14_fix_va_list.dpatch
@@ -0,0 +1,102 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 14_fix_va_list.dpatch by Julien Danjou <[EMAIL PROTECTED]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix a segfault in va_list happening on amd64 and ppc
+
+diff -Nur ircd-hybrid-7.0.3/src/send.c ircd-hybrid-7.0.3.patched/src/send.c
+--- ircd-hybrid-7.0.3/src/send.c 2004-02-10 05:28:40.000000000 +0100
++++ ircd-hybrid-7.0.3.patched/src/send.c 2006-04-20 02:50:14.000000000
+0200
+@@ -501,7 +501,7 @@
+ struct Channel *chptr, char *command,
+ const char *pattern, ...)
+ {
+- va_list args;
++ va_list alocal, aremote, auid;
+ buf_head_t local_linebuf;
+ buf_head_t remote_linebuf;
+ buf_head_t uid_linebuf;
+@@ -509,23 +509,27 @@
+ linebuf_newbuf(&local_linebuf);
+ linebuf_newbuf(&remote_linebuf);
+ linebuf_newbuf(&uid_linebuf);
+- va_start(args, pattern);
++ va_start(alocal, pattern);
++ va_start(aremote, pattern);
++ va_start(auid, pattern);
+
+ if(IsServer(from))
+- linebuf_putmsg(&local_linebuf, pattern, &args, ":%s %s %s ",
++ linebuf_putmsg(&local_linebuf, pattern, &alocal, ":%s %s %s ",
+ from->name, command, RootChan(chptr)->chname);
+ else
+- linebuf_putmsg(&local_linebuf, pattern, &args, ":[EMAIL PROTECTED] %s %s
",
++ linebuf_putmsg(&local_linebuf, pattern, &alocal, ":[EMAIL PROTECTED] %s
%s ",
+ from->name, from->username, from->host,
+ command, RootChan(chptr)->chname);
+
+- linebuf_putmsg(&remote_linebuf, pattern, &args, ":%s %s %s ",
++ linebuf_putmsg(&remote_linebuf, pattern, &aremote, ":%s %s %s ",
+ from->name, command, chptr->chname);
+
+- linebuf_putmsg(&uid_linebuf, pattern, &args, ":%s %s %s ",
++ linebuf_putmsg(&uid_linebuf, pattern, &auid, ":%s %s %s ",
+ ID(from), command, chptr->chname);
+
+- va_end(args);
++ va_end(auid);
++ va_end(aremote);
++ va_end(alocal);
+
+ ++current_serial;
+
+@@ -1045,7 +1049,7 @@
+ char *mask, int what,
+ const char *pattern, ...)
+ {
+- va_list args;
++ va_list alocal, aremote;
+ struct Client *client_p;
+ dlink_node *ptr;
+ dlink_node *ptr_next;
+@@ -1054,13 +1058,15 @@
+
+ linebuf_newbuf(&local_linebuf);
+ linebuf_newbuf(&remote_linebuf);
+- va_start(args, pattern);
++ va_start(alocal, pattern);
++ va_start(aremote, pattern);
+
+- linebuf_putmsg(&remote_linebuf, pattern, &args, ":%s ", from->name);
+- linebuf_putmsg(&local_linebuf, pattern, &args, ":[EMAIL PROTECTED] ",
from->name,
++ linebuf_putmsg(&remote_linebuf, pattern, &aremote, ":%s ", from->name);
++ linebuf_putmsg(&local_linebuf, pattern, &alocal, ":[EMAIL PROTECTED] ",
from->name,
+ from->username, from->host);
+
+- va_end(args);
++ va_end(aremote);
++ va_end(alocal);
+
+ /* scan the local clients */
+ DLINK_FOREACH_SAFE(ptr, ptr_next, lclient_list.head)
+@@ -1416,16 +1422,18 @@
+ buf_head_t linebuf_uid;
+ buf_head_t linebuf_nick;
+
+- va_start(args, pattern);
+-
+ if(HasID(source_p))
+ {
+ have_uid = 1;
++ va_start(args, pattern);
+ linebuf_newbuf(&linebuf_uid);
+ linebuf_putmsg(&linebuf_uid, pattern, &args, ":%s KILL %s :",
+ me.name, ID(source_p));
++ va_end(args);
+ }
+
++ va_start(args, pattern);
++
+ linebuf_newbuf(&linebuf_nick);
+ linebuf_putmsg(&linebuf_nick, pattern, &args, ":%s KILL %s :",
+ me.name, source_p->name);
signature.asc
Description: Digital signature

