X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=transform.c;h=289b02e57e899611d0fc96880dfad435b36fc5be;hb=f15aefe4e0bb264fc1ceac17c7bbe1a534d190c9;hp=f55aa447dfd41c1c64c3dfc6b658010057b77d55;hpb=20138876b39edc6b9bbcc79789c5aa1a684d3312;p=secnet.git diff --git a/transform.c b/transform.c index f55aa44..289b02e 100644 --- a/transform.c +++ b/transform.c @@ -68,6 +68,13 @@ static bool_t transform_setkey(void *sst, uint8_t *key, int32_t keylen) return True; } +static bool_t transform_valid(void *sst) +{ + struct transform_inst *ti=sst; + + return ti->keyed; +} + static void transform_delkey(void *sst) { struct transform_inst *ti=sst; @@ -247,7 +254,7 @@ static uint32_t transform_reverse(void *sst, struct buffer_if *buf, } else { /* Too much skew */ *errmsg="seqnum: too much skew"; - return 1; + return 2; } return 0; @@ -271,6 +278,7 @@ static struct transform_inst_if *transform_create(void *sst) ti->ops.st=ti; ti->ops.setkey=transform_setkey; + ti->ops.valid=transform_valid; ti->ops.delkey=transform_delkey; ti->ops.forwards=transform_forward; ti->ops.reverse=transform_reverse;