pkgsrc/chat/silc-client/Makefile
tonnerre 37fbcb8563 Upgrade silc-client to version 1.1.4. This fixes two security issues and
various character set problems. The security issues fixed:
 * NICK_CHANGE buffer overflow: CVE-2007-3728.
 * pkcs_decode buffer overflow: CORE-2007-1212.

Changes since version 1.0.4.1:
 - Fixed NEW_CLIENT packet handling crash.
 - Fixed partial encryption in CTR mode in AES.
 - Fixed printable fingerprint buffer overflow.
 - Fixed UNIX signal delivery il SILC scheduler.
 - Reprocess JOIN command synchronously after resolving channel user list.
 - In JOIN command reply check if the channel key is already saved.
 - Remove all channel keys and hmacs after giving LEAVE command.
 - Added missing channel unreferencing in CMODE, CUMODE, TOPIC, INVITE,
   BAN and KICK command replies.
 - Fixed connection authentication with public keys to use correct public
   key as responder.
 - Zero tail of CTR mode IV in IV Included mode.
 - Fixed CTR mode rekey.
 - Rewrote the IV Included CTR mode encryption/decryption in packet engine.
 - Fixed non-IPv6 compilation error.
 - Fixed channel private key deleting when deleting the channel.
 - Fixed TIMEOUT handling in user info resolving during JOINing, fixes crash.
 - Fixed mandatory UN and HN SILC public key identifier checking.
 - Fixed alignment issues with 64-bit CPUs.
 - Added "There are now xx nick's" to "are xx nicks".
 - Fixed USERS command user mode handling (integer overflow).
 - Fixed big-endian issues from aes implementation.
 - Fixed lib/silcutil/silcatomic.h compilation on IA64.
 - Fixed public key identifier parsing to check lengths correctly.
 - In silc_client_free check that scheduler is allocated before trying to
   free it.
 - Fixed buffer overflow in NICK_CHANGE notify. The destination buffer for
   old nicknames was too small.
 - Added support for rekey with PFS when using CTR mode encryption.
 - Added silc_idcache_move that can be used to move entries between caches.
 - Added better checks for invalid argument and notify payloads.
 - Fixed SILC_PACKET_FLAG_LONG_PAD bitmask value.
 - Set the destination ID to packet stream as SKE responder if ID was
   present in key exchange packet.
 - Compile sources with _GNU_SOURCE on Linux systems.
 - Fixed Unix signal task dispatching to not lock the signals when
   dispatching the callback to avoid deadlocks.
 - Added SILC_VERSION macro for checking package versions at compile time.
 - Use SILC_VERIFY to assert that silc_rwlock_wrlock can be called only
   once per thread on Unix.
 - Fixed USERS command reply write-lock unlocking.
 - Fixed silc_create_key_pair to check for valid identifier.
 - Rewrite signed public message handling, adopting the new hilight interface.
 - Fix off by one error when loading modules.
 - Don't delete hilight entry (because it's just a pointer, not a copy).
 - Added __SILC_TOOLKIT_x_x_x macro to all Toolkit distribution which can
   be used to check for Toolkit version in third-party software.
 - Added support for channel@server channel name strings to client library
   (SILC protocol version 1.3 change).
 - Added full_nicknames and full_channel_names settings to SilcClientParams
   that can be used to specify whether client library returns full nickname
   and channel name strings. Full strings are nick@server and channel@server.
 - Fixed unix connecting failure to return error code correctly.
 - Fixed SKE timeout double free crash.
 - Fixed MIME multipart decoding buffer overflow.
 - Fixed connection auth protocol timeout crash.
 - Fixed FSM machine finishing to check for existing threads at the final
   free callback to allow time for the threads to finish.
 - Fixed silc_client_get_clients_local to check the nick's server also if
   nick@server nickname string is given to the function.
 - And many more, oh well. For the user this means: better charset support,
   less crashes, nick names now potentially user#23, server specific
   channels and more sanity.

Talked over a while ago with wiz with no objections.
2008-07-13 12:04:11 +00:00

83 lines
2.6 KiB
Makefile

# $NetBSD: Makefile,v 1.49 2008/07/13 12:04:11 tonnerre Exp $
#
DISTNAME= ${SILC_CLIENT_DISTNAME}
CATEGORIES= chat security
MASTER_SITES= http://www.silcnet.org/download/client/sources/ \
ftp://ftp.silcnet.org/silc/client/sources/ \
http://www.fi.silcnet.org/download/client/sources/ \
ftp://ftp.au.silcnet.org/pub/silcnet/client/sources/
EXTRACT_SUFX= ${SILC_CLIENT_EXTRACT_SUFX}
MAINTAINER= salo@NetBSD.org
HOMEPAGE= http://www.silcnet.org/
COMMENT= Client for the Secure Internet Live Conferencing (SILC) protocol
.include "../../mk/bsd.prefs.mk"
.include "../../chat/silc-client/Makefile.common"
GNU_CONFIGURE= YES
USE_TOOLS+= gmake
USE_LIBTOOL= YES
OVERRIDE_DIRDEPTH= 3
SHLIBTOOL_OVERRIDE= # empty
PKG_SYSCONFSUBDIR?= ${PKGBASE}
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
MAKE_ENV+= examplesdir=${EGDIR}
CONF_FILES+= ${EGDIR}/silc.conf.default ${PKG_SYSCONFDIR}/silc.conf
CONFIGURE_ARGS+= --libdir=${PREFIX}/lib/${PKGBASE}
CONFIGURE_ARGS+= --with-helpdir=${PREFIX}/share/${PKGBASE}/help
CONFIGURE_ARGS+= --with-docdir=${PREFIX}/share/doc/${PKGBASE}
CONFIGURE_ARGS+= --with-etcdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-simdir=${PREFIX}/lib/${PKGBASE}/modules
CONFIGURE_ARGS+= --with-iconv=${BUILDLINK_DIR}
CONFIGURE_ARGS+= --with-terminfo
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --without-libtoolfix
# Use native curses library.
.if (${OPSYS} == "NetBSD") || (${OPSYS} == "SunOS")
CONFIGURE_ARGS+= --with-vcurses
.elif (${OPSYS} == "Linux") || (${OPSYS} == "Darwin")
CONFIGURE_ARGS+= --with-ncurses
.else
# XXX: Need testing on other operating systems, use safe defaults for now.
CONFIGURE_ARGS+= --with-ncurses
.endif
# Assembler optimizations.
#
.if (${MACHINE_ARCH} != "i386")
CONFIGURE_ARGS+= --disable-asm
.endif
.include "options.mk"
PLIST_SRC+= ${PKGDIR}/PLIST
INSTALLATION_DIRS+= ${PREFIX}/libexec/${PKGBASE}/scripts
post-install:
${INSTALL_DATA} ${WRKSRC}/apps/irssi/config.h ${SILC_CLIENT_CONFIG_H}
${INSTALL_DATA} ${WRKSRC}/apps/irssi/irssi-config ${SILC_CLIENT_CONFIG}
.if !empty(PKG_OPTIONS:Mperl)
${INSTALL_DATA} ${WRKSRC}/apps/irssi/scripts/*.pl \
${PREFIX}/libexec/${PKGBASE}/scripts
# Create PLIST fragment for Perl modules.
#
@cd ${PREFIX} && \
( \
${FIND} lib/${PKGBASE}/perl5 -type f > ${WRKDIR}/PLIST.perl; \
${FIND} lib/${PKGBASE}/perl5 -type d | ${SORT} -r | \
${SED} 's,^,@dirrm ,g' >> ${WRKDIR}/PLIST.perl \
)
.endif
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/glib/buildlink3.mk"
.include "../../devel/ncurses/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"