cotton
cotton copied to clipboard
fix(deps): update rust crate nix to 0.29.0
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
nix | dependencies | minor | 0.26.2 -> 0.29.0 |
Release Notes
nix-rust/nix (nix)
v0.29.0
Added
- Add
getregset()/setregset()
for Linux/glibc/x86/x86_64/aarch64/riscv64 andgetregs()/setregs()
for Linux/glibc/aarch64/riscv64 (#2044) - Add socket option Ipv6Ttl for apple targets. (#2287)
- Add socket option UtunIfname. (#2325)
- make SigAction repr(transparent) & can be converted to the libc raw type (#2326)
- Add
From
trait implementation for conversions betweensockaddr_in
andSockaddrIn
,sockaddr_in6
andSockaddrIn6
(#2328) - Add socket option ReusePortLb for FreeBSD. (#2332)
- Added support for openat2 on linux. (#2339)
- Add if_indextoname function. (#2340)
- Add
mount
andunmount
API for apple targets. (#2347) - Added
_PC_MIN_HOLE_SIZE
forpathconf
andfpathconf
. (#2349) - Added
impl AsFd for pty::PtyMaster
(#2355) - Add
open
flagO_SEARCH
to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI (#2374) - Add prctl function
prctl_set_vma_anon_name
for Linux/Android. (#2378) - Add
sync(2)
forapple_targets/solarish/haiku/aix/hurd
,syncfs(2)
forhurd
andfdatasync(2)
foraix/hurd
(#2379) - Add fdatasync support for Apple targets. (#2380)
- Add
fcntl::OFlag::O_PATH
for FreeBSD and Fuchsia (#2382) - Added
PathconfVar::MIN_HOLE_SIZE
for apple_targets. (#2388) - Add
open
flagO_SEARCH
to apple_targets (#2391) -
O_DSYNC
may now be used withaio_fsync
andfcntl
on FreeBSD. (#2404) - Added
Flock::relock
for upgrading and downgrading locks. (#2407)
Changed
-
Change the
ForkptyResult
type to the following repr so that the uninitializedmaster
field won't be accessed in the child process:pub enum ForkptyResult { Parent { child: Pid, master: OwnedFd, }, Child, } ``` ([#​2315](https://togithub.com/nix-rust/nix/pull/2315))
-
Updated
cfg_aliases
dependency from version 0.1 to 0.2 (#2322) -
Change the signature of
ptrace::write
andptrace::write_user
to make them safe (#2324) -
Allow use of
SignalFd
through shared referenceLike with many other file descriptors, concurrent use of signalfds is safe. Changing the signal mask of and reading signals from a signalfd can now be done with the
SignalFd
API even if other references to it exist. (#2367) -
Changed tee, splice and vmsplice RawFd arguments to AsFd. (#2387)
-
Added I/O safety to the sys/aio module. Most functions that previously accepted a
AsRawFd
argument now accept anAsFd
instead. (#2401) -
RecvMsg::cmsgs()
now returns aResult
, and checks that cmsgs were not truncated. (#2413)
Fixed
- No longer panics when the
fanotify
queue overflows. (#2399) - Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to reflect the used kernel's one. (#2406)
v0.28.0
Added
-
Added
mkdtemp
wrapper (#1297) -
Add associated constants
UTIME_OMIT
UTIME_NOW
forTimeSpec
(#1879) -
Added
EventFd
type. (#1945) -
- Added
impl From<Signal> for SigSet
. - Added
impl std::ops::BitOr for SigSet
. - Added
impl std::ops::BitOr for Signal
. - Added
impl std::ops::BitOr<Signal> for SigSet
(#1959)
- Added
-
Added
TlsGetRecordType
control message type and corresponding enum for linux (#2065) -
Added
Ipv6HopLimit
to::nix::sys::socket::ControlMessage
for Linux, MacOS, FreeBSD, DragonflyBSD, Android, iOS and Haiku. (#2074) -
Added
Icmp
andIcmpV6
toSockProtocol
(#2103) -
Added rfork support for FreeBSD in
unistd
(#2121) -
Added
MapFlags::map_hugetlb_with_size_log2
method for Linux targets (#2125) -
Added
mmap_anonymous
function (#2127) -
Added
mips32r6
andmips64r6
support for signal, ioctl and ptrace (#2138) -
Added
F_GETPATH
FcntlFlags entry on Apple/NetBSD/DragonflyBSD for::nix::fcntl
. (#2142) -
Added
F_KINFO
FcntlFlags entry on FreeBSD for::nix::fcntl
. (#2152) -
Added
F_GETPATH_NOFIRMLINK
andF_BARRIERFSYNC
FcntlFlags entry on Apple for::nix::fcntl
. (#2155) -
Added newtype
Flock
to automatically unlock a held flock upon drop. AddedFlockable
trait to represent valid types forFlock
. (#2170) -
Added
SetSockOpt
impls to enable Linux Kernel TLS on a TCP socket and to import TLS parameters. (#2175) -
- Added the
::nix::sys::socket::SocketTimestamp
enum for configuring theTsClock
(a.k.aSO_TS_CLOCK
) sockopt - Added FreeBSD's
ScmRealtime
andScmMonotonic
as new options in::nix::sys::socket::ControlMessageOwned
(#2187)
- Added the
-
Added new fanotify API: wrappers for
fanotify_init
andfanotify_mark
(#2194) -
Added
SpecialCharacterindices
support for haiku. (#2195) -
Added
sys::sendfile
support for solaris/illumos. (#2198) -
impl Display for InterfaceFlags (#2206)
-
Added
sendfilev
in sys::sendfile for solarish (#2207) -
Added
fctrl::SealFlag::F_SEAL_FUTURE_WRITE
(#2213) -
Added
Ipv6MulticastHops
as socket option to set and read. (#2234) -
Enable
ControlMessageOwned::Ipv4RecvIf
andControlMessageOwned::Ipv4RecvDstAddr
for DragonFlyBSD (#2240) -
ClockId::set_time()
andtime::clock_settime()
are now enabled on macOS (#2241) -
Added
IpBindAddressNoPort
sockopt to supportIP_BIND_ADDRESS_NO_PORT
available on linux. (#2244) -
Enable
MapFlags::map_hugetlb_with_size_log2
method for Android/Fuchsia (#2245) -
Added
TcpFastOpenConnect
sockopt to supportTCP_FASTOPEN_CONNECT
available on linux. (#2247) -
Add
reboot(2)
for OpenBSD/NetBSD (#2251) -
Added new
MemFdCreateFlag
constants tosys::memfd
on Linux and Android related to hugetlbfs support. (#2252) -
Expose the inner fd of
Kqueue
through:- impl AsFd for Kqueue
- impl From<Kqueue> for OwnedFd
(#2258)
-
Added
sys::eventfd
support on FreeBSD (#2259) -
Added
MmapFlags::MAP_FIXED
constant insys::mman
for netbsd and openbsd (#2260) -
Added the
SO_LISTENQLIMIT
sockopt. (#2263) -
Enable the
AT_EMPTY_PATH
flag for thefchownat()
function (#2267) -
Add
AtFlags::AT_EMPTY_PATH
for FreeBSD and Hurd (#2270) -
Enable `OFlag::O_DIRECTORY for Solarish (#2275)
-
Added the
Backlog
wrapper type for thelisten
call. (#2276) -
Add
clock_nanosleep()
(#2277) -
Enabled
O_DIRECT
infcntl::OFlags
for solarish (#2278) -
Added a new API sigsuspend. (#2279)
-
- Added
errno::Errno::set
function - Added
errno::Errno::set_raw
function - Added
errno::Errno::last_raw
function - Added
errno::Errno::from_raw
function
(#2283)
- Added
-
Enable the
AT_EMPTY_PATH
flag for thelinkat()
function (#2284) -
Enable unistd::{sync, syncfs} for Android (#2296)
Changed
-
poll
now takesPollTimeout
replacinglibc::c_int
. (#1876) -
Deprecated
sys::eventfd::eventfd
. (#1945) -
mmap
,mmap_anonymous
,munmap
,mremap
,madvise
,msync
,mprotect
,munlock
andmlock
updated to useNonNull
. (#2000) -
mmap
function now acceptsF
instead ofOption<F>
(#2127) -
PollFd::new
now takes aBorrowedFd
argument, with relaxed lifetime requirements relative to the previous version. (#2134) -
FdSet::{insert, remove, contains}
now takeBorrowedFd
arguments, and have relaxed lifetime requirements relative to 0.27.1. (#2136) -
The following APIs now take an implementation of
AsFd
rather than aRawFd
:-
unistd::tcgetpgrp
-
unistd::tcsetpgrp
-
unistd::fpathconf
-
unistd::ttyname
-
unistd::getpeereid
(#2137)
-
-
Changed
openat()
andDir::openat()
, now take optionaldirfd
s (#2139) -
The MSRV is now 1.69 (#2144)
-
Changed function
SockaddrIn::ip()
to returnnet::Ipv4Addr
and refactoredSocketAddrV6::ip()
to beconst
(#2151) -
The following APIs now take optional
dirfd
s:-
readlinkat()
-
fstatat()
-
mknodat()
-
mkdirat()
-
execveat()
(#2157)
-
-
Epoll::wait
now takesEpollTimeout
replacingisize
. (#2202) -
- Deprecated
errno::errno()
function (useErrno::last_raw()
) - Deprecated
errno::from_i32()
function (useErrno::from_raw()
) - Deprecated
errno::Errno::from_i32()
function (useErrno::from_raw()
)
(#2283)
- Deprecated
Fixed
- Fix
SigSet
incorrect implementation ofEq
,PartialEq
andHash
(#1946) - Fixed
::sys::socket::sockopt::IpMulticastTtl
by fixing the value of optlen passed tolibc::setsockopt
and added tests. (#2072) - Fixed the function signature of
recvmmsg
, potentially causing UB (#2119) - Fix
SignalFd::set_mask
. In 0.27.0 it would actually close the file descriptor. (#2141) - Fixed UnixAddr::new for haiku, it did not record the
sun_len
value as needed. Fixedsys::socket::addr::from_raw_parts
andsys::socket::Sockaddrlike::len
build for solaris. (#2242) - Fixed solaris build globally. (#2248)
- Changed the
dup3
wrapper to perform a real call todup3
instead of emulating it viadup2
andfcntl
to get rid of race condition (#2268) - Fixed
::unistd::Group::members
using read_unaligned to avoid crash on misaligned pointers (#2311)
Removed
- The
FchownatFlags
type has been deprecated, please useAtFlags
instead. (#2267) - Removed the
dup3
wrapper on macOS, which was emulated viadup2
andfcntl
and could cause a race condition. Thedup3
system call is not supported on macOS. (#2268) - The
LinkatFlags
type has been deprecated, please useAtFlags
instead. (#2284)
v0.27.1
Fixed
- Fixed generating the documentation on docs.rs. (#2111)
v0.27.0
Added
- Added
AT_EACCESS
toAtFlags
on all platforms but android (#1995) - Add
PF_ROUTE
toSockType
on macOS, iOS, all of the BSDs, Fuchsia, Haiku, Illumos. (#1867) - Added
nix::ucontext
module onaarch64-unknown-linux-gnu
. (#1662) - Added
CanRaw
toSockProtocol
andCanBcm
as a separateSocProtocol
constant. (#1912) - Added
Generic
andNFLOG
toSockProtocol
. (#2092) - Added
mq_timedreceive
to::nix::mqueue
. ([#1966])(https://github.com/nix-rust/nix/pull/1966) - Added
LocalPeerPid
tonix::sys::socket::sockopt
for macOS. (#1967) - Added
TFD_TIMER_CANCEL_ON_SET
to::nix::sys::time::TimerSetTimeFlags
on Linux and Android. (#2040) - Added
SOF_TIMESTAMPING_OPT_ID
andSOF_TIMESTAMPING_OPT_TSONLY
tonix::sys::socket::TimestampingFlag
. (#2048) - Enabled socket timestamping options on Android. (#2077)
- Added vsock support for macOS (#2056)
- Added
SO_SETFIB
andSO_USER_COOKIE
tonix::sys::socket::sockopt
for FreeBSD. (#2085) - Added
SO_RTABLE
for OpenBSD andSO_ACCEPTFILTER
for FreeBSD/NetBSD tonix::sys::socket::sockopt
. (#2085) - Added
MSG_WAITFORONE
toMsgFlags
on Android, Fuchsia, Linux, NetBSD, FreeBSD, OpenBSD, and Solaris. (#2014) - Added
SO_TS_CLOCK
for FreeBSD tonix::sys::socket::sockopt
. (#2093) - Added support for prctl in Linux. (#1550)
-
nix::socket
andnix::select
are now available on Redox. (#2012) - Implemented AsFd, AsRawFd, FromRawFd, and IntoRawFd for
mqueue::MqdT
. (#2097) - Add the ability to set
kevent_flags
onSigEvent
. (#1731)
Changed
- All Cargo features have been removed from the default set. Users will need to specify which features they depend on in their Cargo.toml. (#2091)
- Implemented I/O safety for many, but not all, of Nix's APIs. Many public
functions argument and return types have changed:
Original Type New Type AsRawFd AsFd RawFd BorrowedFd or OwnedFd - Use I/O safety with
copy_file_range
, and expose it on FreeBSD. (#1906) - The MSRV is now 1.65 (#1862) (#2104)
- The epoll interface now uses a type. (#1882)
- With I/O-safe type applied in
pty::OpenptyResult
andpty::ForkptyResult
, users no longer need to manually close the file descriptors in these types. (#1921) - Refactored
name
parameter ofmq_open
andmq_unlink
to be generic overNixPath
. (#2102). - Made
clone
unsafe, likefork
. (#1993)
Removed
-
sys::event::{kevent, kevent_ts}
are deprecated in favor ofsys::kevent::Kqueue::kevent
, andsys::event::kqueue
is deprecated in favor ofsys::kevent::Kqueue::new
. (#1943) - Removed deprecated IoVec API. (#1855)
- Removed deprecated net APIs. (#1861)
-
nix::sys::signalfd::signalfd
is deprecated. Usenix::sys::signalfd::SignalFd
instead. (#1938) - Removed
SigEvent
support on Fuchsia, where it was unsound. (#2079) - Removed
flock
from::nix::fcntl
on Solaris. (#2082)
v0.26.4
v0.26.3
Fixed
- Fix: send
ETH_P_ALL
in htons format (#1925) - Fix:
recvmsg
now sets the length of the receivedsockaddr_un
field correctly on Linux platforms. (#2041) - Fix potentially invalid conversions in
SockaddrIn::from<std::net::SocketAddrV4>
,SockaddrIn6::from<std::net::SockaddrV6>
,IpMembershipRequest::new
, andIpv6MembershipRequest::new
with future Rust versions. (#2061) - Fixed an incorrect lifetime returned from
recvmsg
. (#2095)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.