Attached patch updates prosody to 0.9.1. Fix: Apply patch. Patch attached with submission follows: How-To-Repeat: N/A
Responsible Changed From-To: freebsd-ports-bugs->lx Over to maintainer (via the GNATS Auto Assign Tool)
Prosody 0.9.0 and above don't have functional s2s connections -- this may be due to the forked dependent ports that they're using. We'll need to coordinate with the luasec and luasocket maintainers to see if they're willing to update to these less standard versions.
Attached an updated patch against the current port. This - updates the port to 0.9.2 (the latest version) - builds, installs, deinstalls cleanly - runs in my preliminary tests (note: No s2s tested so far) - runs w/ an updated luasec-0.5 (again: no s2s or TLS - so that means .. nothing) Together with my luasec-0.5 bump (discussion on ports@freebsd.org) this should bring prosody back to a current level.
David, sorry for being a PITA here - I'm just a) really interested in seeing this move forward b) plain curious.. With my previous patch (and luasec 0.5, although that should be optional)=20 I'm now successfully running a test server. - s2s works, as tested with Google (GTalk or whatever you'd call that=20 now..) - s2s encryption works, as tested by the IM Observatory (think ssllabs for=20= xmpp) [1] - c2s works, tested with Pidgin and the IM Observatory [2] In other words: In my (certainly limited..) experience these patches work=20 fine for the basic functionality. I have no 0.8.x server around to test if=20= a _migration_ causes trouble, but I think that's outside of the scope of=20 the patch. Would love to hear your feedback. If I can do anything to move this=20 forward, just let me know. Regards, Ben 1: https://xmpp.net/result.php?domain=3Ddar-klajid.de&type=3Dserver 2: https://xmpp.net/result.php?domain=3Ddar-klajid.de&type=3Dclient
In my quest to make this happen: Attached a new patch, this time from svn diff (hoping that this makes things even easier). portlint complaints about the missing staging support and I'd be willing to tackle that as well - but I'd prefer to see 0.9+ land in FreeBSD first. Changes: - Build 0.9.2 from the official GitHub project/the binary releases over there - Drop patches against the sample configuration and the certs/Makefile (files deleted!) - Update the pkg-plist - Added a LICENSE (for portlint, really..) As stated before: This works just fine in my environment. IF someone's going to take a look at this CR (still hoping for you, David: ports@freebsd.org just informed me that there's quite a backlog for PRs in general and I guess you're the committer that I could most easily sway to jump in..?), please check out the tiny http://www.freebsd.org/cgi/query-pr.cgi?pr=186533 as well (bumping prosody's dependency, the most trivial of bumps: See the just-a-couple-of-lines changeset). Thanks a lot for your consideration. Ben
I've tested the most recent patch with the updated luasec. s2s is still non-functional; users on external servers never appear in the roster or show up as being online.
How can I help? For me this works fine, but I've only tested gmail.com/GTalk so far. BUT I also ran the testsuite from the IM Observatory, which tested my s2s setup/connected to the s2s port. Are you sure that this is not a configuration issue? Is there any way for me to support you/to help track down the problem? On Fri, Feb 7, 2014 at 11:03 PM, David Thiel <lx@freebsd.org> wrote: > I've tested the most recent patch with the updated luasec. s2s is still > non-functional; users on external servers never appear in the roster or > show up as being online. >
Plus: Are you migrating from 0.8.x or is this a clean installation? In other words: Are you hitting (potential/possible) migration issues by chance? On Fri, Feb 7, 2014 at 11:14 PM, Benjamin Podszun < benjamin.podszun@gmail.com> wrote: > How can I help? > > For me this works fine, but I've only tested gmail.com/GTalk so far. > BUT I also ran the testsuite from the IM Observatory, which tested my s2s > setup/connected to the s2s port. > > Are you sure that this is not a configuration issue? Is there any way for > me to support you/to help track down the problem? > > > On Fri, Feb 7, 2014 at 11:03 PM, David Thiel <lx@freebsd.org> wrote: > >> I've tested the most recent patch with the updated luasec. s2s is still >> non-functional; users on external servers never appear in the roster or >> show up as being online. >> > >
On 02/07, Benjamin Podszun wrote: > Plus: Are you migrating from 0.8.x or is this a clean installation? > In other words: Are you hitting (potential/possible) migration issues by > chance? It's quite possible I am, but my primary concern is to ensure that this upgrade is not disruptive to current users of Prosody, so unless this can be resolved, I'm not comfortable with the update.
Since there are upgrade concerns (upgrade notes[1]) can prosody 0.9 be = added under a new port name? Perhaps something like prosody-devel or prosody-stable? The 0.8.x series is labeled =93old-stable=94 on the upstream source = tree[2], and I would really like to use a newer version than 0.8.2 (over = 2 years old now =97 last updated 2011-06-12) if possible. Thanks. [1]: https://prosody.im/doc/release/0.9.0 [2]: http://hg.prosody.im=
To document the current state in this PR: After lengthy discussions with the prosody developers the current guess is that the util/net.so (source: [1]) component (new in 0.9!) fails to find 'valid' interfaces. Note: Everything below is currently just guesswork and unconfirmed. If I understand the purpose correctly the process is: - Check if we have a SRV record for the outgoing domain - Either fall back to A/AAAA resolution or go to A/AAAA resolution of the host in the SRV record - BEFORE prosody queries for A/AAAA records, util/net.so comes into play and determines if we have ipv4/ipv6 connectivity (or - both) - Depending on the util/net.so result, A/AAAA records are resolved and the s2s connection proceeds It seems that in this case, for David's case, util/net.so returns an empty table, prosody thinks that neither ipv4 nor ipv6 are available. This is absolutely possible in the current code, one of the developers proposes [2] to at least warn in the logs about it. A workaround could be to add interfaces = { '*', '::' } to the configuration (adapt as necessary, * for ipv4, :: for ipv6). Since the port works fine in my environment, we'd need David to test that - or anyone with a similar upgrade path/migration issue. Regarding the last update to this PR, asking for a different prosody port for the 0.9 version, parallel to the 0.8 release: I'd rather see this problem resolved, but I agree that a 2 year old version should die.. ;-) I'm quite positive about the support the prosody guys offered so far and David was exceptionally helpful yesterday evening, so I don't doubt that he/the maintainer wants to see this update succeed as well. Ben 1: http://hg.prosody.im/0.9/file/tip/util-src/net.c 2: https://prosody.im/pastebin/3f86ab91-49f8-4a57-8bbc-dabb91d25e34
Author: lx Date: Sat Feb 8 20:36:09 2014 New Revision: 343384 URL: http://svnweb.freebsd.org/changeset/ports/343384 QAT: https://qat.redports.org/buildarchive/r343384/ Log: Update to 0.9.2. PR: ports/182075 Submitted by: Paul Procacci <pprocacci@gmail.com> / Benjamin Podszun <benjamin.podszun@gmail.com> Added: head/net-im/prosody/pkg-message (contents, props changed) Deleted: head/net-im/prosody/files/patch-certs-Makefile head/net-im/prosody/files/patch-prosody.cfg.lua.dist Modified: head/net-im/prosody/Makefile head/net-im/prosody/distinfo head/net-im/prosody/files/patch-Makefile head/net-im/prosody/files/patch-configure head/net-im/prosody/pkg-plist Modified: head/net-im/prosody/Makefile ============================================================================== --- head/net-im/prosody/Makefile Sat Feb 8 20:13:10 2014 (r343383) +++ head/net-im/prosody/Makefile Sat Feb 8 20:36:09 2014 (r343384) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= prosody -PORTVERSION= 0.8.2 +PORTVERSION= 0.9.2 CATEGORIES= net-im MASTER_SITES= http://prosody.im/downloads/source/ \ http://redundancy.redundancy.org/mirror/ @@ -10,6 +10,8 @@ MASTER_SITES= http://prosody.im/download MAINTAINER= lx@FreeBSD.org COMMENT= A simple extensible XMPP server written in Lua +LICENSE= MIT + RUN_DEPENDS= ${LUA_MODLIBDIR}/socket/core.so:${PORTSDIR}/net/luasocket \ ${LUA_MODLIBDIR}/ssl.so:${PORTSDIR}/security/luasec \ ${LUA_MODLIBDIR}/lxp.so:${PORTSDIR}/textproc/luaexpat \ @@ -34,11 +36,10 @@ SUB_FILES= pkg-install pkg-deinstall NO_STAGE= yes pre-install: ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL - ${REINPLACE_CMD} -e 's|/usr/bin/env lua|${LUA_CMD}|' ${WRKSRC}/prosody ${WRKSRC}/prosodyctl - ${RM} ${WRKSRC}/certs/localhost.* - cd ${WRKSRC}/certs && ${GMAKE} localhost.cert + ${REINPLACE_CMD} -e 's|/usr/bin/env lua|${LUA_CMD}|' ${WRKSRC}/prosody.install ${WRKSRC}/prosodyctl.install post-install: ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + @${CAT} ${PKGMESSAGE} .include <bsd.port.mk> Modified: head/net-im/prosody/distinfo ============================================================================== --- head/net-im/prosody/distinfo Sat Feb 8 20:13:10 2014 (r343383) +++ head/net-im/prosody/distinfo Sat Feb 8 20:36:09 2014 (r343384) @@ -1,2 +1,2 @@ -SHA256 (prosody-0.8.2.tar.gz) = d0315150f8487fc960adf56ce057985428679975f9c6f3fcf424832d24eaae60 -SIZE (prosody-0.8.2.tar.gz) = 212170 +SHA256 (prosody-0.9.2.tar.gz) = a2df64d23b7853a9f03126750d33b98193c93b8331b2622d9ebf1fe54f8feb2d +SIZE (prosody-0.9.2.tar.gz) = 264196 Modified: head/net-im/prosody/files/patch-Makefile ============================================================================== --- head/net-im/prosody/files/patch-Makefile Sat Feb 8 20:13:10 2014 (r343383) +++ head/net-im/prosody/files/patch-Makefile Sat Feb 8 20:36:09 2014 (r343384) @@ -1,5 +1,5 @@ ---- ./Makefile.orig 2011-04-05 15:47:05.000000000 +0200 -+++ ./Makefile 2011-04-10 18:09:24.000000000 +0200 +--- Makefile.orig 2013-12-08 19:05:39.000000000 +0100 ++++ Makefile 2014-02-06 23:24:12.000000000 +0100 @@ -6,7 +6,7 @@ MODULES = $(DESTDIR)$(PREFIX)/lib/prosody/modules SOURCE = $(DESTDIR)$(PREFIX)/lib/prosody @@ -9,18 +9,11 @@ INSTALLEDSOURCE = $(PREFIX)/lib/prosody INSTALLEDCONFIG = $(SYSCONFDIR) -@@ -33,11 +33,12 @@ - install -m644 plugins/*.lua $(MODULES) - install -d $(MODULES)/muc - install -m644 plugins/muc/* $(MODULES)/muc -- install -m644 certs/* $(CONFIG)/certs -+ install -m644 certs/localhost.cert $(CONFIG)/certs/localhost.cert.sample -+ install -m644 certs/localhost.key $(CONFIG)/certs/localhost.key.sample - install -d $(MODULES)/adhoc - install -m644 plugins/adhoc/*.lua $(MODULES)/adhoc +@@ -40,6 +40,7 @@ + umask 0022 && cp -r plugins/* $(MODULES) + install -m644 certs/* $(CONFIG)/certs install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1 -- test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua + install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua.sample - test -e prosody.version && install prosody.version $(SOURCE)/prosody.version || true + test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua + test -e prosody.version && install -m644 prosody.version $(SOURCE)/prosody.version || true $(MAKE) install -C util-src - Modified: head/net-im/prosody/files/patch-configure ============================================================================== --- head/net-im/prosody/files/patch-configure Sat Feb 8 20:13:10 2014 (r343383) +++ head/net-im/prosody/files/patch-configure Sat Feb 8 20:36:09 2014 (r343384) @@ -1,10 +1,17 @@ ---- ./configure.orig 2011-04-05 15:47:05.000000000 +0200 -+++ ./configure 2011-04-10 18:09:24.000000000 +0200 -@@ -2,7 +2,6 @@ +--- configure.orig 2013-12-08 19:05:39.000000000 +0100 ++++ configure 2014-02-06 22:21:15.000000000 +0100 +@@ -13,11 +13,11 @@ + IDN_LIB=idn + ICU_FLAGS="-licui18n -licudata -licuuc" + OPENSSL_LIB=crypto +-CC=gcc ++CC=cc + CXX=g++ +-LD=gcc ++LD=cc + RUNWITH=lua +-EXCERTS=yes ++EXCERTS=no - # Defaults - --PREFIX=/usr/local - SYSCONFDIR="$PREFIX/etc/prosody" - DATADIR="$PREFIX/var/lib/prosody" - LUA_SUFFIX="" + CFLAGS="-fPIC -Wall" + LDFLAGS="-shared" Added: head/net-im/prosody/pkg-message ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/prosody/pkg-message Sat Feb 8 20:36:09 2014 (r343384) @@ -0,0 +1,18 @@ + +--- + +NOTE: + + If you're running Prosody in a jail and experience problems, please add the + following to the global section of your prosody.cfg.lua: + + interfaces = { 'x.x.x.x' } + + where 'x.x.x.x' is the public IP you wish Prosody to bind to. + +ALSO NOTE: + + IPv6 support is not yet functional in this port. + +--- + Modified: head/net-im/prosody/pkg-plist ============================================================================== --- head/net-im/prosody/pkg-plist Sat Feb 8 20:13:10 2014 (r343383) +++ head/net-im/prosody/pkg-plist Sat Feb 8 20:36:09 2014 (r343384) @@ -3,20 +3,16 @@ bin/prosodyctl @unexec if cmp -s %D/etc/prosody/prosody.cfg.lua.sample %D/etc/prosody/prosody.cfg.lua; then rm -f %D/etc/prosody/prosody.cfg.lua; fi etc/prosody/prosody.cfg.lua.sample @exec if [ ! -f %D/etc/prosody/prosody.cfg.lua ]; then cp -p %D/etc/prosody/prosody.cfg.lua.sample %D/etc/prosody/prosody.cfg.lua; fi -@unexec if cmp -s %D/etc/prosody/certs/localhost.cert.sample %D/etc/prosody/certs/localhost.cert; then rm -f %D/etc/prosody/certs/localhost.cert; fi -etc/prosody/certs/localhost.cert.sample -@exec if [ ! -f %D/etc/prosody/certs/localhost.cert ]; then cp -p %D/etc/prosody/certs/localhost.cert.sample %D/etc/prosody/certs/localhost.cert; fi -@unexec if cmp -s %D/etc/prosody/certs/localhost.key.sample %D/etc/prosody/certs/localhost.key; then rm -f %D/etc/prosody/certs/localhost.key; fi -etc/prosody/certs/localhost.key.sample -@exec if [ ! -f %D/etc/prosody/certs/localhost.key ]; then cp -p %D/etc/prosody/certs/localhost.key.sample %D/etc/prosody/certs/localhost.key; fi @dirrmtry etc/prosody/certs @dirrmtry etc/prosody lib/prosody/core/certmanager.lua lib/prosody/core/configmanager.lua lib/prosody/core/hostmanager.lua lib/prosody/core/loggingmanager.lua +lib/prosody/core/moduleapi.lua lib/prosody/core/modulemanager.lua lib/prosody/core/rostermanager.lua +lib/prosody/core/portmanager.lua lib/prosody/core/s2smanager.lua lib/prosody/core/sessionmanager.lua lib/prosody/core/stanza_router.lua @@ -28,9 +24,16 @@ lib/prosody/modules/mod_auth_anonymous.l lib/prosody/modules/mod_auth_cyrus.lua lib/prosody/modules/mod_auth_internal_hashed.lua lib/prosody/modules/mod_auth_internal_plain.lua +lib/prosody/modules/mod_c2s.lua +lib/prosody/modules/mod_http.lua +lib/prosody/modules/mod_http_errors.lua +lib/prosody/modules/mod_http_files.lua lib/prosody/modules/mod_motd.lua +lib/prosody/modules/mod_net_multiplex.lua lib/prosody/modules/mod_offline.lua +lib/prosody/modules/mod_pubsub.lua lib/prosody/modules/mod_storage_internal.lua +lib/prosody/modules/mod_storage_none.lua lib/prosody/modules/mod_storage_sql.lua lib/prosody/modules/mod_announce.lua lib/prosody/modules/mod_bosh.lua @@ -39,7 +42,6 @@ lib/prosody/modules/mod_compression.lua lib/prosody/modules/mod_dialback.lua lib/prosody/modules/mod_disco.lua lib/prosody/modules/mod_groups.lua -lib/prosody/modules/mod_httpserver.lua lib/prosody/modules/mod_iq.lua lib/prosody/modules/mod_lastactivity.lua lib/prosody/modules/mod_legacyauth.lua @@ -61,56 +63,66 @@ lib/prosody/modules/mod_vcard.lua lib/prosody/modules/mod_version.lua lib/prosody/modules/mod_watchregistrations.lua lib/prosody/modules/mod_welcome.lua -lib/prosody/modules/muc/mod_muc.lua -lib/prosody/modules/muc/muc.lib.lua +lib/prosody/modules/sql.lib.lua lib/prosody/modules/adhoc/adhoc.lib.lua lib/prosody/modules/adhoc/mod_adhoc.lua +lib/prosody/modules/mod_s2s/mod_s2s.lua +lib/prosody/modules/mod_s2s/s2sout.lib.lua +lib/prosody/modules/muc/mod_muc.lua +lib/prosody/modules/muc/muc.lib.lua +lib/prosody/modules/storage/mod_xep0227.lua +lib/prosody/modules/storage/sqlbasic.lib.lua +lib/prosody/modules/storage/xep227store.lib.lua lib/prosody/net/adns.lua lib/prosody/net/connlisteners.lua lib/prosody/net/dns.lua lib/prosody/net/http.lua -lib/prosody/net/httpclient_listener.lua lib/prosody/net/httpserver.lua -lib/prosody/net/httpserver_listener.lua -lib/prosody/net/multiplex_listener.lua lib/prosody/net/server.lua lib/prosody/net/server_event.lua lib/prosody/net/server_select.lua -lib/prosody/net/xmppclient_listener.lua -lib/prosody/net/xmppcomponent_listener.lua -lib/prosody/net/xmppserver_listener.lua +lib/prosody/net/http/codes.lua +lib/prosody/net/http/parser.lua +lib/prosody/net/http/server.lua lib/prosody/prosody.version +lib/prosody/util/adhoc.lua lib/prosody/util/array.lua -lib/prosody/util/broadcast.lua +lib/prosody/util/caps.lua lib/prosody/util/dataforms.lua lib/prosody/util/datamanager.lua lib/prosody/util/datetime.lua +lib/prosody/util/debug.lua lib/prosody/util/dependencies.lua lib/prosody/util/encodings.so +lib/prosody/util/envload.lua lib/prosody/util/events.lua +lib/prosody/util/filters.lua lib/prosody/util/hashes.so lib/prosody/util/helpers.lua lib/prosody/util/hmac.lua +lib/prosody/util/http.lua lib/prosody/util/import.lua +lib/prosody/util/ip.lua lib/prosody/util/iterators.lua lib/prosody/util/jid.lua +lib/prosody/util/json.lua lib/prosody/util/logger.lua lib/prosody/util/multitable.lua +lib/prosody/util/net.so +lib/prosody/util/openssl.lua lib/prosody/util/pluginloader.lua lib/prosody/util/pposix.so lib/prosody/util/prosodyctl.lua -lib/prosody/util/caps.lua -lib/prosody/util/filters.lua -lib/prosody/util/httpstream.lua -lib/prosody/util/json.lua +lib/prosody/util/pubsub.lua +lib/prosody/util/rfc6724.lua +lib/prosody/util/sasl.lua +lib/prosody/util/sql.lua lib/prosody/util/template.lua +lib/prosody/util/throttle.lua +lib/prosody/util/watchdog.lua +lib/prosody/util/x509.lua +lib/prosody/util/xml.lua lib/prosody/util/xmppstream.lua -lib/prosody/util/sasl.lua -lib/prosody/util/sasl/anonymous.lua -lib/prosody/util/sasl/digest-md5.lua -lib/prosody/util/sasl/plain.lua -lib/prosody/util/sasl/scram.lua -lib/prosody/util/sasl_cyrus.lua lib/prosody/util/serialization.lua lib/prosody/util/set.lua lib/prosody/util/signal.so @@ -118,12 +130,19 @@ lib/prosody/util/stanza.lua lib/prosody/util/termcolours.lua lib/prosody/util/timer.lua lib/prosody/util/uuid.lua -lib/prosody/util/xmlrpc.lua +lib/prosody/util/sasl/anonymous.lua +lib/prosody/util/sasl/digest-md5.lua +lib/prosody/util/sasl/plain.lua +lib/prosody/util/sasl/scram.lua +lib/prosody/util/sasl_cyrus.lua @dirrm lib/prosody/util/sasl @dirrm lib/prosody/util +@dirrm lib/prosody/net/http @dirrm lib/prosody/net @dirrm lib/prosody/modules/adhoc +@dirrm lib/prosody/modules/mod_s2s @dirrm lib/prosody/modules/muc +@dirrm lib/prosody/modules/storage @dirrm lib/prosody/modules @dirrm lib/prosody/core @dirrm lib/prosody _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed s2s problems appear to be related to interface detection. Added pkg-message to note this, will update after the import of the new luasocket. Thanks!
This is great. Upgraded and working well. Thank you all!