From 4ba56680a7d77fe954a4f384e34659586b813362 Mon Sep 17 00:00:00 2001 From: seebees Date: Fri, 27 Mar 2020 16:19:12 -0700 Subject: [PATCH] chore: Update comment to be correct The sequence number starts at 1. 0 is not valid. --- modules/serialize/src/serialize_factory.ts | 5 ++++- modules/serialize/test/serialize_factory.test.ts | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/serialize/src/serialize_factory.ts b/modules/serialize/src/serialize_factory.ts index 3c61c8f97..c57daeb47 100644 --- a/modules/serialize/src/serialize_factory.ts +++ b/modules/serialize/src/serialize_factory.ts @@ -43,7 +43,10 @@ export function serializeFactory (fromUtf8: (input: any) => Uint8Array) { } function frameIv (ivLength: IvLength, sequenceNumber: number) { - /* Precondition: sequenceNumber must conform to the specification. i.e. 0 - (2^32 - 1) */ + /* Precondition: sequenceNumber must conform to the specification. i.e. 1 - (2^32 - 1) + * The sequence number starts at 1 + * https://github.com/awslabs/aws-encryption-sdk-specification/blob/master/data-format/message-body.md#sequence-number + */ needs(sequenceNumber > 0 && SequenceIdentifier.SEQUENCE_NUMBER_END >= sequenceNumber, 'sequenceNumber out of bounds') const buff = new Uint8Array(ivLength) diff --git a/modules/serialize/test/serialize_factory.test.ts b/modules/serialize/test/serialize_factory.test.ts index 15fa1ab0f..18e2a9ad2 100644 --- a/modules/serialize/test/serialize_factory.test.ts +++ b/modules/serialize/test/serialize_factory.test.ts @@ -31,7 +31,7 @@ describe('serializeFactory:frameIv', () => { expect(test).to.deep.equal(fixtures.basicFrameIV()) }) - it('Precondition: sequenceNumber must conform to the specification. i.e. 0 - (2^32 - 1)', () => { + it('Precondition: sequenceNumber must conform to the specification. i.e. 1 - (2^32 - 1)', () => { const fromUtf8 = () => { throw new Error('not used') } const { frameIv } = serializeFactory(fromUtf8) expect(() => frameIv(12, 0)).to.throw()