aboutsummaryrefslogtreecommitdiffstats
path: root/src/libfast/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libfast/session.c')
-rw-r--r--src/libfast/session.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/libfast/session.c b/src/libfast/session.c
index 519187efa..87b7a266d 100644
--- a/src/libfast/session.c
+++ b/src/libfast/session.c
@@ -24,7 +24,6 @@
#include <stdio.h>
#include <utils/linked_list.h>
-#include <utils/randomizer.h>
typedef struct private_session_t private_session_t;
@@ -82,12 +81,16 @@ static void create_sid(private_session_t *this, request_t *request)
{
char buf[16];
chunk_t chunk = chunk_from_buf(buf);
- randomizer_t *randomizer = randomizer_create();
+ rng_t *rng;
- randomizer->get_pseudo_random_bytes(randomizer, sizeof(buf), buf);
- this->sid = chunk_to_hex(chunk, FALSE);
- request->add_cookie(request, "SID", this->sid);
- randomizer->destroy(randomizer);
+ rng = lib->crypto->create_rng(lib->crypto, RNG_WEAK);
+ if (rng)
+ {
+ rng->get_bytes(rng, sizeof(buf), buf);
+ this->sid = chunk_to_hex(chunk, FALSE);
+ request->add_cookie(request, "SID", this->sid);
+ rng->destroy(rng);
+ }
}
/**