Lines Matching refs:token
92 struct rxrpc_key_token *token, **pptoken; in rxrpc_preparse_xdr_rxkad() local
109 plen = sizeof(*token) + sizeof(*token->kad) + tktlen; in rxrpc_preparse_xdr_rxkad()
112 plen -= sizeof(*token); in rxrpc_preparse_xdr_rxkad()
113 token = kzalloc(sizeof(*token), GFP_KERNEL); in rxrpc_preparse_xdr_rxkad()
114 if (!token) in rxrpc_preparse_xdr_rxkad()
117 token->kad = kzalloc(plen, GFP_KERNEL); in rxrpc_preparse_xdr_rxkad()
118 if (!token->kad) { in rxrpc_preparse_xdr_rxkad()
119 kfree(token); in rxrpc_preparse_xdr_rxkad()
123 token->security_index = RXRPC_SECURITY_RXKAD; in rxrpc_preparse_xdr_rxkad()
124 token->kad->ticket_len = tktlen; in rxrpc_preparse_xdr_rxkad()
125 token->kad->vice_id = ntohl(xdr[0]); in rxrpc_preparse_xdr_rxkad()
126 token->kad->kvno = ntohl(xdr[1]); in rxrpc_preparse_xdr_rxkad()
127 token->kad->start = ntohl(xdr[4]); in rxrpc_preparse_xdr_rxkad()
128 token->kad->expiry = ntohl(xdr[5]); in rxrpc_preparse_xdr_rxkad()
129 token->kad->primary_flag = ntohl(xdr[6]); in rxrpc_preparse_xdr_rxkad()
130 memcpy(&token->kad->session_key, &xdr[2], 8); in rxrpc_preparse_xdr_rxkad()
131 memcpy(&token->kad->ticket, &xdr[8], tktlen); in rxrpc_preparse_xdr_rxkad()
133 _debug("SCIX: %u", token->security_index); in rxrpc_preparse_xdr_rxkad()
134 _debug("TLEN: %u", token->kad->ticket_len); in rxrpc_preparse_xdr_rxkad()
135 _debug("EXPY: %x", token->kad->expiry); in rxrpc_preparse_xdr_rxkad()
136 _debug("KVNO: %u", token->kad->kvno); in rxrpc_preparse_xdr_rxkad()
137 _debug("PRIM: %u", token->kad->primary_flag); in rxrpc_preparse_xdr_rxkad()
139 token->kad->session_key[0], token->kad->session_key[1], in rxrpc_preparse_xdr_rxkad()
140 token->kad->session_key[2], token->kad->session_key[3], in rxrpc_preparse_xdr_rxkad()
141 token->kad->session_key[4], token->kad->session_key[5], in rxrpc_preparse_xdr_rxkad()
142 token->kad->session_key[6], token->kad->session_key[7]); in rxrpc_preparse_xdr_rxkad()
143 if (token->kad->ticket_len >= 8) in rxrpc_preparse_xdr_rxkad()
145 token->kad->ticket[0], token->kad->ticket[1], in rxrpc_preparse_xdr_rxkad()
146 token->kad->ticket[2], token->kad->ticket[3], in rxrpc_preparse_xdr_rxkad()
147 token->kad->ticket[4], token->kad->ticket[5], in rxrpc_preparse_xdr_rxkad()
148 token->kad->ticket[6], token->kad->ticket[7]); in rxrpc_preparse_xdr_rxkad()
158 *pptoken = token; in rxrpc_preparse_xdr_rxkad()
159 if (token->kad->expiry < prep->expiry) in rxrpc_preparse_xdr_rxkad()
160 prep->expiry = token->kad->expiry; in rxrpc_preparse_xdr_rxkad()
427 struct rxrpc_key_token *token, **pptoken; in rxrpc_preparse_xdr_rxk5() local
440 token = kzalloc(sizeof(*token), GFP_KERNEL); in rxrpc_preparse_xdr_rxk5()
441 if (!token) in rxrpc_preparse_xdr_rxk5()
446 kfree(token); in rxrpc_preparse_xdr_rxk5()
450 token->security_index = RXRPC_SECURITY_RXK5; in rxrpc_preparse_xdr_rxk5()
451 token->k5 = rxk5; in rxrpc_preparse_xdr_rxk5()
529 *pptoken = token; in rxrpc_preparse_xdr_rxk5()
530 if (token->kad->expiry < prep->expiry) in rxrpc_preparse_xdr_rxk5()
531 prep->expiry = token->kad->expiry; in rxrpc_preparse_xdr_rxk5()
540 kfree(token); in rxrpc_preparse_xdr_rxk5()
551 const __be32 *xdr = prep->data, *token; in rxrpc_preparse_xdr() local
606 token = xdr; in rxrpc_preparse_xdr()
630 xdr = token; in rxrpc_preparse_xdr()
632 token = xdr + ((toklen + 3) >> 2); in rxrpc_preparse_xdr()
636 _debug("TOKEN type=%u [%p-%p]", sec_ix, xdr, token); in rxrpc_preparse_xdr()
687 struct rxrpc_key_token *token, **pp; in rxrpc_preparse() local
748 plen = sizeof(*token->kad) + v1->ticket_length; in rxrpc_preparse()
749 prep->quotalen = plen + sizeof(*token); in rxrpc_preparse()
752 token = kzalloc(sizeof(*token), GFP_KERNEL); in rxrpc_preparse()
753 if (!token) in rxrpc_preparse()
755 token->kad = kzalloc(plen, GFP_KERNEL); in rxrpc_preparse()
756 if (!token->kad) in rxrpc_preparse()
759 token->security_index = RXRPC_SECURITY_RXKAD; in rxrpc_preparse()
760 token->kad->ticket_len = v1->ticket_length; in rxrpc_preparse()
761 token->kad->expiry = v1->expiry; in rxrpc_preparse()
762 token->kad->kvno = v1->kvno; in rxrpc_preparse()
763 memcpy(&token->kad->session_key, &v1->session_key, 8); in rxrpc_preparse()
764 memcpy(&token->kad->ticket, v1->ticket, v1->ticket_length); in rxrpc_preparse()
773 *pp = token; in rxrpc_preparse()
774 if (token->kad->expiry < prep->expiry) in rxrpc_preparse()
775 prep->expiry = token->kad->expiry; in rxrpc_preparse()
776 token = NULL; in rxrpc_preparse()
780 kfree(token); in rxrpc_preparse()
788 static void rxrpc_free_token_list(struct rxrpc_key_token *token) in rxrpc_free_token_list() argument
792 for (; token; token = next) { in rxrpc_free_token_list()
793 next = token->next; in rxrpc_free_token_list()
794 switch (token->security_index) { in rxrpc_free_token_list()
796 kfree(token->kad); in rxrpc_free_token_list()
799 if (token->k5) in rxrpc_free_token_list()
800 rxrpc_rxk5_free(token->k5); in rxrpc_free_token_list()
804 token->security_index); in rxrpc_free_token_list()
808 kfree(token); in rxrpc_free_token_list()
1049 const struct rxrpc_key_token *token; in rxrpc_read() local
1073 for (token = key->payload.data[0]; token; token = token->next) { in rxrpc_read()
1076 switch (token->security_index) { in rxrpc_read()
1080 toksize += RND(token->kad->ticket_len); in rxrpc_read()
1084 princ = &token->k5->client; in rxrpc_read()
1090 princ = &token->k5->server; in rxrpc_read()
1096 toksize += 8 + RND(token->k5->session.data_len); in rxrpc_read()
1100 toksize += 4 + token->k5->n_addresses * 8; in rxrpc_read()
1101 for (loop = 0; loop < token->k5->n_addresses; loop++) in rxrpc_read()
1102 toksize += RND(token->k5->addresses[loop].data_len); in rxrpc_read()
1104 toksize += 4 + RND(token->k5->ticket_len); in rxrpc_read()
1105 toksize += 4 + RND(token->k5->ticket2_len); in rxrpc_read()
1107 toksize += 4 + token->k5->n_authdata * 8; in rxrpc_read()
1108 for (loop = 0; loop < token->k5->n_authdata; loop++) in rxrpc_read()
1109 toksize += RND(token->k5->authdata[loop].data_len); in rxrpc_read()
1166 for (token = key->payload.data[0]; token; token = token->next) { in rxrpc_read()
1170 ENCODE(token->security_index); in rxrpc_read()
1172 switch (token->security_index) { in rxrpc_read()
1174 ENCODE(token->kad->vice_id); in rxrpc_read()
1175 ENCODE(token->kad->kvno); in rxrpc_read()
1176 ENCODE_DATA(8, token->kad->session_key); in rxrpc_read()
1177 ENCODE(token->kad->start); in rxrpc_read()
1178 ENCODE(token->kad->expiry); in rxrpc_read()
1179 ENCODE(token->kad->primary_flag); in rxrpc_read()
1180 ENCODE_DATA(token->kad->ticket_len, token->kad->ticket); in rxrpc_read()
1184 princ = &token->k5->client; in rxrpc_read()
1190 princ = &token->k5->server; in rxrpc_read()
1196 ENCODE(token->k5->session.tag); in rxrpc_read()
1197 ENCODE_DATA(token->k5->session.data_len, in rxrpc_read()
1198 token->k5->session.data); in rxrpc_read()
1200 ENCODE64(token->k5->authtime); in rxrpc_read()
1201 ENCODE64(token->k5->starttime); in rxrpc_read()
1202 ENCODE64(token->k5->endtime); in rxrpc_read()
1203 ENCODE64(token->k5->renew_till); in rxrpc_read()
1204 ENCODE(token->k5->is_skey); in rxrpc_read()
1205 ENCODE(token->k5->flags); in rxrpc_read()
1207 ENCODE(token->k5->n_addresses); in rxrpc_read()
1208 for (loop = 0; loop < token->k5->n_addresses; loop++) { in rxrpc_read()
1209 ENCODE(token->k5->addresses[loop].tag); in rxrpc_read()
1210 ENCODE_DATA(token->k5->addresses[loop].data_len, in rxrpc_read()
1211 token->k5->addresses[loop].data); in rxrpc_read()
1214 ENCODE_DATA(token->k5->ticket_len, token->k5->ticket); in rxrpc_read()
1215 ENCODE_DATA(token->k5->ticket2_len, token->k5->ticket2); in rxrpc_read()
1217 ENCODE(token->k5->n_authdata); in rxrpc_read()
1218 for (loop = 0; loop < token->k5->n_authdata; loop++) { in rxrpc_read()
1219 ENCODE(token->k5->authdata[loop].tag); in rxrpc_read()
1220 ENCODE_DATA(token->k5->authdata[loop].data_len, in rxrpc_read()
1221 token->k5->authdata[loop].data); in rxrpc_read()