Bump versions.
[gnutls.git] / tests / crypto_rng.c
blob2667178a066b0285d6a14e4d27af828c7b24970e
2 #ifdef HAVE_CONFIG_H
3 # include <config.h>
4 #endif
6 #include <stdio.h>
8 #include "utils.h"
10 #include <gnutls/gnutls.h>
11 #include <gnutls/crypto.h>
12 #include "../lib/random.h"
14 void mylogfn( int level, const char*ptr)
16 printf ("Got Logs: ");
17 if (ptr)
18 printf ("%s", ptr);
21 int rng_init( void** ctx)
23 return 0;
26 int rng_rnd ( void* ctx, int level, void* data, int datasize)
28 memset(data, 1,datasize);
29 return 0;
32 void rng_deinit( void* ctx)
36 void
37 doit (void)
39 int rc;
40 char buf1[32];
41 char buf2[32];
42 int failed = 0;
43 gnutls_crypto_rnd_st rng = { rng_init, rng_rnd, rng_deinit };
46 rc = gnutls_crypto_rnd_register (0, &rng);
48 gnutls_global_init ();
50 memset(buf2, 1, sizeof(buf2));
52 _gnutls_rnd(GNUTLS_RND_KEY, buf1, sizeof(buf1));
54 if (memcmp( buf1, buf2, sizeof(buf1))!=0)
55 failed = 1;
57 gnutls_global_deinit ();
59 if (failed == 0) {
60 success("rng registered ok\n");
61 } else {
62 fail ("rng register test failed: %d\n", rc);