X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/secnet/blobdiff_plain/31dd07884afd1f1d87d398bf344e1ba3a71e293b..34afe8d7b8a75eddd44cccb8e6d8d35fa17a47d9:/secnet.h diff --git a/secnet.h b/secnet.h index 21b94c0..e253a14 100644 --- a/secnet.h +++ b/secnet.h @@ -548,12 +548,15 @@ typedef enum { transform_apply_ok = 0, /* all is well (everyone may assume==0) */ transform_apply_err = 1, /* any other problem */ transform_apply_seqrange = 2, - /* message decrypted but sequence number was out of range */ + /* message decrypted but sequence number was out of recent range */ + transform_apply_seqdupe = 3, + /* message decrypted but was dupe of recent packet */ } transform_apply_return; static inline bool_t transform_apply_return_badseq(transform_apply_return problem) { - return problem == transform_apply_seqrange; + return problem == transform_apply_seqrange || + problem == transform_apply_seqdupe; } typedef transform_apply_return transform_apply_fn(void *st,