iv_gen: Provide external sequence number (IKE, ESP)

This prevents duplicate sequential IVs in case of a HA failover.
This commit is contained in:
Tobias Brunner
2013-10-11 15:55:40 +02:00
parent d74c254dfd
commit e8229ad558
7 changed files with 18 additions and 23 deletions
+4 -2
View File
@@ -33,21 +33,23 @@ struct iv_gen_t {
/**
* Generates an IV and writes it into the buffer.
*
* @param seq external sequence number
* @param size size of IV in bytes
* @param buffer pointer where the generated IV will be written
* @return TRUE if IV allocation was successful, FALSE otherwise
*/
bool (*get_iv)(iv_gen_t *this, size_t size,
bool (*get_iv)(iv_gen_t *this, u_int64_t seq, size_t size,
u_int8_t *buffer) __attribute__((warn_unused_result));
/**
* Generates an IV and allocates space for it.
*
* @param seq external sequence number
* @param size size of IV in bytes
* @param chunk chunk which will hold the generated IV
* @return TRUE if IV allocation was successful, FALSE otherwise
*/
bool (*allocate_iv)(iv_gen_t *this, size_t size,
bool (*allocate_iv)(iv_gen_t *this, u_int64_t seq, size_t size,
chunk_t *chunk) __attribute__((warn_unused_result));
/**