diff --git a/lustre/ptlrpc/gss/gss_keyring.c b/lustre/ptlrpc/gss/gss_keyring.c index b14bab10a8f0ad934951ad66aea29c31ee74f677..83014829c447408ad22eb25c2b8fec1f711f3053 100644 --- a/lustre/ptlrpc/gss/gss_keyring.c +++ b/lustre/ptlrpc/gss/gss_keyring.c @@ -1215,7 +1215,7 @@ int gss_kt_instantiate(struct key *key, const void *data, size_t datalen) ENTRY; if (data != NULL || datalen != 0) { - CERROR("invalid: data %p, len %d\n", data, datalen); + CERROR("invalid: data %p, len "LPSZ"\n", data, datalen); RETURN(-EINVAL); } @@ -1258,11 +1258,12 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) struct ptlrpc_cli_ctx *ctx = key->payload.data; struct gss_cli_ctx *gctx; rawobj_t tmpobj = RAWOBJ_EMPTY; + __u32 datalen32 = (__u32) datalen; int rc; ENTRY; if (data == NULL || datalen == 0) { - CWARN("invalid: data %p, len %d\n", data, datalen); + CWARN("invalid: data %p, len "LPSZ"\n", data, datalen); RETURN(-EINVAL); } @@ -1297,7 +1298,7 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) sptlrpc_cli_ctx_get(ctx); gctx = ctx2gctx(ctx); - rc = buffer_extract_bytes(&data, &datalen, &gctx->gc_win, + rc = buffer_extract_bytes(&data, &datalen32, &gctx->gc_win, sizeof(gctx->gc_win)); if (rc) { CERROR("failed extract seq_win\n"); @@ -1307,14 +1308,14 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) if (gctx->gc_win == 0) { __u32 nego_rpc_err, nego_gss_err; - rc = buffer_extract_bytes(&data, &datalen, &nego_rpc_err, + rc = buffer_extract_bytes(&data, &datalen32, &nego_rpc_err, sizeof(nego_rpc_err)); if (rc) { CERROR("failed to extrace rpc rc\n"); goto out; } - rc = buffer_extract_bytes(&data, &datalen, &nego_gss_err, + rc = buffer_extract_bytes(&data, &datalen32, &nego_gss_err, sizeof(nego_gss_err)); if (rc) { CERROR("failed to extrace gss rc\n"); @@ -1327,13 +1328,13 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) rc = nego_rpc_err ? nego_rpc_err : -EACCES; } else { rc = rawobj_extract_local_alloc(&gctx->gc_handle, - (__u32 **) &data, &datalen); + (__u32 **) &data, &datalen32); if (rc) { CERROR("failed extract handle\n"); goto out; } - rc = rawobj_extract_local(&tmpobj, (__u32 **) &data, &datalen); + rc = rawobj_extract_local(&tmpobj, (__u32 **) &data,&datalen32); if (rc) { CERROR("failed extract mech\n"); goto out; diff --git a/lustre/utils/gss/context_lucid.c b/lustre/utils/gss/context_lucid.c index 3b53fc818564dcd5593a17e0e76efd5d3b29dbca..c1f669fe1c91c936bfd7d9c411b79dac85f9fbbf 100644 --- a/lustre/utils/gss/context_lucid.c +++ b/lustre/utils/gss/context_lucid.c @@ -59,6 +59,14 @@ typedef uint64_t OM_uint64; #include "write_bytes.h" #include "context.h" +extern OM_uint32 gss_export_lucid_sec_context(OM_uint32 *min_stat, + gss_ctx_id_t *ctx, + OM_uint32 version, + void **kctx); +extern OM_uint32 gss_free_lucid_sec_context(OM_uint32 *min_stat, + gss_ctx_id_t ctx, + void *kctx); + static int write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key) { diff --git a/lustre/utils/gss/lgss_utils.h b/lustre/utils/gss/lgss_utils.h index 7a519ea6ac57c53d99db82786af9f940e873e517..55535910f790ef0576c9540a6cd313fff34751da 100644 --- a/lustre/utils/gss/lgss_utils.h +++ b/lustre/utils/gss/lgss_utils.h @@ -115,7 +115,7 @@ do { \ #define lassert(exp) \ do { \ - if ((int)(exp) == 0) { \ + if (!(exp)) { \ logmsg(LL_ERR, "ASSERTION FAILED: %s", #exp); \ exit(-1); \ } \