|
@@ -49,32 +49,6 @@ static void chap_binaryhex_to_asciihex(char *dst, char *src, int src_len)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void chap_set_random(char *data, int length)
|
|
|
-{
|
|
|
- long r;
|
|
|
- unsigned n;
|
|
|
-
|
|
|
- while (length > 0) {
|
|
|
- get_random_bytes(&r, sizeof(long));
|
|
|
- r = r ^ (r >> 8);
|
|
|
- r = r ^ (r >> 4);
|
|
|
- n = r & 0x7;
|
|
|
-
|
|
|
- get_random_bytes(&r, sizeof(long));
|
|
|
- r = r ^ (r >> 8);
|
|
|
- r = r ^ (r >> 5);
|
|
|
- n = (n << 3) | (r & 0x7);
|
|
|
-
|
|
|
- get_random_bytes(&r, sizeof(long));
|
|
|
- r = r ^ (r >> 8);
|
|
|
- r = r ^ (r >> 5);
|
|
|
- n = (n << 2) | (r & 0x3);
|
|
|
-
|
|
|
- *data++ = n;
|
|
|
- length--;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
static void chap_gen_challenge(
|
|
|
struct iscsi_conn *conn,
|
|
|
int caller,
|
|
@@ -86,7 +60,7 @@ static void chap_gen_challenge(
|
|
|
|
|
|
memset(challenge_asciihex, 0, CHAP_CHALLENGE_LENGTH * 2 + 1);
|
|
|
|
|
|
- chap_set_random(chap->challenge, CHAP_CHALLENGE_LENGTH);
|
|
|
+ get_random_bytes(chap->challenge, CHAP_CHALLENGE_LENGTH);
|
|
|
chap_binaryhex_to_asciihex(challenge_asciihex, chap->challenge,
|
|
|
CHAP_CHALLENGE_LENGTH);
|
|
|
/*
|