This source file includes following definitions.
- rxrpc_time64_to_u32
- rxrpc_u32_to_time64
1
2
3
4
5
6
7
8 #ifndef _KEYS_RXRPC_TYPE_H
9 #define _KEYS_RXRPC_TYPE_H
10
11 #include <linux/key.h>
12
13
14
15
16 extern struct key_type key_type_rxrpc;
17
18 extern struct key *rxrpc_get_null_key(const char *);
19
20
21
22
23 struct rxkad_key {
24 u32 vice_id;
25 u32 start;
26 u32 expiry;
27 u32 kvno;
28 u8 primary_flag;
29 u16 ticket_len;
30 u8 session_key[8];
31 u8 ticket[0];
32 };
33
34
35
36
37
38 struct krb5_principal {
39 u8 n_name_parts;
40 char **name_parts;
41 char *realm;
42 };
43
44
45
46
47 struct krb5_tagged_data {
48
49
50
51
52 s32 tag;
53 u32 data_len;
54 u8 *data;
55 };
56
57
58
59
60 struct rxk5_key {
61 u64 authtime;
62 u64 starttime;
63 u64 endtime;
64 u64 renew_till;
65 s32 is_skey;
66
67 s32 flags;
68 struct krb5_principal client;
69 struct krb5_principal server;
70 u16 ticket_len;
71 u16 ticket2_len;
72 u8 n_authdata;
73 u8 n_addresses;
74 struct krb5_tagged_data session;
75 struct krb5_tagged_data *addresses;
76 u8 *ticket;
77 u8 *ticket2;
78
79 struct krb5_tagged_data *authdata;
80 };
81
82
83
84
85 struct rxrpc_key_token {
86 u16 security_index;
87 struct rxrpc_key_token *next;
88 union {
89 struct rxkad_key *kad;
90 struct rxk5_key *k5;
91 };
92 };
93
94
95
96
97 struct rxrpc_key_data_v1 {
98 u16 security_index;
99 u16 ticket_length;
100 u32 expiry;
101 u32 kvno;
102 u8 session_key[8];
103 u8 ticket[0];
104 };
105
106
107
108
109
110 #define AFSTOKEN_LENGTH_MAX 16384
111 #define AFSTOKEN_STRING_MAX 256
112 #define AFSTOKEN_DATA_MAX 64
113 #define AFSTOKEN_CELL_MAX 64
114 #define AFSTOKEN_MAX 8
115 #define AFSTOKEN_BDATALN_MAX 16384
116 #define AFSTOKEN_RK_TIX_MAX 12000
117 #define AFSTOKEN_GK_KEY_MAX 64
118 #define AFSTOKEN_GK_TOKEN_MAX 16384
119 #define AFSTOKEN_K5_COMPONENTS_MAX 16
120 #define AFSTOKEN_K5_NAME_MAX 128
121 #define AFSTOKEN_K5_REALM_MAX 64
122 #define AFSTOKEN_K5_TIX_MAX 16384
123 #define AFSTOKEN_K5_ADDRESSES_MAX 16
124 #define AFSTOKEN_K5_AUTHDATA_MAX 16
125
126
127
128
129
130 static inline u32 rxrpc_time64_to_u32(time64_t time)
131 {
132 if (time < 0)
133 return 0;
134
135 if (time > UINT_MAX)
136 return UINT_MAX;
137
138 return (u32)time;
139 }
140
141
142
143
144 static inline time64_t rxrpc_u32_to_time64(u32 time)
145 {
146 return (time64_t)time;
147 }
148
149 #endif