summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2023-05-20timerfd: Add TFD_TIMER_CANCEL_ON_SET flagAndrii Pohrebniak
2023-04-05Merge #2012bors[bot]
2012: Enable socket and select on redox r=asomers a=coolreader18 Co-authored-by: Noa <coolreader18@gmail.com>
2023-04-03Add CHANGELOG entryNoa
2023-03-20fix: send ETH_P_ALL in htons formatTodd Neal
2023-02-10Merge #1995bors[bot]
1995: Add `AT_EACCESS` to `AtFlags` on all platforms r=asomers a=MatteoNardi On Linux, I need the `AT_EACCESS` flag for `faccessat`: ``` AT_EACCESS Perform access checks using the effective user and group IDs. By default, faccessat() uses the real IDs (like access()). ``` ~~This commit is enabling it for all platforms but redox. I'm not really sure if this is correct of I should have just added a target_os = "linux". A did quick git grep -e AT_EACCESS -e 'AT_REMOVEDIR' on libc and it showed they're available on the same targets, so for consistence I just removed the cfg limitation.~~ CI was helpful and showed me I was wrong: it's undefined on android. Co-authored-by: Matteo Nardi <matteo@exein.io>
2023-02-09Rustier kqueue APIAlan Somers
* Prefer methods instead of functions. * Create a newtype for a kqueue. * Document everything. * Deprecate EVFILT_SENDFILE, because it was never fully implemented upstream. * Add support to the libc_enum! macro to be able to deprecate variants.
2023-02-01Enabled `AtFlags::AT_EACCESS` on all platforms but android and redoxMatteo Nardi
2023-01-14Added changelog entry and test for LocalPeerPidArmin Ronacher
2023-01-13Merge #1964bors[bot]
1964: Fix endian swap on SocketAddrV6. r=asomers a=aarond10 This is a bug. flowinfo and scope_id should not be byte swapped here. See also https://github.com/nix-rust/nix/issues/1963. Co-authored-by: Aaron Drew <aarond10@gmail.com>
2023-01-13Fix endian swap on SocketAddrV6.Aaron Drew
flowinfo and scope_id should not be byte swapped.
2023-01-10Added `mq_timedreceive` to `::nix::mqueue`.David Collard
2022-12-13Added CANbus socket family protocol constants.fpagliughi
2022-12-10Deprecate the signalfd function.Alan Somers
The SignalFd type is just as capable and easier to use.
2022-12-10signalfd optional file descriptorJonathan
2022-12-08feat: I/O safety for 'sys/termios' & 'pty'Steve Lau
2022-12-04EpollJonathan
2022-12-04Bump MSRV to 1.63 for I/O safetyAlex Saveau
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2022-12-03Nuke deprecated net APIsAlex Saveau
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2022-12-03Merge #1902bors[bot]
1902: Enable ucontext module on aarch64-unknown-linux-gnu r=asomers a=rtzoeller Untested, but I saw https://github.com/rust-lang/libc/commit/fd32da6e7dfa2afcae86e176904244cf45a90c06 and figured we should uptake it. Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
2022-12-02Nuke IoVecAlex Saveau
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2022-12-02Enable ucontext module on aarch64-unknown-linux-gnuRyan Zoeller
2022-11-29Add routing socket typeEmils
2022-11-28[skip ci] add a CHANGELOG section for the next releaseAlan Somers
2022-11-28(cargo-release) version 0.26.1Alan Somers
2022-11-28Fix UB in the SO_TYPE sockoptAlan Somers
When reading a value into an enum from getsockopt, we must validate it. Failing to do so can lead to UB for example with SOCK_PACKET on Linux. Perform the validation in GetSockOpt::get. Currently SockType is the only type that requires validation. Fixes #1819
2022-11-28[skip ci] add a CHANGELOG section for the next releaseAlan Somers
2022-11-28(cargo-release) version 0.26.0Alan Somers
2022-11-28[skip ci] add CHANGELOG entries for old point releases.Alan Somers
I opted to preserve explicit entries for backports in both the original feature release and the backported point release, rather than trying to pretend that the releases were actually sequential. Also, remove some empty subsections from the file.
2022-11-28[skip ci] fix CHANGELOG formattingAlan Somers
2022-11-29Merge #1788bors[bot]
1788: Workaround XNU bug in getifaddrs netmasks r=asomers a=roblabla Fixes #1709 Co-authored-by: roblabla <unfiltered@roblab.la> Co-authored-by: Alan Somers <asomers@gmail.com>
2022-11-28Elaborate CHANGELOG entry for PR #1788Alan Somers
2022-11-29PollFd utility functionsJonathan
2022-11-23add IpMtu sockoptJonathan de Jong
2022-11-21Added `SockProtocol::Raw = libc::IPPROTO_RAW` for raw socketsStackOverflowExcept1on
2022-11-21Merge #1857bors[bot]
1857: Add better support for unnamed unix socket addrs r=asomers a=stevenengler This adds the following 2 functions/methods: `UnixAddr::new_unnamed` and `UnixAddr::is_unnamed`. Closes #1585 unix(7) on Linux: > unnamed: A stream socket that has not been bound to a pathname using bind(2) has no name. Likewise, the two sockets created by socketpair(2) are unnamed. When the address of an unnamed socket is returned, its length is `sizeof(sa_family_t)`, and `sun_path` should not be inspected. **Edit:** This currently isn't working on BSD, but I see why. Will fix it shortly. Co-authored-by: Steven Engler <opara@cs.georgetown.edu>
2022-11-21Merge #1871bors[bot]
1871: Fix using SockaddrStorage to store Unix domain addresses on Linux r=rtzoeller a=asomers Since it has variable length, the user of a sockaddr_un must keep track of its true length. On the BSDs, this is handled by the builtin sun_len field. But on Linux-like operating systems it isn't. Fix this bug by explicitly tracking it for SockaddrStorage just like we already do for UnixAddr. Fixes #1866 Co-authored-by: Alan Somers <asomers@gmail.com>
2022-11-21fixup! Added better support for unnamed unix socket addrsSteven Engler
Changelog
2022-11-20mmap non-zero lengthJonathan
2022-11-20Merge #1853bors[bot]
1853: Adds IP_TOS, IPV6_TCLASS and SO_PRIORITY sockopt wrappers for Linux r=asomers a=mzachar Added socket option wrappers for DiffServ related parameters on Linux Co-authored-by: mzachar <mzachar@users.noreply.github.com>
2022-11-20mmap addrJonathan
2022-11-20Workaround XNU bug in getifaddrs netmasksroblabla
2022-11-20Adds IP_TOS, IPV6_TCLASS and SO_PRIORITY sockopt wrappersmzachar
2022-11-19Fix using SockaddrStorage to store Unix domain addresses on LinuxAlan Somers
Since it has variable length, the user of a sockaddr_un must keep track of its true length. On the BSDs, this is handled by the builtin sun_len field. But on Linux-like operating systems it isn't. Fix this bug by explicitly tracking it for SockaddrStorage just like we already do for UnixAddr. Fixes #1866
2022-11-11Nuke deprecated Errno flagsAlex Saveau
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2022-10-23Add a Statfs::flags methodAlan Somers
It returns the mount flags on the BSDs. On Linux, it returns a slightly different set of flags.
2022-10-23Define `MntFlags` and `unmount` on all of the BSDs.Alan Somers
2022-10-14Update changelogMichael Baikov
2022-10-13add eaccess on FreeBSD, DragonFly and Linux (musl and glibc)Steve Lau
2022-10-10add faccessat on illumosSteve Lau
2022-10-08add syncfs on linuxSteve Lau