make clippy happy

This commit is contained in:
Y. T. Chung
2017-02-18 11:32:52 +08:00
parent 99daba0680
commit 10baee58a5
7 changed files with 39 additions and 33 deletions

View File

@@ -109,4 +109,20 @@ pub fn make_skey(t: CipherType, key: &[u8], salt: &[u8]) -> Vec<u8> {
hkdf_expand(Sha1::new(), &prk, SUBKEY_INFO, &mut skey);
skey
}
/// Increase nonce by 1
///
/// AEAD ciphers requires to increase nonce after encrypt/decrypt every chunk
pub fn increase_nonce(nonce: &mut [u8]) {
let mut adding = true;
for v in nonce.iter_mut() {
if !adding {
break;
}
let (r, overflow) = v.overflowing_add(1);
*v = r;
adding = overflow;
}
}

View File

@@ -150,19 +150,19 @@ impl CipherType {
match *self {
CipherType::Table | CipherType::Dummy => 0,
CipherType::Aes128Cfb => symm::Cipher::aes_128_cfb128().key_len(),
CipherType::Aes128Cfb1 => symm::Cipher::aes_128_cfb1().key_len(),
CipherType::Aes128Cfb8 => symm::Cipher::aes_128_cfb8().key_len(),
CipherType::Aes128Cfb |
CipherType::Aes128Cfb128 => symm::Cipher::aes_128_cfb128().key_len(),
CipherType::Aes256Cfb => symm::Cipher::aes_256_cfb128().key_len(),
CipherType::Aes256Cfb1 => symm::Cipher::aes_256_cfb1().key_len(),
CipherType::Aes256Cfb8 => symm::Cipher::aes_256_cfb8().key_len(),
CipherType::Aes256Cfb |
CipherType::Aes256Cfb128 => symm::Cipher::aes_256_cfb128().key_len(),
CipherType::Rc4 => symm::Cipher::rc4().key_len(),
CipherType::Rc4 |
CipherType::Rc4Md5 => symm::Cipher::rc4().key_len(),
CipherType::ChaCha20 => 32,
CipherType::ChaCha20 |
CipherType::Salsa20 => 32,
CipherType::Aes128Gcm => 16,
@@ -259,19 +259,19 @@ impl CipherType {
match *self {
CipherType::Table | CipherType::Dummy => 0,
CipherType::Aes128Cfb => symm::Cipher::aes_128_cfb128().iv_len().unwrap_or(0),
CipherType::Aes128Cfb1 => symm::Cipher::aes_128_cfb1().iv_len().unwrap_or(0),
CipherType::Aes128Cfb8 => symm::Cipher::aes_128_cfb8().iv_len().unwrap_or(0),
CipherType::Aes128Cfb |
CipherType::Aes128Cfb128 => symm::Cipher::aes_128_cfb128().iv_len().unwrap_or(0),
CipherType::Aes256Cfb => symm::Cipher::aes_256_cfb128().iv_len().unwrap_or(0),
CipherType::Aes256Cfb1 => symm::Cipher::aes_256_cfb1().iv_len().unwrap_or(0),
CipherType::Aes256Cfb8 => symm::Cipher::aes_256_cfb8().iv_len().unwrap_or(0),
CipherType::Aes256Cfb |
CipherType::Aes256Cfb128 => symm::Cipher::aes_256_cfb128().iv_len().unwrap_or(0),
CipherType::Rc4 => symm::Cipher::rc4().iv_len().unwrap_or(0),
CipherType::Rc4 |
CipherType::Rc4Md5 => symm::Cipher::rc4().iv_len().unwrap_or(0),
CipherType::ChaCha20 => 8,
CipherType::ChaCha20 |
CipherType::Salsa20 => 8,
CipherType::Aes128Gcm |

View File

@@ -32,7 +32,7 @@ use rust_crypto::aes::KeySize;
use crypto::{StreamCipher, CipherType, CipherResult};
use crypto::{AeadDecryptor, AeadEncryptor};
use crypto::cipher::Error;
use crypto::aead::make_skey;
use crypto::aead::{make_skey, increase_nonce};
/// Cipher provided by Rust-Crypto
pub enum CryptoCipher {
@@ -116,16 +116,7 @@ impl CryptoAeadCrypto {
}
fn increase_nonce(&mut self) {
let mut adding = 1;
for v in self.nonce.iter_mut() {
if adding == 0 {
break;
}
let (r, overflow) = v.overflowing_add(adding);
*v = r;
adding = if overflow { 1 } else { 0 };
}
increase_nonce(&mut self.nonce);
}
fn reset(&mut self) {

View File

@@ -43,9 +43,9 @@ use crypto::{self, CipherType, AeadEncryptor, AeadDecryptor};
use super::{EncryptedWrite, DecryptedRead, BUFFER_SIZE};
enum ReadingStep {
DataLength,
Length,
DataAndTag(usize),
DataDone,
Done,
}
/// Reader wrapper that will decrypt data automatically
@@ -74,7 +74,7 @@ impl<R> DecryptedReader<R>
pos: 0,
sent_final: false,
tag_size: t.tag_size(),
read_step: ReadingStep::DataLength,
read_step: ReadingStep::Length,
}
}
@@ -160,7 +160,7 @@ impl<R> DecryptedReader<R>
self.cipher.decrypt(data, &mut self.data, tag)?;
}
self.read_step = ReadingStep::DataDone;
self.read_step = ReadingStep::Done;
self.buffer.clear();
}
@@ -170,13 +170,13 @@ impl<R> DecryptedReader<R>
fn read_some(&mut self) -> io::Result<()> {
while !self.sent_final {
match self.read_step {
ReadingStep::DataLength => self.read_length()?,
ReadingStep::Length => self.read_length()?,
ReadingStep::DataAndTag(dlen) => {
self.read_data(dlen)?;
break; // Read finished! Break out
}
ReadingStep::DataDone => {
self.read_step = ReadingStep::DataLength;
ReadingStep::Done => {
self.read_step = ReadingStep::Length;
self.data.clear();
}
}
@@ -195,7 +195,7 @@ impl<R> BufRead for DecryptedReader<R>
}
self.read_some()?;
if let ReadingStep::DataDone = self.read_step {
if let ReadingStep::Done = self.read_step {
self.pos = 0;
}
}

View File

@@ -170,9 +170,9 @@ fn connect_proxy_server(handle: &Handle, svr_cfg: Rc<ServerConfig>) -> BoxIoFutu
trace!("Connecting to proxy {:?}, timeout: {:?}",
svr_cfg.addr(),
timeout);
match svr_cfg.addr() {
&ServerAddr::SocketAddr(ref addr) => try_timeout(TcpStream::connect(addr, handle), timeout, handle),
&ServerAddr::DomainName(ref domain, port) => {
match *svr_cfg.addr() {
ServerAddr::SocketAddr(ref addr) => try_timeout(TcpStream::connect(addr, handle), timeout, handle),
ServerAddr::DomainName(ref domain, port) => {
let handle = handle.clone();
let fut = try_timeout(DnsResolver::resolve(&domain[..]), timeout, &handle).and_then(move |sockaddr| {
let sockaddr = match sockaddr {

View File

@@ -180,8 +180,7 @@ fn handle_socks5_client(handle: &Handle, s: TcpStream, conf: Rc<ServerConfig>, u
socks5::Command::UdpAssociate => {
if udp_conf.enable_udp {
info!("UDP ASSOCIATE {}", addr);
let fut = TcpResponseHeader::new(socks5::Reply::Succeeded,
From::from((*(&*udp_conf.client_addr))))
let fut = TcpResponseHeader::new(socks5::Reply::Succeeded, From::from(*udp_conf.client_addr))
.write_to(w)
.and_then(flush)
.and_then(|_| {

View File

@@ -96,7 +96,7 @@ impl Client {
fn resolve_server_addr(svr_cfg: Rc<ServerConfig>) -> BoxIoFuture<SocketAddr> {
match *svr_cfg.addr() {
// Return directly if it is a SocketAddr
ServerAddr::SocketAddr(ref addr) => boxed_future(futures::finished(addr.clone())),
ServerAddr::SocketAddr(ref addr) => boxed_future(futures::finished(*addr)),
// Resolve domain name to SocketAddr
ServerAddr::DomainName(ref dname, port) => {
let fut = DnsResolver::resolve(dname).map(move |sockaddr| {