Commit 59c88da7 authored by Nick Zitzmann's avatar Nick Zitzmann Committed by Daniel Stenberg
Browse files

darwinssl: don't use arc4random_buf

Re-wrote Curl_darwinssl_random() to not use arc4random_buf() because the
function is not available prior to iOS 4.3 and OS X 10.7.
parent bce8bc20
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -835,8 +835,19 @@ void Curl_darwinssl_random(struct SessionHandle *data,
                           unsigned char *entropy,
                           size_t length)
{
  /* arc4random_buf() isn't available on cats older than Lion, so let's
     do this manually for the benefit of the older cats. */
  size_t i;
  u_int32_t random = 0;

  for(i = 0 ; i < length ; i++) {
    if(i % sizeof(u_int32_t) == 0)
      random = arc4random();
    entropy[i] = random & 0xFF;
    random >>= 8;
  }
  i = random = 0;
  (void)data;
  arc4random_buf(entropy, length);
}

void Curl_darwinssl_md5sum(unsigned char *tmp, /* input */