summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorobache <obache>2010-07-25 13:18:52 +0000
committerobache <obache>2010-07-25 13:18:52 +0000
commita08a0bab8c28c776f44c7a244f2b62a213f96318 (patch)
tree11fcec3ead0393f94819057a5582e2170c7bd27d
parent7761e7bcdf78c74321fc745cb0a3c319a93376b7 (diff)
downloadpkgsrc-a08a0bab8c28c776f44c7a244f2b62a213f96318.tar.gz
Update unrealircd to 3.2.8.1.
Unreal3.2.8.1 - Fixes a security issue, which is exploitable (crash) when allow::options::noident is in use. Unreal3.2.8 ==[ NEW ]== - set::level-on-join: this defines which privileges a user receives when creating a channel, default is 'chanop', the only other available setting is 'none' (opless). - Away notification through WATCH: This allows clients to receive a notification when someone goes away or comes back, along with a reason, a bit like IM's. There's probably no current client supporting this but it would be a nice feature in notify lists. Client developers: see Changes file for full protocol details. This feature can be disabled by setting set::watch-away-notification to 'no'. - Spamfilter: Slow spamfilter detection: For each spamfilter, Unreal will check, each time it executes, how long it takes to execute. When a certain threshold is reached the IRCd will warn or even remove the spamfilter. This could prevent a spamfilter from completely stalling the IRCd. Warning is configured through set::spamfilter::slowdetect-warn (default: 250ms) and automatic deletion is configured by set::spamfilter::slowdetect-fatal (default: 500ms). You can set both settings to 0 (zero) to disable slow spamfilter detection. This feature is currently not available on Windows. - SSL: set::ssl::server-cipher-list can be used to limit the allowed ciphers - SSL: To specify when an SSL session key should be renegotiated you can use set::ssl::renegotiate-bytes <bytes> and set::ssl::renegotiate-timeout <seconds>. - UHNAMES support: This sends the full nick!ident@host in NAMES which can be used by clients for their IAL. mIRC, Klient, etc support this. - There have also been some behavior changes, which can be considered NEW, see next section (CHANGED). ==[ CHANGED ]== - IPv6: On IPv6 servers you no longer have to use ::ffff:1.2.3.4 IP's for IPv4 in the config file, you can use the simple 1.2.3.4 form, as they are converted automatically. - When someone is banned and /PARTs, the part reason (comment) is no longer shown - ChanMode +S/+c: now strips/blocks 'reverse' as well - Smart banning is now disabled by default because it was too annoying, this means that f.e. if there's a ban on *!*@*.com then you can still add a ban on *!*@*.aol.com - except ban { } now also protects against ZLINEs and ban ip { } - Modules: user modes and channel modes without parameters (eg: +X) no longer have to be PERManent, this means they can be upgraded/reloaded/unloaded on-the-fly. ==[ MAJOR BUGS FIXED ]== - Zip links issue (Overflowed unzipbuf) - Crash issue with 3rd party modules that introduce new channel modes w/parameters - Mac OS X: Various issues which prevented the IRCd from booting up - Remote includes (constant) crash with new curl/c-ares versions - A few rare crash issues, including a crash when linking to another server - In case of clock adjustments, the IRCd will no longer freeze when the time is adjusted backwards, nor will it incorrectly throttle clients when adjusted forward. However, because clock adjustments (time shifts) of more than xx seconds are so dangerous (and will still cause a number of issues), big warnings are now printed when they happen. Morale: synchronize your system clock, or use the built-in timesync feature. ==[ MINOR BUGS FIXED ]== - CGI:IRC: Several IPv6 issues, both on IPv6 IRCd's and CGI:IRC gateways - IP masks in oper::from::userhost sometimes didn't match when they should - (G)ZLINE's on IPv6 users were sometimes rejected - CHROOTDIR works again - OperOverride fixes - Throttling is now more accurate - And more... see Changelog
-rw-r--r--chat/unrealircd/Makefile22
-rw-r--r--chat/unrealircd/PLIST4
-rw-r--r--chat/unrealircd/distinfo11
-rw-r--r--chat/unrealircd/patches/patch-aa75
-rw-r--r--chat/unrealircd/patches/patch-ag48
5 files changed, 62 insertions, 98 deletions
diff --git a/chat/unrealircd/Makefile b/chat/unrealircd/Makefile
index ff992eed5e6..771e797434a 100644
--- a/chat/unrealircd/Makefile
+++ b/chat/unrealircd/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.29 2010/01/09 16:34:08 joerg Exp $
+# $NetBSD: Makefile,v 1.30 2010/07/25 13:18:52 obache Exp $
-DISTNAME= Unreal3.2.7
-PKGNAME= unrealircd-3.2.7
-PKGREVISION= 3
+DISTNAME= Unreal3.2.8.1
+PKGNAME= unrealircd-3.2.8.1
CATEGORIES= chat
-MASTER_SITES= http://unreal.brueggisite.de/
+MASTER_SITES= http://unrealircd.com/downloads/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.unrealircd.com/
@@ -17,21 +16,22 @@ PKG_DESTDIR_SUPPORT= user-destdir
GNU_CONFIGURE= YES
USE_TOOLS+= pkg-config gmake
TRE_NEEDED= 0.7.5
-CARES_NEEDED= 1.4.0
+CARES_NEEDED= 1.6.0
CHECK_PORTABILITY_SKIP= update
+WRKSRC= ${WRKDIR}/Unreal3.2
+
BUILDLINK_API_DEPENDS.tre+= tre>=${TRE_NEEDED}
BUILDLINK_API_DEPENDS.libcares+= libcares-${CARES_NEEDED}
.include "../../mk/bsd.prefs.mk"
CONFIGURE_ENV+= tre_version=${TRE_NEEDED:Q}
-CONFIGURE_ENV+= TRELIBS='-L${PREFIX:Q}/lib -ltre' TREINCDIR=-I${PREFIX}/include
+CONFIGURE_ENV+= TREINCDIR=-I${BUILDLINK_PREFIX.tre}/include
CONFIGURE_ENV+= cares_version=${CARES_NEEDED:Q}
-CONFIGURE_ENV+= CARESINCDIR='${PREFIX:Q}/include'
-CONFIGURE_ENV+= CARESLIBDIR='-L${PREFIX:Q}/lib'
-CONFIGURE_ENV+= CARESLIBS='-lcares'
+CONFIGURE_ENV+= CARESINCDIR='${BUILDLINK_PREFIX.libcares}/include'
+CONFIGURE_ENV+= CARESLIBDIR='-L${BUILDLINK_PREFIX.libcares}/lib'
CONFIGURE_ARGS+= --with-dpath=${UIRCD_HOME:Q}
CONFIGURE_ARGS+= --with-spath=${PREFIX:Q}/sbin/ircd
@@ -142,7 +142,7 @@ do-install:
${INSTALL_DATA} ${WRKSRC:Q}/help.* ${DESTDIR}${IRCD_SHARE:Q}
${INSTALL_DATA} ${WRKSRC:Q}/doc/help.* ${DESTDIR}${IRCD_SHARE:Q}
${INSTALL_DATA} ${WRKSRC:Q}/spamfilter.conf ${DESTDIR}${IRCD_SHARE:Q}
- ${INSTALL_DATA} ${WRKSRC:Q}/src/modules/*.so \
+ ${INSTALL_LIB} ${WRKSRC:Q}/src/modules/*.so \
${DESTDIR}${IRCD_SHARE:Q}/modules
${INSTALL_DATA} ${WRKSRC:Q}/doc/unreal32docs.* ${DESTDIR}${IRCD_DOCS:Q}
${INSTALL_DATA} ${WRKSRC:Q}/doc/example.* ${DESTDIR}${IRCD_EG:Q}
diff --git a/chat/unrealircd/PLIST b/chat/unrealircd/PLIST
index c2f3d9d6b7c..6fe32998bc6 100644
--- a/chat/unrealircd/PLIST
+++ b/chat/unrealircd/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.7 2009/06/14 17:37:51 joerg Exp $
+@comment $NetBSD: PLIST,v 1.8 2010/07/25 13:18:52 obache Exp $
sbin/ircd
share/doc/unrealircd/Authors
share/doc/unrealircd/LICENSE
@@ -41,6 +41,7 @@ share/unrealircd/help.tr.conf
share/unrealircd/modules/cloak.so
share/unrealircd/modules/commands.so
share/unrealircd/modules/m_addline.so
+share/unrealircd/modules/m_addmotd.so
share/unrealircd/modules/m_addomotd.so
share/unrealircd/modules/m_admin.so
share/unrealircd/modules/m_adminchat.so
@@ -109,6 +110,7 @@ share/unrealircd/modules/m_stats.so
share/unrealircd/modules/m_svsfline.so
share/unrealircd/modules/m_svsjoin.so
share/unrealircd/modules/m_svskill.so
+share/unrealircd/modules/m_svslusers.so
share/unrealircd/modules/m_svsmode.so
share/unrealircd/modules/m_svsmotd.so
share/unrealircd/modules/m_svsnick.so
diff --git a/chat/unrealircd/distinfo b/chat/unrealircd/distinfo
index 6fbb8e50817..4872e1a611a 100644
--- a/chat/unrealircd/distinfo
+++ b/chat/unrealircd/distinfo
@@ -1,12 +1,11 @@
-$NetBSD: distinfo,v 1.11 2009/04/13 16:20:52 adrianp Exp $
+$NetBSD: distinfo,v 1.12 2010/07/25 13:18:52 obache Exp $
-SHA1 (Unreal3.2.7.tar.gz) = a6c83c186008c429bc5a476fc0b9e3b174092efb
-RMD160 (Unreal3.2.7.tar.gz) = 49e00dbe4fdda672b20be16ceb116971f514d62b
-Size (Unreal3.2.7.tar.gz) = 2801622 bytes
-SHA1 (patch-aa) = cbd03fbb137fde2334ac79a5be612b3b1980b781
+SHA1 (Unreal3.2.8.1.tar.gz) = 363c3c995bb38cf601f409610ce1937a0002c419
+RMD160 (Unreal3.2.8.1.tar.gz) = c8e76239e33ba170743f2ddae6bc24782064f105
+Size (Unreal3.2.8.1.tar.gz) = 2866456 bytes
+SHA1 (patch-aa) = f175b1a235e3c802943fd38015dda44c8872cfff
SHA1 (patch-ab) = b66ae1990e25479abe9087a9308a2185692fcba2
SHA1 (patch-ac) = 4c3e7219d03e93c2a3e8f735c350d919efdf8fbb
SHA1 (patch-ad) = 3bef7c197efb59def9e77114ad9356ef2f23fa26
SHA1 (patch-ae) = dc5f4d080d1027e229f9817d1d4f1e501124f7ba
SHA1 (patch-af) = 28d622375362bc77ec44ea6a3b1f3a0d05c60ce5
-SHA1 (patch-ag) = 95857258f893d086ea3feb2d4e0f0a6816b0be91
diff --git a/chat/unrealircd/patches/patch-aa b/chat/unrealircd/patches/patch-aa
index 418a28a61b6..39b99779a69 100644
--- a/chat/unrealircd/patches/patch-aa
+++ b/chat/unrealircd/patches/patch-aa
@@ -1,14 +1,14 @@
-$NetBSD: patch-aa,v 1.6 2007/07/14 22:19:49 adrianp Exp $
+$NetBSD: patch-aa,v 1.7 2010/07/25 13:18:52 obache Exp $
---- configure.orig 2007-07-14 23:09:51.000000000 +0100
+--- configure.orig 2009-03-01 18:37:55.000000000 +0000
+++ configure
-@@ -12666,75 +12666,7 @@ IRCDLIBS="$IRCDLIBS -lresolv "
+@@ -12957,70 +12957,12 @@ IRCDLIBS="$IRCDLIBS -lresolv "
;;
esac
-tre_version="0.7.5"
--echo "$as_me:$LINENO: result: extracting TRE regex library" >&5
--echo "${ECHO_T}extracting TRE regex library" >&6
+-{ echo "$as_me:$LINENO: result: extracting TRE regex library" >&5
+-echo "${ECHO_T}extracting TRE regex library" >&6; }
-cur_dir=`pwd`
-cd extras
-rm -rf tre-$tre_version
@@ -20,30 +20,31 @@ $NetBSD: patch-aa,v 1.6 2007/07/14 22:19:49 adrianp Exp $
- cp tre.tar.gz.bak tre.tar.gz
- tar xf tre.tar
-fi
--echo "$as_me:$LINENO: result: configuring TRE regex library" >&5
--echo "${ECHO_T}configuring TRE regex library" >&6
+-{ echo "$as_me:$LINENO: result: configuring TRE regex library" >&5
+-echo "${ECHO_T}configuring TRE regex library" >&6; }
-cd tre-$tre_version
-./configure --disable-agrep --disable-shared --disable-system-abi --disable-wchar --disable-multibyte --prefix=$cur_dir/extras/regexp || exit 1
--echo "$as_me:$LINENO: result: compiling TRE regex library" >&5
--echo "${ECHO_T}compiling TRE regex library" >&6
+-{ echo "$as_me:$LINENO: result: compiling TRE regex library" >&5
+-echo "${ECHO_T}compiling TRE regex library" >&6; }
-$ac_cv_prog_MAKER || exit 1
--echo "$as_me:$LINENO: result: installing TRE regex library" >&5
--echo "${ECHO_T}installing TRE regex library" >&6
+-{ echo "$as_me:$LINENO: result: installing TRE regex library" >&5
+-echo "${ECHO_T}installing TRE regex library" >&6; }
-$ac_cv_prog_MAKER install || exit 1
-TREINCDIR="$cur_dir/extras/regexp/include"
-
--if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
-- TRELIBS="-L../extras/regexp/lib -ltre"
--else
+ if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
+ TRELIBS="-L../extras/regexp/lib -ltre"
+ else
- TRELIBS=`$ac_cv_path_PKGCONFIG --libs tre.pc`
--fi
--
++ TRELIBS=`$ac_cv_path_PKGCONFIG --libs tre`
+ fi
+
-cd $cur_dir
-
-
--cares_version="1.4.0"
--echo "$as_me:$LINENO: result: extracting c-ares resolver library" >&5
--echo "${ECHO_T}extracting c-ares resolver library" >&6
+-cares_version="1.6.0"
+-{ echo "$as_me:$LINENO: result: extracting c-ares resolver library" >&5
+-echo "${ECHO_T}extracting c-ares resolver library" >&6; }
-cur_dir=`pwd`
-cd extras
-rm -rf c-ares-$cares_version
@@ -55,27 +56,37 @@ $NetBSD: patch-aa,v 1.6 2007/07/14 22:19:49 adrianp Exp $
- cp c-ares.tar.gz.bak c-ares.tar.gz
- tar xf c-ares.tar
-fi
--echo "$as_me:$LINENO: result: configuring c-ares library" >&5
--echo "${ECHO_T}configuring c-ares library" >&6
+-{ echo "$as_me:$LINENO: result: configuring c-ares library" >&5
+-echo "${ECHO_T}configuring c-ares library" >&6; }
-cd c-ares-$cares_version
-./configure --prefix=$cur_dir/extras/c-ares || exit 1
--echo "$as_me:$LINENO: result: compiling c-ares resolver library" >&5
--echo "${ECHO_T}compiling c-ares resolver library" >&6
+-{ echo "$as_me:$LINENO: result: compiling c-ares resolver library" >&5
+-echo "${ECHO_T}compiling c-ares resolver library" >&6; }
-$ac_cv_prog_MAKER || exit 1
--echo "$as_me:$LINENO: result: installing c-ares resolver library" >&5
--echo "${ECHO_T}installing c-ares resolver library" >&6
+-{ echo "$as_me:$LINENO: result: installing c-ares resolver library" >&5
+-echo "${ECHO_T}installing c-ares resolver library" >&6; }
-$ac_cv_prog_MAKER install || exit 1
-CARESINCDIR="$cur_dir/extras/c-ares/include"
-
-CARESLIBDIR="-L../extras/c-ares/lib"
-
--CARESLIBS="-lcares"
-
+ CARESLIBSALT="-lcares"
+ case `uname -s` in
+ *FreeBSD*)
+@@ -13034,14 +12976,12 @@ esac
+ if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
+ CARESLIBS="$CARESLIBSALT"
+ else
+- CARESLIBS="`$ac_cv_path_PKGCONFIG --static --libs libcares.pc`"
++ CARESLIBS="`$ac_cv_path_PKGCONFIG --libs libcares`"
+ if test "x$CARESLIBS" = "x" ; then
+ CARESLIBS="$CARESLIBSALT"
+ fi
+ fi
+
-cd $cur_dir
-
--
-- ac_config_files="$ac_config_files Makefile src/modules/Makefile unreal ircdcron/ircdchk"
-+ac_config_files="$ac_config_files Makefile src/modules/Makefile unreal ircdcron/ircdchk"
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
+
+ ac_config_files="$ac_config_files Makefile src/modules/Makefile unreal ircdcron/ircdchk"
+
diff --git a/chat/unrealircd/patches/patch-ag b/chat/unrealircd/patches/patch-ag
deleted file mode 100644
index 10d8261571b..00000000000
--- a/chat/unrealircd/patches/patch-ag
+++ /dev/null
@@ -1,48 +0,0 @@
-$NetBSD: patch-ag,v 1.1 2009/04/13 16:20:52 adrianp Exp $
-
---- src/s_conf.c.orig 2007-06-27 12:36:31.000000000 +0100
-+++ src/s_conf.c
-@@ -2663,25 +2663,15 @@ int AllowClient(aClient *cptr, struct ho
- Debug((DEBUG_DNS, "a_il: %s->%s", sockhost, fullname));
- if (index(aconf->hostname, '@'))
- {
-- /*
-- * Doing strlcpy / strlcat here
-- * would simply be a waste. We are
-- * ALREADY sure that it is proper
-- * lengths
-- */
- if (aconf->flags.noident)
-- strcpy(uhost, username);
-+ strlcpy(uhost, username, sizeof(uhost));
- else
-- strcpy(uhost, cptr->username);
-- strcat(uhost, "@");
-+ strlcpy(uhost, cptr->username, sizeof(uhost));
-+ strlcat(uhost, "@", sizeof(uhost));
- }
- else
- *uhost = '\0';
-- /*
-- * Same here as above
-- * -Stskeeps
-- */
-- strncat(uhost, fullname, sizeof(uhost) - strlen(uhost));
-+ strlcat(uhost, fullname, sizeof(uhost));
- if (!match(aconf->hostname, uhost))
- goto attach;
- }
-@@ -2692,11 +2682,11 @@ int AllowClient(aClient *cptr, struct ho
- strncpyzt(uhost, username, sizeof(uhost));
- else
- strncpyzt(uhost, cptr->username, sizeof(uhost));
-- (void)strcat(uhost, "@");
-+ (void)strlcat(uhost, "@", sizeof(uhost));
- }
- else
- *uhost = '\0';
-- (void)strncat(uhost, sockhost, sizeof(uhost) - strlen(uhost));
-+ strlcat(uhost, sockhost, sizeof(uhost));
- /* Check the IP */
- if (match_ip(cptr->ip, uhost, aconf->ip, aconf->netmask))
- goto attach;