Skip to content

Commit

Permalink
target/iscsi: Remove chap_set_random()
Browse files Browse the repository at this point in the history
The result from get_random_bytes should already be random, so further
manipulation and mixing should not be needed.

Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Andy Grover authored and Nicholas Bellinger committed Apr 25, 2013
1 parent 30f359a commit 98e2eeb
Showing 1 changed file with 1 addition and 27 deletions.
28 changes: 1 addition & 27 deletions drivers/target/iscsi/iscsi_target_auth.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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);
/*
Expand Down

0 comments on commit 98e2eeb

Please sign in to comment.