aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r--include/linux/sunrpc/gss_krb5.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/include/linux/sunrpc/gss_krb5.h b/include/linux/sunrpc/gss_krb5.h
index 5378e455482c..f94935599d13 100644
--- a/include/linux/sunrpc/gss_krb5.h
+++ b/include/linux/sunrpc/gss_krb5.h
@@ -4,7 +4,7 @@
4 * Adapted from MIT Kerberos 5-1.2.1 lib/include/krb5.h, 4 * Adapted from MIT Kerberos 5-1.2.1 lib/include/krb5.h,
5 * lib/gssapi/krb5/gssapiP_krb5.h, and others 5 * lib/gssapi/krb5/gssapiP_krb5.h, and others
6 * 6 *
7 * Copyright (c) 2000 The Regents of the University of Michigan. 7 * Copyright (c) 2000-2008 The Regents of the University of Michigan.
8 * All rights reserved. 8 * All rights reserved.
9 * 9 *
10 * Andy Adamson <andros@umich.edu> 10 * Andy Adamson <andros@umich.edu>
@@ -36,6 +36,7 @@
36 * 36 *
37 */ 37 */
38 38
39#include <linux/crypto.h>
39#include <linux/sunrpc/auth_gss.h> 40#include <linux/sunrpc/auth_gss.h>
40#include <linux/sunrpc/gss_err.h> 41#include <linux/sunrpc/gss_err.h>
41#include <linux/sunrpc/gss_asn1.h> 42#include <linux/sunrpc/gss_asn1.h>
@@ -46,9 +47,31 @@
46/* Maximum blocksize for the supported crypto algorithms */ 47/* Maximum blocksize for the supported crypto algorithms */
47#define GSS_KRB5_MAX_BLOCKSIZE (16) 48#define GSS_KRB5_MAX_BLOCKSIZE (16)
48 49
50struct gss_krb5_enctype {
51 const u32 etype; /* encryption (key) type */
52 const u32 ctype; /* checksum type */
53 const char *name; /* "friendly" name */
54 const char *encrypt_name; /* crypto encrypt name */
55 const char *cksum_name; /* crypto checksum name */
56 const u16 signalg; /* signing algorithm */
57 const u16 sealalg; /* sealing algorithm */
58 const u32 blocksize; /* encryption blocksize */
59 const u32 cksumlength; /* checksum length */
60 const u32 keyed_cksum; /* is it a keyed cksum? */
61 const u32 keybytes; /* raw key len, in bytes */
62 const u32 keylength; /* final key len, in bytes */
63 u32 (*encrypt) (struct crypto_blkcipher *tfm,
64 void *iv, void *in, void *out,
65 int length); /* encryption function */
66 u32 (*decrypt) (struct crypto_blkcipher *tfm,
67 void *iv, void *in, void *out,
68 int length); /* decryption function */
69};
70
49struct krb5_ctx { 71struct krb5_ctx {
50 int initiate; /* 1 = initiating, 0 = accepting */ 72 int initiate; /* 1 = initiating, 0 = accepting */
51 u32 enctype; 73 u32 enctype;
74 const struct gss_krb5_enctype *gk5e; /* enctype-specific info */
52 struct crypto_blkcipher *enc; 75 struct crypto_blkcipher *enc;
53 struct crypto_blkcipher *seq; 76 struct crypto_blkcipher *seq;
54 s32 endtime; 77 s32 endtime;