Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-09-06 | Add support for IP_RECVERR and IPV6_RECVERR | Conrad Meyer | |
Setting these options enables receiving errors, such as ICMP errors from the network, via `recvmsg()` with `MSG_ERRQUEUE`. Adds new `Ipv{4,6}RecvErr` variants to `ControlMessageOwned`. These control messages are produced when `Ipv4RecvErr` or `Ipv6RecvErr` options are enabled on a raw or datagram socket. New tests for the functionality can be run with `cargo test --test test test_recverr`. This commit builds on an earlier draft of the functionality authored by Matthew McPherrin <git@mcpherrin.ca>. | |||
2021-08-26 | add `TcpRepair` to sockopt | 0/0 | |
2021-08-12 | feat: add libc::IP6T_SO_ORIGINAL_DST support | Icemic | |
2021-08-10 | Add support for LOCAL_PEER_CRED | Alan Somers | |
On FreeBSD and its derivatives, this socket option gets the credentials of the connected peer. | |||
2021-07-16 | Add the IPV6_V6ONLY sockopt | Daniel Dulaney | |
2021-07-08 | Support SO_RXQ_OVFL socket option (android/fuchsia/linux) | Junho Choi | |
This PR implements support of RXQ_OVFL flag and parsing ControlMessage to get the packet drop counter of UDP socket. | |||
2021-07-05 | Add TcpUserTimeout socket option | Anthony Ramine | |
2021-06-23 | Add IpFreebind socket option | Anthony Ramine | |
2021-04-08 | Support TIMESTAMPNS for linux | Lu, Wangshan | |
2021-03-21 | illumos and Solaris support | Jason King | |
Co-authored-by: Dominik Hassler <hadfl@omnios.org> Co-authored-by: Joshua M. Clulow <josh@sysmgr.org> | |||
2020-10-18 | KEEPCNT/KEEPINTVL aren't available on OpenBSD. | Laurence Tratt | |
Without this commit, nix doesn't currently compile on OpenBSD. Some keepalive settings can be set globally, but not per-socket (see e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=970550 for some digging into this). Since it seems that NetBSD and DragonflyBSD have these settings, it makes more sense to only exclude them on OpenBSD rather than include them on (pretty much every) other operating systems. | |||
2020-10-10 | Add support for TCP_KEEPCNT and TCP_KEEPINTVL TCP keepalive options. | Yoav Steinberg | |
2020-05-31 | Convert the crate to edition 2018 | Alan Somers | |
2020-05-08 | Add SO_BINDTODEVICE sockopt | Jean Pierre Dudey | |
This is available only on Linux as far I know, [socket(7)](https://linux.die.net/man/7/socket) has some information about the `SO_BINDTODEVICE` sockopt. In simple words it binds a socket to an specific network device (specified as an string like "wlo1", "eth0", etc.), to only process packets from that device. Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com> | |||
2020-04-25 | Support UDP GSO and GRO on linux | Gleb Pomykalov | |
2020-04-12 | Fix UB in getsockopt | Alan Somers | |
The old code tried to zero-initialize an enum for which 0 is not a valid value. That worked for older compilers, but triggers a panic with Rust 1.44.0. The correct technique is to use mem::MaybeUninit. Fixes #1212 | |||
2019-09-19 | Where relevant, replace equality checks in assert! with assert_eq! | Xavier L'Heureux | |
`assert_eq!` gives more debug info when the test fails by default than `assert!`. This should help make debugging easier. | |||
2019-08-29 | Clippy cleanup | Alan Somers | |
2019-06-09 | Add extra traits for all types | Bryant Mairs | |
Derive Clone, Copy, Eq, Hash, and PartialEq for all types. Not all traits are supported by all types, which is why many are missing some. | |||
2019-06-06 | Fix the is_so_mark_functional test in Linux containers | Alan Somers | |
It's not sufficient to check for root privileges. In a container, the euid may be root even though the user lacks some capabilities. Replace this test's root check with a check for the CAP_NET_ADMIN capability instead. | |||
2019-06-03 | Check euid, not uid, for socket tests | Alan Somers | |
2019-05-31 | libc::uint8_t deprecated in favor of rust u8 | Johannes Schilling | |
2019-03-12 | Support AF_ALG | Gleb Pomykalov | |
2019-01-23 | Add IP_RECVIF & IP_RECVDSTADDR. | Tom Pusateri | |
Include IP_PKTINFO and IP6_PKTINFO on netbsd/openbsd. | |||
2018-12-17 | Merge #990 | bors[bot] | |
990: Add cmsg PKTINFO for IPv4 and IPv6. r=asomers a=pusateri Replaces #891 and attempts to address all previous concerns. Co-authored-by: Tom Pusateri <pusateri@bangj.com> | |||
2018-12-15 | Add cmsg PKTINFO for IPv4 and IPv6. | Tom Pusateri | |
ignore pktinfo tests on qemu mips,mips64,powerpc64 Original work by @mcginty. | |||
2018-12-08 | Replace try! with ? | Alan Somers | |
try! is not available in Rust 2018 | |||
2018-12-06 | Add support of TCP_CONGESTION for setsockopt | Fensteer | |
2018-07-27 | Fix *decoding* of cmsgs and add `ScmCredentials`. | Jonas Schievink | |
2018-07-05 | Get `SO_PEERCRED` working on all Linux targets | Jonas Schievink | |
2018-05-22 | Typo | Xavier Bestel | |
2018-03-21 | add SO_MARK SetSockOpt for Linux | Jake McGinty | |
2018-02-15 | socket get-/setsockopt: document internal macros, types and traits | mexus | |
2018-01-11 | Add socket options for IP_TRANSPARENT / BIND_ANY | Justin Latimer | |
2017-12-10 | Replace ip(v6)_mreq structs with libc equivalent | Bryant Mairs | |
2017-12-10 | Replace custom ucred struct with newtype wrapper around libc::ucred | Bryant Mairs | |
2017-12-10 | Use libc::linger | Bryant Mairs | |
2017-12-04 | Stop reexporting `Errno` and its variants | Jonas Schievink | |
cc #664 (unsure if this is everything needed) | |||
2017-09-04 | Add support for SO_TIMESTAMP | Wesley Wolfe | |
2017-08-26 | Replace more FFI instances | Bryant Mairs | |
2017-08-11 | Fix safety of sockopt helper traits | Jonas Schievink | |
2017-08-11 | Get rid of a lot of transmutes | Jonas Schievink | |
Most could be replaced by simple raw pointer casts (or even perfectly safe coercions!). cc #373 | |||
2017-08-01 | add SockProtocol type for third argument of socket and socketpair | Nicolas Dusart | |
2017-08-01 | add socket constants already present in libc | Nicolas Dusart | |
2017-08-01 | remove sys::sockets::consts module as it's libc goal to define them | Nicolas Dusart | |
2017-04-09 | Removed tests on ARM for non-existant constants. | Zac Berkowitz | |
2017-04-09 | Removed some socket constants from arch=arm | Zac Berkowitz | |
2016-08-10 | Fix the sockopt_impl matcher rule order. | Alan Somers | |
Rules for generic types were located above rules for specific types, so the rules for specific types never got matched. This caused the sys::socket::sockopt::test::can_get_listen_on_tcp_socket test to fail on FreeBSD. The solution is to put all of the generic rules at the bottom. | |||
2016-05-02 | Add SO_ORIGINAL_DST | Justin Latimer | |
2016-02-25 | Fix IPV6 group membership options on OpenBSD | Vasily Kolobkov | |