From 3194bbcfb98bd068e3883410a607afcf5b582034 Mon Sep 17 00:00:00 2001 From: tron Date: Mon, 23 Mar 2009 18:34:29 +0000 Subject: Pullup ticket #2724 - requested by martti ejabberd: security update Revisions pulled up: chat/ejabberd/Makefile 1.8-1.9 chat/ejabberd/PLIST 1.5 chat/ejabberd/distinfo 1.6-1.7 chat/ejabberd/patches/patch-aa 1.4 chat/ejabberd/patches/patch-ac 1.4 chat/ejabberd/patches/patch-ad 1.3 chat/ejabberd/patches/patch-ah 1.2 chat/ejabberd/patches/patch-ai 1.2 --- Module Name: pkgsrc Committed By: joerg Date: Mon Feb 9 23:05:02 UTC 2009 Modified Files: pkgsrc/chat/ejabberd: Makefile distinfo pkgsrc/chat/ejabberd/patches: patch-aa Log Message: Don't create /var/spool/... at install time, the scripts will take care of it. Mark as user-destdir after that. --- Module Name: pkgsrc Committed By: martti Date: Sun Mar 22 10:39:44 UTC 2009 Modified Files: pkgsrc/chat/ejabberd: Makefile PLIST distinfo pkgsrc/chat/ejabberd/patches: patch-ac patch-ad patch-ah patch-ai Log Message: Updated chat/ejabberd to 2.0.4 This version is a maintenance release containing 20 bugfixes and improvements. http://secunia.com/advisories/34340/ --- chat/ejabberd/Makefile | 19 +++++++++---------- chat/ejabberd/PLIST | 35 +++++++++++++++++++++++++++++------ chat/ejabberd/distinfo | 18 +++++++++--------- chat/ejabberd/patches/patch-aa | 10 +++++++++- chat/ejabberd/patches/patch-ac | 24 ++++++++++++------------ chat/ejabberd/patches/patch-ad | 14 +++++++------- chat/ejabberd/patches/patch-ah | 16 ++++++++-------- chat/ejabberd/patches/patch-ai | 12 ++++++------ 8 files changed, 89 insertions(+), 59 deletions(-) diff --git a/chat/ejabberd/Makefile b/chat/ejabberd/Makefile index ced3af6c070..5c140131c51 100644 --- a/chat/ejabberd/Makefile +++ b/chat/ejabberd/Makefile @@ -1,14 +1,16 @@ -# $NetBSD: Makefile,v 1.6.2.1 2009/02/04 12:30:42 rtr Exp $ +# $NetBSD: Makefile,v 1.6.2.2 2009/03/23 18:34:29 tron Exp $ -DISTNAME= ejabberd-2.0.3 +DISTNAME= ejabberd-2.0.4 #PKGREVISION= 1 CATEGORIES= chat -MASTER_SITES= http://www.process-one.net/downloads/ejabberd/2.0.3/ +MASTER_SITES= http://www.process-one.net/downloads/ejabberd/2.0.4/ MAINTAINER= martti@NetBSD.org HOMEPAGE= http://www.ejabberd.im/ COMMENT= Free and Open Source distributed fault-tolerant Jabber server +PKG_DESTDIR_SUPPORT= user-destdir + CONFLICTS+= jabberd-[0-9]* GNU_CONFIGURE= yes @@ -49,8 +51,6 @@ BUILD_DEFS+= EJABBERD_EXDIR BUILD_DEFS+= VARBASE PKG_SYSCONFSUBDIR= ejabberd -PKG_DESTDIR_SUPPORT= destdir - .include "../../mk/bsd.prefs.mk" EJABBERD_USER= ejabberd @@ -63,7 +63,6 @@ EJABBERD_EXDIR= share/examples/ejabberd OWN_DIRS+= ${EJABBERD_PIDDIR} OWN_DIRS+= ${EJABBERD_LOGDIR} OWN_DIRS+= ${EJABBERD_DB} - OWN_DIRS_PERMS+= ${EJABBERD_PIDDIR} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770 OWN_DIRS_PERMS+= ${EJABBERD_LOGDIR} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770 OWN_DIRS_PERMS+= ${EJABBERD_DB} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770 @@ -90,10 +89,10 @@ post-patch: ${RM} -f ${WRKSRC}/doc/guide.tex.orig post-install: - ${INSTALL_DATA} ${WRKSRC}/doc/*.* ${PREFIX}/share/doc/${PKGNAME_NOREV} - ${INSTALL_DATA} ${WRKSRC}/doc/Makefile ${PREFIX}/share/doc/${PKGNAME_NOREV} - ${INSTALL_DATA} ${WRKSRC}/doc/COPYING ${PREFIX}/share/doc/${PKGNAME_NOREV} - ${INSTALL_DATA} ${WRKSRC}/doc/api/* ${PREFIX}/share/doc/${PKGNAME_NOREV}/api + ${INSTALL_DATA} ${WRKSRC}/doc/*.* ${DESTDIR}${PREFIX}/share/doc/${PKGNAME_NOREV} + ${INSTALL_DATA} ${WRKSRC}/doc/Makefile ${DESTDIR}${PREFIX}/share/doc/${PKGNAME_NOREV} + ${INSTALL_DATA} ${WRKSRC}/doc/COPYING ${DESTDIR}${PREFIX}/share/doc/${PKGNAME_NOREV} + ${INSTALL_DATA} ${WRKSRC}/doc/api/* ${DESTDIR}${PREFIX}/share/doc/${PKGNAME_NOREV}/api SUBST_CLASSES+= paths SUBST_MESSAGE.paths= Localizing paths diff --git a/chat/ejabberd/PLIST b/chat/ejabberd/PLIST index 826a4f3e8dc..95e77c2129f 100644 --- a/chat/ejabberd/PLIST +++ b/chat/ejabberd/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.3.2.1 2009/02/04 12:30:43 rtr Exp $ +@comment $NetBSD: PLIST,v 1.3.2.2 2009/03/23 18:34:29 tron Exp $ ${EJABBERD_EXDIR}/ejabberd.cfg ${EJABBERD_EXDIR}/ejabberdctl.cfg ${EJABBERD_EXDIR}/inetrc @@ -129,6 +129,7 @@ lib/erlang/lib/${PKGNAME}/ebin/stringprep_sup.beam lib/erlang/lib/${PKGNAME}/ebin/tls.beam lib/erlang/lib/${PKGNAME}/ebin/translate.beam lib/erlang/lib/${PKGNAME}/ebin/treap.beam +lib/erlang/lib/${PKGNAME}/ebin/win32_dns.beam lib/erlang/lib/${PKGNAME}/ebin/xml.beam lib/erlang/lib/${PKGNAME}/ebin/xml_stream.beam lib/erlang/lib/${PKGNAME}/priv/lib/ejabberd_zlib_drv.so @@ -160,20 +161,44 @@ lib/erlang/lib/${PKGNAME}/priv/msgs/vi.msg lib/erlang/lib/${PKGNAME}/priv/msgs/wa.msg lib/erlang/lib/${PKGNAME}/priv/msgs/zh.msg sbin/ejabberdctl -share/doc/${PKGNAME}/Makefile share/doc/${PKGNAME}/COPYING +share/doc/${PKGNAME}/Makefile +share/doc/${PKGNAME}/api/Makefile +share/doc/${PKGNAME}/api/overview.edoc +share/doc/${PKGNAME}/api/process-one.css +share/doc/${PKGNAME}/contributed_modules.aux +share/doc/${PKGNAME}/contributed_modules.tex +share/doc/${PKGNAME}/dev.haux share/doc/${PKGNAME}/dev.html +share/doc/${PKGNAME}/dev.htoc share/doc/${PKGNAME}/dev.tex share/doc/${PKGNAME}/discorus.png +share/doc/${PKGNAME}/features.aux +share/doc/${PKGNAME}/features.haux share/doc/${PKGNAME}/features.html +share/doc/${PKGNAME}/features.htoc +share/doc/${PKGNAME}/features.log +share/doc/${PKGNAME}/features.out +share/doc/${PKGNAME}/features.pdf share/doc/${PKGNAME}/features.tex share/doc/${PKGNAME}/flow.dot +share/doc/${PKGNAME}/guide.aux +share/doc/${PKGNAME}/guide.haux share/doc/${PKGNAME}/guide.html +share/doc/${PKGNAME}/guide.htoc +share/doc/${PKGNAME}/guide.idx +share/doc/${PKGNAME}/guide.ilg +share/doc/${PKGNAME}/guide.ind +share/doc/${PKGNAME}/guide.log +share/doc/${PKGNAME}/guide.out +share/doc/${PKGNAME}/guide.pdf share/doc/${PKGNAME}/guide.tex +share/doc/${PKGNAME}/guide.toc share/doc/${PKGNAME}/introduction.tex share/doc/${PKGNAME}/logo.png share/doc/${PKGNAME}/mod_http_bind.tex share/doc/${PKGNAME}/mod_http_fileserver.tex +share/doc/${PKGNAME}/release_notes_${PKGVERSION}.txt share/doc/${PKGNAME}/release_notes_0.9.1.txt share/doc/${PKGNAME}/release_notes_0.9.8.txt share/doc/${PKGNAME}/release_notes_0.9.txt @@ -186,14 +211,12 @@ share/doc/${PKGNAME}/release_notes_1.1.4.txt share/doc/${PKGNAME}/release_notes_2.0.0.txt share/doc/${PKGNAME}/release_notes_2.0.1.txt share/doc/${PKGNAME}/release_notes_2.0.2.txt +share/doc/${PKGNAME}/release_notes_2.0.3.txt +share/doc/${PKGNAME}/version.aux share/doc/${PKGNAME}/version.tex share/doc/${PKGNAME}/webadmmain.png share/doc/${PKGNAME}/webadmmainru.png share/doc/${PKGNAME}/yozhikheader.png -share/doc/${PKGNAME}/api/Makefile -share/doc/${PKGNAME}/api/process-one.css -share/doc/${PKGNAME}/api/overview.edoc -share/doc/${PKGNAME}/release_notes_${PKGVERSION}.txt share/examples/ejabberd/ejabberd.cfg share/examples/ejabberd/ejabberdctl.cfg share/examples/ejabberd/inetrc diff --git a/chat/ejabberd/distinfo b/chat/ejabberd/distinfo index 7d166e6f10c..8a8cf5d15f0 100644 --- a/chat/ejabberd/distinfo +++ b/chat/ejabberd/distinfo @@ -1,13 +1,13 @@ -$NetBSD: distinfo,v 1.4.2.1 2009/02/04 12:30:43 rtr Exp $ +$NetBSD: distinfo,v 1.4.2.2 2009/03/23 18:34:29 tron Exp $ -SHA1 (ejabberd-2.0.3.tar.gz) = ee3a503befea79378c4c8f7ce5be6151209bf474 -RMD160 (ejabberd-2.0.3.tar.gz) = e5f77715a9e74dfed5b9dbdd17ad2255d40f3d13 -Size (ejabberd-2.0.3.tar.gz) = 1089870 bytes -SHA1 (patch-aa) = 5b0c2994aad402cf13cc9531465513aad69de1e0 -SHA1 (patch-ac) = 271640b343bdc24f6609fe9c95250a91d514bc28 -SHA1 (patch-ad) = a6504e8454878c97e434040a2f9136174b994c0d +SHA1 (ejabberd-2.0.4.tar.gz) = 16516c7f9723e1ca781970d54afbf580a72c9eeb +RMD160 (ejabberd-2.0.4.tar.gz) = 05b8d1fd42724335af588bf6fa7a14e5605bf6e3 +Size (ejabberd-2.0.4.tar.gz) = 1827181 bytes +SHA1 (patch-aa) = b3cc3c7eaffeada40f322303f6b8d7ee4624f205 +SHA1 (patch-ac) = 54bf662dfeaa45bcf8443507033664d729e4b47f +SHA1 (patch-ad) = 0aa1652ec464c1c995ae81a7ea6b00d0d9e1cd0d SHA1 (patch-ae) = c1c615a1d2e28d05d069f2bafa30179437922536 SHA1 (patch-af) = 908ebaaea76de53cc22a53289d3b93189767d40c SHA1 (patch-ag) = c6620ce3018e4c01d8c9edf6242a8cb52a55395d -SHA1 (patch-ah) = 29b4440454a138908fe2c6937c65658e4cd689ba -SHA1 (patch-ai) = 4b51670e283e7facd3142601d8560821b7829505 +SHA1 (patch-ah) = 29703bddcc89df1c7b8d85cebcd3efb273b14e89 +SHA1 (patch-ai) = a764916c2c9c396bc55ed4244dc7afcd14208cd3 diff --git a/chat/ejabberd/patches/patch-aa b/chat/ejabberd/patches/patch-aa index 1684638f08e..e05a7106cd1 100644 --- a/chat/ejabberd/patches/patch-aa +++ b/chat/ejabberd/patches/patch-aa @@ -1,4 +1,4 @@ -$NetBSD: patch-aa,v 1.3 2008/11/12 13:13:59 martti Exp $ +$NetBSD: patch-aa,v 1.3.2.1 2009/03/23 18:34:29 tron Exp $ Modified for pkgsrc @@ -24,3 +24,11 @@ Modified for pkgsrc SBINDIR = $(DESTDIR)@sbindir@ ifeq ($(shell uname),Darwin) +@@ -114,7 +114,6 @@ install: all + install -m 644 *.beam $(BEAMDIR) + rm -f $(BEAMDIR)/configure.beam + install -m 644 *.app $(BEAMDIR) +- install -d -m 750 $(SPOOLDIR) + install -d $(SODIR) + install -d $(PBINDIR) + install -m 644 *.so $(SODIR) diff --git a/chat/ejabberd/patches/patch-ac b/chat/ejabberd/patches/patch-ac index cd3133507f8..c22fe190304 100644 --- a/chat/ejabberd/patches/patch-ac +++ b/chat/ejabberd/patches/patch-ac @@ -1,10 +1,10 @@ -$NetBSD: patch-ac,v 1.2.2.1 2009/02/04 12:30:43 rtr Exp $ +$NetBSD: patch-ac,v 1.2.2.2 2009/03/23 18:34:29 tron Exp $ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) ---- doc/guide.tex.orig 2009-01-14 11:54:15.000000000 +0200 -+++ doc/guide.tex 2009-02-03 13:18:32.000000000 +0200 -@@ -716,34 +716,80 @@ +--- doc/guide.tex.orig 2009-03-12 08:41:02.000000000 +0000 ++++ doc/guide.tex 2009-03-22 10:26:07.000000000 +0000 +@@ -713,34 +713,80 @@ will listen and what services will be run on them. Each element of the list is a tuple with the following elements: \begin{itemize} @@ -94,7 +94,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) This is a detailed description of each option allowed by the listening modules: \begin{description} \titem{\{access, \}} \ind{options!access}This option defines -@@ -789,12 +835,6 @@ +@@ -786,12 +832,6 @@ is also needed in the \Jabber{} client. Remark also that HTTP Polling can be interesting to host a web-based \Jabber{} client such as \footahref{http://jwchat.sourceforge.net/}{JWChat}. @@ -107,7 +107,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) \titem{\{max\_stanza\_size, Size\}} \ind{options!max\_stanza\_size}This option specifies an approximate maximum size in bytes of XML stanzas. Approximate, -@@ -842,7 +882,7 @@ +@@ -839,7 +879,7 @@ option will not affect connections (there will be no stream compression). \end{description} @@ -116,7 +116,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) \begin{description} \titem{\{s2s\_use\_starttls, true|false\}} \ind{options!s2s\_use\_starttls}\ind{STARTTLS}This option defines whether to -@@ -863,6 +903,8 @@ +@@ -860,6 +900,8 @@ Specified in seconds. The default value is 300 seconds (5 minutes). \end{description} @@ -125,7 +125,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) For example, the following simple configuration defines: \begin{itemize} \item There are three domains. The default certificate file is \term{server.pem}. -@@ -870,10 +912,10 @@ +@@ -867,10 +909,10 @@ \item Port 5222 listens for c2s connections with STARTTLS, and also allows plain connections for old clients. \item Port 5223 listens for c2s connections with the old SSL. @@ -138,7 +138,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) \end{itemize} \begin{verbatim} {hosts, ["example.com", "example.org", "example.net"]}. -@@ -882,50 +924,52 @@ +@@ -879,50 +921,52 @@ {5222, ejabberd_c2s, [ {access, c2s}, {shaper, c2s_shaper}, @@ -209,7 +209,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) \item \ind{transports!ICQ}The ICQ transport JIT (\jid{icq.example.org} and \jid{sms.example.org}) is connected to port 5234 with password `\term{jitsecret}'. -@@ -953,13 +997,32 @@ +@@ -950,13 +994,32 @@ {access, c2s_shaper, [{none, admin}, {normal, all}]}. {listen, @@ -248,7 +248,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) {5234, ejabberd_service, [{hosts, ["icq.example.org", "sms.example.org"], [{password, "jitsecret"}]}]}, {5235, ejabberd_service, [{hosts, ["msn.example.org"], -@@ -3745,7 +3808,7 @@ +@@ -3737,7 +3800,7 @@ \item For security reasons, you can serve the Web Admin on a secured connection, on a port differing from the HTTP Polling interface, and bind it to the internal LAN IP. The Web Admin will be accessible by pointing your @@ -257,7 +257,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) \begin{verbatim} {hosts, ["example.org"]}. -@@ -3753,9 +3816,13 @@ +@@ -3745,9 +3808,13 @@ {listen, [ ... diff --git a/chat/ejabberd/patches/patch-ad b/chat/ejabberd/patches/patch-ad index 86ca71bf880..fb3b83050a0 100644 --- a/chat/ejabberd/patches/patch-ad +++ b/chat/ejabberd/patches/patch-ad @@ -1,10 +1,10 @@ -$NetBSD: patch-ad,v 1.2 2008/11/12 13:13:59 martti Exp $ +$NetBSD: patch-ad,v 1.2.2.1 2009/03/23 18:34:29 tron Exp $ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) ---- src/ejabberd.cfg.example.orig 2008-11-12 15:15:04.000000000 +0200 -+++ src/ejabberd.cfg.example -@@ -107,10 +107,9 @@ +--- src/ejabberd.cfg.example.orig 2009-03-12 08:41:02.000000000 +0000 ++++ src/ejabberd.cfg.example 2009-03-22 10:27:16.000000000 +0000 +@@ -108,10 +108,9 @@ [ {5222, ejabberd_c2s, [ @@ -16,7 +16,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) %% file and uncomment this line: %% %%{certfile, "/path/to/ssl.pem"}, starttls, -@@ -123,12 +122,12 @@ +@@ -124,12 +123,12 @@ %% %% To enable the old SSL connection method in port 5223: %% @@ -35,7 +35,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) {5269, ejabberd_s2s_in, [ {shaper, s2s_shaper}, -@@ -138,14 +137,14 @@ +@@ -139,14 +138,14 @@ %% %% ejabberd_service: Interact with external components (transports...) %% @@ -58,7 +58,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) {5280, ejabberd_http, [ http_poll, -@@ -224,17 +223,26 @@ +@@ -225,17 +224,26 @@ %% List of LDAP servers: %%{ldap_servers, ["localhost"]}. %% diff --git a/chat/ejabberd/patches/patch-ah b/chat/ejabberd/patches/patch-ah index 0c65d98a116..112c1a2cc1f 100644 --- a/chat/ejabberd/patches/patch-ah +++ b/chat/ejabberd/patches/patch-ah @@ -1,9 +1,9 @@ -$NetBSD: patch-ah,v 1.1 2008/11/12 13:13:59 martti Exp $ +$NetBSD: patch-ah,v 1.1.2.1 2009/03/23 18:34:29 tron Exp $ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) ---- src/mod_proxy65/mod_proxy65_service.erl.orig 2008-08-27 12:37:52.000000000 +0300 -+++ src/mod_proxy65/mod_proxy65_service.erl +--- src/mod_proxy65/mod_proxy65_service.erl.orig 2009-03-12 08:41:02.000000000 +0000 ++++ src/mod_proxy65/mod_proxy65_service.erl 2009-03-22 10:27:50.000000000 +0000 @@ -52,6 +52,7 @@ name, stream_addr, @@ -12,7 +12,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) acl }). -@@ -69,14 +70,14 @@ start_link(Host, Opts) -> +@@ -69,14 +70,14 @@ gen_server:start_link({local, Proc}, ?MODULE, [Host, Opts], []). init([Host, Opts]) -> @@ -32,8 +32,8 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) ejabberd_router:unregister_route(MyHost), ok. -@@ -203,12 +204,13 @@ parse_options(ServerHost, Opts) -> - end, +@@ -202,12 +203,13 @@ + end, StrIP = inet_parse:ntoa(IP), StreamAddr = [{"jid", MyHost}, {"host", StrIP}, {"port", integer_to_list(Port)}], - {IP, #state{myhost = MyHost, @@ -46,5 +46,5 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) - acl = ACL}}. + acl = ACL}. - %% Return the IP of the proxy host, or if not found, the ip of the xmpp domain - get_proxy_or_domainip(ServerHost, MyHost) -> + get_my_ip() -> + {ok, MyHostName} = inet:gethostname(), diff --git a/chat/ejabberd/patches/patch-ai b/chat/ejabberd/patches/patch-ai index b3ae478b4aa..ea2dc8aaf25 100644 --- a/chat/ejabberd/patches/patch-ai +++ b/chat/ejabberd/patches/patch-ai @@ -1,10 +1,10 @@ -$NetBSD: patch-ai,v 1.1 2008/11/12 13:13:59 martti Exp $ +$NetBSD: patch-ai,v 1.1.2.1 2009/03/23 18:34:29 tron Exp $ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) ---- src/web/ejabberd_web_admin.erl.orig 2008-08-27 12:37:52.000000000 +0300 -+++ src/web/ejabberd_web_admin.erl -@@ -1806,15 +1806,21 @@ get_node(global, Node, ["ports"], Query, +--- src/web/ejabberd_web_admin.erl.orig 2009-03-12 08:41:02.000000000 +0000 ++++ src/web/ejabberd_web_admin.erl 2009-03-22 10:28:12.000000000 +0000 +@@ -1805,15 +1805,21 @@ ok; {'EXIT', _Reason} -> error; @@ -26,7 +26,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) nothing -> [] end ++ [?XAE("form", [{"action", ""}, {"method", "post"}], -@@ -2052,58 +2058,76 @@ node_ports_to_xhtml(Ports, Lang) -> +@@ -2051,58 +2057,76 @@ [?XE("thead", [?XE("tr", [?XCT("td", "Port"), @@ -124,7 +124,7 @@ Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389) throw(submitted); _ -> ok -@@ -2113,17 +2137,28 @@ node_ports_parse_query(Node, Ports, Quer +@@ -2112,17 +2136,28 @@ case lists:keysearch("addnew", 1, Query) of {value, _} -> {{value, {_, SPort}}, -- cgit v1.2.3