Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 08 Feb 2026 00:18:22 +0000
From:      Vladimir Druzenko <vvd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: e0aed1875d26 - main - net/freerdp3: 3.21.0 => 3.22.0
Message-ID:  <6987d64e.27d9e.2ec8ccb8@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e0aed1875d26d554f2796741b3e9456dea90ddee

commit e0aed1875d26d554f2796741b3e9456dea90ddee
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-02-07 23:26:30 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-02-08 00:18:15 +0000

    net/freerdp3: 3.21.0 => 3.22.0
    
    Changelog:
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.22.0
    
    While here cleanup port.
    
    Security:       CVE-2026-23948
    Security:       CVE-2026-24682
    Security:       CVE-2026-24683
    Security:       CVE-2026-24676
    Security:       CVE-2026-24677
    Security:       CVE-2026-24678
    Security:       CVE-2026-24684
    Security:       CVE-2026-24679
    Security:       CVE-2026-24681
    Security:       CVE-2026-24675
    Security:       CVE-2026-24491
    Security:       CVE-2026-24680
    MFH:            2026Q1
---
 net/freerdp3/Makefile                              |  21 +--
 net/freerdp3/distinfo                              |  16 +-
 net/freerdp3/files/mntent.h                        |  62 --------
 net/freerdp3/files/mntent_compat.c                 | 173 ---------------------
 .../patch-channels_rdpdr_client_CMakeLists.txt     |  10 --
 5 files changed, 25 insertions(+), 257 deletions(-)

diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
index d3599268b225..b2f053d672dd 100644
--- a/net/freerdp3/Makefile
+++ b/net/freerdp3/Makefile
@@ -1,10 +1,17 @@
 PORTNAME=	freerdp
-DISTVERSION=	3.21.0
+DISTVERSION=	3.22.0
 CATEGORIES=	net comms
-MASTER_SITES+=	https://pub.freerdp.com/releases/:freerdp \
+MASTER_SITES=	https://pub.freerdp.com/releases/:freerdp \
 		https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/:freerdp
 PKGNAMESUFFIX=	3
-DISTFILES+=	${DISTNAME}${EXTRACT_SUFX}:freerdp
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:freerdp
+
+PATCH_SITES=	https://github.com/FreeRDP/FreeRDP/commit/
+PATCHFILES=	df87645e4977a9d3943828fec5fc0ba54ed57222.patch:-p1 \
+		031597d172245198ff0ab7640d43eab1f1bc6863.patch:-p1 \
+		c3c6e694e7ad3f461015c8bbef82d0ad5fe2770e.patch:-p1 \
+		1825fa82142ac12214217020151032f7c25fc7f5.patch:-p1 \
+		5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e.patch:-p1
 
 MAINTAINER=	vvd@FreeBSD.org
 COMMENT=	Free implementation of Remote Desktop Protocol
@@ -39,8 +46,8 @@ CMAKE_OFF=	CHANNEL_TSMF WITH_DSP_EXPERIMENTAL WITH_FUSE WITH_GPROF \
 		WITH_SERVER WITH_SERVER_CHANNELS WITH_SERVER_INTERFACE \
 		WITH_SMARTCARD_INSPECT WITH_THIRD_PARTY WITH_VALGRIND_MEMCHECK
 
-PLIST_SUB+=	PATCHVERSION="${DISTVERSION}"
-PLIST_SUB+=	MAJORVERSION="${DISTVERSION:R:R}"
+PLIST_SUB=	PATCHVERSION="${DISTVERSION}" \
+		MAJORVERSION="${DISTVERSION:R:R}"
 
 OPTIONS_DEFINE=			ALSA BROKENFOCUS CUPS FAAC FAAD FDKAAC FFMPEG \
 				GSM ICU JPEG LAME MANPAGES OPENH264 OPUS PCSC \
@@ -251,8 +258,4 @@ post-patch:
 		${WRKSRC}/cmake/FindGSM.cmake \
 		${WRKSRC}/libfreerdp/codec/dsp.c
 
-pre-configure:
-	${CP} ${FILESDIR}/mntent.h ${WRKSRC}/winpr/include
-	${CP} ${FILESDIR}/mntent_compat.c ${WRKSRC}/channels/rdpdr/client
-
 .include <bsd.port.mk>
diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo
index 3f38c668846b..9c42258d7ff2 100644
--- a/net/freerdp3/distinfo
+++ b/net/freerdp3/distinfo
@@ -1,5 +1,15 @@
-TIMESTAMP = 1768888888
-SHA256 (freerdp-3.21.0.tar.gz) = ec1409ce88020eeebc54e20cc0766cbe7d2e2f4bd382c7061c86f89231a9f44d
-SIZE (freerdp-3.21.0.tar.gz) = 11379178
+TIMESTAMP = 1770500000
+SHA256 (freerdp-3.22.0.tar.gz) = 656670f3aac2c995cb4b1ba181549cc122cc9c95ec31be68a582c1182f474376
+SIZE (freerdp-3.22.0.tar.gz) = 11387311
 SHA256 (akallabeth-webview-2a0a130_GH0.tar.gz) = 22448da4658b73cc20e6944d9a351ab6c40d1a50026997f8278f63713f5f7c07
 SIZE (akallabeth-webview-2a0a130_GH0.tar.gz) = 185888
+SHA256 (df87645e4977a9d3943828fec5fc0ba54ed57222.patch) = 287f05dabc29a9eeb64877d44b008a68c99b8d8cd41418b32473542cd458714f
+SIZE (df87645e4977a9d3943828fec5fc0ba54ed57222.patch) = 33425
+SHA256 (031597d172245198ff0ab7640d43eab1f1bc6863.patch) = e657976512122245da32ae567ab0e34fd28fced1dea106ef27fd0fb741f2f301
+SIZE (031597d172245198ff0ab7640d43eab1f1bc6863.patch) = 984
+SHA256 (c3c6e694e7ad3f461015c8bbef82d0ad5fe2770e.patch) = 225f4d6874c8230552ccc27ee914c3c913ab0b71e6e7288ad38574370a76b6b0
+SIZE (c3c6e694e7ad3f461015c8bbef82d0ad5fe2770e.patch) = 6175
+SHA256 (1825fa82142ac12214217020151032f7c25fc7f5.patch) = 230a9af2ca42667f96e13bdcfc5abd9da15e5aabdc2f711c5c1ee7fbf65549d5
+SIZE (1825fa82142ac12214217020151032f7c25fc7f5.patch) = 5023
+SHA256 (5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e.patch) = 67e030f2e81885c11710d3a4e3bdf7d2d9b3487a812e3ff3431f06f9894d33c4
+SIZE (5c7aae27d0417b42b4806c2a5c583ca39dd9ef1e.patch) = 4396
diff --git a/net/freerdp3/files/mntent.h b/net/freerdp3/files/mntent.h
deleted file mode 100644
index e61cddd89c82..000000000000
--- a/net/freerdp3/files/mntent.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *  mntent
- *  mntent.h - compatability header for FreeBSD
- *
- *  Copyright (c) 2001 David Rufino <daverufino@btinternet.com>
- *  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(HAVE_MNTENT_H)
-#include <mntent.h>
-#else
-#ifndef _MNTENT_H
-#define _MNTENT_H
-#include <stdio.h>
-
-#define MOUNTED "dummy"
-
-#define MNTTYPE_NFS "nfs"
-
-struct mntent {
-	char *mnt_fsname;
-	char *mnt_dir;
-	char *mnt_type;
-	char *mnt_opts;
-	int mnt_freq;
-	int mnt_passno;
-};
-
-#define setmntent(x,y) ((FILE *)0x1)
-#ifdef __cplusplus
-extern "C" {
-#endif
-struct mntent *getmntent __P ((FILE *fp));
-char *hasmntopt __P ((const struct mntent *mnt, const char *option));
-#ifdef __cplusplus
-}; // extern "C"
-#endif
-#define endmntent(x) ((int)1)
-
-#endif /* _MNTENT_H */
-#endif /* HAVE_MNTENT_H */
diff --git a/net/freerdp3/files/mntent_compat.c b/net/freerdp3/files/mntent_compat.c
deleted file mode 100644
index 2c1eec3c3977..000000000000
--- a/net/freerdp3/files/mntent_compat.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1980, 1989, 1993, 1994
- *      The Regents of the University of California.  All rights reserved.
- * Copyright (c) 2001
- *      David Rufino <daverufino@btinternet.com>
- * Copyright (c) 2006
- *      Stanislav Sedov <ssedov@mbsd.msk.ru>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by the University of
- *      California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* most of this was ripped from the mount(3) source */
-
-#include "mntent.h"
-#include <stdlib.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/ucred.h>
-#include <sys/mount.h>
-
-static int pos = -1;
-static int mntsize = -1;
-static struct mntent _mntent;
-
-struct {
-	int		m_flag;
-	const char	*m_option;
-} mntoptions[] = {
-	{ MNT_ASYNC,		"async" },
-	{ MNT_NOATIME,		"noatime"},
-	{ MNT_NOEXEC,		"noexec"},
-	{ MNT_NOSUID,		"nosuid"},
-	{ MNT_NOSYMFOLLOW,	"nosymfollow"},
-	{ MNT_SYNCHRONOUS,	"sync"},
-	{ MNT_UNION,		"union"},
-	{ MNT_NOCLUSTERR,	"noclusterr"},
-	{ MNT_NOCLUSTERW,	"noclusterw"},
-	{ MNT_SUIDDIR,		"suiddir"},
-#ifdef MNT_SNAPSHOT
-	{ MNT_SNAPSHOT,		"snapshot"},
-#endif
-#ifdef MNT_MULTILABEL
-	{ MNT_MULTILABEL,	"multilabel"},
-#endif
-#ifdef MNT_ACLS
-	{ MNT_ACLS,		"acls"},
-#endif
-#ifdef MNT_NODEV
-	{ MNT_NODEV,		"nodev"},
-#endif
-};
-
-#define N_OPTS (sizeof(mntoptions) / sizeof(*mntoptions))
-
-char *
-hasmntopt (const struct mntent *mnt, const char *option)
-{
-	int found;
-	char *opt, *optbuf;
-
-	optbuf = strdup(mnt->mnt_opts);
-	found = 0;
-	for (opt = optbuf; (opt = strtok(opt, " ")) != NULL; opt = NULL) {
-		if (!strcasecmp(opt, option)) {
-			opt = opt - optbuf + mnt->mnt_opts;
-			free (optbuf);
-			return (opt);
-		}
-	}
-	free (optbuf);
-	return (NULL);
-}
-
-static char *
-catopt (char *s0, const char *s1)
-{
-	size_t newlen;
-	char *cp;
-
-	if (s1 == NULL || *s1 == '\0')
-		return s0;
-
-	if (s0 != NULL) {
-		newlen = strlen(s0) + strlen(s1) + 1 + 1;
-		if ((cp = (char *)realloc(s0, newlen)) == NULL)
-			return (NULL);
-
-		(void)strcat(cp, " ");
-		(void)strcat(cp, s1);
-	} else
-		cp = strdup(s1);
-
-	return (cp);
-}
-
-
-static char *
-flags2opts (int flags)
-{
-	char *res = NULL;
-	int i;
-
-	res = catopt(res, (flags & MNT_RDONLY) ? "ro" : "rw");
-
-	for (i = 0; i < N_OPTS; i++)
-		if (flags & mntoptions[i].m_flag)
-			res = catopt(res, mntoptions[i].m_option);
-	return res;
-}
-
-static struct mntent *
-statfs_to_mntent (struct statfs *mntbuf)
-{
-	static char opts_buf[40], *tmp;
-
-	_mntent.mnt_fsname = mntbuf->f_mntfromname;
-	_mntent.mnt_dir = mntbuf->f_mntonname;
-	_mntent.mnt_type = mntbuf->f_fstypename;
-	tmp = flags2opts (mntbuf->f_flags);
-	if (tmp) {
-		opts_buf[sizeof(opts_buf) - 1] = '\0';
-		strncpy (opts_buf, tmp, sizeof(opts_buf)-1);
-		free (tmp);
-	} else {
-		*opts_buf = '\0';
-	}
-	_mntent.mnt_opts = opts_buf;
-	_mntent.mnt_freq = _mntent.mnt_passno = 0;
-	return (&_mntent);
-}
-
-struct mntent *
-getmntent (FILE *fp)
-{
-	struct statfs *mntbuf;
-
-	if (pos == -1 || mntsize == -1)
-		mntsize = getmntinfo (&mntbuf, MNT_NOWAIT);
-
-	++pos;
-	if (pos == mntsize) {
-		pos = mntsize = -1;
-		return (NULL);
-	}
-
-	return (statfs_to_mntent (&mntbuf[pos]));
-}
diff --git a/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt b/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
deleted file mode 100644
index 8ed389eb1d8c..000000000000
--- a/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
---- channels/rdpdr/client/CMakeLists.txt.orig	2024-12-13 18:46:44 UTC
-+++ channels/rdpdr/client/CMakeLists.txt
-@@ -30,6 +30,7 @@ set(${MODULE_PREFIX}_SRCS
-     irp.h
-     devman.c
-     devman.h
-+    mntent_compat.c
-     rdpdr_main.c
-     rdpdr_main.h
-     rdpdr_capabilities.c


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6987d64e.27d9e.2ec8ccb8>