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