From: "J. Bruce Fields" <bfields@fieldses.org>
To: Simo Sorce <simo@redhat.com>
Cc: bfields@redhat.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 1/4] SUNRPC: conditionally return endtime from import_sec_context
Date: Mon, 21 May 2012 17:52:39 -0400 [thread overview]
Message-ID: <20120521215239.GC28221@fieldses.org> (raw)
In-Reply-To: <1337087550-9821-2-git-send-email-simo@redhat.com>
On Tue, May 15, 2012 at 09:12:27AM -0400, Simo Sorce wrote:
> We expose this parameter for a future caller.
> It will be used to extract the endtime from the gss-proxy upcall mechanism,
> in order to set the rsc cache expiration time.
Looks fine, thanks.--b.
>
> Signed-off-by: Simo Sorce <simo@redhat.com>
> ---
> include/linux/sunrpc/gss_api.h | 2 ++
> net/sunrpc/auth_gss/auth_gss.c | 2 +-
> net/sunrpc/auth_gss/gss_krb5_mech.c | 3 +++
> net/sunrpc/auth_gss/gss_mech_switch.c | 5 +++--
> net/sunrpc/auth_gss/svcauth_gss.c | 3 ++-
> 5 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/sunrpc/gss_api.h b/include/linux/sunrpc/gss_api.h
> index 332da61cf8b71fc73d802b2609210f46641a9ea1..7bd486d50f0861b45c98e695751c2f92f1b3bdfa 100644
> --- a/include/linux/sunrpc/gss_api.h
> +++ b/include/linux/sunrpc/gss_api.h
> @@ -36,6 +36,7 @@ int gss_import_sec_context(
> size_t bufsize,
> struct gss_api_mech *mech,
> struct gss_ctx **ctx_id,
> + time_t *endtime,
> gfp_t gfp_mask);
> u32 gss_get_mic(
> struct gss_ctx *ctx_id,
> @@ -91,6 +92,7 @@ struct gss_api_ops {
> const void *input_token,
> size_t bufsize,
> struct gss_ctx *ctx_id,
> + time_t *endtime,
> gfp_t gfp_mask);
> u32 (*gss_get_mic)(
> struct gss_ctx *ctx_id,
> diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
> index d3ad81f8da5b79551c36b17a7d53007406946699..836cbecb1947235d38c62eadf79ae96ad73906e6 100644
> --- a/net/sunrpc/auth_gss/auth_gss.c
> +++ b/net/sunrpc/auth_gss/auth_gss.c
> @@ -232,7 +232,7 @@ gss_fill_context(const void *p, const void *end, struct gss_cl_ctx *ctx, struct
> p = ERR_PTR(-EFAULT);
> goto err;
> }
> - ret = gss_import_sec_context(p, seclen, gm, &ctx->gc_gss_ctx, GFP_NOFS);
> + ret = gss_import_sec_context(p, seclen, gm, &ctx->gc_gss_ctx, NULL, GFP_NOFS);
> if (ret < 0) {
> p = ERR_PTR(ret);
> goto err;
> diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_mech.c
> index 8eff8c32d1b9b403c2365326c16e44df7c0923e6..329c36b9aa269a414932df86d89650c7a39528fd 100644
> --- a/net/sunrpc/auth_gss/gss_krb5_mech.c
> +++ b/net/sunrpc/auth_gss/gss_krb5_mech.c
> @@ -679,6 +679,7 @@ out_err:
> static int
> gss_import_sec_context_kerberos(const void *p, size_t len,
> struct gss_ctx *ctx_id,
> + time_t *endtime,
> gfp_t gfp_mask)
> {
> const void *end = (const void *)((const char *)p + len);
> @@ -696,6 +697,8 @@ gss_import_sec_context_kerberos(const void *p, size_t len,
>
> if (ret == 0)
> ctx_id->internal_ctx_id = ctx;
> + if (endtime)
> + *endtime = ctx->endtime;
> else
> kfree(ctx);
>
> diff --git a/net/sunrpc/auth_gss/gss_mech_switch.c b/net/sunrpc/auth_gss/gss_mech_switch.c
> index ca8cad8251c7ff1c13c9bff6757e098c4f1cd9b2..b22cc24fac482351876c8f4a6c10d8b203a95045 100644
> --- a/net/sunrpc/auth_gss/gss_mech_switch.c
> +++ b/net/sunrpc/auth_gss/gss_mech_switch.c
> @@ -312,14 +312,15 @@ int
> gss_import_sec_context(const void *input_token, size_t bufsize,
> struct gss_api_mech *mech,
> struct gss_ctx **ctx_id,
> + time_t *endtime,
> gfp_t gfp_mask)
> {
> if (!(*ctx_id = kzalloc(sizeof(**ctx_id), gfp_mask)))
> return -ENOMEM;
> (*ctx_id)->mech_type = gss_mech_get(mech);
>
> - return mech->gm_ops
> - ->gss_import_sec_context(input_token, bufsize, *ctx_id, gfp_mask);
> + return mech->gm_ops->gss_import_sec_context(input_token, bufsize,
> + *ctx_id, endtime, gfp_mask);
> }
>
> /* gss_get_mic: compute a mic over message and return mic_token. */
> diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
> index f0a0cd4470b7a23ab46a08a68b4ef78c7400db4c..aa1b649749741c82e60f0f528ac645197fd7ab35 100644
> --- a/net/sunrpc/auth_gss/svcauth_gss.c
> +++ b/net/sunrpc/auth_gss/svcauth_gss.c
> @@ -489,7 +489,8 @@ static int rsc_parse(struct cache_detail *cd,
> len = qword_get(&mesg, buf, mlen);
> if (len < 0)
> goto out;
> - status = gss_import_sec_context(buf, len, gm, &rsci.mechctx, GFP_KERNEL);
> + status = gss_import_sec_context(buf, len, gm, &rsci.mechctx,
> + NULL, GFP_KERNEL);
> if (status)
> goto out;
>
> --
> 1.7.7.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-05-21 21:52 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-15 13:12 [PATCH 0/4] Add support for new upcall mechanism for nfsd Simo Sorce
2012-05-15 13:12 ` [PATCH 1/4] SUNRPC: conditionally return endtime from import_sec_context Simo Sorce
2012-05-21 21:52 ` J. Bruce Fields [this message]
2012-05-15 13:12 ` [PATCH 2/4] SUNRPC: Document a bit RPCGSS handling in the NFS Server Simo Sorce
2012-05-21 21:55 ` J. Bruce Fields
2012-05-22 0:37 ` Simo Sorce
2012-05-15 13:12 ` [PATCH 3/4] SUNRPC: Add RPC based upcall mechanism for RPCGSS auth Simo Sorce
2012-05-22 12:47 ` J. Bruce Fields
2012-05-22 13:00 ` Simo Sorce
2012-05-22 13:17 ` Stanislav Kinsbursky
2012-05-22 13:22 ` Simo Sorce
2012-05-22 13:32 ` Stanislav Kinsbursky
2012-05-22 14:20 ` J. Bruce Fields
2012-05-22 14:44 ` Stanislav Kinsbursky
2012-05-22 15:07 ` J. Bruce Fields
2012-05-22 15:16 ` Simo Sorce
2012-05-22 15:31 ` J. Bruce Fields
2012-05-22 15:44 ` Simo Sorce
2012-05-22 15:19 ` Stanislav Kinsbursky
2012-05-22 18:11 ` J. Bruce Fields
2012-05-22 18:41 ` Stanislav Kinsbursky
2012-05-22 14:58 ` Simo Sorce
2012-05-22 15:10 ` Stanislav Kinsbursky
2012-05-22 15:18 ` Simo Sorce
2012-05-22 15:23 ` Stanislav Kinsbursky
2012-05-22 13:00 ` Stanislav Kinsbursky
2012-05-22 15:02 ` J. Bruce Fields
2012-05-22 15:15 ` Simo Sorce
2012-05-22 15:29 ` J. Bruce Fields
2012-05-22 15:40 ` Simo Sorce
2012-05-22 22:49 ` J. Bruce Fields
2012-05-22 22:52 ` Simo Sorce
2012-05-22 15:03 ` J. Bruce Fields
2012-05-22 15:12 ` Simo Sorce
2012-05-22 15:24 ` J. Bruce Fields
2012-05-22 15:36 ` Simo Sorce
2012-05-15 13:12 ` [PATCH 4/4] SUNRPC: Use gssproxy upcall for nfsd's RPCGSS authentication Simo Sorce
2012-05-22 22:48 ` J. Bruce Fields
2012-05-24 4:31 ` Simo Sorce
2012-05-24 11:08 ` J. Bruce Fields
2012-05-24 13:19 ` Simo Sorce
2012-05-25 14:05 ` J. Bruce Fields
2012-05-25 15:37 ` Simo Sorce
-- strict thread matches above, loose matches on Subject: below --
2012-05-25 22:09 [PATCH 0/4] Add support for new RPCSEC_GSS upcall mechanism for nfsd Simo Sorce
2012-05-25 22:09 ` [PATCH 1/4] SUNRPC: conditionally return endtime from import_sec_context Simo Sorce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120521215239.GC28221@fieldses.org \
--to=bfields@fieldses.org \
--cc=bfields@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=simo@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.