Skip to content

Commit bcf27ea

Browse files
author
Roman Proskuryakov
committed
chore(sodium): update to sodiumoxide 0.2.2
1 parent fefeff0 commit bcf27ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+324
-11
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ bytes = "0.4"
3333
byteorder = "1"
3434
futures = "0.1"
3535
log = "0.4"
36-
sodiumoxide = { git = "https://github.com/sodiumoxide/sodiumoxide.git", rev = "baf88e5" }
36+
sodiumoxide = "0.2.2"
3737
nom = "3.2"
3838
cookie-factory = "0.2"
3939
get_if_addrs = "0.5"

examples/dht_server.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ fn bind_socket(addr: SocketAddr) -> UdpSocket {
5454
fn main() {
5555
env_logger::init();
5656

57+
if crypto_init().is_err() {
58+
panic!("Crypto initialization failed.");
59+
}
60+
5761
let (server_pk, server_sk) = gen_keypair();
5862

5963
// Create a channel for server to communicate with network

src/toxcore/binary_io.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ macro_rules! encode_decode_test (
101101
($test:ident, $value:expr) => (
102102
#[test]
103103
fn $test() {
104+
use crate::toxcore::crypto_core::*;
105+
106+
crypto_init().unwrap();
107+
104108
let value = $value;
105109
let mut buf = [0; 1024 * 1024];
106110
let (_, size) = value.to_bytes((&mut buf, 0)).unwrap();

src/toxcore/crypto_core.rs

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,24 @@ use crate::toxcore::binary_io::*;
1111

1212
// TODO: check if `#[inline]` is actually useful
1313

14+
/** Run before using crypto.
1415
15-
/// Initialize sodiumoxide
16-
#[deprecated(
17-
since = "0.0.10",
18-
note = "libsodium is automatically initialized by sodiumoxide now."
19-
)]
16+
Runs [`sodiumoxide::init()`](../../../sodiumoxide/fn.init.html).
17+
18+
Returns `Ok` on success, `Err` otherwise.
19+
20+
E.g.
21+
22+
```
23+
use ::tox::toxcore::crypto_core::crypto_init;
24+
25+
crypto_init().unwrap();
26+
// second call should yield same result
27+
crypto_init().unwrap();
28+
```
29+
*/
2030
pub fn crypto_init() -> Result<(), ()> {
21-
Ok(())
31+
::sodiumoxide::init()
2232
}
2333

2434

@@ -241,6 +251,7 @@ pub mod tests {
241251
// test comparing random public keys
242252
// testing since it would appear that sodiumoxide doesn't do testing for it
243253
fn public_key_cmp_test_random() {
254+
crypto_init().unwrap();
244255
let (alice_publickey, _alice_secretkey) = gen_keypair();
245256
let (bob_publickey, _bob_secretkey) = gen_keypair();
246257

@@ -254,6 +265,7 @@ pub mod tests {
254265

255266
#[test]
256267
fn random_u32_test() {
268+
crypto_init().unwrap();
257269
let a = random_u32();
258270
let b = random_u32();
259271
assert_ne!(a, 0);
@@ -265,6 +277,7 @@ pub mod tests {
265277

266278
#[test]
267279
fn random_u64_test() {
280+
crypto_init().unwrap();
268281
let a = random_u64();
269282
let b = random_u64();
270283
assert_ne!(a, 0);
@@ -275,6 +288,7 @@ pub mod tests {
275288

276289
#[test]
277290
fn random_usize_test() {
291+
crypto_init().unwrap();
278292
let a = random_usize();
279293
let b = random_usize();
280294
assert_ne!(a, 0);
@@ -285,12 +299,14 @@ pub mod tests {
285299

286300
#[test]
287301
fn random_limit_usize_test() {
302+
crypto_init().unwrap();
288303
let n = random_limit_usize(7);
289304
assert!(n < 7);
290305
}
291306

292307
#[test]
293308
fn public_key_valid_test() {
309+
crypto_init().unwrap();
294310
let (pk, _) = gen_keypair();
295311
assert!(public_key_valid(&pk));
296312

@@ -305,6 +321,7 @@ pub mod tests {
305321
// test uses "bare" functions provided by `sodiumoxide`, with an exception
306322
// of the tested function
307323
fn encrypt_precompute_test() {
324+
crypto_init().unwrap();
308325
let (alice_pk, alice_sk) = gen_keypair();
309326
let (bob_pk, bob_sk) = gen_keypair();
310327

@@ -326,6 +343,7 @@ pub mod tests {
326343
// test uses "bare" functions provided by `sodiumoxide`, with an "exception"
327344
// of the tested function
328345
fn encrypt_data_symmetric_test() {
346+
crypto_init().unwrap();
329347
let (alice_pk, alice_sk) = gen_keypair();
330348
let (bob_pk, bob_sk) = gen_keypair();
331349

@@ -356,6 +374,7 @@ pub mod tests {
356374
// test uses "bare" functions provided by `sodiumoxide`, with an exception
357375
// of the tested function
358376
fn decrypt_data_symmetric_test() {
377+
crypto_init().unwrap();
359378
let (alice_pk, alice_sk) = gen_keypair();
360379
let (bob_pk, bob_sk) = gen_keypair();
361380

@@ -376,6 +395,7 @@ pub mod tests {
376395

377396
#[test]
378397
fn increment_nonce_test_zero_plus_one() {
398+
crypto_init().unwrap();
379399
let cmp_nonce = Nonce([0, 0, 0, 0, 0, 0, 0, 0,
380400
0, 0, 0, 0, 0, 0, 0, 0,
381401
0, 0, 0, 0, 0, 0, 0, 1]);
@@ -387,6 +407,7 @@ pub mod tests {
387407

388408
#[test]
389409
fn increment_nonce_test_0xf_plus_one() {
410+
crypto_init().unwrap();
390411
let cmp_nonce = Nonce([0, 0, 0, 0, 0, 0, 0, 0,
391412
0, 0, 0, 0, 0, 0, 0, 0,
392413
0, 0, 0, 0, 0, 0, 0, 0x10]);
@@ -400,6 +421,7 @@ pub mod tests {
400421

401422
#[test]
402423
fn increment_nonce_test_0xff_plus_one() {
424+
crypto_init().unwrap();
403425
let cmp_nonce = Nonce([0, 0, 0, 0, 0, 0, 0, 0,
404426
0, 0, 0, 0, 0, 0, 0, 0,
405427
0, 0, 0, 0, 0, 0, 1, 0]);
@@ -413,6 +435,7 @@ pub mod tests {
413435

414436
#[test]
415437
fn increment_nonce_test_0xff_max() {
438+
crypto_init().unwrap();
416439
let cmp_nonce = Nonce([0; NONCEBYTES]);
417440
let mut nonce = Nonce([0xff; NONCEBYTES]);
418441
increment_nonce(&mut nonce);
@@ -421,6 +444,7 @@ pub mod tests {
421444

422445
#[test]
423446
fn increment_nonce_test_random() {
447+
crypto_init().unwrap();
424448
let mut nonce = gen_nonce();
425449
let cmp_nonce = nonce;
426450
increment_nonce(&mut nonce);
@@ -431,6 +455,7 @@ pub mod tests {
431455

432456
#[test]
433457
fn increment_nonce_number_test_zero_plus_0xff00() {
458+
crypto_init().unwrap();
434459
let cmp_nonce = Nonce([0, 0, 0, 0, 0, 0, 0, 0,
435460
0, 0, 0, 0, 0, 0, 0, 0,
436461
0, 0, 0, 0, 0, 0, 0xff, 0]);
@@ -442,6 +467,7 @@ pub mod tests {
442467

443468
#[test]
444469
fn increment_nonce_number_test_0xff0000_plus_0x011000() {
470+
crypto_init().unwrap();
445471
let cmp_nonce = Nonce([0, 0, 0, 0, 0, 0, 0, 0,
446472
0, 0, 0, 0, 0, 0, 0, 0,
447473
0, 0, 0, 0, 1, 0, 0x10, 0]);

src/toxcore/dht/codec.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ mod tests {
175175

176176
#[test]
177177
fn encode_decode() {
178+
crypto_init().unwrap();
178179
let test_packets = vec![
179180
Packet::PingRequest(PingRequest {
180181
pk: gen_keypair().0,
@@ -318,6 +319,7 @@ mod tests {
318319

319320
#[test]
320321
fn decode_encrypted_packet_incomplete() {
322+
crypto_init().unwrap();
321323
let stats = Stats::new();
322324
let mut codec = DhtCodec::new(stats);
323325
let mut buf = BytesMut::new();
@@ -336,6 +338,7 @@ mod tests {
336338

337339
#[test]
338340
fn decode_encrypted_packet_error() {
341+
crypto_init().unwrap();
339342
let stats = Stats::new();
340343
let mut codec = DhtCodec::new(stats);
341344
let mut buf = BytesMut::new();
@@ -350,6 +353,7 @@ mod tests {
350353

351354
#[test]
352355
fn decode_encrypted_packet_zero_length() {
356+
crypto_init().unwrap();
353357
let stats = Stats::new();
354358
let mut codec = DhtCodec::new(stats);
355359
let mut buf = BytesMut::new();
@@ -362,6 +366,7 @@ mod tests {
362366

363367
#[test]
364368
fn encode_packet_too_big() {
369+
crypto_init().unwrap();
365370
let stats = Stats::new();
366371
let mut codec = DhtCodec::new(stats);
367372
let mut buf = BytesMut::new();
@@ -378,6 +383,7 @@ mod tests {
378383

379384
#[test]
380385
fn codec_is_clonable() {
386+
crypto_init().unwrap();
381387
let stats = Stats::new();
382388
let codec = DhtCodec::new(stats);
383389
let _codec_c = codec.clone();

src/toxcore/dht/daemon_state.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ mod tests {
121121

122122
#[test]
123123
fn daemon_state_serialize_deserialize() {
124+
crypto_init().unwrap();
124125
let (pk, sk) = gen_keypair();
125126
let (tx, rx) = mpsc::channel(1);
126127
let alice = Server::new(tx, pk, sk);

src/toxcore/dht/dht_friend.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ mod tests {
106106

107107
#[test]
108108
fn addr_is_unknown() {
109+
crypto_init().unwrap();
109110
let pk = gen_keypair().0;
110111
let mut friend = DhtFriend::new(pk);
111112

@@ -117,6 +118,7 @@ mod tests {
117118

118119
#[test]
119120
fn addr_is_known() {
121+
crypto_init().unwrap();
120122
let pk = gen_keypair().0;
121123
let mut friend = DhtFriend::new(pk);
122124

@@ -130,6 +132,7 @@ mod tests {
130132

131133
#[test]
132134
fn get_returned_addrs() {
135+
crypto_init().unwrap();
133136
let pk = gen_keypair().0;
134137
let mut friend = DhtFriend::new(pk);
135138

@@ -162,6 +165,7 @@ mod tests {
162165

163166
#[test]
164167
fn get_returned_addrs_timed_out() {
168+
crypto_init().unwrap();
165169
let pk = gen_keypair().0;
166170
let mut friend = DhtFriend::new(pk);
167171

@@ -194,6 +198,7 @@ mod tests {
194198

195199
#[test]
196200
fn can_and_try_add_to_close() {
201+
crypto_init().unwrap();
197202
let pk = PublicKey([0; PUBLICKEYBYTES]);
198203
let mut friend = DhtFriend::new(pk);
199204

src/toxcore/dht/dht_node.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ mod tests {
236236

237237
#[test]
238238
fn dht_node_clonable() {
239+
crypto_init().unwrap();
239240
let pn = PackedNode {
240241
pk: gen_keypair().0,
241242
saddr: "127.0.0.1:33445".parse().unwrap(),

src/toxcore/dht/kbucket.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,7 @@ mod tests {
562562

563563
#[test]
564564
fn kbucket_get_node() {
565+
crypto_init().unwrap();
565566
let (pk, _) = gen_keypair();
566567
let mut kbucket = Kbucket::<DhtNode>::new(KBUCKET_DEFAULT_SIZE);
567568

@@ -580,6 +581,7 @@ mod tests {
580581

581582
#[test]
582583
fn kbucket_get_node_mut() {
584+
crypto_init().unwrap();
583585
let (pk, _) = gen_keypair();
584586
let mut kbucket = Kbucket::<DhtNode>::new(KBUCKET_DEFAULT_SIZE);
585587

src/toxcore/dht/ktree.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ mod tests {
220220

221221
#[test]
222222
fn ktree_new() {
223+
crypto_init().unwrap();
223224
let pk = gen_keypair().0;
224225
let ktree = Ktree::new(&pk);
225226
assert_eq!(pk, ktree.pk);
@@ -332,6 +333,7 @@ mod tests {
332333

333334
#[test]
334335
fn ktree_contains() {
336+
crypto_init().unwrap();
335337
let (pk, _) = gen_keypair();
336338
let mut ktree = Ktree::new(&pk);
337339

@@ -351,6 +353,7 @@ mod tests {
351353

352354
#[test]
353355
fn ktree_can_add() {
356+
crypto_init().unwrap();
354357
let (pk, _) = gen_keypair();
355358
let mut ktree = Ktree::new(&pk);
356359

@@ -416,6 +419,7 @@ mod tests {
416419

417420
#[test]
418421
fn ktree_is_all_discarded() {
422+
crypto_init().unwrap();
419423
let (pk, _) = gen_keypair();
420424
let mut ktree = Ktree::new(&pk);
421425

0 commit comments

Comments
 (0)