Use HAVE_ARC4RANDOM and choose to call arc4random() instead of srand() and rand() and friends. --- kpasswd/kpasswd-generator.c.orig Tue Nov 29 02:35:27 2016 +++ kpasswd/kpasswd-generator.c Thu Dec 15 11:30:30 2016 @@ -78,7 +78,7 @@ generate_requests(const char *filename, unsigned nreq) { krb5_context context; krb5_error_code ret; - int i; + int i, rnd; char **words; unsigned nwords, k; @@ -89,7 +89,12 @@ generate_requests(const char *filename, unsigned nreq) nwords = read_words(filename, &words); for (i = 0; i < nreq; ++i) { - char *name = words[rand() % nwords]; +#ifdef HAVE_ARC4RANDOM + rnd = arc4random(); +#else + rnd = rand(); +#endif + char *name = words[rnd % nwords]; krb5_get_init_creds_opt *opt; krb5_creds cred; krb5_principal principal; @@ -207,7 +212,9 @@ main(int argc, char **argv) if (argc != 2) usage (1); +#ifndef HAVE_ARC4RANDOM srand (0); +#endif nreq = strtol(argv[1], &end, 0); if (argv[1] == end || *end != '\0') usage (1);