diff options
author | bsiegert <bsiegert@pkgsrc.org> | 2017-02-15 19:39:10 +0000 |
---|---|---|
committer | bsiegert <bsiegert@pkgsrc.org> | 2017-02-15 19:39:10 +0000 |
commit | ea5ea60ab15e541857cf2fa3ea3e747e00462cb8 (patch) | |
tree | cfd714941cf947d94759544da0500a93c0c003d8 | |
parent | 04b2a97881e2b28eb62042a1c62538ac919c1ad5 (diff) | |
download | pkgsrc-ea5ea60ab15e541857cf2fa3ea3e747e00462cb8.tar.gz |
Pullup ticket #5212 - requested by he
comms/conserver8: bugfix
Revisions pulled up:
- comms/conserver8/Makefile 1.22-1.24
- comms/conserver8/distinfo 1.11
- comms/conserver8/options.mk 1.5
- comms/conserver8/patches/patch-aa 1.3
- comms/conserver8/patches/patch-ab 1.2
- comms/conserver8/patches/patch-conserver_access.c 1.1
- comms/conserver8/patches/patch-conserver_consent.c 1.1
---
Module Name: pkgsrc
Committed By: he
Date: Wed Jan 18 09:54:51 UTC 2017
Modified Files:
pkgsrc/comms/conserver8: Makefile distinfo
pkgsrc/comms/conserver8/patches: patch-aa patch-ab
Added Files:
pkgsrc/comms/conserver8/patches: patch-conserver_access.c
patch-conserver_consent.c
Log Message:
Add two patches so that this at least semi-works when the inet6
option is used:
* Use correct sockaddr length when doing getnameinfo() for inet6,
so we avoid an early return with "permanent failure" from getnameinfo()
* Use temp variables for walking the address lists so that we avoid trying
freeaddrinfo(NULL) and getting SEGV
This still isn't fully baked and backward compatible: with the
inet6 option turned on, on NetBSD the conserver process only opens
an inet6 server socket and no longer serves an inet socket (a
Linuxism, I suspect), making it troublesome to interoperate with
older versions of conserver or installations on hosts without IPv6
connectivity.
PKGREVISION bumped.
---
Module Name: pkgsrc
Committed By: he
Date: Fri Feb 10 10:35:06 UTC 2017
Modified Files:
pkgsrc/comms/conserver8: Makefile options.mk
Log Message:
Don't enable the inet6 option on the various BSDs, since their stack
require separate inet6 and inet sockets, and conserver as of 8.2.1
doesn't do that.
Bump PKGREVISION.
---
Module Name: pkgsrc
Committed By: he
Date: Fri Feb 10 10:38:42 UTC 2017
Modified Files:
pkgsrc/comms/conserver8: Makefile
Log Message:
Um, need bsd.prefs.mk before testing ${OPSYS}.
-rw-r--r-- | comms/conserver8/Makefile | 11 | ||||
-rw-r--r-- | comms/conserver8/distinfo | 8 | ||||
-rw-r--r-- | comms/conserver8/options.mk | 10 | ||||
-rw-r--r-- | comms/conserver8/patches/patch-aa | 4 | ||||
-rw-r--r-- | comms/conserver8/patches/patch-ab | 4 | ||||
-rw-r--r-- | comms/conserver8/patches/patch-conserver_access.c | 14 | ||||
-rw-r--r-- | comms/conserver8/patches/patch-conserver_consent.c | 72 |
7 files changed, 111 insertions, 12 deletions
diff --git a/comms/conserver8/Makefile b/comms/conserver8/Makefile index 612398f9772..2a84bf63802 100644 --- a/comms/conserver8/Makefile +++ b/comms/conserver8/Makefile @@ -1,14 +1,14 @@ -# $NetBSD: Makefile,v 1.21 2016/06/20 15:25:39 schnoebe Exp $ +# $NetBSD: Makefile,v 1.21.6.1 2017/02/15 19:39:10 bsiegert Exp $ # PKGVER= 8.2.1 -PKGREVISION= 2 +PKGREVISION= 4 DISTNAME= conserver-${PKGVER} PKGNAME= conserver8-${PKGVER} CATEGORIES= comms MASTER_SITES= http://www.conserver.com/ -MAINTAINER= pkgsrc-users@netbsd.org +MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://www.conserver.com/ COMMENT= Application that allows multiple users to watch serial consoles #LICENSE= # modified-bsd and more (see LICENSE file) @@ -25,10 +25,11 @@ CONFIGURE_ARGS+= --with-port=${CONSERVER_DEFAULTPORT:Q} CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers} CONFIGURE_ARGS+= --with-logfile=${VARBASE:Q}/log/conserver -.include "options.mk" - BUILD_DEFS+= CONSERVER_DEFAULTPORT CONSERVER_DEFAULTHOST VARBASE +.include "../../mk/bsd.prefs.mk" +.include "options.mk" + RCD_SCRIPTS= conserver8 TEST_TARGET= test diff --git a/comms/conserver8/distinfo b/comms/conserver8/distinfo index 823fd5cef57..f70e1627480 100644 --- a/comms/conserver8/distinfo +++ b/comms/conserver8/distinfo @@ -1,9 +1,11 @@ -$NetBSD: distinfo,v 1.10 2016/03/13 18:31:11 schnoebe Exp $ +$NetBSD: distinfo,v 1.10.8.1 2017/02/15 19:39:10 bsiegert Exp $ SHA1 (conserver-8.2.1.tar.gz) = 357eea46c0189280b0ab66776b01ce3ba02f1847 RMD160 (conserver-8.2.1.tar.gz) = 39f08facffc9b462c8257fa21c24785eb1e2bb5a SHA512 (conserver-8.2.1.tar.gz) = caf519b8295fc142cf1cb5b141854aede07b3613653f417e9c3ebee75b30a12fa785c248806758f60afbc155cc048418635d514a9848e0fa06992f1e4f930fb6 Size (conserver-8.2.1.tar.gz) = 335241 bytes -SHA1 (patch-aa) = d0eebea0d126c611f6f60035730a0c2f97280b01 -SHA1 (patch-ab) = 7a507e428277cc6ccf14b961c44d4e6fd3abcde3 +SHA1 (patch-aa) = e7dea78d62c4e879c0741b0c9992811410737178 +SHA1 (patch-ab) = ec5b849cad7662a3e14a834d63840a306e89bdf2 +SHA1 (patch-conserver_access.c) = a7956022bbdbbf2dc97ee474e8815d48d6adfadd +SHA1 (patch-conserver_consent.c) = aa868cdacfe8a8e294ba8dcf74e2460ddf34ef3a SHA1 (patch-conserver_readcfg.c) = c39e1d50829658cb77e4c943e631da4b3cdd31ee diff --git a/comms/conserver8/options.mk b/comms/conserver8/options.mk index 1a8400b4dad..cfa256bef2e 100644 --- a/comms/conserver8/options.mk +++ b/comms/conserver8/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.4 2016/06/20 15:25:39 schnoebe Exp $ +# $NetBSD: options.mk,v 1.4.6.1 2017/02/15 19:39:10 bsiegert Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.conserver8 @@ -7,7 +7,13 @@ PKG_OPTIONS_GROUP.connectivity=inet6 uds PKG_SUPPORTED_OPTIONS= pam ssl -PKG_SUGGESTED_OPTIONS= ssl inet6 +PKG_SUGGESTED_OPTIONS= ssl + +# The BSDs require separate inet6 & inet sockets, +# and conserver8 doesn't have code to do that as of 8.2.1 +.if ${OPSYS} != "NetBSD" && ${OPSYS} != "FreeBSD" && ${OPSYS} != "OpenBSD" && ${OPSYS} != "DragonFly" +PKG_SUGGESTED_OPTIONS+= inet6 +.endif .include "../../mk/bsd.options.mk" diff --git a/comms/conserver8/patches/patch-aa b/comms/conserver8/patches/patch-aa index 20cc8aba19d..d8f99846be9 100644 --- a/comms/conserver8/patches/patch-aa +++ b/comms/conserver8/patches/patch-aa @@ -1,4 +1,6 @@ -$NetBSD: patch-aa,v 1.2 2006/05/11 21:42:43 seb Exp $ +$NetBSD: patch-aa,v 1.2.90.1 2017/02/15 19:39:10 bsiegert Exp $ + +Reduce verbosity. --- conserver/main.c.orig 2006-04-03 09:32:08.000000000 -0400 +++ conserver/main.c 2006-05-07 22:24:26.000000000 -0400 diff --git a/comms/conserver8/patches/patch-ab b/comms/conserver8/patches/patch-ab index 2a249b2151f..c4ab59bba9f 100644 --- a/comms/conserver8/patches/patch-ab +++ b/comms/conserver8/patches/patch-ab @@ -1,4 +1,6 @@ -$NetBSD: patch-ab,v 1.1 2005/08/12 14:39:06 he Exp $ +$NetBSD: patch-ab,v 1.1.96.1 2017/02/15 19:39:10 bsiegert Exp $ + +Document that escape sequence converts to "telnet break" when using telnet. --- conserver.cf/conserver.cf.man.orig 2004-11-06 01:20:30.000000000 +0100 +++ conserver.cf/conserver.cf.man diff --git a/comms/conserver8/patches/patch-conserver_access.c b/comms/conserver8/patches/patch-conserver_access.c new file mode 100644 index 00000000000..d137ad5be3a --- /dev/null +++ b/comms/conserver8/patches/patch-conserver_access.c @@ -0,0 +1,14 @@ +$NetBSD: patch-conserver_access.c,v 1.1.2.2 2017/02/15 19:39:10 bsiegert Exp $ + +Make sure to use correct sockaddr length when doing getnameinfo(). + +--- conserver/access.c.orig 2017-01-18 09:20:03.000000000 +0000 ++++ conserver/access.c +@@ -150,6 +150,7 @@ AccType(INADDR_STYPE *addr, char **peern + so = sizeof(*addr); + + #if USE_IPV6 ++ so = sizeof(struct sockaddr_in6); + error = + getnameinfo((struct sockaddr *)addr, so, ipaddr, sizeof(ipaddr), + NULL, 0, NI_NUMERICHOST); diff --git a/comms/conserver8/patches/patch-conserver_consent.c b/comms/conserver8/patches/patch-conserver_consent.c new file mode 100644 index 00000000000..572ef9c77b9 --- /dev/null +++ b/comms/conserver8/patches/patch-conserver_consent.c @@ -0,0 +1,72 @@ +$NetBSD: patch-conserver_consent.c,v 1.1.2.2 2017/02/15 19:39:10 bsiegert Exp $ + +Print strerror() on failure. +Use scratch variables for walking address info list, so that +we don't end up trying to freeaddrinfo(NULL). + +--- conserver/consent.c.orig 2015-06-02 17:17:45.000000000 +0000 ++++ conserver/consent.c +@@ -919,13 +919,16 @@ ConsInit(CONSENT *pCE) + rp->ai_addrlen)) == 0) + goto success; + fail: ++ error = errno; + close(cofile); ++ } else { ++ error = errno; + } + rp = rp->ai_next; + } + +- Error("[%s]: Unable to connect to %s:%s", pCE->server, +- host, serv); ++ Error("[%s]: Unable to connect to %s:%s %s", pCE->server, ++ host, serv, strerror(error)); + ConsDown(pCE, FLAGTRUE, FLAGTRUE); + return; + success: +@@ -1252,7 +1255,7 @@ AddrsMatch(char *addr1, char *addr2) + { + #if USE_IPV6 + int error, ret = 0; +- struct addrinfo *ai1, *ai2, hints; ++ struct addrinfo *ai1, *aip1, *ai2, *aip2, hints; + #else + /* so, since we might use inet_addr, we're going to use + * (in_addr_t)(-1) as a sign of an invalid ip address. +@@ -1290,17 +1293,17 @@ AddrsMatch(char *addr1, char *addr2) + goto done; + } + +- for (; ai1 != NULL; ai1 = ai1->ai_next) { +- for (; ai2 != NULL; ai2 = ai2->ai_next) { +- if (ai1->ai_addr->sa_family != ai2->ai_addr->sa_family) ++ for (aip1 = ai1; aip1 != NULL; aip1 = aip1->ai_next) { ++ for (aip2 = ai2; aip2 != NULL; aip2 = aip2->ai_next) { ++ if (aip1->ai_addr->sa_family != aip2->ai_addr->sa_family) + continue; + + if ( + # if HAVE_MEMCMP +- memcmp(&ai1->ai_addr, &ai2->ai_addr, ++ memcmp(&aip1->ai_addr, &aip2->ai_addr, + sizeof(struct sockaddr_storage)) + # else +- bcmp(&ai1->ai_addr, &ai2->ai_addr, ++ bcmp(&aip1->ai_addr, &aip2->ai_addr, + sizeof(struct sockaddr_storage)) + # endif + == 0) { +@@ -1311,8 +1314,10 @@ AddrsMatch(char *addr1, char *addr2) + } + + done: +- freeaddrinfo(ai1); +- freeaddrinfo(ai2); ++ if (ai1) ++ freeaddrinfo(ai1); ++ if (ai2) ++ freeaddrinfo(ai2); + Msg("compare %s and %s returns %d", addr1, addr2, ret); + return ret; + #else |