Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK)) by mollari.NetBSD.org (Postfix) with ESMTPS id 0EEED7A296 for ; Wed, 18 Jan 2017 09:54:53 +0000 (UTC) Received: by mail.netbsd.org (Postfix, from userid 605) id B5550856CA; Wed, 18 Jan 2017 09:54:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 45044856C5 for ; Wed, 18 Jan 2017 09:54:52 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id mTH8_XkmH1sN for ; Wed, 18 Jan 2017 09:54:51 +0000 (UTC) Received: from cvs.NetBSD.org (unknown [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 88AC88565F for ; Wed, 18 Jan 2017 09:54:51 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 7F374FBA6; Wed, 18 Jan 2017 09:54:51 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1484733291232050" MIME-Version: 1.0 Date: Wed, 18 Jan 2017 09:54:51 +0000 From: "Havard Eidnes" Subject: CVS commit: pkgsrc/comms/conserver8 To: pkgsrc-changes@NetBSD.org Reply-To: he@netbsd.org X-Mailer: log_accum Message-Id: <20170118095451.7F374FBA6@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk This is a multi-part message in MIME format. --_----------=_1484733291232050 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" 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. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 pkgsrc/comms/conserver8/Makefile cvs rdiff -u -r1.10 -r1.11 pkgsrc/comms/conserver8/distinfo cvs rdiff -u -r1.2 -r1.3 pkgsrc/comms/conserver8/patches/patch-aa cvs rdiff -u -r1.1 -r1.2 pkgsrc/comms/conserver8/patches/patch-ab cvs rdiff -u -r0 -r1.1 \ pkgsrc/comms/conserver8/patches/patch-conserver_access.c \ pkgsrc/comms/conserver8/patches/patch-conserver_consent.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1484733291232050 Content-Disposition: inline Content-Length: 6480 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/comms/conserver8/Makefile diff -u pkgsrc/comms/conserver8/Makefile:1.21 pkgsrc/comms/conserver8/Makefile:1.22 --- pkgsrc/comms/conserver8/Makefile:1.21 Mon Jun 20 15:25:39 2016 +++ pkgsrc/comms/conserver8/Makefile Wed Jan 18 09:54:51 2017 @@ -1,14 +1,14 @@ -# $NetBSD: Makefile,v 1.21 2016/06/20 15:25:39 schnoebe Exp $ +# $NetBSD: Makefile,v 1.22 2017/01/18 09:54:51 he Exp $ # PKGVER= 8.2.1 -PKGREVISION= 2 +PKGREVISION= 3 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) Index: pkgsrc/comms/conserver8/distinfo diff -u pkgsrc/comms/conserver8/distinfo:1.10 pkgsrc/comms/conserver8/distinfo:1.11 --- pkgsrc/comms/conserver8/distinfo:1.10 Sun Mar 13 18:31:11 2016 +++ pkgsrc/comms/conserver8/distinfo Wed Jan 18 09:54:51 2017 @@ -1,9 +1,11 @@ -$NetBSD: distinfo,v 1.10 2016/03/13 18:31:11 schnoebe Exp $ +$NetBSD: distinfo,v 1.11 2017/01/18 09:54:51 he 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 Index: pkgsrc/comms/conserver8/patches/patch-aa diff -u pkgsrc/comms/conserver8/patches/patch-aa:1.2 pkgsrc/comms/conserver8/patches/patch-aa:1.3 --- pkgsrc/comms/conserver8/patches/patch-aa:1.2 Thu May 11 21:42:43 2006 +++ pkgsrc/comms/conserver8/patches/patch-aa Wed Jan 18 09:54:51 2017 @@ -1,4 +1,6 @@ -$NetBSD: patch-aa,v 1.2 2006/05/11 21:42:43 seb Exp $ +$NetBSD: patch-aa,v 1.3 2017/01/18 09:54:51 he 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 Index: pkgsrc/comms/conserver8/patches/patch-ab diff -u pkgsrc/comms/conserver8/patches/patch-ab:1.1 pkgsrc/comms/conserver8/patches/patch-ab:1.2 --- pkgsrc/comms/conserver8/patches/patch-ab:1.1 Fri Aug 12 14:39:06 2005 +++ pkgsrc/comms/conserver8/patches/patch-ab Wed Jan 18 09:54:51 2017 @@ -1,4 +1,6 @@ -$NetBSD: patch-ab,v 1.1 2005/08/12 14:39:06 he Exp $ +$NetBSD: patch-ab,v 1.2 2017/01/18 09:54:51 he 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 Added files: Index: pkgsrc/comms/conserver8/patches/patch-conserver_access.c diff -u /dev/null pkgsrc/comms/conserver8/patches/patch-conserver_access.c:1.1 --- /dev/null Wed Jan 18 09:54:51 2017 +++ pkgsrc/comms/conserver8/patches/patch-conserver_access.c Wed Jan 18 09:54:51 2017 @@ -0,0 +1,14 @@ +$NetBSD: patch-conserver_access.c,v 1.1 2017/01/18 09:54:51 he 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); Index: pkgsrc/comms/conserver8/patches/patch-conserver_consent.c diff -u /dev/null pkgsrc/comms/conserver8/patches/patch-conserver_consent.c:1.1 --- /dev/null Wed Jan 18 09:54:51 2017 +++ pkgsrc/comms/conserver8/patches/patch-conserver_consent.c Wed Jan 18 09:54:51 2017 @@ -0,0 +1,72 @@ +$NetBSD: patch-conserver_consent.c,v 1.1 2017/01/18 09:54:51 he 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 --_----------=_1484733291232050--