From nobody Thu Jul 24 14:59:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bnvKl74xbz62rM0; Thu, 24 Jul 2025 14:59:23 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bnvKl4z67z3TrT; Thu, 24 Jul 2025 14:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753369163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4kyZwGt/5HeT3A1aA9SOHFOP2YIb+CmguusFAcgiiGA=; b=F0JK/d9qqoDdbB6MlZx/la/gpxXs47UpQ/JQziljv7CkDigqFLEyBAlO7uqo3A2Wij5Uk5 lMElgrGu5JXXRvWU6uxPCmlHKOoXgyFHxecrX+4b415bDqVSzt/o/iyr2+556U0kNYKgdW 5+Lnh06S5daI56qgQ/eUJVp7aPkwNrPQ/CcquPUceZgKuK2R7FJj8f+QuBjNaWAh0nXNZ6 cbscFsCXE8OC9QFgWO9u8p7/RpMfpIdUzNzY1/qpHkbhePzD1i/xG1B7oeZjFWf0yH8xsF F1bau+ICSz9ayQBguWFvLOg1OEHZGMsdT1xufXz1RRDqqZz+pAUEF29rSDia1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753369163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4kyZwGt/5HeT3A1aA9SOHFOP2YIb+CmguusFAcgiiGA=; b=Ytv1XHSLdoL7rmkCLF81RzsRIjg2GuIZHEiUxJI2L35aYRwRocbOjFX3wP+l9vsRLeUO+h N5/Rd+77USHRNh483QBXd5KuoyqeUsRnmqISyiGKuCsj/Kv5UcYch6vCAi8Vf9nQHshhq0 009mwcf+NFZncMBEo5T1kVgJEbPgBjVNZGS5MUTNMM12Igfjvoq344+RA/Di02ml1qhQJ3 aDzbQ8Hw1k8k2IWvRoGIaPWRc6yUGC8zMV66U13z2IM1aJBMRT52Joh//0XnhhrAjU9T2r /Gd5t5HcVkEdECZPDMRC99lExmUYiKNqmWV1v5cDC865882BzDdbARoHiGCK6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1753369163; a=rsa-sha256; cv=none; b=c2XgyMf0DS+ue+aIXdtRFPrGXebqEeY5lM4z9kwDRZ9clqSkyY31HfkV1f4aes1oZBnOi3 pCldv0WiKr+pl7d2pCxzcSdEm7JBkGwsEOQ+o2KweWRpGm6f2krFUL4V29uzDVMJaieGpg wGUaYYQybbrjnbO+/ptYdoQXWzIjPzXAkY9VdZ0IM6n6Rll8bdnHyHvDDURU+W6C1jbq1G 5/DvSTUuv1MaQfkGaqZqLO2VUEWjOi75ceZdMPczgL4R+v8vUhC2S0kk2GKDO0mfDZLEzb 6j8a2jYhBqkUKgbu5sAb2QXOPWDj1h9ueCQ3nCQFw/sUf2XgPAgjY/y+RJZd4A== 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 4bnvKl4XXhz13Yv; Thu, 24 Jul 2025 14:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 56OExN7o011282; Thu, 24 Jul 2025 14:59:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56OExNAs011279; Thu, 24 Jul 2025 14:59:23 GMT (envelope-from git) Date: Thu, 24 Jul 2025 14:59:23 GMT Message-Id: <202507241459.56OExNAs011279@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d2eb8a023547 - main - bluetooth: sdpd: switch to getpeereid() instead of LOCAL_PEERCRED List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2eb8a023547b03246f16ce455d20a4acfd552c4 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d2eb8a023547b03246f16ce455d20a4acfd552c4 commit d2eb8a023547b03246f16ce455d20a4acfd552c4 Author: Kyle Evans AuthorDate: 2025-07-24 14:59:07 +0000 Commit: Kyle Evans CommitDate: 2025-07-24 14:59:07 +0000 bluetooth: sdpd: switch to getpeereid() instead of LOCAL_PEERCRED sdpd's usage was mostly fine, though it debatably should have been checking the xucred version to avoid mishaps. Switch it to getpeereid() anyways to avoid embedding xucred layout details in more program. Reviewed by: emax Differential Revision: https://reviews.freebsd.org/D51152 --- usr.sbin/bluetooth/sdpd/server.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bluetooth/sdpd/server.c b/usr.sbin/bluetooth/sdpd/server.c index ab398cd9339f..05a4cb5f0236 100644 --- a/usr.sbin/bluetooth/sdpd/server.c +++ b/usr.sbin/bluetooth/sdpd/server.c @@ -345,14 +345,12 @@ server_accept_client(server_p srv, int32_t fd) return; } } else { - struct xucred cr; + uid_t uid; + gid_t gid; struct passwd *pw; /* Get peer's credentials */ - memset(&cr, 0, sizeof(cr)); - size = sizeof(cr); - - if (getsockopt(cfd, 0, LOCAL_PEERCRED, &cr, &size) < 0) { + if (getpeereid(cfd, &uid, &gid) < 0) { log_err("Could not get peer's credentials. %s (%d)", strerror(errno), errno); close(cfd); @@ -360,12 +358,12 @@ server_accept_client(server_p srv, int32_t fd) } /* Check credentials */ - pw = getpwuid(cr.cr_uid); + pw = getpwuid(uid); if (pw != NULL) priv = (strcmp(pw->pw_name, "root") == 0); else log_warning("Could not verify credentials for uid %d", - cr.cr_uid); + uid); memcpy(&srv->req_sa.l2cap_bdaddr, NG_HCI_BDADDR_ANY, sizeof(srv->req_sa.l2cap_bdaddr));