[enable gss/krb5 support]),
[enable_gss='yes'],[enable_gss='no'])
AC_MSG_RESULT([$enable_gss])
-#if test x$enable_gss != xno; then
-# PKG_CHECK_MODULES([GSSAPI], [libgssapi >= 0.10])
-# AC_KERBEROS_V5
-#fi
+if test x$enable_gss != xno; then
+ PKG_CHECK_MODULES([GSSAPI], [libgssapi >= 0.10])
+ AC_KERBEROS_V5
+fi
])
#
struct ptlrpc_cli_ctx *rq_cli_ctx; /* client's half ctx */
struct ptlrpc_svc_ctx *rq_svc_ctx; /* server's half ctx */
struct list_head rq_ctx_chain; /* link to waited ctx */
- ptlrpc_flavor_t rq_sec_flavor; /* client & server */
+ ptlrpc_sec_flavor_t rq_sec_flavor; /* client & server */
/* client security flags */
unsigned int rq_ctx_init:1, /* context initiation */
rq_ctx_fini:1, /* context destroy */
* flavor compose/extract
*/
-typedef __u32 ptlrpc_flavor_t;
+typedef __u32 ptlrpc_sec_flavor_t;
/*
* 8b (reserved) | 8b (flags) | 6b (policy) | 6b (subpolicy) | 4b (svc)
struct ptlrpc_request *req;
struct lustre_msg *reqmsg;
- OBD_ALLOC(req, sizeof(*req));
+ OBD_ALLOC_PTR(req);
if (!req)
return NULL;
OBD_ALLOC(reqmsg, src->rq_reqlen);
if (!reqmsg) {
- OBD_FREE(req, sizeof(*req));
+ OBD_FREE_PTR(req);
return NULL;
}
- memcpy(req, src, sizeof(*req));
+ *req = *src;
memcpy(reqmsg, src->rq_reqmsg, src->rq_reqlen);
req->rq_reqmsg = reqmsg;
class_export_put(req->rq_export);
OBD_FREE(req->rq_reqmsg, req->rq_reqlen);
- OBD_FREE(req, sizeof(*req));
+ OBD_FREE_PTR(req);
}
static void target_finish_recovery(struct obd_device *obd)
LASSERT(list_empty(&gmsg->gum_list));
LASSERT(list_empty(&gmsg->gum_base.list));
- OBD_FREE(gmsg, sizeof(*gmsg));
+ OBD_FREE_PTR(gmsg);
EXIT;
}
gsec = container_of(ctx->cc_sec, struct gss_sec, gs_base);
- OBD_ALLOC(gmsg, sizeof(*gmsg));
+ OBD_ALLOC_PTR(gmsg);
if (!gmsg)
RETURN(-ENOMEM);
RETURN(0);
err_free:
- OBD_FREE(gmsg, sizeof(*gmsg));
+ OBD_FREE_PTR(gmsg);
RETURN(rc);
}
return GSS_S_FAILURE;
}
- OBD_ALLOC(kctx, sizeof(*kctx));
+ OBD_ALLOC_PTR(kctx);
if (!kctx)
return GSS_S_FAILURE;
if (rc) {
delete_context_kerberos(kctx);
- OBD_FREE(kctx, sizeof(*kctx));
+ OBD_FREE_PTR(kctx);
return GSS_S_FAILURE;
}
struct krb5_ctx *kctx = gctx->internal_ctx_id;
struct krb5_ctx *knew;
- OBD_ALLOC(knew, sizeof(*knew));
+ OBD_ALLOC_PTR(knew);
if (!knew)
return GSS_S_FAILURE;
out_err:
delete_context_kerberos(knew);
- OBD_FREE(knew, sizeof(*knew));
+ OBD_FREE_PTR(knew);
return GSS_S_FAILURE;
}
struct krb5_ctx *kctx = internal_ctx;
delete_context_kerberos(kctx);
- OBD_FREE(kctx, sizeof(*kctx));
+ OBD_FREE_PTR(kctx);
}
static
struct gss_api_mech *mech,
struct gss_ctx **ctx_id)
{
- OBD_ALLOC(*ctx_id, sizeof(**ctx_id));
+ OBD_ALLOC_PTR(*ctx_id);
if (*ctx_id == NULL)
return GSS_S_FAILURE;
LASSERT(mech);
- OBD_ALLOC(*ctx_id_new, sizeof(**ctx_id_new));
+ OBD_ALLOC_PTR(*ctx_id_new);
if (*ctx_id_new == NULL)
return GSS_S_FAILURE;
major = mech->gm_ops->gss_copy_reverse_context(ctx_id, *ctx_id_new);
if (major != GSS_S_COMPLETE) {
lgss_mech_put(mech);
- OBD_FREE(*ctx_id_new, sizeof(**ctx_id_new));
+ OBD_FREE_PTR(*ctx_id_new);
*ctx_id_new = NULL;
}
return major;
if (mech)
lgss_mech_put(mech);
- OBD_FREE(*context_handle, sizeof(**context_handle));
+ OBD_FREE_PTR(*context_handle);
*context_handle=NULL;
return GSS_S_COMPLETE;
}
struct ptlrpc_cli_ctx *ctx;
ENTRY;
- OBD_ALLOC(gctx, sizeof(*gctx));
+ OBD_ALLOC_PTR(gctx);
if (!gctx)
RETURN(NULL);
ctx->cc_sec->ps_policy->sp_name, ctx->cc_sec,
ctx, ctx->cc_vcred.vc_uid, sec2target_str(ctx->cc_sec));
- OBD_FREE(gctx, sizeof(*gctx));
+ OBD_FREE_PTR(gctx);
EXIT;
}
gss_svc_upcall_put_ctx(grctx->src_ctx);
sptlrpc_policy_put(grctx->src_base.sc_policy);
- OBD_FREE(grctx, sizeof(*grctx));
+ OBD_FREE_PTR(grctx);
}
static inline
}
/* alloc grctx data */
- OBD_ALLOC(grctx, sizeof(*grctx));
+ OBD_ALLOC_PTR(grctx);
if (!grctx) {
CERROR("fail to alloc svc reqctx\n");
RETURN(SECSVC_DROP);
EXPORT_SYMBOL(sptlrpc_unregister_policy);
static
-struct ptlrpc_sec_policy * sptlrpc_flavor2policy(ptlrpc_flavor_t flavor)
+struct ptlrpc_sec_policy * sptlrpc_flavor2policy(ptlrpc_sec_flavor_t flavor)
{
static int load_module = 0;
struct ptlrpc_sec_policy *policy;
return policy;
}
-ptlrpc_flavor_t sptlrpc_name2flavor(const char *name)
+ptlrpc_sec_flavor_t sptlrpc_name2flavor(const char *name)
{
if (!strcmp(name, "null"))
return SPTLRPC_FLVR_NULL;
}
EXPORT_SYMBOL(sptlrpc_name2flavor);
-char *sptlrpc_flavor2name(ptlrpc_flavor_t flavor)
+char *sptlrpc_flavor2name(ptlrpc_sec_flavor_t flavor)
{
switch (flavor) {
case SPTLRPC_FLVR_NULL:
RETURN(0);
}
- OBD_ALLOC(req, sizeof(*req));
+ OBD_ALLOC_PTR(req);
if (!req)
RETURN(-ENOMEM);
rc = sptlrpc_req_refresh_ctx(req, 0);
LASSERT(list_empty(&req->rq_ctx_chain));
sptlrpc_ctx_put(req->rq_cli_ctx, 1);
- OBD_FREE(req, sizeof(*req));
+ OBD_FREE_PTR(req);
RETURN(rc);
}
}
} else {
/* v2 message... */
- ptlrpc_flavor_t tmpf = req->rq_repbuf->lm_secflvr;
+ ptlrpc_sec_flavor_t tmpf = req->rq_repbuf->lm_secflvr;
if (req->rq_repbuf->lm_magic == LUSTRE_MSG_MAGIC_V2_SWABBED)
__swab32s(&tmpf);