SUNRPC: Add support for privacy to generic gss-api code.

Add support for privacy to generic gss-api code.  This is dead code until we
 have both a mechanism that supports privacy and code in the client or server
 that uses it.

 Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
J. Bruce Fields 2005-10-13 16:54:37 -04:00 committed by Trond Myklebust
parent 1d95db8e16
commit 293f1eb551
2 changed files with 44 additions and 0 deletions

View File

@ -48,6 +48,17 @@ u32 gss_verify_mic(
struct xdr_buf *message, struct xdr_buf *message,
struct xdr_netobj *mic_token, struct xdr_netobj *mic_token,
u32 *qstate); u32 *qstate);
u32 gss_wrap(
struct gss_ctx *ctx_id,
u32 qop,
int offset,
struct xdr_buf *outbuf,
struct page **inpages);
u32 gss_unwrap(
struct gss_ctx *ctx_id,
u32 *qop,
int offset,
struct xdr_buf *inbuf);
u32 gss_delete_sec_context( u32 gss_delete_sec_context(
struct gss_ctx **ctx_id); struct gss_ctx **ctx_id);
@ -93,6 +104,17 @@ struct gss_api_ops {
struct xdr_buf *message, struct xdr_buf *message,
struct xdr_netobj *mic_token, struct xdr_netobj *mic_token,
u32 *qstate); u32 *qstate);
u32 (*gss_wrap)(
struct gss_ctx *ctx_id,
u32 qop,
int offset,
struct xdr_buf *outbuf,
struct page **inpages);
u32 (*gss_unwrap)(
struct gss_ctx *ctx_id,
u32 *qop,
int offset,
struct xdr_buf *buf);
void (*gss_delete_sec_context)( void (*gss_delete_sec_context)(
void *internal_ctx_id); void *internal_ctx_id);
}; };

View File

@ -276,6 +276,28 @@ gss_verify_mic(struct gss_ctx *context_handle,
qstate); qstate);
} }
u32
gss_wrap(struct gss_ctx *ctx_id,
u32 qop,
int offset,
struct xdr_buf *buf,
struct page **inpages)
{
return ctx_id->mech_type->gm_ops
->gss_wrap(ctx_id, qop, offset, buf, inpages);
}
u32
gss_unwrap(struct gss_ctx *ctx_id,
u32 *qop,
int offset,
struct xdr_buf *buf)
{
return ctx_id->mech_type->gm_ops
->gss_unwrap(ctx_id, qop, offset, buf);
}
/* gss_delete_sec_context: free all resources associated with context_handle. /* gss_delete_sec_context: free all resources associated with context_handle.
* Note this differs from the RFC 2744-specified prototype in that we don't * Note this differs from the RFC 2744-specified prototype in that we don't
* bother returning an output token, since it would never be used anyway. */ * bother returning an output token, since it would never be used anyway. */