target/iscsi: Remove chap_set_random()
authorAndy Grover <agrover@redhat.com>
Mon, 4 Mar 2013 21:52:07 +0000 (13:52 -0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Thu, 25 Apr 2013 08:05:22 +0000 (01:05 -0700)
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>
drivers/target/iscsi/iscsi_target_auth.c

index a0fc7b9..cee1754 100644 (file)
@@ -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);
        /*