From nobody Fri Apr 11 14:03:55 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 4ZYz1l2nFtz5s489; Fri, 11 Apr 2025 14:03:55 +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 4ZYz1l2Gshz4386; Fri, 11 Apr 2025 14:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744380235; 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=5EkEt4WedOv2PuRGul/dux+ZUm3BJKCtOdFPVBatmuQ=; b=ssOw66veIyCtehnAIG4+1FQWa90RSzFEn3tLlS4mNDM29x8hzq2ZsWA9QBcdxb46vAJcd4 CTBFGIQi55XbI85z8PE4P+VSlmUph8Ofl94Lx9UOanGEOKCe3Cl5NAlwrbPAJl6lod4SU7 CJAXusYPWj9i3ZXqJMCwBok3lGCBoHOXDKlhwTCutshMoA+ihOJ3M0IVqMs6Ym5iVkm2ix AshzVjkJp+eYzRUUERlPfp9pBRiwjEC+JBUP4gjgAddY6dMjiUy5ssx1Hz9hZW/WFschTM 6Ngrw7NRbkX/yHDkVbP73Gfg6yZzqEwAKcUwUIoDyDXaGOV1OZg5nLp2jVz/jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744380235; a=rsa-sha256; cv=none; b=TaCb4BTyjOSFAirmXKA3bqO9Urghzij5hVr/5CvBhUMP1PTQsYb/18MWuZF84UR6RYjn1V +g/vUXoTuRfJTSrxb+FxIC6qFdpuOgDM8BN00l3+Sewy8K+tpEIKZQ/BJ65wO85Ioopk+4 CbSk7ev6eRqWd331nwMD11MJXtZ8xnhqp3KekTDiJZXsERuu3/0+XB11LWNYuW5Qh1h7zK FtSqsUhWABhoQKLE/toG7KUlxbKzjin8Ix4QiQf4ofC6DMjYk6X1NpYr/x9aUyWDSxRJOO jYHHd1CRZn9DL3lbkTFh1JKiijJIentpL24OmIC8knd/8LIaFe+Q+uLc+wmCIg== 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=1744380235; 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=5EkEt4WedOv2PuRGul/dux+ZUm3BJKCtOdFPVBatmuQ=; b=XJquiWPhSKBhBNqAQ5UmHBwU4Sh/l5Q7A8r+FWOm1LAeRaOXW/Qrr4Kk7hju4QFqKIWX4d zmO5aRW87ZZC+SDUXTqnoI5nIUPgUsN0Y9NLsnw64qaKv33MdUtcVyEW0Hmq6A3ByWbTjN UO/L6eGUi4eGrAi+uuLHPm85WxP5d6hoYs1eZvJfsn+MClNK6hoqcNroUcK97OHyrnLSAh pAhG+AxRpd8KLjT6VIGAksOGkrns+Mr7GFuYsnJdQS6ZU0PqDmVaQpvV7fszEkijKEfC/i oPVihy/v2RWLIJP30MwafOiBXg6DV5wUNlALg+9dt3SHKj2hSJl5iKMu9S28nw== 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 4ZYz1l1strzcQ9; Fri, 11 Apr 2025 14:03:55 +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 53BE3t8t053534; Fri, 11 Apr 2025 14:03:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53BE3tWo053531; Fri, 11 Apr 2025 14:03:55 GMT (envelope-from git) Date: Fri, 11 Apr 2025 14:03:55 GMT Message-Id: <202504111403.53BE3tWo053531@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: 4214775235eb - main - ctld: Reduce code duplication in auth_check_secret_length 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: 4214775235ebc01e0d22da5f09a2e4cff16bfa74 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4214775235ebc01e0d22da5f09a2e4cff16bfa74 commit 4214775235ebc01e0d22da5f09a2e4cff16bfa74 Author: John Baldwin AuthorDate: 2025-04-11 13:59:52 +0000 Commit: John Baldwin CommitDate: 2025-04-11 13:59:52 +0000 ctld: Reduce code duplication in auth_check_secret_length Only check a single secret length in the function and call it twice for the CHAP-MUTUAL case. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49642 --- usr.sbin/ctld/ctld.cc | 67 ++++++++++++++------------------------------------- 1 file changed, 18 insertions(+), 49 deletions(-) diff --git a/usr.sbin/ctld/ctld.cc b/usr.sbin/ctld/ctld.cc index 03a298146f4a..6cb15283503a 100644 --- a/usr.sbin/ctld/ctld.cc +++ b/usr.sbin/ctld/ctld.cc @@ -182,63 +182,31 @@ auth_find(const struct auth_group *ag, const char *user) } static void -auth_check_secret_length(struct auth *auth) +auth_check_secret_length(const struct auth_group *ag, const char *user, + const char *secret, const char *secret_type) { size_t len; - len = strlen(auth->a_secret); + len = strlen(secret); if (len > 16) { - if (auth->a_auth_group->ag_name != NULL) - log_warnx("secret for user \"%s\", auth-group \"%s\", " + if (ag->ag_name != NULL) + log_warnx("%s for user \"%s\", auth-group \"%s\", " "is too long; it should be at most 16 characters " - "long", auth->a_user, auth->a_auth_group->ag_name); + "long", secret_type, user, ag->ag_name); else - log_warnx("secret for user \"%s\", target \"%s\", " + log_warnx("%s for user \"%s\", target \"%s\", " "is too long; it should be at most 16 characters " - "long", auth->a_user, - auth->a_auth_group->ag_target->t_name); + "long", secret_type, user, ag->ag_target->t_name); } if (len < 12) { - if (auth->a_auth_group->ag_name != NULL) - log_warnx("secret for user \"%s\", auth-group \"%s\", " + if (ag->ag_name != NULL) + log_warnx("%s for user \"%s\", auth-group \"%s\", " "is too short; it should be at least 12 characters " - "long", auth->a_user, - auth->a_auth_group->ag_name); + "long", secret_type, user, ag->ag_name); else - log_warnx("secret for user \"%s\", target \"%s\", " + log_warnx("%s for user \"%s\", target \"%s\", " "is too short; it should be at least 12 characters " - "long", auth->a_user, - auth->a_auth_group->ag_target->t_name); - } - - if (auth->a_mutual_secret != NULL) { - len = strlen(auth->a_mutual_secret); - if (len > 16) { - if (auth->a_auth_group->ag_name != NULL) - log_warnx("mutual secret for user \"%s\", " - "auth-group \"%s\", is too long; it should " - "be at most 16 characters long", - auth->a_user, auth->a_auth_group->ag_name); - else - log_warnx("mutual secret for user \"%s\", " - "target \"%s\", is too long; it should " - "be at most 16 characters long", - auth->a_user, - auth->a_auth_group->ag_target->t_name); - } - if (len < 12) { - if (auth->a_auth_group->ag_name != NULL) - log_warnx("mutual secret for user \"%s\", " - "auth-group \"%s\", is too short; it " - "should be at least 12 characters long", - auth->a_user, auth->a_auth_group->ag_name); - else - log_warnx("mutual secret for user \"%s\", " - "target \"%s\", is too short; it should be " - "at least 12 characters long", - auth->a_user, - auth->a_auth_group->ag_target->t_name); - } + "long", secret_type, user, ag->ag_target->t_name); } } @@ -261,12 +229,12 @@ auth_new_chap(struct auth_group *ag, const char *user, return (false); } + auth_check_secret_length(ag, user, secret, "secret"); + auth = auth_new(ag); auth->a_user = checked_strdup(user); auth->a_secret = checked_strdup(secret); - auth_check_secret_length(auth); - return (true); } @@ -290,14 +258,15 @@ auth_new_chap_mutual(struct auth_group *ag, const char *user, return (false); } + auth_check_secret_length(ag, user, secret, "secret"); + auth_check_secret_length(ag, user, secret2, "mutual secret"); + auth = auth_new(ag); auth->a_user = checked_strdup(user); auth->a_secret = checked_strdup(secret); auth->a_mutual_user = checked_strdup(user2); auth->a_mutual_secret = checked_strdup(secret2); - auth_check_secret_length(auth); - return (true); }