From nobody Fri Apr 11 14:03:58 2025 X-Original-To: dev-commits-src-all@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 4ZYz1q0v3Nz5s41V; Fri, 11 Apr 2025 14:03:59 +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 4ZYz1p56SCz43Hf; Fri, 11 Apr 2025 14:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744380238; 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=PajOc34ciElpjkRayKekmkv44tpgGd7RxP3IAFD1Yas=; b=max6KCf448W+E6KKb1j6tb6qECvtjchRGwz91+u4cBIAnTjyDeV1Y3BMpoUcL0LTeF8Y2q wc59FtZSmi8mcgLzJ25kElsQmgEllaHcT9hvUfJgxpK4YnVt1PBClTTR4aTlcsc0VTmxMy XD/kleESybTZlF0CzHX2J3kC85c7p3vFXMrJBWknPgLCFp7wXrYquIxZh0t9U/0KJWmBnI PSA3kN0EhJk8GjP2mrPTp6A4IGz+E+QfrtPICdWufE711fUPMuWxIwCS37MylnHGyt9Z7T CyGekcWXvXwWartmdCmbMN/fHv6pQVIVCaj+09JoKF/tuR3P2WX1z6yiEv/z4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744380238; a=rsa-sha256; cv=none; b=a2bnWtmzRNv0unfrJTjwUWy3VytZbo8otU4eMVkLqBAINEPLCI7N5f5PfPeF7V6KTQwxyj PiheLbvOBXo0LvaigeQUwSbemncHTAuZGFN+8ffla+dkbDoSgOvKRnw3hB20pAUj5Wi9dz zickG4+IWBDHsqmyClnmGxDE7gPV7XyD3/2MowmmATCedzcIIBhSsgfwMiggVRcgL8vcWl 2lIAncRFnjlhN1+/QwULpK5vj0KSKpIuAJUze+BF0RQSIIO0TBFKAtWv8bpC1RDiqjrrfI o82Ra5b0LLdqOZHg+CF296UGGD5kG13eNFj8mgQ4cOnNHErjq0Odnv63fBdiow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744380238; 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=PajOc34ciElpjkRayKekmkv44tpgGd7RxP3IAFD1Yas=; b=Zx7IgGA0o6ZPH1/mNBCLXY2A/jwMWh/dQWWsbpQ2WJViGjO+JbBGNRhJCCx0NSN2lT9dqj aZdJC3YQ9YgRsN/w0vuuQ+N/m1WQjwlPd2xg0PaZAp+EUV6vZI7ZHcRZ4ONS5tKmMgSMo2 HDlE9LtkDcZ6/0SH08gBhck3WY/Cok3yNwDbr4unh45KEh4V5g14igQ0yZ4GCJW4iBQSQS R969XQ62m8a0RDdO+vxky3A/ynYKc6shldCVFAq3Xo8e5KCKTyi+g/jJSJZzWcsqKCe/Fg 72/P69y67nQMl6pniUkW7wi/H7fJl+bnGFcstCvV5MFEz8Ju5Bb9nJWo/Y8IUg== 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 4ZYz1p4jcQzcLj; Fri, 11 Apr 2025 14:03:58 +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 53BE3wk9053649; Fri, 11 Apr 2025 14:03:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53BE3wMN053646; Fri, 11 Apr 2025 14:03:58 GMT (envelope-from git) Date: Fri, 11 Apr 2025 14:03:58 GMT Message-Id: <202504111403.53BE3wMN053646@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: bf4115671292 - main - ctld: Properly validate mutual user/secret for CHAP-MUTUAL in the UCL parser List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf41156712929460aaf968e9d38ddc3847f90f6a Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bf41156712929460aaf968e9d38ddc3847f90f6a commit bf41156712929460aaf968e9d38ddc3847f90f6a Author: John Baldwin AuthorDate: 2025-04-11 14:01:06 +0000 Commit: John Baldwin CommitDate: 2025-04-11 14:01:06 +0000 ctld: Properly validate mutual user/secret for CHAP-MUTUAL in the UCL parser The code was checking the non-mutual UCL objects twice instead. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49645 --- usr.sbin/ctld/uclparse.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ctld/uclparse.cc b/usr.sbin/ctld/uclparse.cc index ccb0b45a5ab1..1eb9f7736e4b 100644 --- a/usr.sbin/ctld/uclparse.cc +++ b/usr.sbin/ctld/uclparse.cc @@ -100,14 +100,14 @@ uclparse_chap_mutual(const char *ag_name, const ucl_object_t *obj) } mutual_user = ucl_object_find_key(obj, "mutual-user"); - if (!user || user->type != UCL_STRING) { + if (!mutual_user || mutual_user->type != UCL_STRING) { log_warnx("chap-mutual section in auth-group \"%s\" is missing " "\"mutual-user\" string key", ag_name); return (false); } mutual_secret = ucl_object_find_key(obj, "mutual-secret"); - if (!secret || secret->type != UCL_STRING) { + if (!mutual_secret || mutual_secret->type != UCL_STRING) { log_warnx("chap-mutual section in auth-group \"%s\" is missing " "\"mutual-secret\" string key", ag_name); return (false); @@ -165,14 +165,14 @@ uclparse_target_chap_mutual(const char *t_name, const ucl_object_t *obj) } mutual_user = ucl_object_find_key(obj, "mutual-user"); - if (!user || user->type != UCL_STRING) { + if (!mutual_user || mutual_user->type != UCL_STRING) { log_warnx("chap-mutual section in target \"%s\" is missing " "\"mutual-user\" string key", t_name); return (false); } mutual_secret = ucl_object_find_key(obj, "mutual-secret"); - if (!secret || secret->type != UCL_STRING) { + if (!mutual_secret || mutual_secret->type != UCL_STRING) { log_warnx("chap-mutual section in target \"%s\" is missing " "\"mutual-secret\" string key", t_name); return (false);