header = (ServerCookieHeader *)cookie->cookie;
- /* Keep the fields in the host byte order */
- header->key_id = key->id;
+ header->key_id = htonl(key->id);
UTI_GetRandomBytes(header->nonce, sizeof (header->nonce));
plaintext_length = context->c2s.length + context->s2c.length;
int ciphertext_length, plaintext_length, tag_length;
ServerCookieHeader *header;
ServerKey *key;
+ uint32_t key_id;
if (!initialised) {
DEBUG_LOG("NTS server disabled");
ciphertext = cookie->cookie + sizeof (*header);
ciphertext_length = cookie->length - sizeof (*header);
- key = &server_keys[header->key_id % MAX_SERVER_KEYS];
- if (header->key_id != key->id) {
- DEBUG_LOG("Unknown key %"PRIX32, header->key_id);
+ key_id = ntohl(header->key_id);
+ key = &server_keys[key_id % MAX_SERVER_KEYS];
+ if (key_id != key->id) {
+ DEBUG_LOG("Unknown key %"PRIX32, key_id);
return 0;
}