Skip to content

Commit b267cfc

Browse files
committed
Merge pull request #277 from devigned/bug/rustup
Update to build against the Rust nightly
2 parents 29b67dc + 65235f5 commit b267cfc

File tree

10 files changed

+79
-64
lines changed

10 files changed

+79
-64
lines changed

src/aes.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,8 @@ mod test {
699699
let mut aes_enc = aes::ctr(aes::KeySize::KeySize128, &test.key[..], &test.ctr[..]);
700700
let mut result: Vec<u8> = repeat(0).take(test.plain.len()).collect();
701701
aes_enc.process(&test.plain[..], &mut result[..]);
702-
assert!(result.as_slice() == test.cipher);
702+
let res: &[u8] = result.as_ref();
703+
assert!(res == test.cipher);
703704
}
704705
}
705706
}

src/curve25519.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,7 +1020,7 @@ impl Fe {
10201020
fn is_nonzero(&self) -> bool {
10211021
let bs = self.to_bytes();
10221022
let zero = [0; 32];
1023-
!fixed_time_eq(bs.as_slice(), zero.as_slice())
1023+
!fixed_time_eq(bs.as_ref(), zero.as_ref())
10241024
}
10251025

10261026
fn is_negative(&self) -> bool {
@@ -2157,7 +2157,7 @@ pub fn curve25519(n: &[u8], p: &[u8]) -> [u8; 32] {
21572157
pub fn curve25519_base(x: &[u8]) -> [u8; 32] {
21582158
let mut base : [u8; 32] = [0; 32];
21592159
base[0] = 9;
2160-
curve25519(x, base.as_slice())
2160+
curve25519(x, base.as_ref())
21612161
}
21622162

21632163
#[cfg(test)]
@@ -2171,7 +2171,7 @@ mod tests {
21712171
e.as_mut_slice()[0] &= 248;
21722172
e.as_mut_slice()[31] &= 127;
21732173
e.as_mut_slice()[31] |= 64;
2174-
let fe = Fe::from_bytes(e.as_slice());
2174+
let fe = Fe::from_bytes(e.as_ref());
21752175
let e_preserved = fe.to_bytes();
21762176
assert!(e == e_preserved.to_vec());
21772177
}
@@ -2208,7 +2208,7 @@ mod tests {
22082208
e.as_mut_slice()[0] &= 248;
22092209
e.as_mut_slice()[31] &= 127;
22102210
e.as_mut_slice()[31] |= 64;
2211-
Some(Fe::from_bytes(e.as_slice()))
2211+
Some(Fe::from_bytes(e.as_ref()))
22122212
}
22132213
}
22142214

@@ -2246,7 +2246,7 @@ mod tests {
22462246
0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d, 0x3c, 0x16, 0xc1,
22472247
0x72, 0x51, 0xb2, 0x66, 0x45, 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0,
22482248
0x99, 0x2a, 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a ];
2249-
let pk = curve25519_base(sk.as_slice());
2249+
let pk = curve25519_base(sk.as_ref());
22502250
let correct : [u8; 32] = [
22512251
0x85,0x20,0xf0,0x09,0x89,0x30,0xa7,0x54
22522252
,0x74,0x8b,0x7d,0xdc,0xb4,0x3e,0xf7,0x5a

src/ed25519.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub fn signature(message: &[u8], secret_key: &[u8]) -> [u8; 64] {
6262

6363
{
6464
let mut hasher = Sha512::new();
65-
hasher.input(signature.as_slice());
65+
hasher.input(signature.as_ref());
6666
hasher.input(message);
6767
let mut hram: [u8; 64] = [0; 64];
6868
hasher.result(hram.as_mut_slice());
@@ -115,18 +115,18 @@ pub fn verify(message: &[u8], public_key: &[u8], signature: &[u8]) -> bool {
115115
hasher.result(hash.as_mut_slice());
116116
sc_reduce(hash.as_mut_slice());
117117

118-
let r = GeP2::double_scalarmult_vartime(hash.as_slice(), a, &signature[32..64]);
118+
let r = GeP2::double_scalarmult_vartime(hash.as_ref(), a, &signature[32..64]);
119119
let rcheck = r.to_bytes();
120120

121-
fixed_time_eq(rcheck.as_slice(), &signature[0..32])
121+
fixed_time_eq(rcheck.as_ref(), &signature[0..32])
122122
}
123123

124124
pub fn exchange(public_key: &[u8], private_key: &[u8]) -> [u8; 32] {
125125
let ed_y = Fe::from_bytes(&public_key);
126126
// Produce public key in Montgomery form.
127127
let mont_x = edwards_to_montgomery_x(ed_y);
128128

129-
// Produce private key from seed component (bytes 0 to 32)
129+
// Produce private key from seed component (bytes 0 to 32)
130130
// of the Ed25519 extended private key (64 bytes).
131131
let mut hasher = Sha512::new();
132132
hasher.input(&private_key[0..32]);
@@ -138,7 +138,7 @@ pub fn exchange(public_key: &[u8], private_key: &[u8]) -> [u8; 32] {
138138
hash[31] |= 64;
139139

140140
let shared_mont_x : [u8; 32] = curve25519(&hash, &mont_x.to_bytes()); // priv., pub.
141-
141+
142142
shared_mont_x
143143
}
144144

@@ -161,7 +161,7 @@ mod tests {
161161
use sha2::{Sha512};
162162

163163
fn do_keypair_case(seed: [u8; 32], expected_secret: [u8; 64], expected_public: [u8; 32]) {
164-
let (actual_secret, actual_public) = keypair(seed.as_slice());
164+
let (actual_secret, actual_public) = keypair(seed.as_ref());
165165
assert_eq!(actual_secret.to_vec(), expected_secret.to_vec());
166166
assert_eq!(actual_public.to_vec(), expected_public.to_vec());
167167
}
@@ -192,7 +192,7 @@ mod tests {
192192
fn keypair_matches_mont() {
193193
let seed = [0x26, 0x27, 0xf6, 0x85, 0x97, 0x15, 0xad, 0x1d, 0xd2, 0x94, 0xdd, 0xc4, 0x76, 0x19, 0x39, 0x31,
194194
0xf1, 0xad, 0xb5, 0x58, 0xf0, 0x93, 0x97, 0x32, 0x19, 0x2b, 0xd1, 0xc0, 0xfd, 0x16, 0x8e, 0x4e];
195-
let (ed_private, ed_public) = keypair(seed.as_slice());
195+
let (ed_private, ed_public) = keypair(seed.as_ref());
196196

197197
let mut hasher = Sha512::new();
198198
hasher.input(&ed_private[0..32]);
@@ -211,20 +211,20 @@ mod tests {
211211
}
212212

213213
fn do_sign_verify_case(seed: [u8; 32], message: &[u8], expected_signature: [u8; 64]) {
214-
let (secret_key, public_key) = keypair(seed.as_slice());
215-
let mut actual_signature = signature(message, secret_key.as_slice());
214+
let (secret_key, public_key) = keypair(seed.as_ref());
215+
let mut actual_signature = signature(message, secret_key.as_ref());
216216
assert_eq!(expected_signature.to_vec(), actual_signature.to_vec());
217-
assert!(verify(message, public_key.as_slice(), actual_signature.as_slice()));
217+
assert!(verify(message, public_key.as_ref(), actual_signature.as_ref()));
218218

219219
for &(index, flip) in [(0, 1), (31, 0x80), (20, 0xff)].iter() {
220220
actual_signature[index] ^= flip;
221-
assert!(!verify(message, public_key.as_slice(), actual_signature.as_slice()));
221+
assert!(!verify(message, public_key.as_ref(), actual_signature.as_ref()));
222222
actual_signature[index] ^= flip;
223223
}
224224

225225
let mut public_key_corrupt = public_key;
226226
public_key_corrupt[0] ^= 1;
227-
assert!(!verify(message, public_key_corrupt.as_slice(), actual_signature.as_slice()));
227+
assert!(!verify(message, public_key_corrupt.as_ref(), actual_signature.as_ref()));
228228
}
229229

230230
#[test]
@@ -244,7 +244,7 @@ mod tests {
244244
0x37, 0x31, 0xb0, 0x1c, 0x8e, 0xc7, 0x5d, 0x08, 0x2e, 0xf7, 0xdc, 0x9d, 0x7f, 0x1b, 0x73, 0x15,
245245
0x9f, 0x63, 0xdb, 0x56, 0xaa, 0x12, 0xa2, 0xca, 0x39, 0xea, 0xce, 0x6b, 0x28, 0xe4, 0xc3, 0x1d,
246246
0x9d, 0x25, 0x67, 0x41, 0x45, 0x2e, 0x83, 0x87, 0xe1, 0x53, 0x6d, 0x03, 0x02, 0x6e, 0xe4, 0x84,
247-
0x10, 0xd4, 0x3b, 0x21, 0x91, 0x88, 0xba, 0x14, 0xa8, 0xaf].as_slice(),
247+
0x10, 0xd4, 0x3b, 0x21, 0x91, 0x88, 0xba, 0x14, 0xa8, 0xaf].as_ref(),
248248
[0x91, 0x20, 0x91, 0x66, 0x1e, 0xed, 0x18, 0xa4, 0x03, 0x4b, 0xc7, 0xdb, 0x4b, 0xd6, 0x0f, 0xe2,
249249
0xde, 0xeb, 0xf3, 0xff, 0x3b, 0x6b, 0x99, 0x8d, 0xae, 0x20, 0x94, 0xb6, 0x09, 0x86, 0x5c, 0x20,
250250
0x19, 0xec, 0x67, 0x22, 0xbf, 0xdc, 0x87, 0xbd, 0xa5, 0x40, 0x91, 0x92, 0x2e, 0x11, 0xe3, 0x93,
@@ -258,7 +258,7 @@ mod tests {
258258
0xec, 0x0e, 0x48, 0x67, 0x93, 0xa5, 0x1c, 0x67, 0x66, 0xf7, 0x06, 0x48, 0x26, 0xd0, 0x74, 0x51,
259259
0x4d, 0xd0, 0x57, 0x41, 0xf3, 0xbe, 0x27, 0x3e, 0xf2, 0x1f, 0x28, 0x0e, 0x49, 0x07, 0xed, 0x89,
260260
0xbe, 0x30, 0x1a, 0x4e, 0xc8, 0x49, 0x6e, 0xb6, 0xab, 0x90, 0x00, 0x06, 0xe5, 0xa3, 0xc8, 0xe9,
261-
0xc9, 0x93, 0x62, 0x1d, 0x6a, 0x3b, 0x0f, 0x6c, 0xba, 0xd0, 0xfd, 0xde, 0xf3, 0xb9, 0xc8, 0x2d].as_slice(),
261+
0xc9, 0x93, 0x62, 0x1d, 0x6a, 0x3b, 0x0f, 0x6c, 0xba, 0xd0, 0xfd, 0xde, 0xf3, 0xb9, 0xc8, 0x2d].as_ref(),
262262
[0x4b, 0x8d, 0x9b, 0x1e, 0xca, 0x54, 0x00, 0xea, 0xc6, 0xf5, 0xcc, 0x0c, 0x94, 0x39, 0x63, 0x00,
263263
0x52, 0xf7, 0x34, 0xce, 0x45, 0x3e, 0x94, 0x26, 0xf3, 0x19, 0xdd, 0x96, 0x03, 0xb6, 0xae, 0xae,
264264
0xb9, 0xd2, 0x3a, 0x5f, 0x93, 0xf0, 0x6a, 0x46, 0x00, 0x18, 0xf0, 0x69, 0xdf, 0x19, 0x44, 0x48,

src/hc128.rs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,12 @@ mod test {
195195
let expected_output = expected_output_hex.from_hex().unwrap();
196196

197197
let mut output = [0u8; 64];
198-
199-
let mut hc128 = Hc128::new(key.as_slice(), nonce.as_slice());
198+
199+
let mut hc128 = Hc128::new(key.as_ref(), nonce.as_ref());
200200
hc128.process(&input, &mut output);
201-
assert!(output.as_slice() == expected_output.as_slice());
202-
}
201+
let result: &[u8] = output.as_ref();
202+
let expected: &[u8] = expected_output.as_ref();
203+
assert!(result == expected); }
203204

204205
#[test]
205206
fn test_hc128_ecrypt_set_6_vector_1() {
@@ -211,10 +212,12 @@ mod test {
211212
let expected_output = expected_output_hex.from_hex().unwrap();
212213

213214
let mut output = [0u8; 64];
214-
215-
let mut hc128 = Hc128::new(key.as_slice(), nonce.as_slice());
215+
216+
let mut hc128 = Hc128::new(key.as_ref(), nonce.as_ref());
216217
hc128.process(&input, &mut output);
217-
assert!(output.as_slice() == expected_output.as_slice());
218+
let result: &[u8] = output.as_ref();
219+
let expected: &[u8] = expected_output.as_ref();
220+
assert!(result == expected);
218221
}
219222

220223
#[test]
@@ -227,10 +230,12 @@ mod test {
227230
let expected_output = expected_output_hex.from_hex().unwrap();
228231

229232
let mut output = [0u8; 64];
230-
231-
let mut hc128 = Hc128::new(key.as_slice(), nonce.as_slice());
233+
234+
let mut hc128 = Hc128::new(key.as_ref(), nonce.as_ref());
232235
hc128.process(&input, &mut output);
233-
assert!(output.as_slice() == expected_output.as_slice());
236+
let result: &[u8] = output.as_ref();
237+
let expected: &[u8] = expected_output.as_ref();
238+
assert!(result == expected);
234239
}
235240

236241
#[test]

src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
#![feature(core)]
99
#![feature(simd)]
1010
#![feature(step_by)]
11+
#![feature(convert)]
1112
#![cfg_attr(test, feature(test))]
1213

1314
extern crate rand;
14-
extern crate "rustc-serialize" as serialize;
15+
extern crate rustc_serialize as serialize;
1516
extern crate time;
1617
#[cfg(test)] extern crate test;
1718

src/salsa20.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,10 +320,10 @@ mod test {
320320
let output_str = "662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2";
321321

322322
let mut salsa20 = Salsa20::new(&key, &nonce);
323-
salsa20.process(input.as_slice(), stream.as_mut_slice());
323+
salsa20.process(input.as_ref(), stream.as_mut_slice());
324324

325325
let mut sh = Sha256::new();
326-
sh.input(stream.as_slice());
326+
sh.input(stream.as_ref());
327327
let out_str = sh.result_str();
328328
assert!(&out_str[..] == output_str);
329329
}

src/sha1.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ hasher.input_str("hello world");
3838
// read hash digest
3939
let hex = hasher.result_str();
4040
41-
assert_eq!(hex.as_slice(), "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed");
41+
assert_eq!(hex, "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed");
4242
```
4343
4444
# Mathematics

src/sha2.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ hasher.input_str("hello world");
4141
// read hash digest
4242
let hex = hasher.result_str();
4343
44-
assert_eq!(hex.as_slice(),
44+
assert_eq!(hex,
4545
concat!("b94d27b9934d3e08a52e52d7da7dabfa",
4646
"c484efe37a5380ee9088f7ace2efcde9"));
4747
```
@@ -61,7 +61,7 @@ hasher.input_str("hello world");
6161
// read hash digest
6262
let hex = hasher.result_str();
6363
64-
assert_eq!(hex.as_slice(),
64+
assert_eq!(hex,
6565
concat!("309ecc489c12d6eb4cc40f50c902f2b4",
6666
"d0ed77ee511a7c7a9bcd3ca86d4cd86f",
6767
"989dd35bc5ff499670da34255b45b0cf",

src/sosemanuk.rs

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2344,10 +2344,11 @@ mod test {
23442344
let expected_output = expected_output_hex.from_hex().unwrap();
23452345

23462346
let mut output = [0u8; 64];
2347-
2348-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2347+
2348+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
23492349
sosemanuk.process(&input, &mut output);
2350-
assert!(output.as_slice() == expected_output.as_slice());
2350+
let expected: &[u8] = expected_output.as_ref();
2351+
assert!(output.as_ref() == expected);
23512352
}
23522353

23532354
#[test]
@@ -2360,10 +2361,11 @@ mod test {
23602361
let expected_output = expected_output_hex.from_hex().unwrap();
23612362

23622363
let mut output = [0u8; 64];
2363-
2364-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2364+
2365+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
23652366
sosemanuk.process(&input, &mut output);
2366-
assert!(output.as_slice() == expected_output.as_slice());
2367+
let expected: &[u8] = expected_output.as_ref();
2368+
assert!(output.as_ref() == expected);
23672369
}
23682370

23692371
#[test]
@@ -2376,10 +2378,11 @@ mod test {
23762378
let expected_output = expected_output_hex.from_hex().unwrap();
23772379

23782380
let mut output = [0u8; 64];
2379-
2380-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2381+
2382+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
23812383
sosemanuk.process(&input, &mut output);
2382-
assert!(output.as_slice() == expected_output.as_slice());
2384+
let expected: &[u8] = expected_output.as_ref();
2385+
assert!(output.as_ref() == expected);
23832386
}
23842387

23852388
#[test]
@@ -2392,10 +2395,11 @@ mod test {
23922395
let expected_output = expected_output_hex.from_hex().unwrap();
23932396

23942397
let mut output = [0u8; 64];
2395-
2396-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2398+
2399+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
23972400
sosemanuk.process(&input, &mut output);
2398-
assert!(output.as_slice() == expected_output.as_slice());
2401+
let expected: &[u8] = expected_output.as_ref();
2402+
assert!(output.as_ref() == expected);
23992403
}
24002404

24012405
#[test]
@@ -2408,12 +2412,13 @@ mod test {
24082412
let expected_output = expected_output_hex.from_hex().unwrap();
24092413

24102414
let mut output = [0u8; 64];
2411-
2412-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2415+
2416+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
24132417
sosemanuk.process(&input, &mut output);
2414-
assert!(output.as_slice() == expected_output.as_slice());
2418+
let expected: &[u8] = expected_output.as_ref();
2419+
assert!(output.as_ref() == expected);
24152420
}
2416-
2421+
24172422
#[test]
24182423
fn test_sosemanuk_ecrypt_set_6_vector_3() {
24192424
let key = "0F62B5085BAE0154A7FA4DA0F34699EC3F92E5388BDE3184D72A7DD02376C91C".from_hex().unwrap();
@@ -2424,10 +2429,11 @@ mod test {
24242429
let expected_output = expected_output_hex.from_hex().unwrap();
24252430

24262431
let mut output = [0u8; 64];
2427-
2428-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2432+
2433+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
24292434
sosemanuk.process(&input, &mut output);
2430-
assert!(output.as_slice() == expected_output.as_slice());
2435+
let expected: &[u8] = expected_output.as_ref();
2436+
assert!(output.as_ref() == expected);
24312437
}
24322438

24332439
// From TEST_VECTOR_128.txt from reference C implementation
@@ -2442,10 +2448,11 @@ mod test {
24422448
let expected_output = expected_output_hex.from_hex().unwrap();
24432449

24442450
let mut output = [0u8; 160];
2445-
2446-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2451+
2452+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
24472453
sosemanuk.process(&input, &mut output);
2448-
assert!(output.as_slice() == expected_output.as_slice());
2454+
let expected: &[u8] = expected_output.as_ref();
2455+
assert!(output.as_ref() == expected);
24492456
}
24502457

24512458
#[test]
@@ -2458,19 +2465,20 @@ mod test {
24582465
let expected_output = expected_output_hex.from_hex().unwrap();
24592466

24602467
let mut output = [0u8; 160];
2461-
2462-
let mut sosemanuk = Sosemanuk::new(key.as_slice(), nonce.as_slice());
2468+
2469+
let mut sosemanuk = Sosemanuk::new(key.as_ref(), nonce.as_ref());
24632470
sosemanuk.process(&input, &mut output);
2464-
assert!(output.as_slice() == expected_output.as_slice());
2471+
let expected: &[u8] = expected_output.as_ref();
2472+
assert!(output.as_ref() == expected);
24652473
}
24662474
}
2467-
2475+
24682476
#[cfg(test)]
24692477
mod bench {
24702478
use test::Bencher;
24712479
use symmetriccipher::SynchronousStreamCipher;
24722480
use sosemanuk::Sosemanuk;
2473-
2481+
24742482
#[bench]
24752483
pub fn sosemanuk_10(bh: & mut Bencher) {
24762484
let mut sosemanuk = Sosemanuk::new(&[0; 32], &[0; 16]);

0 commit comments

Comments
 (0)