diff options
author | Alfredo Cardigliano <alfredo.cardigliano@gmail.com> | 2019-11-19 19:03:06 +0100 |
---|---|---|
committer | Alfredo Cardigliano <alfredo.cardigliano@gmail.com> | 2019-11-19 19:03:06 +0100 |
commit | ead0325debc96b2d134a625b4fac184a979ccc5a (patch) | |
tree | 9afaf923081359eb3e3fe2a2b0fcb91e16abb27a /src | |
parent | 0b819badd2156fa2d959eabb82d52b0082ddc53b (diff) |
Rounding up serializer buffer to be divisible by 4 (required by zmq encryption)
Diffstat (limited to 'src')
-rw-r--r-- | src/include/ndpi_api.h | 13 | ||||
-rw-r--r-- | src/lib/ndpi_serializer.c | 7 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h index 0b4187ad2..7ad734e85 100644 --- a/src/include/ndpi_api.h +++ b/src/include/ndpi_api.h @@ -897,7 +897,7 @@ extern "C" { const char *key, u_int64_t value); int ndpi_serialize_string_string(ndpi_serializer *serializer, const char *key, const char *value); - int ndpi_serialize_string_binary(ndpi_serializer *_serializer, + int ndpi_serialize_string_binary(ndpi_serializer *serializer, const char *key, const char *_value, u_int16_t vlen); int ndpi_serialize_string_float(ndpi_serializer *serializer, @@ -907,12 +907,13 @@ extern "C" { const char *key, u_int8_t value); int ndpi_serialize_end_of_record(ndpi_serializer *serializer); - int ndpi_serialize_start_of_block(ndpi_serializer *_serializer, + int ndpi_serialize_start_of_block(ndpi_serializer *serializer, const char *key); - int ndpi_serialize_end_of_block(ndpi_serializer *_serializer); - char* ndpi_serializer_get_buffer(ndpi_serializer *_serializer, u_int32_t *buffer_len); - u_int32_t ndpi_serializer_get_buffer_len(ndpi_serializer *_serializer); - int ndpi_serializer_set_buffer_len(ndpi_serializer *_serializer, u_int32_t l); + int ndpi_serialize_end_of_block(ndpi_serializer *serializer); + char* ndpi_serializer_get_buffer(ndpi_serializer *serializer, u_int32_t *buffer_len); + u_int32_t ndpi_serializer_get_buffer_len(ndpi_serializer *serializer); + u_int32_t ndpi_serializer_get_internal_buffer_size(ndpi_serializer *serializer); + int ndpi_serializer_set_buffer_len(ndpi_serializer *serializer, u_int32_t l); void ndpi_serializer_set_csv_separator(ndpi_serializer *serializer, char separator); void ndpi_serializer_create_snapshot(ndpi_serializer *serializer); diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c index 6875af342..baacfd403 100644 --- a/src/lib/ndpi_serializer.c +++ b/src/lib/ndpi_serializer.c @@ -215,6 +215,12 @@ u_int32_t ndpi_serializer_get_buffer_len(ndpi_serializer *_serializer) { /* ********************************** */ +u_int32_t ndpi_serializer_get_internal_buffer_size(ndpi_serializer *_serializer) { + return(((ndpi_private_serializer*)_serializer)->buffer_size); +} + +/* ********************************** */ + int ndpi_serializer_set_buffer_len(ndpi_serializer *_serializer, u_int32_t l) { ndpi_private_serializer *p = (ndpi_private_serializer*)_serializer; @@ -266,6 +272,7 @@ static inline int ndpi_extend_serializer_buffer(ndpi_serializer *_serializer, u_ } new_size = serializer->buffer_size + min_len; + new_size = ((new_size / 4) + 1) * 4; /* required by zmq encryption */ r = realloc((void *) serializer->buffer, new_size); |