]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Remove rc4() wrapper
authorJouni Malinen <j@w1.fi>
Sun, 16 Aug 2009 16:57:50 +0000 (19:57 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 16 Aug 2009 16:57:50 +0000 (19:57 +0300)
This is not really of that much use since rc4_skip() can be used as
easily. In addition, rc4 has caused some symbol conflicts in the past,
so it is easier to live without that as an exported symbol.

hostapd/ieee802_11.c
hostapd/ieee802_1x.c
src/crypto/ms_funcs.c
src/crypto/rc4.c
src/crypto/rc4.h
src/eapol_supp/eapol_supp_sm.c

index 584cd3193dc2cb60f8f8d5a799f3acfc95c78a38..42e1e99b8cb71da7f1c1d665ef7813c0b81cba71 100644 (file)
@@ -384,8 +384,8 @@ static u16 auth_shared_key(struct hostapd_data *hapd, struct sta_info *sta,
                        r = random();
                        os_memcpy(key, &now, 4);
                        os_memcpy(key + 4, &r, 4);
-                       rc4(sta->challenge, WLAN_AUTH_CHALLENGE_LEN,
-                           key, sizeof(key));
+                       rc4_skip(key, sizeof(key), 0,
+                                sta->challenge, WLAN_AUTH_CHALLENGE_LEN);
                }
                return 0;
        }
index 722956aadc1dc1c49917d128f23761453184c455..9e26521df201350bb6fdaaac79cb80605047f24c 100644 (file)
@@ -164,7 +164,7 @@ static void ieee802_1x_tx_key_one(struct hostapd_data *hapd,
        }
        os_memcpy(ekey, key->key_iv, sizeof(key->key_iv));
        os_memcpy(ekey + sizeof(key->key_iv), sm->eap_if->eapKeyData, 32);
-       rc4((u8 *) (key + 1), key_len, ekey, ekey_len);
+       rc4_skip(ekey, ekey_len, 0, (u8 *) (key + 1), key_len);
        os_free(ekey);
 
        /* This header is needed here for HMAC-MD5, but it will be regenerated
index 9c5b2f98446ae98e761daabc921ea525963635f8..9839a7dd15e889a721f4725315f43d005d7952a4 100644 (file)
@@ -404,7 +404,7 @@ int encrypt_pw_block_with_password_hash(
         */
        pos = &pw_block[2 * 256];
        WPA_PUT_LE16(pos, password_len * 2);
-       rc4(pw_block, PWBLOCK_LEN, password_hash, 16);
+       rc4_skip(password_hash, 16, 0, pw_block, PWBLOCK_LEN);
        return 0;
 }
 
index 8480cc55cea68dbfbf2cf818cc4dc27385a09b10..70c790e364f79a0784bc83bfffdd2ad21eebd517 100644 (file)
@@ -68,19 +68,3 @@ void rc4_skip(const u8 *key, size_t keylen, size_t skip,
                *pos++ ^= S[(S[i] + S[j]) & 0xff];
        }
 }
-
-
-/**
- * rc4 - XOR RC4 stream to given data
- * @buf: data to be XOR'ed with RC4 stream
- * @len: buf length
- * @key: RC4 key
- * @key_len: RC4 key length
- *
- * Generate RC4 pseudo random stream for the given key and XOR this with the
- * data buffer to perform RC4 encryption/decryption.
- */
-void rc4(u8 *buf, size_t len, const u8 *key, size_t key_len)
-{
-       rc4_skip(key, key_len, 0, buf, len);
-}
index 01f13833ddc898f0ea71f34279a867eb3b78c2bf..35c7e41fba062b467bb20cf970078efc767dee5a 100644 (file)
@@ -17,6 +17,5 @@
 
 void rc4_skip(const u8 *key, size_t keylen, size_t skip,
              u8 *data, size_t data_len);
-void rc4(u8 *buf, size_t len, const u8 *key, size_t key_len);
 
 #endif /* RC4_H */
index e4c070061dd4bb0653a69c3210bd375f3dfcafbb..58e62211af6f6590bdef390323d120582d1e4208 100644 (file)
@@ -750,8 +750,8 @@ static void eapol_sm_processKey(struct eapol_sm *sm)
                os_memcpy(ekey + IEEE8021X_KEY_IV_LEN, keydata.encr_key,
                          encr_key_len);
                os_memcpy(datakey, key + 1, key_len);
-               rc4(datakey, key_len, ekey,
-                   IEEE8021X_KEY_IV_LEN + encr_key_len);
+               rc4_skip(ekey, IEEE8021X_KEY_IV_LEN + encr_key_len, 0,
+                        datakey, key_len);
                wpa_hexdump_key(MSG_DEBUG, "EAPOL: Decrypted(RC4) key",
                                datakey, key_len);
        } else if (key_len == 0) {