chiark / gitweb /
site: Remove pointless check from decrypt_msg0
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 20 Jun 2012 23:23:13 +0000 (00:23 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 12 Jul 2012 19:02:21 +0000 (20:02 +0100)
It is not necessary to check whether we have a current key before
attempting to unpick and decrypt a MSG0.  If we don't,
transform->reverse will simply fail due to lacking a key.

This check needs to be removed, because in forthcoming patches we will
want to be able to try to decrypt the packet with other keys, at which
point the lack of a currently valid data transfer key will not be
relevant and this check will be harmful.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
site.c

diff --git a/site.c b/site.c
index f65051fca9a4009467384e6f9f1f0b6a8f81b0b4..4d3a6125bfed91a8956cbc3b3c3ebd608e8f95bc 100644 (file)
--- a/site.c
+++ b/site.c
@@ -715,12 +715,6 @@ static bool_t decrypt_msg0(struct site *st, struct buffer_if *msg0)
     struct msg0 m;
     uint32_t problem;
 
     struct msg0 m;
     uint32_t problem;
 
-    if (!st->current_valid) {
-       slog(st,LOG_DROP,"incoming message but no current key -> dropping");
-       initiate_key_setup(st,"incoming message but no current key");
-       return False;
-    }
-
     if (!unpick_msg0(st,msg0,&m)) return False;
 
     problem = st->current_transform->reverse(st->current_transform->st,
     if (!unpick_msg0(st,msg0,&m)) return False;
 
     problem = st->current_transform->reverse(st->current_transform->st,