1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#include "apr.h" 18#include "apr_pools.h" 19#include "apr_random.h" 20#include "apr_thread_proc.h" 21#include <assert.h> 22#include <stdlib.h> 23 24APR_DECLARE(void) apr_random_init(apr_random_t *g,apr_pool_t *p, 25 apr_crypto_hash_t *pool_hash, 26 apr_crypto_hash_t *key_hash, 27 apr_crypto_hash_t *prng_hash) 28{ 29 (void)g; 30 (void)p; 31 (void)pool_hash; 32 (void)key_hash; 33 (void)prng_hash; 34} 35 36APR_DECLARE(void) apr_random_after_fork(apr_proc_t *proc) 37{ 38 (void)proc; 39} 40 41APR_DECLARE(apr_random_t *) apr_random_standard_new(apr_pool_t *p) 42{ 43 /* apr_random_t is an opaque struct type. */ 44 return (void *)0x1; 45} 46 47APR_DECLARE(void) apr_random_add_entropy(apr_random_t *g,const void *entropy_, 48 apr_size_t bytes) 49{ 50 (void)g; 51 (void)entropy_; 52 (void)bytes; 53} 54 55APR_DECLARE(apr_status_t) apr_random_secure_bytes(apr_random_t *g, 56 void *random, 57 apr_size_t bytes) 58{ 59 (void)g; 60 arc4random_buf(random, bytes); 61 return APR_SUCCESS; 62} 63 64APR_DECLARE(apr_status_t) apr_random_insecure_bytes(apr_random_t *g, 65 void *random, 66 apr_size_t bytes) 67{ 68 (void)g; 69 arc4random_buf(random, bytes); 70 return APR_SUCCESS; 71} 72 73APR_DECLARE(void) apr_random_barrier(apr_random_t *g) 74{ 75 (void)g; 76} 77 78APR_DECLARE(apr_status_t) apr_random_secure_ready(apr_random_t *r) 79{ 80 (void)r; 81 return APR_SUCCESS; 82} 83 84APR_DECLARE(apr_status_t) apr_random_insecure_ready(apr_random_t *r) 85{ 86 (void)r; 87 return APR_SUCCESS; 88} 89