iv-gen: Use NULL IV generator for NULL encryption
authorTobias Brunner <tobias@strongswan.org>
Fri, 23 Oct 2015 12:34:54 +0000 (14:34 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 9 Nov 2015 10:09:18 +0000 (11:09 +0100)
We don't need an IV for NULL encryption, so we wouldn't technically need
an IV generator.  But some of the code currently relies on an IV
generator to be present.  So we don't have to change that code and
handle IV size == 0 specially we use the new NULL IV generator, which
handles this transparently to the existing code.

Before 3c81cb6fc322 ("aead: Create AEAD using traditional transforms
with an explicit IV generator") iv_gen_rand_t was used for NULL
encryption, which would work too but this way it's clearer.

src/libstrongswan/crypto/iv/iv_gen.c

index 7d6570a..c706277 100644 (file)
@@ -1,4 +1,7 @@
 /*
+ * Copyright (C) 2015 Tobias Brunner
+ * Hochschule fuer Technik Rapperswil
+ *
  * Copyright (C) 2015 Martin Willi
  * Copyright (C) 2015 revosec AG
  *
@@ -16,6 +19,7 @@
 #include "iv_gen.h"
 #include "iv_gen_rand.h"
 #include "iv_gen_seq.h"
+#include "iv_gen_null.h"
 
 /**
  * See header.
@@ -52,6 +56,7 @@ iv_gen_t* iv_gen_create_for_alg(encryption_algorithm_t alg)
                case ENCR_NULL_AUTH_AES_GMAC:
                        return iv_gen_seq_create();
                case ENCR_NULL:
+                       return iv_gen_null_create();
                case ENCR_UNDEFINED:
                case ENCR_DES_ECB:
                case ENCR_DES_IV32: