From owner-dev-commits-ports-main@freebsd.org Mon Sep 20 14:08:09 2021 Return-Path: Delivered-To: dev-commits-ports-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC93667F169; Mon, 20 Sep 2021 14:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HCmc94H4Jz4pdK; Mon, 20 Sep 2021 14:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 72D5D11F71; Mon, 20 Sep 2021 14:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 18KE89g4014141; Mon, 20 Sep 2021 14:08:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 18KE89Li014140; Mon, 20 Sep 2021 14:08:09 GMT (envelope-from git) Date: Mon, 20 Sep 2021 14:08:09 GMT Message-Id: <202109201408.18KE89Li014140@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dirk Meyer Subject: git: cd8a6ef59252 - main - net/tinyfugue: fix IPv6 on 64bit MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dinoex X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd8a6ef59252f3c2b2ffb30fe83d49942efc8122 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the main branch of the FreeBSD ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Sep 2021 14:08:09 -0000 The branch main has been updated by dinoex: URL: https://cgit.FreeBSD.org/ports/commit/?id=cd8a6ef59252f3c2b2ffb30fe83d49942efc8122 commit cd8a6ef59252f3c2b2ffb30fe83d49942efc8122 Author: Dirk Meyer AuthorDate: 2021-09-20 14:07:19 +0000 Commit: Dirk Meyer CommitDate: 2021-09-20 14:08:04 +0000 net/tinyfugue: fix IPv6 on 64bit --- net/tinyfugue/Makefile | 2 +- net/tinyfugue/files/patch-output.c | 10 +++++++++ net/tinyfugue/files/patch-socket.c | 45 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/net/tinyfugue/Makefile b/net/tinyfugue/Makefile index eeb3126a96b4..e081340fc9ae 100644 --- a/net/tinyfugue/Makefile +++ b/net/tinyfugue/Makefile @@ -2,7 +2,7 @@ PORTNAME= tf PORTVERSION= 5.0b8 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= net games MASTER_SITES= SF/tinyfugue/tinyfugue/5.0%20beta%208 DISTNAME= ${PORTNAME}-${PORTVERSION:S/.//} diff --git a/net/tinyfugue/files/patch-output.c b/net/tinyfugue/files/patch-output.c new file mode 100644 index 000000000000..29cd3c6b45e2 --- /dev/null +++ b/net/tinyfugue/files/patch-output.c @@ -0,0 +1,10 @@ +--- src/output.c.orig 2007-01-14 00:44:19 UTC ++++ src/output.c +@@ -2270,6 +2270,7 @@ static void ioutall(int kpos) + iendx = -kpos + 1; + kpos = 0; + } ++ if (keybuf->data == 0) return; + if (sockecho()) + ioutputs(keybuf->data + kpos, keybuf->len - kpos); + } diff --git a/net/tinyfugue/files/patch-socket.c b/net/tinyfugue/files/patch-socket.c new file mode 100644 index 000000000000..3fb940efdbfa --- /dev/null +++ b/net/tinyfugue/files/patch-socket.c @@ -0,0 +1,45 @@ +--- src/socket.c.orig 2007-01-13 23:12:39 UTC ++++ src/socket.c +@@ -494,6 +494,8 @@ do { \ + do_hook(H_DISCONNECT, "%% Connection to %s closed: %s: %s", "%s %s: %s", \ + where, what, why) + ++#define ROUND_UP_LENGTH(len) ((len + 7) & -8) ++ + #if HAVE_SSL + static void ssl_err(const char *str) + { +@@ -1478,8 +1480,8 @@ static int openconn(Sock *sock) + for (ai = xsock->addrs; ai; ai = ai->ai_next) { + ai->ai_addr = (struct sockaddr*)((char*)ai + sizeof(*ai)); + if (ai->ai_next != 0) { +- ai->ai_next = +- (struct addrinfo*)((char*)ai->ai_addr + ai->ai_addrlen); ++ ai->ai_next = ++ (struct addrinfo*)((char*)ai->ai_addr + ROUND_UP_LENGTH(ai->ai_addrlen)); + } + } + xsock->addr = xsock->addrs; +@@ -1783,13 +1785,21 @@ static void waitforhostname(int fd, const char *name, + iov[0].iov_len = sizeof(hdr); + niov = 1; + for (ai = res; ai && niov < NIOV; ai = ai->ai_next) { +- hdr.size += sizeof(*ai) + ai->ai_addrlen; ++ static const char zeros[ 8 ] = { 0, 0, 0, 0, 0, 0, 0, 0 }; ++ size_t padded = ROUND_UP_LENGTH(ai->ai_addrlen); ++ hdr.size += sizeof(*ai) + padded; + iov[niov].iov_base = (char*)ai; + iov[niov].iov_len = sizeof(*ai); + niov++; + iov[niov].iov_base = (char*)ai->ai_addr; + iov[niov].iov_len = ai->ai_addrlen; + niov++; ++ if (padded != ai->ai_addrlen) { ++ /* padding */ ++ iov[niov].iov_base = (char*)zeros; ++ iov[niov].iov_len = padded - ai->ai_addrlen; ++ niov++; ++ } + } + writev(fd, iov, niov); + if (res) freeaddrinfo(res);