pkgsrc-wip/jabberd2/Makefile

131 lines
3.8 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.68 2010/01/17 12:03:27 thomasklausner Exp $
read: http://codex.xiaoka.com/svn/jabberd2/trunk/UPGRADE This release brings MANY new features among MANY bugfixes. Main changes are: - Component clustering - Many virtual hosts in one SM process - FreeBSD kqueue support - PBX integration interface - Memory usage improvements - XML serializer fixes - 64 bit platform fixes - SQLite is a default storage backend You may read about the clustering and virtual hosts in my blog posts: - http://tomasz.sterna.tv/2009/06/virtual-domains-for-jabberd2/ - http://tomasz.sterna.tv/2009/06/clustering-for-jabberd2/ - http://tomasz.sterna.tv/2009/06/transport-clustering-in-jabberd2/ ChangeLog: * Enable experimental features by default * Added external to authentication mechanisms examples * change the definition of xhash_walker, in case that somebody zaps items of the hash table while walking. * Merged a patch for size_t related GSASL crash on 64bit platform. Fixes Bug #367783 * VERY crude test infrastructure added * Fixed S2S incoming packet beeing damaged while mangling. When there are already 'jabber:client' elements move them to next namespace before cutting uri_CLIENT chain. * should put method:xhash_free to pool_cleanup instead of method:pool_free. * should use method:pmalloco to allocate memory for xhash:stat. * Removed check of multiple names from legacy components connections * Inform about select() FD_SETSIZE overrun * Gracefully abort when MIO was not allocated * Do not throw stream errors on SSL wrapper sockets when pre-stream * Gracefully abort when MIO was not created * SSL errors are undefined-condition not internal errors * Do not send invalid XML down the outgoing stream * Correctly iterate streams while shutdown * Proper checks for serviced domains in SM * Do not crash on shutdown with pending streams * Get outgoing packets to/from addresses from the packet data * Do not disable superseeded <session> request yet * Return feature-not-implemented when user client requested not implemented feature * Proper Makefile dependencies for etc/ files * Remove presence routing optimisations. We now do not have authoritative domain information. There may be other SM servicing the domain. * Implemented component clustering. You may now connect many SM instances and external components servicing the same domain. The routing is based on user JID, which (after hashing) selects the component to deliver packet to. * Split shahash to shahas_raw() and shahash_r() * Attach <error/> element in root namespace * Use SM id as a response packet source * Process disco results to sm id also * Better error packet generation * Use router.lost setting after router disconnection. * Minor ns check fix * Added preliminary support for multiple component routes for one domain name. * Fixed some signedness compilation warnings * Defaulting to SQLite storage * Implemented virtual hosts support in SM. (merged r791-792,r797 from vhosts branch) Session Manager is now able to handle more than one domain. This means that you do not need to launch more than one sm process instance for many domains with same configuration. * Drop IQ result packet before delivering them to the router. User client is generating IQ result packet for every server generated IQ set. If we do not process them in SM module, we should not deliver them back to the client. * Fixed mutual subscription flow * Fixed xhash freeing related crash * Implemented correct disco#info for 'sessions' node * Merged xhash optimisations by Eric Liang. Refs Bug #385035 * Merged crypt() password support for LDAP backend by Dan Fandrich. Closes Bug #384940 * Do not null first bytes of just freed memory * Do not close already closed sockets * Give hint on user.auto-create when user not found in storage * Removed unneded C++ compiler check from configure. Fixes Bug #383571 * Merged patch for problem with os_copy() compilation in ldap_vcard backend. Fixes Bug #383526 * Merged patch for problem with crypt() support compilation in MySQL backend. Fixes Bug #383516 * Merged patch fixing Cyrus SASL decode calls. Fies Bug #383512 * Merged patch to not link PAM to every lib. Fies Bug #383506 * Implemented PBX integration interface. You may now start/stop ``fake'' sessions in SM with a pipe interface commands. * Merged patch with kqueue support by jh. Bug #373159 * Mark user table as freed on free For a full ChangeLog see: http://codex.xiaoka.com/svn/jabberd2/tags/jabberd-2.2.9/ChangeLog -- Tomasz Sterna Instant Messaging & EDI Consultant Open Source Developer http://tomasz.sterna.tv/ http://www.xiaoka.com/ -- To unsubscribe send a mail to jabberd2+unsubscribe@lists.xiaoka.com
2009-07-23 05:06:10 +02:00
DISTNAME= jabberd-2.2.9
PKGREVISION= 1
CATEGORIES= chat
MASTER_SITES= http://ftp.xiaoka.com/jabberd2/releases/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= eric@cirr.com
HOMEPAGE= http://jabberd2.xiaoka.com/
COMMENT= XMPP (Jabber) instant messaging server
Added a LICENSE clause. Update to Jabberd 2.2.8: From the release announcement: What changed: - User can message/query own resources - Settable size for vCard image field - Proper server disco#info answer - Support for /etc/hosts lookup (as a last resort) - many stability fixes Security Note: r765 fixes a possible router crasher when an "evil" directly connected component may crash router (thus the whole server). Since components are considered trusted, this is a minor issue. But once a remote user finds a way of triggering the "bad" packet from a component, this might become a serious issue. You've been warned. Changelog: * Proper check for valid arguments in nad_find_namespace(). Fixes Bug #364816. * fix for ser_string_get missing from storage_db.so by Michael Weiser. Fixes Bug #345947 * Send all in-sess generated and not processed packets to the wild. * Proper order of redirect and background job operators * Merged support for settable vCard and vCard-avatar fields size by Sylvain Rochet. Fixes Bug #336123 * Redirecting both stdout and stdin to /dev/null on daemon launch. Fixes Bug #349714 * Give both disco#info and disco#items to disco#info query. Fixes Bug #349134. * End SM session when client disconnects before session start recieved * Replying with presence-unsubscribed to presence-probe only. Fixes Bug #341170. * Added /etc/hosts support in s2s resolver. Thanks to Gebi Miguel. Fixes #63 * New Visual Studio 2008 compatible README.win32 * Visual Studio 2008 (SP1) projects migration * Use only necessary link libraries * Use own OpenSSL libraries (i.e. libeay32.lib instad of libeay32MT.lib from Shining Light Productions) * Add OpenSSL directly to the build, avoiding problems with OpenSSL installation on some systems * Remove OpenSSL check (now it is installed inside jabberd2 folder) * Check VS 2008 RTM on Vista and Windows 7 too * Define target versions to Win2k and IE4 to avoid problems with Vista SDK + cleanup junky comments * util.h is local in util folder * Add SSL_OP_NO_TICKET definition for older OpenSSL installations. Fixes #256 * ANSI C compatibility, variable declaration at the beginning of the block.
2009-04-28 15:17:45 +02:00
LICENSE= gnu-gpl-v2
Update to Jabberd 2.2.5: Jabberd is a XMPP/Jabber server. ChangeLog: * Fixed an issue when one invalid outgoing domain resolution would iterate over ALL outgoing resolution queues and bounce all waiting outgoing packets. * [CRASHER] Fixed bug in _nad_lp0() that could produce 'unbound prefix' XML parse errors in rare cases. This leads to components disconnection and shutdown. * Fixed double free in mod_amp. Fixes #265 * Initialization of first element of attrs_vcard. Thanks to Andreas Hofmeister. * Merged FreeBSD BekeleyDB detection fix. Closes #261 * When unblocking the last user in the list of users, update the zlist->last pointer to avoid crashing later on. * Linking libutil.la to authreg_pipe.so statically. Fixes #257 * Removed all NAD caching. This should reduce memory usage and memory growth. * Clarified usage of <id/> attributes in configuration file * Merged Oracle DB fixes submitted by Oleksiy Kramarenko * MIO_ERROR is not l-value on Windows [706], one should use MIO_SETERROR(e) instead of MIO_ERROR = e (#224) * Add a key to the status table in MySQL. This should make queries to that table a bit faster. * Proper check whether the connection is TLS encrypted * Sending S2S client certificate during S2S encrypted session establishment * Added a key to the status table in db-setup.mysql. * Setting MIO_ERROR to EFAULT:'Bad address' on IP address resolution failure. Fixes #224 * Merged Debian Bug #493765 patch for LDAP_DEPRECATED functions. Thanks to Dann Frazier. Fixes #240 * Merged patch to fix freed DNS queue data on unreachable domain. Thanks to Simon Arlott. Closes #253 * Merged patch to reload users file on SIGHUP. Thanks to Simon Arlott. Closes #254 * Refs #252 - no closing SX on zero buffer read * Merged IDNA domains resolution support patch by Norman Rasmussen * Fixed typo in starttls option name. Fixes #247 * Handle trusts based on bare and full JID roster items * Using Cyrus sasl_encode64/decode64() in CyrusSASL backend instead of APR ones
2009-01-23 04:21:20 +01:00
PKG_DESTDIR_SUPPORT= user-destdir
CONFLICTS= jabberd-[0-9]*
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
SUBST_CLASSES+= path
SUBST_STAGE.path= post-patch
SUBST_FILES.path= configure
SUBST_MESSAGE.path= Fixing configure script.
SUBST_SED.path= -e "s,/usr/local,${PREFIX},g"
SUBST_SED.path+= -e "s,\$$sysconfdir/jabberd,\$$sysconfdir,g"
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
CONFIGURE_ARGS+= --disable-mysql
CONFIGURE_ARGS+= --enable-pipe
CONFIGURE_ARGS+= --enable-anon
CONFIGURE_ARGS+= --enable-ssl
CONFIGURE_ARGS+= --enable-fs
.if (${MACHINE_ARCH} == alpha) || (${MACHINE_ARCH} == x86_64)
CONFIGURE_ARGS+= CXXFLAGS=${CXXFLAGS:M*:C/-O./-O1/:Q}
CONFIGURE_ENV+= CXXFLAGS=${CXXFLAGS:M*:C/-O./-O1/:Q}
MAKE_ENV+= CXXFLAGS=${CXXFLAGS:M*:C/-O./-O1/:Q}
CONFIGURE_ARGS+= CFLAGS=${CFLAGS:M*:C/-O./-O1/:Q}
CONFIGURE_ENV+= CFLAGS=${CFLAGS:M*:C/-O./-O1/:Q}
MAKE_ENV+= CFLAGS=${CFLAGS:M*:C/-O./-O1/:Q}
.endif
USE_TOOLS+= perl:run
REPLACE_PERL+= tools/*.pl
.include "../../mk/bsd.prefs.mk"
JABBERD_DBDIR?= ${VARBASE}/db/jabberd
BUILD_DEFS+= VARBASE JABBERD_USER JABBERD_GROUP
BUILD_DEFS+= JABBERD_LOGDIR JABBERD_PIDDIR JABBERD_DBDIR
PKG_SYSCONFSUBDIR= jabberd
RCD_SCRIPTS= jabberd c2s sm router s2s
JABBERD_USER?= jabberd
JABBERD_GROUP?= jabberd
FILES_SUBST+= JABBERD_USER=${JABBERD_USER:Q}
FILES_SUBST+= JABBERD_GROUP=${JABBERD_GROUP:Q}
FILES_SUBST+= JABBERD_PIDDIR=${JABBERD_PIDDIR:Q}
FILES_SUBST+= JABBERD_LOGDIR=${JABBERD_LOGDIR:Q}
PKG_USERS_VARS+= JABBERD_USER
PKG_GROUPS_VARS+= JABBERD_GROUP
PKG_GROUPS= ${JABBERD_GROUP}
PKG_USERS= ${JABBERD_USER}:${JABBERD_GROUP}
BINDIR= ${PREFIX}/bin
EGDIR= ${PREFIX}/share/examples/jabberd
DOCDIR= ${PREFIX}/share/doc/jabberd
FILES= jabberd.cfg c2s.xml router.xml \
router-users.xml router-filter.xml s2s.xml \
sm.xml
2007-12-13 04:39:09 +01:00
DBFILES= db-jd14-2-jd2.sql db-setup.mysql db-setup.pgsql \
db-update.mysql db-setup.sqlite db-update.sqlite
This release fixes long hunted busy-loop-no-listen bug with select MIO backend, some XMPP compliance fixes, new Win32 build, compilation fixes and more... ChangeLog: * Fixed endless loop for failed session closure * Fixed packet to non-existing users handling to be conformant to RFC 3921bis 8.1. No Such User * Fixed loop on select. Closes #125 * Added pam authpipe script * Added example pam.d/jabber file from Gentoo * Changed example localdomain names to FQDN localhost.localdomain * Fixed Win32 build * Update of Visual Studio dependent libraries * Using MIO_WOULDBLOCK for Windows. * Added db-update.sqlite * Define S_IRUSR, S_IWUSR, S_IRGRP to 0 on Windows, as we don't have unix permissions there and those variables are undefined. * JABBERD2_API for _stanza_errors[], so it is exported in Windows to DLL. * moved _mio_wnd_proc to mio_wsasync.c (better for debugging) * fixed defer_free in right structure * check socked range in _mio_wnd_proc in case we get some invalid WM_APP + sthing message * added patch from Dan Hulme zeroing structures added to free pool (thanks Dan!) * Send vacation reply only to humans (full JIDs). Fixes #186 * Updated supported protocol listing * Updated license template * Using OpenSSL implementation of SHA1 hash if OpenSSL library enabled * Added check whether -O optimization is to high. Fixes #100 * Changed contact address to list address * Added BerkeleyDB dump script * Added BerkeleyDB-2-MySQL migration script * Implemented XEP-0232: Software Information * Fixed possible crash when debug is on * Fix for session restoration packet without queued result For a full ChangeLog see: http://svn.xiaoka.com/jabberd2/tags/jabberd-2.1.23/ChangeLog
2008-02-07 06:35:42 +01:00
DOCFILES= README.protocol README UPGRADE ChangeLog
INSTALLATION_DIRS= bin ${EGDIR} ${DOCDIR}
.for f in ${FILES}
CONF_FILES+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
.endfor
CONF_FILES+= ${EGDIR}/roster.xml ${PKG_SYSCONFDIR}/roster.xml
.include "options.mk"
.for f in ${JABBERD_LOGDIR} ${JABBERD_DBDIR} ${JABBERD_PIDDIR}
OWN_DIRS_PERMS+= ${f} ${JABBERD_USER} ${JABBERD_GROUP} 770
.endfor
post-extract:
.for f in ${FILES}
2008-01-17 18:01:56 +01:00
mv ${WRKSRC}/etc/${f}.dist.in ${WRKSRC}/etc/${f}.in
.endfor
pre-configure:
2008-01-17 18:01:56 +01:00
.for f in ${FILES}
sed \
-e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g" \
-e "s|@PIDDIR@|${JABBERD_PIDDIR}|g" \
-e "s|@LOGDIR@|${JABBERD_LOGDIR}|g" \
-e "s|@SSLCERTS@|${SSLCERTS}|g" \
-e "s|@BINDIR@|${PREFIX}/bin|g" \
-e "s|@DBDIR@|${JABBERD_DBDIR}|g" \
-e "s|@pkglibdir@|${PREFIX}/lib/jabberd|g" \
${WRKSRC}/etc/${f}.in > ${WRKSRC}/etc/${f}
.endfor
post-install:
${INSTALL_DATA} ${WRKSRC}/etc/templates/roster.xml.dist.in \
Update to Jabberd 2.2.5: Jabberd is a XMPP/Jabber server. ChangeLog: * Fixed an issue when one invalid outgoing domain resolution would iterate over ALL outgoing resolution queues and bounce all waiting outgoing packets. * [CRASHER] Fixed bug in _nad_lp0() that could produce 'unbound prefix' XML parse errors in rare cases. This leads to components disconnection and shutdown. * Fixed double free in mod_amp. Fixes #265 * Initialization of first element of attrs_vcard. Thanks to Andreas Hofmeister. * Merged FreeBSD BekeleyDB detection fix. Closes #261 * When unblocking the last user in the list of users, update the zlist->last pointer to avoid crashing later on. * Linking libutil.la to authreg_pipe.so statically. Fixes #257 * Removed all NAD caching. This should reduce memory usage and memory growth. * Clarified usage of <id/> attributes in configuration file * Merged Oracle DB fixes submitted by Oleksiy Kramarenko * MIO_ERROR is not l-value on Windows [706], one should use MIO_SETERROR(e) instead of MIO_ERROR = e (#224) * Add a key to the status table in MySQL. This should make queries to that table a bit faster. * Proper check whether the connection is TLS encrypted * Sending S2S client certificate during S2S encrypted session establishment * Added a key to the status table in db-setup.mysql. * Setting MIO_ERROR to EFAULT:'Bad address' on IP address resolution failure. Fixes #224 * Merged Debian Bug #493765 patch for LDAP_DEPRECATED functions. Thanks to Dann Frazier. Fixes #240 * Merged patch to fix freed DNS queue data on unreachable domain. Thanks to Simon Arlott. Closes #253 * Merged patch to reload users file on SIGHUP. Thanks to Simon Arlott. Closes #254 * Refs #252 - no closing SX on zero buffer read * Merged IDNA domains resolution support patch by Norman Rasmussen * Fixed typo in starttls option name. Fixes #247 * Handle trusts based on bare and full JID roster items * Using Cyrus sasl_encode64/decode64() in CyrusSASL backend instead of APR ones
2009-01-23 04:21:20 +01:00
${DESTDIR}${EGDIR}/roster.xml
${INSTALL_SCRIPT} ${WRKSRC}/tools/pipe-auth.pl ${DESTDIR}${BINDIR}
${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate.pl ${DESTDIR}${BINDIR}
.for f in ${DBFILES}
Update to Jabberd 2.2.5: Jabberd is a XMPP/Jabber server. ChangeLog: * Fixed an issue when one invalid outgoing domain resolution would iterate over ALL outgoing resolution queues and bounce all waiting outgoing packets. * [CRASHER] Fixed bug in _nad_lp0() that could produce 'unbound prefix' XML parse errors in rare cases. This leads to components disconnection and shutdown. * Fixed double free in mod_amp. Fixes #265 * Initialization of first element of attrs_vcard. Thanks to Andreas Hofmeister. * Merged FreeBSD BekeleyDB detection fix. Closes #261 * When unblocking the last user in the list of users, update the zlist->last pointer to avoid crashing later on. * Linking libutil.la to authreg_pipe.so statically. Fixes #257 * Removed all NAD caching. This should reduce memory usage and memory growth. * Clarified usage of <id/> attributes in configuration file * Merged Oracle DB fixes submitted by Oleksiy Kramarenko * MIO_ERROR is not l-value on Windows [706], one should use MIO_SETERROR(e) instead of MIO_ERROR = e (#224) * Add a key to the status table in MySQL. This should make queries to that table a bit faster. * Proper check whether the connection is TLS encrypted * Sending S2S client certificate during S2S encrypted session establishment * Added a key to the status table in db-setup.mysql. * Setting MIO_ERROR to EFAULT:'Bad address' on IP address resolution failure. Fixes #224 * Merged Debian Bug #493765 patch for LDAP_DEPRECATED functions. Thanks to Dann Frazier. Fixes #240 * Merged patch to fix freed DNS queue data on unreachable domain. Thanks to Simon Arlott. Closes #253 * Merged patch to reload users file on SIGHUP. Thanks to Simon Arlott. Closes #254 * Refs #252 - no closing SX on zero buffer read * Merged IDNA domains resolution support patch by Norman Rasmussen * Fixed typo in starttls option name. Fixes #247 * Handle trusts based on bare and full JID roster items * Using Cyrus sasl_encode64/decode64() in CyrusSASL backend instead of APR ones
2009-01-23 04:21:20 +01:00
${INSTALL_DATA} ${WRKSRC}/tools/${f} ${DESTDIR}${EGDIR}
.endfor
.for f in ${FILES}
Update to Jabberd 2.2.5: Jabberd is a XMPP/Jabber server. ChangeLog: * Fixed an issue when one invalid outgoing domain resolution would iterate over ALL outgoing resolution queues and bounce all waiting outgoing packets. * [CRASHER] Fixed bug in _nad_lp0() that could produce 'unbound prefix' XML parse errors in rare cases. This leads to components disconnection and shutdown. * Fixed double free in mod_amp. Fixes #265 * Initialization of first element of attrs_vcard. Thanks to Andreas Hofmeister. * Merged FreeBSD BekeleyDB detection fix. Closes #261 * When unblocking the last user in the list of users, update the zlist->last pointer to avoid crashing later on. * Linking libutil.la to authreg_pipe.so statically. Fixes #257 * Removed all NAD caching. This should reduce memory usage and memory growth. * Clarified usage of <id/> attributes in configuration file * Merged Oracle DB fixes submitted by Oleksiy Kramarenko * MIO_ERROR is not l-value on Windows [706], one should use MIO_SETERROR(e) instead of MIO_ERROR = e (#224) * Add a key to the status table in MySQL. This should make queries to that table a bit faster. * Proper check whether the connection is TLS encrypted * Sending S2S client certificate during S2S encrypted session establishment * Added a key to the status table in db-setup.mysql. * Setting MIO_ERROR to EFAULT:'Bad address' on IP address resolution failure. Fixes #224 * Merged Debian Bug #493765 patch for LDAP_DEPRECATED functions. Thanks to Dann Frazier. Fixes #240 * Merged patch to fix freed DNS queue data on unreachable domain. Thanks to Simon Arlott. Closes #253 * Merged patch to reload users file on SIGHUP. Thanks to Simon Arlott. Closes #254 * Refs #252 - no closing SX on zero buffer read * Merged IDNA domains resolution support patch by Norman Rasmussen * Fixed typo in starttls option name. Fixes #247 * Handle trusts based on bare and full JID roster items * Using Cyrus sasl_encode64/decode64() in CyrusSASL backend instead of APR ones
2009-01-23 04:21:20 +01:00
${INSTALL_DATA} ${WRKSRC}/etc/${f} ${DESTDIR}${EGDIR}
.endfor
.for f in ${DOCFILES}
Update to Jabberd 2.2.5: Jabberd is a XMPP/Jabber server. ChangeLog: * Fixed an issue when one invalid outgoing domain resolution would iterate over ALL outgoing resolution queues and bounce all waiting outgoing packets. * [CRASHER] Fixed bug in _nad_lp0() that could produce 'unbound prefix' XML parse errors in rare cases. This leads to components disconnection and shutdown. * Fixed double free in mod_amp. Fixes #265 * Initialization of first element of attrs_vcard. Thanks to Andreas Hofmeister. * Merged FreeBSD BekeleyDB detection fix. Closes #261 * When unblocking the last user in the list of users, update the zlist->last pointer to avoid crashing later on. * Linking libutil.la to authreg_pipe.so statically. Fixes #257 * Removed all NAD caching. This should reduce memory usage and memory growth. * Clarified usage of <id/> attributes in configuration file * Merged Oracle DB fixes submitted by Oleksiy Kramarenko * MIO_ERROR is not l-value on Windows [706], one should use MIO_SETERROR(e) instead of MIO_ERROR = e (#224) * Add a key to the status table in MySQL. This should make queries to that table a bit faster. * Proper check whether the connection is TLS encrypted * Sending S2S client certificate during S2S encrypted session establishment * Added a key to the status table in db-setup.mysql. * Setting MIO_ERROR to EFAULT:'Bad address' on IP address resolution failure. Fixes #224 * Merged Debian Bug #493765 patch for LDAP_DEPRECATED functions. Thanks to Dann Frazier. Fixes #240 * Merged patch to fix freed DNS queue data on unreachable domain. Thanks to Simon Arlott. Closes #253 * Merged patch to reload users file on SIGHUP. Thanks to Simon Arlott. Closes #254 * Refs #252 - no closing SX on zero buffer read * Merged IDNA domains resolution support patch by Norman Rasmussen * Fixed typo in starttls option name. Fixes #247 * Handle trusts based on bare and full JID roster items * Using Cyrus sasl_encode64/decode64() in CyrusSASL backend instead of APR ones
2009-01-23 04:21:20 +01:00
${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${DOCDIR}
.endfor
.include "../../net/udns/buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/libidn/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"