- slog(st,LOG_SEC,"transform: %s",transform_err);
+ if (st->state==SITE_SENTMSG5) {
+ buffer_copy(msg0, &st->scratch);
+ if (!st->new_transform->reverse(st->new_transform->st,
+ msg0,&newkey_err)) {
+ /* It looks like we didn't get the peer's MSG6 */
+ /* This is like a cut-down enter_new_state(SITE_RUN) */
+ slog(st,LOG_STATE,"will enter state RUN (MSG0 with new key)");
+ BUF_FREE(&st->buffer);
+ st->timeout=0;
+ activate_new_key(st);
+ return True; /* do process the data in this packet */
+ }
+ }
+
+ slog(st,LOG_SEC,"transform: %s (new: %s)",transform_err,newkey_err);