Changeset - 7312e716cb6a
[Not reviewed]
Merge
0 3 0
Christopher Esterhuyse - 5 years ago 2020-07-22 16:49:23
christopher.esterhuyse@gmail.com
Merge branch 'master' of https://scm.cwi.nl/FM/reowolf
2 files changed with 7 insertions and 7 deletions:
0 comments (0 inline, 0 general)
Cargo.toml
Show inline comments
 
@@ -41,7 +41,7 @@ lazy_static = "1.4.0"
 
crate-type = ["cdylib"]
 

	
 
[features]
 
default = ["ffi", "session_optimization"]
 
default = ["ffi", "session_optimization", "ffi_pseudo_socket_api"]
 
ffi = [] # see src/ffi/mod.rs
 
ffi_pseudo_socket_api = ["ffi", "libc", "os_socketaddr"]# see src/ffi/pseudo_socket_api.rs
 
endpoint_logging = [] # see src/macros.rs
src/ffi/pseudo_socket_api.rs
Show inline comments
 
@@ -3,11 +3,11 @@ use super::*;
 
use std::{
 
    collections::HashMap,
 
    ffi::c_void,
 
    libc::{sockaddr, socklen_t},
 
    net::{Ipv4Addr, SocketAddr, SocketAddrV4},
 
    os::raw::c_int,
 
    sync::RwLock,
 
};
 
use libc::{sockaddr, socklen_t};
 
///////////////////////////////////////////////////////////////////
 

	
 
struct FdAllocator {
 
@@ -33,8 +33,8 @@ struct CcMap {
 
    fd_allocator: FdAllocator,
 
}
 
///////////////////////////////////////////////////////////////////
 
fn addr_from_raw(addr: *const sockaddr, addr_len: socklen_t) -> Option<SocketAddr> {
 
    os_socketaddr::OsSocketAddr::from_raw_parts(addr, addr_len as usize).into_addr()
 
unsafe fn addr_from_raw(addr: *const sockaddr, addr_len: socklen_t) -> Option<SocketAddr> {
 
    os_socketaddr::OsSocketAddr::from_raw_parts(addr as _, addr_len as usize).into_addr()
 
}
 
fn trivial_peer_addr() -> SocketAddr {
 
    // SocketAddrV4::new isn't a constant-time func
 
@@ -218,7 +218,7 @@ pub unsafe extern "C" fn rw_sendto(
 
) -> isize {
 
    let addr = match addr_from_raw(addr, addr_len) {
 
        Some(addr) => addr,
 
        _ => return BAD_SOCKADDR,
 
        _ => return BAD_SOCKADDR as isize,
 
    };
 
    let r = if let Ok(r) = CC_MAP.read() { r } else { return CC_MAP_LOCK_POISONED as isize };
 
    let cc = if let Some(cc) = r.fd_to_cc.get(&fd) { cc } else { return BAD_FD as isize };
 
@@ -252,7 +252,7 @@ pub unsafe extern "C" fn rw_recvfrom(
 
) -> isize {
 
    let addr = match addr_from_raw(addr, addr_len) {
 
        Some(addr) => addr,
 
        _ => return BAD_SOCKADDR,
 
        _ => return BAD_SOCKADDR as isize,
 
    };
 
    let r = if let Ok(r) = CC_MAP.read() { r } else { return CC_MAP_LOCK_POISONED as isize };
 
    let cc = if let Some(cc) = r.fd_to_cc.get(&fd) { cc } else { return BAD_FD as isize };
 
@@ -261,7 +261,7 @@ pub unsafe extern "C" fn rw_recvfrom(
 
    // copy currently old_addr
 
    let old_addr = cc.peer_addr;
 
    // connect to given peer_addr
 
    match cc.connect(peer_addr.read()) {
 
    match cc.connect(addr) {
 
        e if e != ERR_OK => return e as isize,
 
        _ => {}
 
    }
0 comments (0 inline, 0 general)