Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp2760943rdb; Wed, 4 Oct 2023 10:32:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGgTgoATNn09VEbbteXme/HZPIFhmDRSsFURPwxttF329BoG7oHLOX5cFq7qeiEGPxoafKM X-Received: by 2002:a05:6a20:3d90:b0:15e:10e:12f3 with SMTP id s16-20020a056a203d9000b0015e010e12f3mr3575828pzi.0.1696440772368; Wed, 04 Oct 2023 10:32:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696440772; cv=none; d=google.com; s=arc-20160816; b=JSn7c+mqmHL7iUq/2Ae12SR2Z3+VHyR9aOl6zX4CvsIbdphU3u6EcQ5QaPW0rRnCTt Ty+h/ttxQzecseZe7C7eeByMqVIP3xyMCHCC80Qx+5hMzig+G1t/wHRUsLjDP4vBoCna dC0G07/5VIgtwCVtBf6V1s2T/nyX00b2nDCVoCCNLpR7LGXa8Nm/VSJjDOUa8O/y5BCE HA+GZRiyFAtpaH8Ol3osPW30QuzZ065ci9Nz9N5HhJLU9LXs7LVCi5M7P31ECjGwIb77 SHaYj6ChxnyYZHOjY/hRigtIHLOW3NEM0fCw/1Q1IoSESeaejqaszNF9t9eIIZ4xi3PL 8PWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Z5M5nZmgd0eT5+pfJkgYu11F2ceb5YStJf+SJwFlEFc=; fh=uNRrSD0XciptfTJwyKJ3Qz1AkNjyaoXT9yPd2pM8S/o=; b=xnE8Ptx5yDjpXz3PIsmcVgbgyTx1rm972GvMR+3FnJb1WCjD0lT0KYZBKVnKisfSGW LH1/Oqjeus1wzzeH4tDfcJ3K8v0Gd93hEmHXfBIm16uMsM6ZZh2Yke5K7I4FloCxb3a+ Ukknf+2R44flnAzSmGbbxbU21Z3NHvOMsI/1xqr1PNZYUeXtfnC5ldB90y/MKcZaLBfs RKPX35gcG7YQsykKR7bbJB2r/SnAmO9P5yN8h2YMmklzgucSYVKjlPIZMJAmJhXXEk0C e/Dx+HnGRKQ1yOfF2jgnyW5yhrXSlBs3rQZPW1f5kTTnvcYqdRMiWoTtoSQsHUzlz34h rRUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=cfhEvJDh; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id j6-20020a056a00234600b00690228b1d45si4311180pfj.342.2023.10.04.10.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 10:32:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=cfhEvJDh; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 5482580BF4E5; Wed, 4 Oct 2023 10:32:48 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243433AbjJDRcs (ORCPT + 99 others); Wed, 4 Oct 2023 13:32:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243438AbjJDRcs (ORCPT ); Wed, 4 Oct 2023 13:32:48 -0400 Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 854E6A6 for ; Wed, 4 Oct 2023 10:32:44 -0700 (PDT) Received: by mail-io1-xd2a.google.com with SMTP id ca18e2360f4ac-7a29359c80bso112339f.0 for ; Wed, 04 Oct 2023 10:32:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696440764; x=1697045564; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Z5M5nZmgd0eT5+pfJkgYu11F2ceb5YStJf+SJwFlEFc=; b=cfhEvJDhI+NuD1aNwQC90mrOqlHT/NUoUK7TCWi/Q3Pw3/zsqf1foKQ+fNZ6DLTg2k 58k4YWYPY7Ix2VfQbXiTiRzlvFViPokJ2Eir71qXDGE7P20G60anLODuv+wA+EUvQgg2 4zhn5HEonCpkab8aSW5Z64bMVTXmQMs1+hNYddpkjjElFOpWe6TxX15WhWFlFWTXAI5+ +jV4Qn+PwnaTm6HhmFDRhPdebFcskDoR3q3Saufp3t6djE7L4jjdHHYNasxhrOWa5vbB ftD/VUcH5apGHU2XnIM3oFjZJflFQhmxI7qbvFHTKqYAaI+b21ui09QzUGwmORO/yne0 jIyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696440764; x=1697045564; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z5M5nZmgd0eT5+pfJkgYu11F2ceb5YStJf+SJwFlEFc=; b=pQit0Mjj4hxqZcDU2ea7Z5vELaySCIMGfHG2HeukRzufQa9f8UAzS1LkpO4M6n3pIE t9bSEIEY41lS+Kn+89PYFAhklv1od55Nd+ipc27OAIZyru5MP4Dm028ckfAzvqs1Jqrk JLzXLZcSYqIcrB2ouqLUxw4+IMnJIugAvZmjcAA4a5pBIbCJUrMXPoaaC+IExnEqnhoe no+f+nldXf33SRjDm4Dv+tYPu1mqZU0SRrlbu+L+27EcA3NhHIZ7AxUKITvbZQvvrrNi CvCbNK1zSQOEZau4jg1dt7IDpbUUqoJZ23NBvWjO5d6duxpoIbojogiPV481zQyAMETD XxvQ== X-Gm-Message-State: AOJu0YxkpvC6l58ezTQjNkHpVtOpyT+BXSivY08CdNB5htaTUfsX13+3 vmdroipAgnp7T41FRlj1sux06VORWYg= X-Received: by 2002:a05:6602:1a07:b0:79d:1c65:9bde with SMTP id bo7-20020a0566021a0700b0079d1c659bdemr3401342iob.1.1696440763843; Wed, 04 Oct 2023 10:32:43 -0700 (PDT) Received: from kolga-mac-1.attlocal.net ([2600:1700:6a10:2e90:d99c:94dd:ccd6:fb22]) by smtp.gmail.com with ESMTPSA id u23-20020a6be417000000b007870289f4fdsm1066598iog.51.2023.10.04.10.32.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 10:32:43 -0700 (PDT) From: Olga Kornievskaia To: steved@redhat.com Cc: linux-nfs@vger.kernel.org Subject: [PATCH v2 1/1] gss-api: expose gss major/minor error in authgss_refresh() Date: Wed, 4 Oct 2023 13:32:36 -0400 Message-Id: <20231004173240.46924-2-olga.kornievskaia@gmail.com> X-Mailer: git-send-email 2.30.1 (Apple Git-130) In-Reply-To: <20231004173240.46924-1-olga.kornievskaia@gmail.com> References: <20231004173240.46924-1-olga.kornievskaia@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Wed, 04 Oct 2023 10:32:48 -0700 (PDT) From: Olga Kornievskaia When the client calls into the libtirpc to establish security context, the errors that occurred are squashed. Instead, extend authgss_refresh to propagate back the gss major/minor error codes to the caller. --- v2 fix a compiler warning reported by Steve Dickson Signed-off-by: Olga Kornievskaia --- src/auth_gss.c | 14 ++++++++------ tirpc/rpc/auth_gss.h | 2 ++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/auth_gss.c b/src/auth_gss.c index e317664..3127b92 100644 --- a/src/auth_gss.c +++ b/src/auth_gss.c @@ -184,6 +184,7 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec) AUTH *auth, *save_auth; struct rpc_gss_data *gd; OM_uint32 min_stat = 0; + rpc_gss_options_ret_t ret; gss_log_debug("in authgss_create()"); @@ -229,8 +230,12 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec) save_auth = clnt->cl_auth; clnt->cl_auth = auth; - if (!authgss_refresh(auth, NULL)) + memset(&ret, 0, sizeof(rpc_gss_options_ret_t)); + if (!authgss_refresh(auth, &ret)) { auth = NULL; + sec->major_status = ret.major_status; + sec->minor_status = ret.minor_status; + } else authgss_auth_get(auth); /* Reference for caller */ @@ -619,12 +624,9 @@ _rpc_gss_refresh(AUTH *auth, rpc_gss_options_ret_t *options_ret) } static bool_t -authgss_refresh(AUTH *auth, void *dummy) +authgss_refresh(AUTH *auth, void *ret) { - rpc_gss_options_ret_t ret; - - memset(&ret, 0, sizeof(ret)); - return _rpc_gss_refresh(auth, &ret); + return _rpc_gss_refresh(auth, (rpc_gss_options_ret_t *)ret); } bool_t diff --git a/tirpc/rpc/auth_gss.h b/tirpc/rpc/auth_gss.h index f2af6e9..a530d42 100644 --- a/tirpc/rpc/auth_gss.h +++ b/tirpc/rpc/auth_gss.h @@ -64,6 +64,8 @@ struct rpc_gss_sec { rpc_gss_svc_t svc; /* service */ gss_cred_id_t cred; /* cred handle */ u_int req_flags; /* req flags for init_sec_context */ + int major_status; + int minor_status; }; /* Private data required for kernel implementation */ -- 2.39.1