From 3cdb830c2b8c43a9bc7a733400dffcb6f241dfec Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 15 May 2019 00:29:24 +0100 Subject: [PATCH] site: Change return value of decrypt_msg0 The caller is going to want to do something more subtle. No functional change. Signed-off-by: Ian Jackson --- site.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/site.c b/site.c index 0db109f..bc902ad 100644 --- a/site.c +++ b/site.c @@ -1072,7 +1072,8 @@ static bool_t process_msg6(struct site *st, struct buffer_if *msg6, return True; } -static bool_t decrypt_msg0(struct site *st, struct buffer_if *msg0, +static transform_apply_return +decrypt_msg0(struct site *st, struct buffer_if *msg0, const struct comm_addr *src) { cstring_t transform_err, auxkey_err, newkey_err="n/a"; @@ -1090,7 +1091,7 @@ static bool_t decrypt_msg0(struct site *st, struct buffer_if *msg0, if (!st->auxiliary_is_new) delete_one_key(st,&st->auxiliary_key, "peer has used new key","auxiliary key",LOG_SEC); - return True; + return 0; } if (problem==transform_apply_seqrange) goto skew; @@ -1115,7 +1116,7 @@ static bool_t decrypt_msg0(struct site *st, struct buffer_if *msg0, st->auxiliary_is_new=0; st->renegotiate_key_time=st->auxiliary_renegotiate_key_time; } - return True; + return 0; } if (problem==transform_apply_seqrange) goto skew; @@ -1131,7 +1132,7 @@ static bool_t decrypt_msg0(struct site *st, struct buffer_if *msg0, BUF_FREE(&st->buffer); st->timeout=0; activate_new_key(st); - return True; /* do process the data in this packet */ + return 0; /* do process the data in this packet */ } if (problem==transform_apply_seqrange) goto skew; @@ -1141,7 +1142,8 @@ static bool_t decrypt_msg0(struct site *st, struct buffer_if *msg0, transform_err,auxkey_err,newkey_err); initiate_key_setup(st,"incoming message would not decrypt",0); send_nak(src,m.dest,m.source,m.type,msg0,"message would not decrypt"); - return False; + assert(problem); + return problem; skew: slog(st,LOG_DROP,"transform: %s (merely skew)",transform_err); @@ -1153,8 +1155,10 @@ static bool_t process_msg0(struct site *st, struct buffer_if *msg0, const struct comm_addr *src) { uint32_t type; + transform_apply_return problem; - if (!decrypt_msg0(st,msg0,src)) + problem = decrypt_msg0(st,msg0,src); + if (problem) return False; CHECK_AVAIL(msg0,4); -- 2.30.2