25#define RANDOM_BUF_SZ 128
27static void hexdump(
const char *msg,
const unsigned char *
b,
int n)
32 for (
i = 0;
i <
n; ++
i) {
101 static unsigned char c[2048];
128 0x82, 0x04, 0xad, 0xd2, 0x0b, 0xd5, 0xac, 0xda,
129 0x3d, 0x85, 0x58, 0x38, 0x54, 0x6b, 0x69, 0x45,
130 0x37, 0x4c, 0xc7, 0xd7, 0x87, 0xeb, 0xbf, 0xd9,
131 0xb1, 0xb8, 0xb8, 0x2d, 0x9b, 0x33, 0x6e, 0x97,
132 0x04, 0x1d, 0x4c, 0xb0, 0xd1, 0xdf, 0x3d, 0xac,
133 0xd2, 0xaa, 0xfa, 0xcd, 0x96, 0xb7, 0xcf, 0xb1,
134 0x8e, 0x3d, 0xb3, 0xe5, 0x37, 0xa9, 0x95, 0xb4,
135 0xaa, 0x3d, 0x11, 0x1a, 0x08, 0x20, 0x21, 0x9f,
136 0xdb, 0x08, 0x3a, 0xb9, 0x57, 0x9f, 0xf2, 0x1f,
137 0x27, 0xdc, 0xb6, 0xc0, 0x85, 0x08, 0x05, 0xbb,
138 0x13, 0xbe, 0xb1, 0xe9, 0x63, 0x2a, 0xe2, 0xa4,
139 0x23, 0x15, 0x2a, 0x10, 0xbf, 0xdf, 0x09, 0xb3,
140 0xc7, 0xfb, 0x2d, 0x87, 0x48, 0x19, 0xfb, 0xc0,
141 0x15, 0x8c, 0xcb, 0xc6, 0xbd, 0x89, 0x38, 0x69,
142 0xa3, 0xae, 0xa3, 0x21, 0x58, 0x50, 0xe7, 0xc4,
143 0x87, 0xec, 0x2e, 0xb1, 0x2d, 0x6a, 0xbd, 0x46
158 0x38, 0x8f, 0x01, 0x29, 0x5a, 0x5c, 0x1f, 0xa8,
159 0x00, 0xde, 0x16, 0x4c, 0xe5, 0xf7, 0x1f, 0x58,
160 0xc0, 0x67, 0xe2, 0x98, 0x3d, 0xde, 0x4a, 0x75,
161 0x61, 0x3f, 0x23, 0xd8, 0x45, 0x7a, 0x10, 0x60,
162 0x59, 0x9b, 0xd6, 0xaf, 0xcb, 0x0a, 0x2e, 0x34,
163 0x9c, 0x39, 0x5b, 0xd0, 0xbc, 0x9a, 0xf0, 0x7b,
164 0x7f, 0x40, 0x8b, 0x33, 0xc0, 0x0e, 0x2a, 0x56,
165 0xfc, 0xe5, 0xab, 0xde, 0x7b, 0x13, 0xf5, 0xec,
166 0x15, 0x68, 0xb8, 0x09, 0xbc, 0x2c, 0x15, 0xf0,
167 0x7b, 0xef, 0x2a, 0x97, 0x19, 0xa8, 0x69, 0x51,
168 0xdf, 0xb0, 0x5f, 0x1a, 0x4e, 0xdf, 0x42, 0x02,
169 0x71, 0x36, 0xa7, 0x25, 0x64, 0x85, 0xe2, 0x72,
170 0xc7, 0x87, 0x4d, 0x7d, 0x15, 0xbb, 0x15, 0xd1,
171 0xb1, 0x62, 0x0b, 0x25, 0xd9, 0xd3, 0xd9, 0x5a,
172 0xe3, 0x47, 0x1e, 0xae, 0x67, 0xb4, 0x19, 0x9e,
173 0xed, 0xd2, 0xde, 0xce, 0x18, 0x70, 0x57, 0x12
189 0xe8, 0xe7, 0xc9, 0x45, 0xe2, 0x2a, 0x54, 0xb2,
190 0xdd, 0xe0, 0xf9, 0xbc, 0x3d, 0xf9, 0xce, 0x3c,
191 0x4c, 0xbd, 0xc9, 0xe2, 0x20, 0x4a, 0x35, 0x1c,
192 0x04, 0x52, 0x7f, 0xb8, 0x0f, 0x60, 0x89, 0x63,
193 0x8a, 0xbe, 0x0a, 0x44, 0xac, 0x5d, 0xd8, 0xeb,
194 0x24, 0x7d, 0xd1, 0xda, 0x4d, 0x86, 0x9b, 0x94,
195 0x26, 0x56, 0x4a, 0x5e, 0x30, 0xea, 0xd4, 0xa9,
196 0x9a, 0xdf, 0xdd, 0xb6, 0xb1, 0x15, 0xe0, 0xfa,
197 0x28, 0xa4, 0xd6, 0x95, 0xa4, 0xf1, 0xd8, 0x6e,
198 0xeb, 0x8c, 0xa4, 0xac, 0x34, 0xfe, 0x06, 0x92,
199 0xc5, 0x09, 0x99, 0x86, 0xdc, 0x5a, 0x3c, 0x92,
200 0xc8, 0x3e, 0x52, 0x00, 0x4d, 0x01, 0x43, 0x6f,
201 0x69, 0xcf, 0xe2, 0x60, 0x9c, 0x23, 0xb3, 0xa5,
202 0x5f, 0x51, 0x47, 0x8c, 0x07, 0xde, 0x60, 0xc6,
203 0x04, 0xbf, 0x32, 0xd6, 0xdc, 0xb7, 0x31, 0x01,
204 0x29, 0x51, 0x51, 0xb3, 0x19, 0x6e, 0xe4, 0xf8
213 0x7d, 0x0e, 0xc4, 0x4e, 0x3e, 0xac, 0x86, 0x50,
214 0x37, 0x95, 0x7a, 0x98, 0x23, 0x26, 0xa7, 0xbf,
215 0x60, 0xfb, 0xa3, 0x70, 0x90, 0xc3, 0x58, 0xc6,
216 0xbd, 0xd9, 0x5e, 0xa6, 0x77, 0x62, 0x7a, 0x5c,
217 0x96, 0x83, 0x7f, 0x80, 0x3d, 0xf4, 0x9c, 0xcc,
218 0x9b, 0x0c, 0x8c, 0xe1, 0x72, 0xa8, 0xfb, 0xc9,
219 0xc5, 0x43, 0x91, 0xdc, 0x9d, 0x92, 0xc2, 0xce,
220 0x1c, 0x5e, 0x36, 0xc7, 0x87, 0xb1, 0xb4, 0xa3,
221 0xc8, 0x69, 0x76, 0xfc, 0x35, 0x75, 0xcb, 0x08,
222 0x2f, 0xe3, 0x98, 0x76, 0x37, 0x80, 0x04, 0x5c,
223 0xb8, 0xb0, 0x7f, 0xb2, 0xda, 0xe3, 0xa3, 0xba,
224 0xed, 0xff, 0xf5, 0x9d, 0x3b, 0x7b, 0xf3, 0x32,
225 0x6c, 0x50, 0xa5, 0x3e, 0xcc, 0xe1, 0x84, 0x9c,
226 0x17, 0x9e, 0x80, 0x64, 0x09, 0xbb, 0x62, 0xf1,
227 0x95, 0xf5, 0x2c, 0xc6, 0x9f, 0x6a, 0xee, 0x6d,
228 0x17, 0x35, 0x5f, 0x35, 0x8d, 0x55, 0x0c, 0x07
244 0xac, 0x93, 0xd2, 0x5c, 0xc7, 0xf5, 0x8d, 0xc2,
245 0xd8, 0x8d, 0xb6, 0x7a, 0x94, 0xe1, 0x83, 0x4c,
246 0x26, 0xe2, 0x38, 0x6d, 0xf5, 0xbd, 0x9d, 0x6e,
247 0x91, 0x77, 0x3a, 0x4b, 0x9b, 0xef, 0x9b, 0xa3,
248 0x9f, 0xf6, 0x6d, 0x0c, 0xdc, 0x4b, 0x02, 0xe9,
249 0x5d, 0x3d, 0xfc, 0x92, 0x6b, 0xdf, 0xc9, 0xef,
250 0xb9, 0xa8, 0x74, 0x09, 0xa3, 0xff, 0x64, 0x8d,
251 0x19, 0xc1, 0x31, 0x31, 0x17, 0xe1, 0xb7, 0x7a,
252 0xe7, 0x55, 0x14, 0x92, 0x05, 0xe3, 0x1e, 0xb8,
253 0x9b, 0x1b, 0xdc, 0xac, 0x0e, 0x15, 0x08, 0xa2,
254 0x93, 0x13, 0xf6, 0x04, 0xc6, 0x9d, 0xf8, 0x7f,
255 0x26, 0x32, 0x68, 0x43, 0x2e, 0x5a, 0x4f, 0x47,
256 0xe8, 0xf8, 0x59, 0xb7, 0xfb, 0xbe, 0x30, 0x04,
257 0xb6, 0x63, 0x6f, 0x19, 0xf3, 0x2c, 0xd4, 0xeb,
258 0x32, 0x8a, 0x54, 0x01, 0xd0, 0xaf, 0x3f, 0x13,
259 0xc1, 0x7f, 0x10, 0x2e, 0x08, 0x1c, 0x28, 0x4b,
283 for (
i = 0;
i< 10;
i++)
302 ABTS_FAIL(tc,
"Child terminated abnormally");
307 ABTS_FAIL(tc,
"Child produced our randomness");
310 ABTS_FAIL(tc,
"Child produced randomness of previous child");
314 ABTS_FAIL(tc,
"Child randomness failed");
void abts_run_test(abts_suite *ts, test_func f, void *value)
#define ABTS_PTR_NOTNULL(a, b)
#define ABTS_NOT_IMPL(a, b)
#define ABTS_INT_EQUAL(a, b, c)
#define APR_ASSERT_SUCCESS(tc, ctxt, rv)
APR Miscellaneous library routines.
APR Thread and Process Library.
#define APR_STATUS_IS_ENOTENOUGHENTROPY(s)
apr_vformatter_buff_t * c
#define apr_pool_create(newpool, parent)
static apr_file_t * writep
static apr_file_t * readp
static void rand_kat2(abts_case *tc, void *data)
abts_suite * testrand(abts_suite *suite)
static void rand_add_zeroes(apr_random_t *r)
static void rand_exists(abts_case *tc, void *data)
apr_status_t APR_THREAD_FUNC rnd_fn(apr_random_t *r, void *b, apr_size_t n)
static void rand_barrier(abts_case *tc, void *data)
static void rand_kat4(abts_case *tc, void *data)
static void rand_kat(abts_case *tc, void *data)
static void rand_run_kat(abts_case *tc, rnd_fn *f, apr_random_t *r, const unsigned char expected[128])
static void rand_run_seed_short(abts_case *tc, rnd_fn *f, apr_random_t *r, int count)
static void rand_kat3(abts_case *tc, void *data)
static void rand_seed_short2(abts_case *tc, void *data)
static void rand_seed_short(abts_case *tc, void *data)
static void hexdump(const char *msg, const unsigned char *b, int n)