- bin2hex(from->key, key, from->keylength);
- key[from->keylength * 2] = '\0';
+ cipher_open_by_nid(&to->incipher, cipher_get_nid(&myself->incipher));
+ digest_open_by_nid(&to->indigest, digest_get_nid(&myself->indigest));
+ to->inmaclength = myself->inmaclength;
+ to->incompression = myself->incompression;
+
+ randomize(key, keylen);
+ cipher_set_key(&to->incipher, key, true);
+
+ bin2hex(key, key, keylen);
+ key[keylen * 2] = '\0';
+
+ // Reset sequence number and late packet window
+ mykeyused = true;
+ to->received_seqno = 0;
+ memset(to->late, 0, sizeof(to->late));