From c3d117ea43336acd89dfe74ce201c2f33858246f Mon Sep 17 00:00:00 2001 From: zonyitoo Date: Mon, 23 Dec 2019 01:19:07 +0800 Subject: [PATCH] libsodium-sys is already good enough to depend --- .travis.yml | 12 -------- Cargo.toml | 4 +-- appveyor.yml | 33 +++++++++++----------- build/Dockerfile.x86_64-pc-windows-gnu | 2 -- build/Dockerfile.x86_64-unknown-linux-musl | 2 -- src/crypto/aead.rs | 2 +- src/crypto/sodium.rs | 2 +- 7 files changed, 20 insertions(+), 37 deletions(-) diff --git a/.travis.yml b/.travis.yml index 75acaa78b374..b2a04129a3b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,17 +33,5 @@ install: export OPENSSL_DIR=/c/OpenSSL/bin; fi - # Install libsodium on Windows - - if [ "#{TRAVIS_OS_NAME}" = "windows" ]; then - curl -O "https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable-mingw.tar.gz"; - mkdir -p "/c/libsodium"; - tar -xf libsodium-1.0.18-stable-mingw.tar.gz -C "/c/libsodium"; - export SODIUM_INCLUDE_DIR=/c/libsodium/libsodium-win64/include; - export SODIUM_LIB_DIR=/c/libsodium/libsodium-win64/lib; - export SODIUM_STATIC=yes; - else - export SODIUM_BUILD_STATIC=yes; - fi - script: - cargo test --no-fail-fast --features miscreant diff --git a/Cargo.toml b/Cargo.toml index c07433136fc5..51b4dd1a22da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ lto = true [features] default = ["sodium", "rc4", "aes-cfb", "aes-ctr", "trust-dns"] -sodium = ["libsodium-ffi"] +sodium = ["libsodium-sys"] rc4 = ["openssl"] aes-cfb = ["openssl"] aes-ctr = ["openssl"] @@ -64,7 +64,7 @@ serde_urlencoded = "0.6" serde = { version = "1.0", features = ["derive"] } url = "2.1" byte_string = "1.0" -libsodium-ffi = { version = "0.2", optional = true } +libsodium-sys = { version = "0.2", optional = true } miscreant = { version = "0.4", optional = true } trust-dns-resolver = { version = "0.18.0-alpha", features = ["dns-over-rustls", "dns-over-https-rustls"], optional = true } hkdf = "0.8" diff --git a/appveyor.yml b/appveyor.yml index 5b26cc4b713d..da363079838d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,19 +1,18 @@ environment: - SSL_CERT_FILE: "C:\\OpenSSL\\cacert.pem" + SSL_CERT_FILE: "C:\\OpenSSL\\cacert.pem" - matrix: - - TARGET: x86_64-pc-windows-msvc - BITS: 64 - MSYS2: 1 - OPENSSL_DIR: C:\OpenSSL-Win64 - SODIUM_BUILD_STATIC: yes - RUST_BACKTRACE: 1 - # - TARGET: i686-pc-windows-gnu - # BITS: 32 - # OPENSSL_DIR: C:\OpenSSL-Win32 - # MSYS2: 1 - # SODIUM_BUILD_STATIC: yes - # RUST_BACKTRACE: 1 + matrix: + - TARGET: x86_64-pc-windows-msvc + BITS: 64 + MSYS2: 1 + OPENSSL_DIR: C:\OpenSSL-Win64 + RUST_BACKTRACE: 1 + # - TARGET: i686-pc-windows-gnu + # BITS: 32 + # OPENSSL_DIR: C:\OpenSSL-Win32 + # MSYS2: 1 + # SODIUM_BUILD_STATIC: yes + # RUST_BACKTRACE: 1 install: # Install Rust - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe @@ -28,8 +27,8 @@ install: build: false test_script: - - cargo test --no-fail-fast + - cargo test --no-fail-fast cache: - - target - - C:\Users\appveyor\.cargo\registry + - target + - C:\Users\appveyor\.cargo\registry diff --git a/build/Dockerfile.x86_64-pc-windows-gnu b/build/Dockerfile.x86_64-pc-windows-gnu index 01cc65880c33..415a687b537a 100644 --- a/build/Dockerfile.x86_64-pc-windows-gnu +++ b/build/Dockerfile.x86_64-pc-windows-gnu @@ -29,8 +29,6 @@ ENV OPENSSL_DIR=/usr/x86_64-w64-mingw32 \ OPENSSL_LIB_DIR=/usr/x86_64-w64-mingw32/lib \ OPENSSL_STATIC=1 \ OPENSSL_LIBS=ssl:crypto \ - SODIUM_BUILD_INCLUDE_DIR=/usr/x86_64-w64-mingw32/include \ - SODIUM_STATIC=1 \ PKG_CONFIG_ALLOW_CROSS=true \ PKG_CONFIG_ALL_STATIC=true \ PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/lib/pkgconfig \ diff --git a/build/Dockerfile.x86_64-unknown-linux-musl b/build/Dockerfile.x86_64-unknown-linux-musl index bb0a019b8328..664fd6b2d185 100644 --- a/build/Dockerfile.x86_64-unknown-linux-musl +++ b/build/Dockerfile.x86_64-unknown-linux-musl @@ -27,8 +27,6 @@ ENV OPENSSL_DIR=/usr/local/musl \ OPENSSL_INCLUDE_DIR=/usr/local/musl/include \ OPENSSL_LIB_DIR=/usr/local/musl/lib \ OPENSSL_STATIC=1 \ - SODIUM_BUILD_INCLUDE_DIR=/usr/local/x86_64-linux-musl/include \ - SODIUM_STATIC=1 \ PKG_CONFIG_ALLOW_CROSS=true \ PKG_CONFIG_ALL_STATIC=true \ PKG_CONFIG_PATH=/usr/local/musl/lib/pkgconfig \ diff --git a/src/crypto/aead.rs b/src/crypto/aead.rs index 19b975c2ad7f..6648197d0469 100644 --- a/src/crypto/aead.rs +++ b/src/crypto/aead.rs @@ -128,7 +128,7 @@ pub fn make_skey(t: CipherType, key: &[u8], salt: &[u8]) -> Bytes { /// AEAD ciphers requires to increase nonce after encrypt/decrypt every chunk #[cfg(feature = "sodium")] pub fn increase_nonce(nonce: &mut [u8]) { - use libsodium_ffi::sodium_increment; + use libsodium_sys::sodium_increment; unsafe { sodium_increment(nonce.as_mut_ptr(), nonce.len()); diff --git a/src/crypto/sodium.rs b/src/crypto/sodium.rs index 9fba6c166692..1010007a4852 100644 --- a/src/crypto/sodium.rs +++ b/src/crypto/sodium.rs @@ -5,7 +5,7 @@ use std::{ptr, sync::Once}; use bytes::{BufMut, Bytes, BytesMut}; use libc::c_ulonglong; -use libsodium_ffi::{ +use libsodium_sys::{ crypto_aead_xchacha20poly1305_ietf_decrypt, crypto_aead_xchacha20poly1305_ietf_encrypt, crypto_stream_chacha20_ietf_xor_ic,