| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * alloc.h | 2  * rand_source_ossl.c | 
| 3  * | 3  * | 
| 4  * interface to memory allocation and deallocation, with optional debugging | 4  * implements a random source based on OpenSSL RAND_bytes() | 
| 5  * | 5  * | 
| 6  * David A. McGrew | 6  * John A. Foley | 
| 7  * Cisco Systems, Inc. | 7  * Cisco Systems, Inc. | 
| 8  */ | 8  */ | 
| 9 /* | 9 /* | 
| 10  *» | 10  * | 
| 11  * Copyright (c) 2001-2006 Cisco Systems, Inc. | 11  * Copyright(c) 2013, Cisco Systems, Inc. | 
| 12  * All rights reserved. | 12  * All rights reserved. | 
| 13  * | 13  * | 
| 14  * Redistribution and use in source and binary forms, with or without | 14  * Redistribution and use in source and binary forms, with or without | 
| 15  * modification, are permitted provided that the following conditions | 15  * modification, are permitted provided that the following conditions | 
| 16  * are met: | 16  * are met:crypto/test/aes_calc.c | 
| 17  * | 17  * | 
| 18  *   Redistributions of source code must retain the above copyright | 18  *   Redistributions of source code must retain the above copyright | 
| 19  *   notice, this list of conditions and the following disclaimer. | 19  *   notice, this list of conditions and the following disclaimer. | 
| 20  * | 20  * | 
| 21  *   Redistributions in binary form must reproduce the above | 21  *   Redistributions in binary form must reproduce the above | 
| 22  *   copyright notice, this list of conditions and the following | 22  *   copyright notice, this list of conditions and the following | 
| 23  *   disclaimer in the documentation and/or other materials provided | 23  *   disclaimer in the documentation and/or other materials provided | 
| 24  *   with the distribution. | 24  *   with the distribution. | 
| 25  * | 25  * | 
| 26  *   Neither the name of the Cisco Systems, Inc. nor the names of its | 26  *   Neither the name of the Cisco Systems, Inc. nor the names of its | 
| 27  *   contributors may be used to endorse or promote products derived | 27  *   contributors may be used to endorse or promote products derived | 
| 28  *   from this software without specific prior written permission. | 28  *   from this software without specific prior written permission. | 
| 29  * | 29  * | 
| 30  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 30  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
| 31  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 31  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
| 32  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | 32  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | 
| 33  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | 33  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | 
| 34  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, | 34  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, | 
| 35  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 35  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
| 36  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 36  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 
| 37  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 37  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 
| 38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | 38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | 
| 39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 
| 40  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | 40  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | 
| 41  * OF THE POSSIBILITY OF SUCH DAMAGE. | 41  * OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 42  * | 42  * | 
| 43  */ | 43  */ | 
| 44 | 44 | 
|  | 45 #ifdef HAVE_CONFIG_H | 
|  | 46     #include <config.h> | 
|  | 47 #endif | 
| 45 | 48 | 
| 46 #ifndef CRYPTO_ALLOC_H | 49 #include "rand_source.h" | 
| 47 #define CRYPTO_ALLOC_H | 50 #include <openssl/rand.h> | 
| 48 | 51 | 
| 49 #include "datatypes.h" |  | 
| 50 | 52 | 
| 51 void * | 53 err_status_t rand_source_init (void) | 
| 52 crypto_alloc(size_t size); | 54 { | 
|  | 55     return err_status_ok; | 
|  | 56 } | 
| 53 | 57 | 
| 54 void | 58 err_status_t rand_source_get_octet_string (void *dest, uint32_t len) | 
| 55 crypto_free(void *ptr); | 59 { | 
|  | 60     if (RAND_bytes(dest, len) == 1) { | 
|  | 61         return err_status_ok; | 
|  | 62     } else { | 
|  | 63         return err_status_fail; | 
|  | 64     } | 
|  | 65 } | 
| 56 | 66 | 
| 57 #endif /* CRYPTO_ALLOC_H */ | 67 err_status_t rand_source_deinit (void) | 
|  | 68 { | 
|  | 69     return err_status_ok; | 
|  | 70 } | 
| OLD | NEW | 
|---|