From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (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) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5425C158176 for ; Wed, 15 Oct 2025 21:22:59 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (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) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 405A03415E6 for ; Wed, 15 Oct 2025 21:22:59 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 3E7DD110213; Wed, 15 Oct 2025 21:22:58 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (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) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 3835E110213 for ; Wed, 15 Oct 2025 21:22:58 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (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) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E171E3415E2 for ; Wed, 15 Oct 2025 21:22:57 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 4EF451B11 for ; Wed, 15 Oct 2025 21:22:56 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1760563139.3758a2b32f4f5918f5f40bfd8fc5c11faf1bbda9.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kio/, kde-frameworks/kio/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch kde-frameworks/kio/kio-6.19.0-r1.ebuild X-VCS-Directories: kde-frameworks/kio/ kde-frameworks/kio/files/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 3758a2b32f4f5918f5f40bfd8fc5c11faf1bbda9 X-VCS-Branch: master Date: Wed, 15 Oct 2025 21:22:56 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ac62e5ed-3995-4995-a478-1a0704a3a569 X-Archives-Hash: c0ce9f86b3e2fbe4293ce13495b9fe12 commit: 3758a2b32f4f5918f5f40bfd8fc5c11faf1bbda9 Author: Andreas Sturmlechner gentoo org> AuthorDate: Wed Oct 15 21:18:12 2025 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Wed Oct 15 21:18:59 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3758a2b3 kde-frameworks/kio: Fix pasting into smb share See also: https://bugs.kde.org/show_bug.cgi?id=510567 Closes: https://bugs.gentoo.org/964352 Signed-off-by: Andreas Sturmlechner gentoo.org> .../kio/files/kio-6.19.0-fix-smb-access.patch | 58 +++++++++++++++ kde-frameworks/kio/kio-6.19.0-r1.ebuild | 85 ++++++++++++++++++++++ 2 files changed, 143 insertions(+) diff --git a/kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch b/kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch new file mode 100644 index 000000000000..a0ec1e3f7cd5 --- /dev/null +++ b/kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch @@ -0,0 +1,58 @@ +From bcc840654fa2af68a4942fba6f58b2955e80e7ec Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen +Date: Tue, 14 Oct 2025 13:14:20 +0300 +Subject: [PATCH] CopyJob: Skip permission check if there is no UDS_ACCESS + entry + +Lack of UDS_ACCESS or S_IWUSR flag in it does *not* mean +that the item is definitely unwritable. + +The access can be indefinite until the item is +actually worked with. + +KIO should not assume that items are unwritable, +even if we lack the flag. We should just try working +with the file and handle the results, not try +pre-emptively decide the actions. + +BUG: 510567 +--- + src/core/copyjob.cpp | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +diff --git a/src/core/copyjob.cpp b/src/core/copyjob.cpp +index 587a5d6805..16258ba3ae 100644 +--- a/src/core/copyjob.cpp ++++ b/src/core/copyjob.cpp +@@ -546,16 +546,19 @@ void CopyJobPrivate::slotResultStating(KJob *job) + } else { + const bool isDir = entry.isDir(); + +- // Check for writability, before spending time stat'ing everything (#141564). +- // This assumes all KIO workers set permissions correctly... + const int permissions = entry.numberValue(KIO::UDSEntry::UDS_ACCESS, -1); +- const bool isWritable = (permissions != -1) && (permissions & S_IWUSR); +- if (!isWritable) { +- const QUrl dest = m_asMethod ? m_dest.adjusted(QUrl::RemoveFilename) : m_dest; +- q->setError(ERR_WRITE_ACCESS_DENIED); +- q->setErrorText(dest.toDisplayString(QUrl::PreferLocalFile)); +- q->emitResult(); +- return; ++ // Skip check if we have no definite permissions set (BUG: 510567) ++ if (permissions != -1) { ++ // Check for writability, before spending time stat'ing everything (#141564). ++ // This assumes all KIO workers set permissions correctly... ++ const bool isWritable = (permissions & S_IWUSR); ++ if (!isWritable) { ++ const QUrl dest = m_asMethod ? m_dest.adjusted(QUrl::RemoveFilename) : m_dest; ++ q->setError(ERR_WRITE_ACCESS_DENIED); ++ q->setErrorText(dest.toDisplayString(QUrl::PreferLocalFile)); ++ q->emitResult(); ++ return; ++ } + } + + // Treat symlinks to dirs as dirs here, so no test on isLink +-- +GitLab + diff --git a/kde-frameworks/kio/kio-6.19.0-r1.ebuild b/kde-frameworks/kio/kio-6.19.0-r1.ebuild new file mode 100644 index 000000000000..4f664971b546 --- /dev/null +++ b/kde-frameworks/kio/kio-6.19.0-r1.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_DESIGNERPLUGIN="true" +ECM_HANDBOOK="optional" +ECM_HANDBOOK_DIR="docs" +ECM_TEST="forceoptional" +QTMIN=6.7.2 +inherit ecm frameworks.kde.org xdg + +DESCRIPTION="Framework providing transparent file and data management" + +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="acl +kwallet wayland X" + +# tests hang +RESTRICT="test" + +# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h +COMMON_DEPEND=" + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,ssl,widgets,X?] + >=dev-qt/qtdeclarative-${QTMIN}:6 + =kde-frameworks/kbookmarks-${KDE_CATV}*:6 + =kde-frameworks/kcodecs-${KDE_CATV}*:6 + =kde-frameworks/kcolorscheme-${KDE_CATV}*:6 + =kde-frameworks/kcompletion-${KDE_CATV}*:6 + =kde-frameworks/kconfig-${KDE_CATV}*:6 + =kde-frameworks/kcoreaddons-${KDE_CATV}*:6 + =kde-frameworks/kcrash-${KDE_CATV}*:6 + =kde-frameworks/kdbusaddons-${KDE_CATV}*:6 + =kde-frameworks/kguiaddons-${KDE_CATV}*:6 + =kde-frameworks/ki18n-${KDE_CATV}*:6 + =kde-frameworks/kiconthemes-${KDE_CATV}*:6 + =kde-frameworks/kitemviews-${KDE_CATV}*:6 + =kde-frameworks/kjobwidgets-${KDE_CATV}*:6 + =kde-frameworks/knotifications-${KDE_CATV}*:6 + =kde-frameworks/kservice-${KDE_CATV}*:6 + =kde-frameworks/ktextwidgets-${KDE_CATV}*:6 + =kde-frameworks/kwidgetsaddons-${KDE_CATV}*:6 + =kde-frameworks/kwindowsystem-${KDE_CATV}*:6[wayland?,X?] + =kde-frameworks/solid-${KDE_CATV}*:6 + sys-apps/util-linux + acl? ( + sys-apps/attr + virtual/acl + ) + handbook? ( + dev-libs/libxml2:= + dev-libs/libxslt + =kde-frameworks/karchive-${KDE_CATV}*:6 + =kde-frameworks/kdoctools-${KDE_CATV}*:6 + ) + kwallet? ( =kde-frameworks/kwallet-${KDE_CATV}*:6 ) + X? ( >=dev-qt/qtbase-${QTMIN}:6=[gui] ) +" +DEPEND="${COMMON_DEPEND} + >=dev-qt/qtbase-${QTMIN}:6[concurrent] +" +RDEPEND="${COMMON_DEPEND} + >=dev-qt/qtbase-${QTMIN}:6[libproxy] + sys-power/switcheroo-control +" +# bug 944812: File Properties is accessible from KFileWidget (KIO); this +# provides access to keditfiletype binary via KWidgetsAddons (Tier1) +# Typical KIO revdeps (dolphin, krusader et al.) can rely on this dep +PDEPEND=" + >=kde-frameworks/kded-${KDE_CATV}:6 + kde-plasma/keditfiletype +" + +PATCHES=( "${FILESDIR}/${P}-fix-smb-access.patch" ) # KDE-bug 510567 + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package acl ACL) + $(cmake_use_find_package kwallet KF6Wallet) + -DWITH_WAYLAND=$(usex wayland) + -DWITH_X11=$(usex X) + ) + + ecm_src_configure +}