summaryrefslogtreecommitdiff
path: root/chat/mu-conference
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2011-02-04 12:05:45 +0000
committeradam <adam@pkgsrc.org>2011-02-04 12:05:45 +0000
commitb0ea97a1f11f3ca035d4afb80e1dd3a45c114076 (patch)
tree658cf534bc63d34f50707897fc67460f6b3b74e1 /chat/mu-conference
parente1d67509d8db58b1fc98725bc3e2e28c2bb45607 (diff)
downloadpkgsrc-b0ea97a1f11f3ca035d4afb80e1dd3a45c114076.tar.gz
Changes 0.8:
* Optimization: A bunch of patches by M. Doliner (see svn log for more details) * Feature: Allow the service admin to see the occupants of every rooms * Feature: Allow the service admin to enter a room with nicknames locked even if his nickname isn't the one needed * Feature: option to disable room logging on the whole component * Feature: option to save room log files in subdirectories according to date * Feature: Patch by Smoku to hide empty rooms from disco/browse lists * Bugfix: Two vulnerabilities in mysql module * Bugfix: send code=110 when needed according to XEP-0045 * Bugfix: Fix crash when changing roles * Bugfix: Fixed a bug when entering/leaving a room, it was considered as a nick change * Bugfix: Corrected the errors sent by mu-conference * Bugfix: Better error code when choosing a nick not conform with the room policy * Bugfix: Fixed a segfault in the decline messages handler * Bugfix: Avoid a segfault when asking unique room name with a too big user jid * Bugfix: going in an infinite loop if the user invite the jid "" * Bugfix: Changed error handling - Don't kick a user if the message error is not delivery-related, otherwise user could be kicked when refusing a file transfer for example - If the user is not kicked, don't discard the error, send it to the other user/chatroom * Bugfix: Hide XEP-0203 delay nodes when sending back presences stanzas
Diffstat (limited to 'chat/mu-conference')
-rw-r--r--chat/mu-conference/DESCR5
-rw-r--r--chat/mu-conference/Makefile66
-rw-r--r--chat/mu-conference/PLIST6
-rw-r--r--chat/mu-conference/distinfo16
-rw-r--r--chat/mu-conference/files/muc.sh4
-rw-r--r--chat/mu-conference/patches/patch-aa37
-rw-r--r--chat/mu-conference/patches/patch-ab44
-rw-r--r--chat/mu-conference/patches/patch-src_Makefile16
-rw-r--r--chat/mu-conference/patches/patch-src_jabberd_Makefile12
-rw-r--r--chat/mu-conference/patches/patch-src_jcomp_Makefile8
10 files changed, 80 insertions, 134 deletions
diff --git a/chat/mu-conference/DESCR b/chat/mu-conference/DESCR
index 1cf466f7cf8..dc559da93dd 100644
--- a/chat/mu-conference/DESCR
+++ b/chat/mu-conference/DESCR
@@ -1,3 +1,2 @@
-Implementation of the Multi-User Chat protocol, as defined in JEP-0045
-
-Will work against jabberd or jabberd2
+Implementation of the Multi-User Chat protocol, as defined in XEP-0045.
+Will work against jabberd or jabberd2.
diff --git a/chat/mu-conference/Makefile b/chat/mu-conference/Makefile
index d4c66a5961c..d78fe3d5168 100644
--- a/chat/mu-conference/Makefile
+++ b/chat/mu-conference/Makefile
@@ -1,25 +1,20 @@
-# $NetBSD: Makefile,v 1.21 2009/01/05 12:19:58 abs Exp $
-#
+# $NetBSD: Makefile,v 1.22 2011/02/04 12:05:45 adam Exp $
-DISTNAME= mu-conference-0.6.0
-PKGREVISION= 6
-CATEGORIES= chat
-MASTER_SITES= http://jabber.terrapin.com/JCR/ http://www.jabberstudio.org/projects/mu-conference/releases/download.php?file=
-DISTFILES= ${DISTNAME}.tar.gz jcr-0.1.2.tar.gz
+DISTNAME= mu-conference_0.8
+PKGNAME= ${DISTNAME:S/_/-/}
+CATEGORIES= chat
+MASTER_SITES= http://download.gna.org/mu-conference/
-MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://jabber.terrapin.com/JCR/
-COMMENT= Implementation of the JEP-0045 Multi-User Chat protocol
-
-DEPENDS+= jabberd-[0-9]*:../../chat/jabberd2
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://jabber.terrapin.com/JCR/
+COMMENT= Implementation of the XEP-0045 Multi-User Chat protocol
+LICENSE= gnu-gpl-v2
PKG_DESTDIR_SUPPORT= user-destdir
-WRKSRC= ${WRKDIR}/jcr-0.1.2
-SUBWRKSRC= ${WRKSRC}/${DISTNAME}/src
-XMLCONFIG= ${WRKDIR}/${DISTNAME}/muc-jcr.xml
-
-USE_TOOLS+= gmake pax pkg-config
+USE_TOOLS+= gmake pkg-config
+LDFLAGS+= -L${BUILDLINK_PREFIX.expat}/lib
+LDFLAGS+= -L${BUILDLINK_PREFIX.libidn}/lib
PKG_SYSCONFSUBDIR= jabberd
RCD_SCRIPTS= muc
@@ -30,33 +25,30 @@ BUILD_DEFS+= JABBERD_LOGDIR JABBERD_PIDDIR
JABBERD_USER?= jabberd
PKG_USERS_VARS+= JABBERD_USER
-FILES_SUBST+= JABBERD_PIDDIR=${JABBERD_PIDDIR:Q}
-FILES_SUBST+= JABBERD_USER=${JABBERD_USER:Q}
+FILES_SUBST+= JABBERD_PIDDIR=${JABBERD_PIDDIR}
+FILES_SUBST+= JABBERD_USER=${JABBERD_USER}
EGDIR= ${PREFIX}/share/examples/jabberd
-CONF_FILES+= ${EGDIR}/muc-jcr.xml ${PKG_SYSCONFDIR:Q}/muc-jcr.xml
+CONF_FILES+= ${EGDIR}/muc.xml ${PKG_SYSCONFDIR}/muc.xml
INSTALLATION_DIRS= bin share/examples/jabberd
-post-extract:
- ${MV} ${XMLCONFIG:Q} ${XMLCONFIG:Q}.in
-
-pre-configure:
- ${SED} -e 's|\(<logdir>\)[^<]*|\1${JABBERD_LOGDIR}|g' \
- -e 's|\(<pidfile>\).|\1${JABBERD_PIDDIR}|g' \
- -e 's|\(<spool>\).|\1${JABBERD_SPOOLDIR}|g' \
- ${XMLCONFIG:Q}.in > ${XMLCONFIG:Q}
-
-pre-build:
- cd ${WRKDIR:Q} && pax -rw -pe ${DISTNAME:Q} ${WRKSRC:Q}
-
-post-build:
- ${CP} ${WRKSRC:Q}/src/main.c ${WRKSRC:Q}/src/jcomp.mk ${SUBWRKSRC:Q}
- cd ${SUBWRKSRC:Q} && ${SETENV} ${MAKE_ENV} ${GMAKE} -f jcomp.mk
+SUBST_CLASSES+= config
+SUBST_STAGE.config= pre-configure
+SUBST_MESSAGE.config= Fixing configuration file.
+SUBST_FILES.config= muc-default.xml
+SUBST_SED.config= -e 's|\(<logdir>\)[^<]*|\1${JABBERD_LOGDIR}|g'
+SUBST_SED.config+= -e 's|\(<pidfile>\).|\1${JABBERD_PIDDIR}|g'
+SUBST_SED.config+= -e 's|\(<spool>\)./spool|\1${JABBERD_SPOOLDIR}|g'
+SUBST_SED.config+= -e 's|\(<stylesheet>\)..|\1${EGDIR}|g'
do-install:
- ${INSTALL_PROGRAM} ${SUBWRKSRC:Q}/mu-conference ${DESTDIR}${PREFIX}/bin
- ${INSTALL_DATA} ${WRKSRC:Q}/${DISTNAME:Q}/muc-jcr.xml ${DESTDIR}${EGDIR}
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/mu-conference ${DESTDIR}${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/mu-conference.sql ${DESTDIR}${EGDIR}/
+ ${INSTALL_DATA} ${WRKSRC}/muc-default.xml ${DESTDIR}${EGDIR}/muc.xml
+ ${INSTALL_DATA} ${WRKSRC}/style.css ${DESTDIR}${EGDIR}/
.include "../../devel/glib2/buildlink3.mk"
+.include "../../devel/libidn/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/chat/mu-conference/PLIST b/chat/mu-conference/PLIST
index 7ff0cac73b4..72d39a6741c 100644
--- a/chat/mu-conference/PLIST
+++ b/chat/mu-conference/PLIST
@@ -1,4 +1,6 @@
-@comment $NetBSD: PLIST,v 1.2 2005/05/02 20:33:58 reed Exp $
+@comment $NetBSD: PLIST,v 1.3 2011/02/04 12:05:45 adam Exp $
bin/mu-conference
-share/examples/jabberd/muc-jcr.xml
+share/examples/jabberd/mu-conference.sql
+share/examples/jabberd/muc.xml
+share/examples/jabberd/style.css
share/examples/rc.d/muc
diff --git a/chat/mu-conference/distinfo b/chat/mu-conference/distinfo
index 102dd4f6c4f..db965263754 100644
--- a/chat/mu-conference/distinfo
+++ b/chat/mu-conference/distinfo
@@ -1,10 +1,8 @@
-$NetBSD: distinfo,v 1.3 2005/02/23 15:59:12 agc Exp $
+$NetBSD: distinfo,v 1.4 2011/02/04 12:05:45 adam Exp $
-SHA1 (mu-conference-0.6.0.tar.gz) = cc81619378a86c6c449c4122586c353102d4876e
-RMD160 (mu-conference-0.6.0.tar.gz) = 58b9bf9354a67dda3b8f5569dfb15f47d9509f14
-Size (mu-conference-0.6.0.tar.gz) = 56272 bytes
-SHA1 (jcr-0.1.2.tar.gz) = 057c4e2fb13148a105c8631cea211bdb9c28115b
-RMD160 (jcr-0.1.2.tar.gz) = 0436aa4aae26d4e87641133e409af3fb10116ec5
-Size (jcr-0.1.2.tar.gz) = 147439 bytes
-SHA1 (patch-aa) = 51cafdb9f8f8696788b82e506c297a0d8545f8eb
-SHA1 (patch-ab) = 9cd1511636302e71106199fc08497a300b03bc28
+SHA1 (mu-conference_0.8.tar.gz) = 99b9c68a6415eea3b0c8e840b4ec91e9cc48f2cb
+RMD160 (mu-conference_0.8.tar.gz) = a60f8a367b791306c595f63694de1624a52e7b46
+Size (mu-conference_0.8.tar.gz) = 110356 bytes
+SHA1 (patch-src_Makefile) = afd3f211c7a9d53c482531303ad8e2125d77a395
+SHA1 (patch-src_jabberd_Makefile) = 4ee5ee36e5fe63af88bfb7f7c92dd5deb8ab594d
+SHA1 (patch-src_jcomp_Makefile) = 7d99e2a682dcbfc68976761646b834593184131e
diff --git a/chat/mu-conference/files/muc.sh b/chat/mu-conference/files/muc.sh
index 323ee581658..81095abcdd1 100644
--- a/chat/mu-conference/files/muc.sh
+++ b/chat/mu-conference/files/muc.sh
@@ -1,6 +1,6 @@
#!@RCD_SCRIPTS_SHELL@
#
-# $NetBSD: muc.sh,v 1.3 2007/08/21 15:30:32 abs Exp $
+# $NetBSD: muc.sh,v 1.4 2011/02/04 12:05:45 adam Exp $
#
# PROVIDE: muc
# REQUIRE: DAEMON
@@ -12,7 +12,7 @@ fi
name="muc"
rcvar=$name
command="@PREFIX@/bin/mu-conference"
-required_files="@PKG_SYSCONFDIR@/${name}-jcr.xml"
+required_files="@PKG_SYSCONFDIR@/${name}.xml"
extra_commands="reload"
muc_user="@JABBERD_USER@"
command_args="-c ${required_files} > /dev/null 2>&1 &"
diff --git a/chat/mu-conference/patches/patch-aa b/chat/mu-conference/patches/patch-aa
deleted file mode 100644
index 782e5763496..00000000000
--- a/chat/mu-conference/patches/patch-aa
+++ /dev/null
@@ -1,37 +0,0 @@
-$NetBSD: patch-aa,v 1.1 2004/07/22 18:02:10 kristerw Exp $
-
---- src/main.c.orig Thu Jul 22 19:54:54 2004
-+++ src/main.c Thu Jul 22 19:55:36 2004
-@@ -34,12 +34,12 @@
- struct stat st;
- char *config_file = NULL;
- pool p;
-- jcr = (jcr_instance)malloc(sizeof(_jcr_instance));
-
- GThread *dthread; /* the packet delivery thread */
- GMainLoop *gmain; /* the receive packet event loop */
-
-
-+ jcr = (jcr_instance)malloc(sizeof(_jcr_instance));
- fprintf(stderr, "%s -- %s\n%s\n\n", _JCOMP_NAME, _JCOMP_VERS, _JCOMP_COPY);
-
- while ((c = getopt(argc, argv, "Bsd:c:")) != EOF)
-@@ -119,6 +119,7 @@
-
-
- if (inBackground == 1) {
-+ int fdlimit, fd;
- if ((pid = fork()) == -1) {
- fprintf(stderr, "%s: Could not start in background\n", JDBG);
- exit(1);
-@@ -128,8 +129,8 @@
-
- /* in child process .... process and terminal housekeeping */
- setsid();
-- int fdlimit = sysconf(_SC_OPEN_MAX);
-- int fd = 0;
-+ fdlimit = sysconf(_SC_OPEN_MAX);
-+ fd = 0;
- while (fd < fdlimit)
- close(fd++);
- open("/dev/null",O_RDWR);
diff --git a/chat/mu-conference/patches/patch-ab b/chat/mu-conference/patches/patch-ab
deleted file mode 100644
index 17e1de2c385..00000000000
--- a/chat/mu-conference/patches/patch-ab
+++ /dev/null
@@ -1,44 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2004/07/22 18:02:10 kristerw Exp $
-
---- jcomp/jcr_elements.c.orig Thu Jul 22 19:49:51 2004
-+++ jcomp/jcr_elements.c Thu Jul 22 19:51:32 2004
-@@ -32,6 +32,8 @@
- if (strncasecmp(name, "stream:stream", 13) == 0) {
- char *pass = xmlnode_get_data(xmlnode_get_tag(jcr->config,"secret"));
- int i = 0;
-+ char hashbuf[41];
-+ xmlnode cur;
- if (attrib == NULL) return;
- while (attrib[i] != '\0') {
- if (strncasecmp(attrib[i], "id", 2) == 0)
-@@ -39,12 +41,11 @@
- i += 2;
- }
- p = pool_new();
-- char hashbuf[41];
- // log_debug(JDBG, "%s = '%s'", attrib[i], attrib[i+1]);
- shahash_r(spools(p, attrib[i + 1], pass, p), hashbuf);
-
- /* Build a handshake packet */
-- xmlnode cur = xmlnode_new_tag("handshake");
-+ cur = xmlnode_new_tag("handshake");
- xmlnode_insert_cdata(cur, hashbuf, -1);
-
- /* Transmit handshake */
-@@ -91,6 +92,7 @@
- if (jcr->current == NULL) {
- g_io_channel_close(jcr->gio);
- } else {
-+ xmlnode parent;
- if (strncasecmp(name, "stream:error", 12) == 0) {
- log_warn(JDBG, "%s", xmlnode2str(jcr->current));
- g_io_channel_write_chars(jcr->gio, "</stream:stream>", 15, &bytes, NULL);
-@@ -100,7 +102,7 @@
- break;
- }
-
-- xmlnode parent = xmlnode_get_parent(jcr->current);
-+ parent = xmlnode_get_parent(jcr->current);
- if (parent == NULL) {
- x = xmlnode_dup(jcr->current);
- to = jid_new(x->p, xmlnode_get_attrib(x, "to"));
diff --git a/chat/mu-conference/patches/patch-src_Makefile b/chat/mu-conference/patches/patch-src_Makefile
new file mode 100644
index 00000000000..dd0e246c4a6
--- /dev/null
+++ b/chat/mu-conference/patches/patch-src_Makefile
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_Makefile,v 1.1 2011/02/04 12:05:45 adam Exp $
+
+--- src/Makefile.orig 2011-02-04 09:37:28.000000000 +0000
++++ src/Makefile
+@@ -1,9 +1,8 @@
+-CC:=gcc
+-CFLAGS:=$(CFLAGS) -O2 -Wall -I../../lib -I../include `pkg-config --cflags glib-2.0` -D_JCOMP -D_REENTRANT -DLIBIDN
++CFLAGS:=$(CFLAGS) -Wall -I../../lib -I../include `pkg-config --cflags glib-2.0` -D_JCOMP -D_REENTRANT -DLIBIDN
+ #CFLAGS:=$(CFLAGS) -O2 -Wall -I../../lib -I../include `pkg-config --cflags glib-2.0` -D_JCOMP -D_REENTRANT -DLIBIDN -DHAVE_MYSQL
+ LIBS:=$(LIBS) -ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0` -lexpat -lidn
+ #LIBS:=$(LIBS) -ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0` -lexpat -lidn `mysql_config --libs`
+-LDFLAGS:=-L.
++LDFLAGS:=-L. $(LDFLAGS)
+
+ # Debug/Experimental
+ #CFLAGS:=$(CFLAGS) -pipe -Os -I../../jabberd -I../include
diff --git a/chat/mu-conference/patches/patch-src_jabberd_Makefile b/chat/mu-conference/patches/patch-src_jabberd_Makefile
new file mode 100644
index 00000000000..b56fbceab73
--- /dev/null
+++ b/chat/mu-conference/patches/patch-src_jabberd_Makefile
@@ -0,0 +1,12 @@
+$NetBSD: patch-src_jabberd_Makefile,v 1.1 2011/02/04 12:05:45 adam Exp $
+
+--- src/jabberd/Makefile.orig 2011-02-04 09:39:00.000000000 +0000
++++ src/jabberd/Makefile
+@@ -1,6 +1,5 @@
+
+-CC=gcc
+-CFLAGS:=$(CFLAGS) -O2 -Wall -I. -I../../include `pkg-config --cflags glib-2.0` -D_REENTRANT -DLIBIDN
++CFLAGS:=$(CFLAGS) -Wall -I. -I../../include `pkg-config --cflags glib-2.0` -D_REENTRANT -DLIBIDN
+ LIBS=
+
+ JCOMP_LIB_OBJECTS=expat.o \
diff --git a/chat/mu-conference/patches/patch-src_jcomp_Makefile b/chat/mu-conference/patches/patch-src_jcomp_Makefile
new file mode 100644
index 00000000000..121fceb8f05
--- /dev/null
+++ b/chat/mu-conference/patches/patch-src_jcomp_Makefile
@@ -0,0 +1,8 @@
+$NetBSD: patch-src_jcomp_Makefile,v 1.1 2011/02/04 12:05:45 adam Exp $
+
+--- src/jcomp/Makefile.orig 2011-02-04 09:44:51.000000000 +0000
++++ src/jcomp/Makefile 2011-02-04 09:45:02.000000000 +0000
+@@ -3,2 +3 @@
+-CC=gcc
+-CFLAGS:=$(CFLAGS) -O2 -Wall -I../../include -I. `pkg-config --cflags glib-2.0` -D_REENTRANT
++CFLAGS:=$(CFLAGS) -Wall -I../../include -I. `pkg-config --cflags glib-2.0` -D_REENTRANT