[BACK]Return to subr_cprng.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/subr_cprng.c between version 1.15 and 1.16

version 1.15, 2013/01/26 16:05:34 version 1.16, 2013/03/28 18:06:48
Line 157  cprng_strong_reseed(void *const arg)
Line 157  cprng_strong_reseed(void *const arg)
 }  }
   
 static size_t  static size_t
 cprng_entropy_try(uint8_t *key, size_t keylen, int hard)  cprng_entropy_try(uint8_t *key, size_t keylen)
 {  {
         int r;          int r;
         r = rnd_extract_data(key, keylen, RND_EXTRACT_GOOD);          r = rnd_extract_data(key, keylen, RND_EXTRACT_GOOD);
         if (r != keylen && !hard) {          if (r != keylen) {      /* Always fill in, for safety */
                 rnd_extract_data(key + r, keylen - r, RND_EXTRACT_ANY);                  rnd_extract_data(key + r, keylen - r, RND_EXTRACT_ANY);
         }          }
         return r;          return r;
Line 196  cprng_strong_create(const char *const na
Line 196  cprng_strong_create(const char *const na
   
         selinit(&c->selq);          selinit(&c->selq);
   
         r = cprng_entropy_try(key, sizeof(key), c->flags & CPRNG_INIT_ANY);          r = cprng_entropy_try(key, sizeof(key));
         if (r != sizeof(key)) {          if (r != sizeof(key)) {
                 if (c->flags & CPRNG_INIT_ANY) {                  if (c->flags & CPRNG_INIT_ANY) {
 #ifdef DEBUG  #ifdef DEBUG
Line 251  rekeyany:
Line 251  rekeyany:
                 if (c->flags & CPRNG_REKEY_ANY) {                  if (c->flags & CPRNG_REKEY_ANY) {
                         uint8_t key[NIST_BLOCK_KEYLEN_BYTES];                          uint8_t key[NIST_BLOCK_KEYLEN_BYTES];
   
                         if (cprng_entropy_try(key, sizeof(key), 0) !=                          if (cprng_entropy_try(key, sizeof(key)) !=
                             sizeof(key)) {                              sizeof(key)) {
                                 printf("cprng %s: WARNING "                                  printf("cprng %s: WARNING "
                                        "pseudorandom rekeying.\n", c->name);                                         "pseudorandom rekeying.\n", c->name);

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

CVSweb <webmaster@jp.NetBSD.org>