summaryrefslogtreecommitdiff
path: root/chat/centerim
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2008-05-13 15:15:51 +0000
committerobache <obache@pkgsrc.org>2008-05-13 15:15:51 +0000
commitfc1ff94bbd34e0636892fa353c1def328035f058 (patch)
treedb309da34317ee769974249c5f66e0a6c726b9d5 /chat/centerim
parent8785570601252790accdcb17f6987c354dac76a6 (diff)
downloadpkgsrc-fc1ff94bbd34e0636892fa353c1def328035f058.tar.gz
Update centerim to 4.22.5.
Based on patch provided in PR 38624. 'cicqconv' command is renamed for 'cimconv', conflict with centericq is gone away. 2008-04-08 New version (4.22.5) released. This release fixes various segfaults in the Yahoo protocol. It also introduces a bar which displays all open chats nicely. 2008-03-29 New version (4.22.4) released. This release fixes the possible url exploit described in CVE-2008-1467. It also makes CenterIM ready for the Yahoo protocol change kicking in on 2nd april 2008. 2008-03-11 New version (4.22.3) released. This version fixes the various ICQ contact list issues (e.g adding contacts should now work). 2007-12-08 New version (4.22.2) released. More than 90 fixes/improvements have been added to centerim since our last release in June. The main fixes included are: * Fixed bug in msn login when the server sent a NOT message * Fixed bug in ICQ protocol which prevented others from seeing your presence (partial) * New version tracking/updating (Thanks to David Riebenbauer for this helpful feature) * Added an "Out for Lunch" state
Diffstat (limited to 'chat/centerim')
-rw-r--r--chat/centerim/Makefile9
-rw-r--r--chat/centerim/PLIST9
-rw-r--r--chat/centerim/distinfo23
-rw-r--r--chat/centerim/patches/patch-aa28
-rw-r--r--chat/centerim/patches/patch-ac10
-rw-r--r--chat/centerim/patches/patch-an6
-rw-r--r--chat/centerim/patches/patch-au27
-rw-r--r--chat/centerim/patches/patch-av36
-rw-r--r--chat/centerim/patches/patch-aw23
-rw-r--r--chat/centerim/patches/patch-ax194
-rw-r--r--chat/centerim/patches/patch-ay46
-rw-r--r--chat/centerim/patches/patch-az108
-rw-r--r--chat/centerim/patches/patch-ba13
-rw-r--r--chat/centerim/patches/patch-bb13
14 files changed, 55 insertions, 490 deletions
diff --git a/chat/centerim/Makefile b/chat/centerim/Makefile
index ac9c3d6fc2b..0759c775831 100644
--- a/chat/centerim/Makefile
+++ b/chat/centerim/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.6 2008/01/18 05:06:22 tnn Exp $
+# $NetBSD: Makefile,v 1.7 2008/05/13 15:15:51 obache Exp $
#
-DISTNAME= centerim-4.22.1
-PKGREVISION= 3
+DISTNAME= centerim-4.22.5
CATEGORIES= chat
MASTER_SITES= http://www.centerim.org/download/releases/ \
http://transacid.de/centerim/releases/
@@ -11,8 +10,6 @@ MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.centerim.org/
COMMENT= Instant Messenger interface supporting many protocols
-CONFLICTS= centericq-[0-9]*
-
PKG_DESTDIR_SUPPORT= user-destdir
USE_PKGLOCALEDIR= yes
@@ -23,7 +20,7 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-ssl --with-openssl=${SSLBASE:Q}
LIBS+= ${LDFLAGS}
-REPLACE_PERL= misc/cicqconv
+REPLACE_PERL= misc/cimconv
INCOMPAT_CURSES+= NetBSD-1.[45]*-* NetBSD-1.6-* NetBSD-1.6.[1-9]-*
INCOMPAT_CURSES+= NetBSD-1.6_*-* NetBSD-1.6.[1-9]_*-* NetBSD-1.6[A-T]-*
diff --git a/chat/centerim/PLIST b/chat/centerim/PLIST
index a41e8fcb2b0..5652434c865 100644
--- a/chat/centerim/PLIST
+++ b/chat/centerim/PLIST
@@ -1,8 +1,8 @@
-@comment $NetBSD: PLIST,v 1.2 2007/08/30 10:50:55 jnemeth Exp $
+@comment $NetBSD: PLIST,v 1.3 2008/05/13 15:15:51 obache Exp $
bin/centerim
-bin/cicqconv
+bin/cimconv
man/man1/centerim.1
-man/man1/cicqconv.1
+man/man1/cimconv.1
share/centerim/email.wav
share/centerim/msg.wav
share/centerim/offline.wav
@@ -24,5 +24,6 @@ share/locale/ro/LC_MESSAGES/centerim.mo
share/locale/ru/LC_MESSAGES/centerim.mo
share/locale/sv/LC_MESSAGES/centerim.mo
share/locale/uk/LC_MESSAGES/centerim.mo
-share/locale/zh_TW.Big5/LC_MESSAGES/centerim.mo
+share/locale/zh_CN/LC_MESSAGES/centerim.mo
+share/locale/zh_TW/LC_MESSAGES/centerim.mo
@dirrm share/centerim
diff --git a/chat/centerim/distinfo b/chat/centerim/distinfo
index a8872f0ea66..f16d46cda78 100644
--- a/chat/centerim/distinfo
+++ b/chat/centerim/distinfo
@@ -1,23 +1,18 @@
-$NetBSD: distinfo,v 1.2 2007/12/22 23:29:03 jdolecek Exp $
+$NetBSD: distinfo,v 1.3 2008/05/13 15:15:51 obache Exp $
-SHA1 (centerim-4.22.1.tar.gz) = 221b3e505d5ea432977db7e5c0cebc85b4f928f2
-RMD160 (centerim-4.22.1.tar.gz) = 165b1acad70fa5d38b045510045b438c89776f3f
-Size (centerim-4.22.1.tar.gz) = 2606696 bytes
-SHA1 (patch-aa) = 244ccb35ceb53715af2134d27ab4c591ed62dd30
-SHA1 (patch-ac) = b32ff8df936ea66f3ff029ba322d4a94f1ebe4e6
+SHA1 (centerim-4.22.5.tar.gz) = 422c368064f47886585720c1c639515acff21ae9
+RMD160 (centerim-4.22.5.tar.gz) = 94ade501f8ba46ff24bf4b3cc283533924c3e2f4
+Size (centerim-4.22.5.tar.gz) = 2803217 bytes
+SHA1 (patch-aa) = 6fb3a3dc309b32be177f3e21a1dc5dd43ddbf7e5
+SHA1 (patch-ac) = 4ef992ed632a57e921661b1b0054beff0c0aa587
SHA1 (patch-ad) = bfe19ca98facfbb23a87dd28a176980fb4e986de
SHA1 (patch-al) = d0c627ffc4ec2a7d179367dd2ddbbfd5ba52a377
SHA1 (patch-am) = 942bab1a28fd79a40ac824e58855af35fb139141
-SHA1 (patch-an) = db7ec68a563f44e0a1350b4adb659dcbac183a23
+SHA1 (patch-an) = ec94c04118e6395b7ef14c9231255f34092acb95
SHA1 (patch-ao) = ce9585139b7390884fcbbb92bcd9d107fc5b8a8b
SHA1 (patch-ap) = b2aa04db28b38332d00b1cdb22887e2985edea59
SHA1 (patch-aq) = 03be56591d3c925a6ffa48a1b87eb61a582f25c6
SHA1 (patch-ar) = c74e757e3ef6bf1f6bc9575955f5b8f73ac4b51d
SHA1 (patch-as) = b74310eb515c425cc98528f2b0384652370cef18
-SHA1 (patch-au) = 542111ddc738cc377c037ad910cedc0772707faf
-SHA1 (patch-av) = bf032d4447349d3b4f75c43f58eca3e0342b9f9d
-SHA1 (patch-aw) = d0238209328a6da5ae9f74d37f0fc44cf964b528
-SHA1 (patch-ax) = a96edcc859b30fde6e6577a833005fab8d45eabf
-SHA1 (patch-ay) = d7511f39004f2a86bda14b265ab2c4d03214dc2d
-SHA1 (patch-az) = 4542871c64fffb311cc464bc0b25fb59ef2db3b3
-SHA1 (patch-ba) = dee59621310b246097543257991e57cfb05b3ef3
+SHA1 (patch-av) = 05758183016fb1bb297c9c3d2c0606e6a66f9901
+SHA1 (patch-bb) = 9fa08e7313967f3cc8c1e2d9d05d124f62f4dd58
diff --git a/chat/centerim/patches/patch-aa b/chat/centerim/patches/patch-aa
index 2e665943551..421dba70848 100644
--- a/chat/centerim/patches/patch-aa
+++ b/chat/centerim/patches/patch-aa
@@ -1,12 +1,12 @@
-$NetBSD: patch-aa,v 1.1.1.1 2007/08/30 00:47:01 jnemeth Exp $
+$NetBSD: patch-aa,v 1.2 2008/05/13 15:15:51 obache Exp $
---- src/icqconf.cc.orig 2005-01-27 00:52:47.000000000 +0100
+--- src/icqconf.cc.orig 2008-04-08 17:51:09.000000000 +0000
+++ src/icqconf.cc
@@ -27,7 +27,11 @@
#include <dirent.h>
#include <fstream>
--#ifdef __sun__
+-#if defined(__sun__) || defined(__NetBSD__)
+#ifdef __NetBSD__
+/* Find out about __NetBSD_Version__ */
+# include <sys/param.h>
@@ -15,7 +15,7 @@ $NetBSD: patch-aa,v 1.1.1.1 2007/08/30 00:47:01 jnemeth Exp $
#include <sys/statvfs.h>
#endif
-@@ -644,13 +648,13 @@ void icqconf::loadsounds() {
+@@ -797,12 +801,12 @@ void icqconf::loadsounds() {
switch(rs) {
case rscard:
@@ -25,22 +25,20 @@ $NetBSD: patch-aa,v 1.1.1.1 2007/08/30 00:47:01 jnemeth Exp $
- fo << "*\tonline\tplay " << SHARE_DIR << "/online.wav" << endl;
- fo << "*\toffline\tplay " << SHARE_DIR << "/offline.wav" << endl;
- fo << "*\tsms\tplay " << SHARE_DIR << "/sms.wav" << endl;
-- break;
-+ fo << "*\tmsg\t" AUDIO_PLAYER " " << SHARE_DIR << "/msg.wav" << endl;
-+ fo << "*\turl\t" AUDIO_PLAYER " " << SHARE_DIR << "/url.wav" << endl;
-+ fo << "*\temail\t" AUDIO_PLAYER " " << SHARE_DIR << "/email.wav" << endl;
-+ fo << "*\tonline\t" AUDIO_PLAYER " " << SHARE_DIR << "/online.wav" << endl;
-+ fo << "*\toffline\t" AUDIO_PLAYER << SHARE_DIR << "/offline.wav" << endl;
-+ fo << "*\tsms\t" AUDIO_PLAYER " " << SHARE_DIR << "/sms.wav" << endl;
-+ break;
++ fo << "*\tmsg\t" AUDIO_PLAYER " " << SHARE_DIR << "/msg.wav" << endl;
++ fo << "*\turl\t" AUDIO_PLAYER " " << SHARE_DIR << "/url.wav" << endl;
++ fo << "*\temail\t" AUDIO_PLAYER " " << SHARE_DIR << "/email.wav" << endl;
++ fo << "*\tonline\t" AUDIO_PLAYER " " << SHARE_DIR << "/online.wav" << endl;
++ fo << "*\toffline\t" AUDIO_PLAYER " " << SHARE_DIR << "/offline.wav" << endl;
++ fo << "*\tsms\t" AUDIO_PLAYER " " << SHARE_DIR << "/sms.wav" << endl;
+ break;
case rsspeaker:
- fo << "*\tmsg\t!spk1" << endl;
-@@ -1433,7 +1437,7 @@ string icqconf::gethttpproxypasswd() con
+@@ -1735,7 +1739,7 @@ string icqconf::gethttpproxypasswd() con
void icqconf::checkdiskspace() {
fenoughdiskspace = true;
--#ifndef __sun__
+-#if !(defined(__sun__) || defined(__NetBSD__))
+#if !(defined(__sun) || (defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900)))
struct statfs st;
if(!statfs(conf.getdirname().c_str(), &st)) {
diff --git a/chat/centerim/patches/patch-ac b/chat/centerim/patches/patch-ac
index 94a53405329..18eec48a50a 100644
--- a/chat/centerim/patches/patch-ac
+++ b/chat/centerim/patches/patch-ac
@@ -1,12 +1,12 @@
-$NetBSD: patch-ac,v 1.1.1.1 2007/08/30 00:47:01 jnemeth Exp $
+$NetBSD: patch-ac,v 1.2 2008/05/13 15:15:51 obache Exp $
---- libmsn/msn/util.cpp.orig 2007-06-13 15:44:04.000000000 -0700
+--- libmsn/msn/util.cpp.orig 2008-04-08 17:51:09.000000000 +0000
+++ libmsn/msn/util.cpp
-@@ -24,6 +24,10 @@
- #include <errno.h>
+@@ -26,6 +26,10 @@
#include <cctype>
+ #include <cstring>
-+
++
+// Get rid of the macro for platforms not having c++-safe headers.
+#undef toupper
+
diff --git a/chat/centerim/patches/patch-an b/chat/centerim/patches/patch-an
index f936f2f96af..5e5c0c1216d 100644
--- a/chat/centerim/patches/patch-an
+++ b/chat/centerim/patches/patch-an
@@ -1,8 +1,8 @@
-$NetBSD: patch-an,v 1.1.1.1 2007/08/30 00:47:01 jnemeth Exp $
+$NetBSD: patch-an,v 1.2 2008/05/13 15:15:51 obache Exp $
---- kkstrtext/configure.orig 2007-06-13 15:44:42.000000000 -0700
+--- kkstrtext/configure.orig 2008-04-08 17:51:39.000000000 +0000
+++ kkstrtext/configure
-@@ -1134,11 +1134,11 @@ Try \`$0 --help' for more information."
+@@ -1140,11 +1140,11 @@ Try \`$0 --help' for more information."
export $ac_envvar ;;
*)
diff --git a/chat/centerim/patches/patch-au b/chat/centerim/patches/patch-au
deleted file mode 100644
index e80b62e6b4b..00000000000
--- a/chat/centerim/patches/patch-au
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-au,v 1.1.1.1 2007/08/30 00:47:02 jnemeth Exp $
-
-Part of a fix for CVE-2007-3713.
-
---- src/hooks/jabberhook.cc.orig 2007-07-19 02:34:54.000000000 +0200
-+++ src/hooks/jabberhook.cc
-@@ -36,6 +36,8 @@
- #define DEFAULT_CONFSERV "conference.jabber.org"
- #define PERIOD_KEEPALIVE 30
-
-+#define NOTIFBUF 512
-+
- static void jidsplit(const string &jid, string &user, string &host, string &rest) {
- int pos;
- user = jid;
-@@ -1289,8 +1286,9 @@ void jabberhook::gotversion(const imcont
- if(vinfo.size() > 128)
- vinfo.erase(128);
-
-- char buf[256];
-- sprintf(buf, _("The remote is using %s"), vinfo.c_str());
-+ char buf[NOTIFBUF];
-+ snprintf(buf, NOTIFBUF, _("The remote is using %s"), vinfo.c_str());
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(ic, buf));
- }
- }
diff --git a/chat/centerim/patches/patch-av b/chat/centerim/patches/patch-av
index 5f0c5a2caf6..8f56f66412f 100644
--- a/chat/centerim/patches/patch-av
+++ b/chat/centerim/patches/patch-av
@@ -1,41 +1,13 @@
-$NetBSD: patch-av,v 1.1.1.1 2007/08/30 00:47:02 jnemeth Exp $
+$NetBSD: patch-av,v 1.2 2008/05/13 15:15:51 obache Exp $
---- src/hooks/abstracthook.cc.orig 2007-07-19 02:24:38.000000000 +0200
+--- src/hooks/abstracthook.cc.orig 2008-04-08 17:51:09.000000000 +0000
+++ src/hooks/abstracthook.cc
-@@ -40,6 +40,8 @@
-
- #include <time.h>
-
-+#define NOTIFBUF 512
-+
- time_t timer_current = time(0);
-
- abstracthook::abstracthook(protocolname aproto)
-@@ -339,7 +341,7 @@ bool abstracthook::regattempt(unsigned i
-
- void abstracthook::log(logevent ev, ...) {
- va_list ap;
-- char buf[512];
-+ char buf[NOTIFBUF];
- static map<logevent, string> lst;
-
- if(lst.empty()) {
-@@ -354,7 +356,8 @@ void abstracthook::log(logevent ev, ...)
- }
-
- va_start(ap, ev);
-- vsprintf(buf, lst[ev].c_str(), ap);
-+ vsnprintf(buf, NOTIFBUF, lst[ev].c_str(), ap);
-+ buf[NOTIFBUF-1] = '\0';
- va_end(ap);
-
- face.log((string) "+ [" + conf.getprotocolname(proto) + "] " + buf);
-@@ -751,7 +754,7 @@ string abstracthook::getTimezoneIDtoStri
+@@ -758,7 +758,7 @@ string abstracthook::getTimezoneIDtoStri
if(id > 24 || id < -24) {
return "Unspecified";
} else {
- char buf[32];
+ static char buf[32];
- sprintf(buf, "GMT %s%d:%s", id > 0 ? "-" : "+", abs(id/2), id % 2 == 0 ? "00" : "30");
+ snprintf(buf, sizeof(buf), "GMT %s%d:%s", id > 0 ? "-" : "+", abs(id/2), id % 2 == 0 ? "00" : "30");
return buf;
}
diff --git a/chat/centerim/patches/patch-aw b/chat/centerim/patches/patch-aw
deleted file mode 100644
index 1df49f67c58..00000000000
--- a/chat/centerim/patches/patch-aw
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD: patch-aw,v 1.1.1.1 2007/08/30 00:47:02 jnemeth Exp $
-
---- src/hooks/aimhook.cc.orig 2007-07-19 02:24:38.000000000 +0200
-+++ src/hooks/aimhook.cc
-@@ -32,6 +32,8 @@
- #include "imlogger.h"
- #include "eventmanager.h"
-
-+#define NOTIFBUF 512
-+
- aimhook ahook;
-
- aimhook::aimhook()
-@@ -293,7 +295,8 @@ void aimhook::loadprofile() {
-
- if(access(fname.c_str(), R_OK)) {
- char sbuf[512];
-- sprintf(sbuf, _("I do really enjoy the default AIM profile of centerim %s."), VERSION);
-+ snprintf(sbuf, 512, _("I do really enjoy the default AIM profile of centerim %s."), VERSION);
-+ sbuf[511] = '\0';
- profile.info = sbuf;
- saveprofile();
- }
diff --git a/chat/centerim/patches/patch-ax b/chat/centerim/patches/patch-ax
deleted file mode 100644
index c249c3d8f65..00000000000
--- a/chat/centerim/patches/patch-ax
+++ /dev/null
@@ -1,194 +0,0 @@
-$NetBSD: patch-ax,v 1.1.1.1 2007/08/30 00:47:02 jnemeth Exp $
-
-Part of a fix for CVE-2007-3713.
-
---- src/hooks/irchook.cc.orig 2007-07-19 02:24:38.000000000 +0200
-+++ src/hooks/irchook.cc
-@@ -35,6 +35,8 @@
-
- #include <iterator>
-
-+#define NOTIFBUF 512
-+
- // ----------------------------------------------------------------------------
-
- irchook irhook;
-@@ -609,11 +611,12 @@ void irchook::rawcommand(const string &c
-
- void irchook::channelfatal(string room, const char *fmt, ...) {
- va_list ap;
-- char buf[1024];
-+ char buf[NOTIFBUF];
- vector<channelInfo>::iterator i;
-
- va_start(ap, fmt);
-- vsprintf(buf, fmt, ap);
-+ vsnprintf(buf, NOTIFBUF, fmt, ap);
-+ buf[NOTIFBUF-1] = '\0';
- va_end(ap);
-
- if(room.substr(0, 1) != "#")
-@@ -1196,7 +1199,7 @@ void irchook::errorhandler(void *connect
- void irchook::nickchanged(void *connection, void *cli, ...) {
- va_list ap;
- icqcontact *c;
-- char buf[100];
-+ char buf[NOTIFBUF];
-
- va_start(ap, cli);
- char *oldnick = va_arg(ap, char *);
-@@ -1218,7 +1221,8 @@ void irchook::nickchanged(void *connecti
-
- }
-
-- sprintf(buf, _("The user has changed their nick from %s to %s"), oldnick, newnick);
-+ snprintf(buf, NOTIFBUF, _("The user has changed their nick from %s to %s"), oldnick, newnick);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(c, buf));
- }
- }
-@@ -1254,18 +1258,20 @@ const char * const command, const char *
-
- void irchook::subreply(void *conn, void *cli, const char * const nick,
- const char * const command, const char * const args) {
-- char buf[512];
-+ char buf[NOTIFBUF];
-
- if(!strcmp(command, "PING")) {
- map<string, time_t>::iterator i = irhook.pingtime.find(up(nick));
-
- if(i != irhook.pingtime.end()) {
-- sprintf(buf, _("PING reply from the user: %d second(s)"), time(0)-i->second);
-+ snprintf(buf, NOTIFBUF, _("PING reply from the user: %d second(s)"), time(0)-i->second);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(nick, irc), buf));
- }
-
- } else if(!strcmp(command, "VERSION")) {
-- sprintf(buf, _("The remote is using %s"), args);
-+ snprintf(buf, NOTIFBUF, _("The remote is using %s"), args);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(nick, irc), buf));
-
- }
-@@ -1378,8 +1384,9 @@ void irchook::chatuserjoined(void *conn,
- if(strlen(email))
- uname += (string) " (" + email + ")";
-
-- char buf[512];
-- sprintf(buf, _("%s has joined."), uname.c_str());
-+ char buf[NOTIFBUF];
-+ snprintf(buf, NOTIFBUF, _("%s has joined."), uname.c_str());
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(room, irc), buf));
- }
- }
-@@ -1395,14 +1402,16 @@ void irchook::chatuserleft(void *conn, v
-
- if(conf.getourid(irc).nickname != who) {
- string text;
-- char buf[512];
-+ char buf[NOTIFBUF];
-
-- sprintf(buf, _("%s has left"), who); text = buf;
-+ snprintf(buf, NOTIFBUF, _("%s has left"), who); text = buf;
-+ buf[NOTIFBUF-1] = '\0';
-
- if(reason)
- if(strlen(reason)) {
- if(strlen(reason) > 450) reason[450] = 0;
-- sprintf(buf, _("reason: %s"), reason);
-+ snprintf(buf, NOTIFBUF, _("reason: %s"), reason);
-+ buf[NOTIFBUF-1] = '\0';
- text += (string) "; " + buf + ".";
- }
-
-@@ -1422,13 +1431,15 @@ void irchook::chatuserkicked(void *conn,
-
- if(conf.getourid(irc).nickname != who) {
- string text;
-- char buf[512];
-+ char buf[NOTIFBUF];
-
-- sprintf(buf, _("%s has been kicked by %s"), who, by); text = buf;
-+ snprintf(buf, NOTIFBUF, _("%s has been kicked by %s"), who, by); text = buf;
-+ buf[NOTIFBUF-1] = '\0';
-
- if(reason)
- if(strlen(reason)) {
-- sprintf(buf, _("reason: %s"), reason);
-+ snprintf(buf, NOTIFBUF, _("reason: %s"), reason);
-+ buf[NOTIFBUF-1] = '\0';
- text += (string) "; " + buf + ".";
- }
-
-@@ -1451,13 +1462,15 @@ void irchook::chatgottopic(void *conn, v
- return;
-
- string text;
-- char buf[1024];
-- sprintf(buf, _("Channel topic now is: %s"), topic);
-+ char buf[NOTIFBUF];
-+ snprintf(buf, NOTIFBUF, _("Channel topic now is: %s"), topic);
-+ buf[NOTIFBUF-1] = '\0';
- text = buf;
-
- if(author)
- if(strlen(author)) {
-- sprintf(buf, _("set by %s"), author);
-+ snprintf(buf, NOTIFBUF, _("set by %s"), author);
-+ buf[NOTIFBUF-1] = '\0';
- text += (string) "; " + buf + ".";
- }
-
-@@ -1474,8 +1487,9 @@ void irchook::chatuseropped(void *conn,
- va_end(ap);
-
- if(by) {
-- char buf[512];
-- sprintf(buf, _("%s has been opped by %s."), who, by);
-+ char buf[NOTIFBUF];
-+ snprintf(buf, NOTIFBUF, _("%s has been opped by %s."), who, by);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(room, irc), buf));
- }
- }
-@@ -1490,8 +1504,9 @@ void irchook::chatuserdeopped(void *conn
- va_end(ap);
-
- if(by) {
-- char buf[512];
-- sprintf(buf, _("%s has been deopped by %s."), who, by);
-+ char buf[NOTIFBUF];
-+ snprintf(buf, NOTIFBUF, _("%s has been deopped by %s."), who, by);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(room, irc), buf));
- }
- }
-@@ -1504,10 +1519,10 @@ void irchook::chatopped(void *conn, void
- char *by = va_arg(ap, char *);
- va_end(ap);
-
-- char buf[512];
-- if(by) sprintf(buf, _("%s has opped us."), by);
-- else strcpy(buf, _("you are an op here"));
--
-+ char buf[NOTIFBUF];
-+ if(by) snprintf(buf, NOTIFBUF, _("%s has opped us."), by);
-+ else strncpy(buf, _("you are an op here"), NOTIFBUF);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(room, irc), buf));
- }
-
-@@ -1519,8 +1534,9 @@ void irchook::chatdeopped(void *conn, vo
- char *by = va_arg(ap, char *);
- va_end(ap);
-
-- char buf[512];
-- sprintf(buf, _("%s has deopped us."), by);
-+ char buf[NOTIFBUF];
-+ snprintf(buf, NOTIFBUF, _("%s has deopped us."), by);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(imcontact(room, irc), buf));
- }
-
diff --git a/chat/centerim/patches/patch-ay b/chat/centerim/patches/patch-ay
deleted file mode 100644
index 67407e8c8d1..00000000000
--- a/chat/centerim/patches/patch-ay
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD: patch-ay,v 1.1.1.1 2007/08/30 00:47:02 jnemeth Exp $
-
-Part of a fix for CVE-2007-3713.
-
---- src/hooks/ljhook.cc.orig 2005-01-07 02:27:04.000000000 +0100
-+++ src/hooks/ljhook.cc
-@@ -37,6 +37,8 @@ ljhook lhook;
-
- #define PERIOD_FRIENDS 3600
-
-+#define NOTIFBUF 512
-+
- ljhook::ljhook(): abstracthook(livejournal), fonline(false), sdest(0) {
- fcapabs.insert(hookcapab::nochat);
- }
-@@ -654,7 +656,7 @@ void ljhook::messageack_cb(MessageEvent
- map<string, string> nfriendof;
- map<string, string>::const_iterator in;
- vector<string>::iterator il;
-- char buf[512];
-+ char buf[NOTIFBUF];
-
- for(i = 1; i <= count; i++) {
- username = params[(string) "friendof_" + i2str(i) + "_user"];
-@@ -669,8 +671,9 @@ void ljhook::messageack_cb(MessageEvent
- if(!foempty) {
- bd = (string) "http://" + conf.getourid(proto).server + "/users/" + in->first;
-
-- snprintf(buf, sizeof(buf), _("The user %s (%s) has added you to his/her friend list\n\nJournal address: %s"),
-+ snprintf(buf, NOTIFBUF, _("The user %s (%s) has added you to his/her friend list\n\nJournal address: %s"),
- in->first.c_str(), in->second.c_str(), bd.c_str());
-+ buf[NOTIFBUF-1] = '\0';
-
- em.store(imnotification(self, buf));
- }
-@@ -679,8 +682,9 @@ void ljhook::messageack_cb(MessageEvent
- for(il = friendof.begin(); il != friendof.end(); ) {
- if(nfriendof.find(*il) == nfriendof.end()) {
- bd = (string) "http://" + conf.getourid(proto).server + "/users/" + *il;
-- snprintf(buf, sizeof(buf), _("The user %s has removed you from his/her friend list\n\nJournal address: %s"),
-+ snprintf(buf, NOTIFBUF, _("The user %s has removed you from his/her friend list\n\nJournal address: %s"),
- il->c_str(), bd.c_str());
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(self, buf));
- friendof.erase(il);
- il = friendof.begin();
diff --git a/chat/centerim/patches/patch-az b/chat/centerim/patches/patch-az
deleted file mode 100644
index 46dec6d156d..00000000000
--- a/chat/centerim/patches/patch-az
+++ /dev/null
@@ -1,108 +0,0 @@
-$NetBSD: patch-az,v 1.1.1.1 2007/08/30 00:47:02 jnemeth Exp $
-
-Part of a fix for CVE-2007-3713.
-
---- src/hooks/yahoohook.cc.orig 2007-07-19 02:24:38.000000000 +0200
-+++ src/hooks/yahoohook.cc
-@@ -47,6 +47,8 @@
- #define PERIOD_REFRESH 60
- #define PERIOD_CLOSE 6
-
-+#define NOTIFBUF 512
-+
- int yahoohook::yfd::connection_tags = 0;
-
- char pager_host[255], pager_port[255], filetransfer_host[255],
-@@ -844,7 +846,7 @@ void yahoohook::got_conf_invite(int id,
- icqconf::imaccount acc = conf.getourid(yahoo);
- string confname = (string) "#" + room, inviter, text;
- vector<string>::iterator ic;
-- char buf[1024];
-+ char buf[NOTIFBUF];
- int i;
-
- imcontact cont(confname, yahoo);
-@@ -856,10 +858,11 @@ void yahoohook::got_conf_invite(int id,
- inviter.erase(i);
- }
-
-- sprintf(buf, _("The user %s has invited you to the %s conference, the topic there is: %s"),
-+ snprintf(buf, NOTIFBUF, _("The user %s has invited you to the %s conference, the topic there is: %s"),
- yhook.rusconv("wk", inviter).c_str(),
- yhook.rusconv("wk", room).c_str(),
- yhook.rusconv("wk", msg).c_str());
-+ buf[NOTIFBUF-1] = '\0';
-
- text = (string) buf + "\n\n" + _("Current conference members are: ");
- yhook.confmembers[room].push_back(inviter);
-@@ -888,20 +891,22 @@ void yahoohook::got_conf_invite(int id,
-
- void yahoohook::conf_userdecline(int id, char *who, char *room, char *msg) {
- icqcontact *c = clist.get(imcontact((string) "#" + room, yahoo));
-- char buf[512];
-+ char buf[NOTIFBUF];
-
- if(c) {
-- sprintf(buf, _("The user %s has declined your invitation to join the conference"), who);
-+ snprintf(buf, NOTIFBUF, _("The user %s has declined your invitation to join the conference"), who);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(c, buf));
- }
- }
-
- void yahoohook::conf_userjoin(int id, char *who, char *room) {
- icqcontact *c = clist.get(imcontact((string) "#" + room, yahoo));
-- char buf[512];
-+ char buf[NOTIFBUF];
-
- if(c) {
-- sprintf(buf, _("The user %s has joined the conference"), who);
-+ snprintf(buf, NOTIFBUF, _("The user %s has joined the conference"), who);
-+ buf[NOTIFBUF-1] = '\0';
-
- if(find(yhook.confmembers[room].begin(), yhook.confmembers[room].end(), who) == yhook.confmembers[room].end())
- yhook.confmembers[room].push_back(who);
-@@ -912,11 +917,12 @@ void yahoohook::conf_userjoin(int id, ch
-
- void yahoohook::conf_userleave(int id, char *who, char *room) {
- icqcontact *c = clist.get(imcontact((string) "#" + room, yahoo));
-- char buf[512];
-+ char buf[NOTIFBUF];
- vector<string>::iterator im;
-
- if(c) {
-- sprintf(buf, _("The user %s has left the conference"), who);
-+ snprintf(buf, NOTIFBUF, _("The user %s has left the conference"), who);
-+ buf[NOTIFBUF-1] = '\0';
- em.store(imnotification(c, buf));
-
- im = find(yhook.confmembers[room].begin(), yhook.confmembers[room].end(), who);
-@@ -981,10 +987,11 @@ void yahoohook::game_notify(int id, char
- }
-
- void yahoohook::mail_notify(int id, char *from, char *subj, int cnt) {
-- char buf[1024];
-+ char buf[NOTIFBUF];
-
- if(from && subj) {
-- sprintf(buf, _("+ [yahoo] e-mail from %s, %s"), from, subj);
-+ snprintf(buf, NOTIFBUF, _("+ [yahoo] e-mail from %s, %s"), from, subj);
-+ buf[NOTIFBUF-1] = '\0';
- face.log(buf);
- clist.get(contactroot)->playsound(imevent::email);
- }
-@@ -1138,11 +1145,12 @@ void yahoohook::webcam_data_request(int
-
- int yahoohook::ylog(char *fmt, ...) {
- if(conf.getdebug()) {
-- char buf[512];
-+ char buf[NOTIFBUF];
- va_list ap;
-
- va_start(ap, fmt);
-- vsprintf(buf, fmt, ap);
-+ vsnprintf(buf, NOTIFBUF, fmt, ap);
-+ buf[NOTIFBUF-1] = '\0';
- va_end(ap);
-
- face.log(buf);
diff --git a/chat/centerim/patches/patch-ba b/chat/centerim/patches/patch-ba
deleted file mode 100644
index a6b19e52aab..00000000000
--- a/chat/centerim/patches/patch-ba
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ba,v 1.1 2007/12/22 23:29:03 jdolecek Exp $
-
---- libicq2000/src/Client.cpp.orig 2007-06-14 00:44:04.000000000 +0200
-+++ libicq2000/src/Client.cpp
-@@ -1524,7 +1524,7 @@ namespace ICQ2000
- SignalLog(LogEvent::INFO, "Received server-based list from server\n");
- SBLListSNAC *sbs = static_cast<SBLListSNAC*>(snac);
- mergeSBL( sbs->getContactTree() );
--// SendSBLReceivedACK();
-+ SendSBLReceivedACK();
- break;
- }
-
diff --git a/chat/centerim/patches/patch-bb b/chat/centerim/patches/patch-bb
new file mode 100644
index 00000000000..7ebcea48c7f
--- /dev/null
+++ b/chat/centerim/patches/patch-bb
@@ -0,0 +1,13 @@
+$NetBSD: patch-bb,v 1.1 2008/05/13 15:15:51 obache Exp $
+
+--- src/Makefile.in.orig 2008-04-08 17:51:30.000000000 +0000
++++ src/Makefile.in
+@@ -348,7 +348,7 @@ AUTOMAKE_OPTIONS = foreign
+
+ # regenerate git-version.h if its content differs from the output of
+ # git-version-gen
+-g_get_cur := sed -ne "s/^\#[ \x09]*define[ \x09]\+GIT_VERSION[ \x09]\+\"\([0-9]\+.*\)\"/\1/p" \
++g_get_cur := sed -ne "s/^\#[ ]*define[ ][ ]*GIT_VERSION[ ][ ]*\"\([0-9].*\)\"/\1/p" \
+ 2>/dev/null < git-version.h | tr -d '\012'
+
+ g_subst_f := sed -e "s/@GIT_VERSION@/$$VER_GIT/" < git-version.h.in > git-version.h