Update Rust crate nix to 0.29.0 #122
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.26.2->0.29.0Release Notes
nix-rust/nix (nix)
v0.29.0Compare Source
Added
getregset()/setregset()for Linux/glibc/x86/x86_64/aarch64/riscv64 andgetregs()/setregs()for Linux/glibc/aarch64/riscv64(#2044)
(#2287)
(#2325)
(#2326)
Fromtrait implementation for conversions betweensockaddr_inandSockaddrIn,sockaddr_in6andSockaddrIn6(#2328)
(#2332)
(#2339)
(#2340)
mountandunmountAPI for apple targets.(#2347)
_PC_MIN_HOLE_SIZEforpathconfandfpathconf.(#2349)
impl AsFd for pty::PtyMaster(#2355)
openflagO_SEARCHto AIX, Empscripten, FreeBSD, Fuchsia, solarish,WASI (#2374)
prctl_set_vma_anon_namefor Linux/Android.(#2378)
sync(2)forapple_targets/solarish/haiku/aix/hurd,syncfs(2)forhurdandfdatasync(2)foraix/hurd(#2379)
(#2380)
fcntl::OFlag::O_PATHfor FreeBSD and Fuchsia(#2382)
PathconfVar::MIN_HOLE_SIZEfor apple_targets.(#2388)
openflagO_SEARCHto apple_targets(#2391)
O_DSYNCmay now be used withaio_fsyncandfcntlon FreeBSD.(#2404)
Flock::relockfor upgrading and downgrading locks.(#2407)
Changed
Change the
ForkptyResulttype to the following repr so that theuninitialized
masterfield won't be accessed in the child process:Updated
cfg_aliasesdependency from version 0.1 to 0.2(#2322)
Change the signature of
ptrace::writeandptrace::write_userto make themsafe (#2324)
Allow use of
SignalFdthrough 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
SignalFdAPI 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
AsRawFdargument now accept anAsFdinstead.(#2401)
RecvMsg::cmsgs()now returns aResult, and checks that cmsgs were nottruncated. (#2413)
Fixed
fanotifyqueue overflows.(#2399)
reflect the used kernel's one.
(#2406)
v0.28.0Compare Source
Added
Added
mkdtempwrapper (#1297)Add associated constants
UTIME_OMITUTIME_NOWforTimeSpec(#1879)
Added
EventFdtype. (#1945)impl From<Signal> for SigSet.impl std::ops::BitOr for SigSet.impl std::ops::BitOr for Signal.impl std::ops::BitOr<Signal> for SigSet(#1959)
Added
TlsGetRecordTypecontrol message type and corresponding enum forlinux (#2065)
Added
Ipv6HopLimitto::nix::sys::socket::ControlMessagefor Linux,MacOS, FreeBSD, DragonflyBSD, Android, iOS and Haiku.
(#2074)
Added
IcmpandIcmpV6toSockProtocol(#2103)
Added rfork support for FreeBSD in
unistd(#2121)
Added
MapFlags::map_hugetlb_with_size_log2method for Linux targets(#2125)
Added
mmap_anonymousfunction(#2127)
Added
mips32r6andmips64r6support for signal, ioctl and ptrace(#2138)
Added
F_GETPATHFcntlFlags entry on Apple/NetBSD/DragonflyBSD for::nix::fcntl. (#2142)Added
F_KINFOFcntlFlags entry on FreeBSD for::nix::fcntl.(#2152)
Added
F_GETPATH_NOFIRMLINKandF_BARRIERFSYNCFcntlFlags entryon Apple for
::nix::fcntl.(#2155)
Added newtype
Flockto automatically unlock a held flock upon drop.Added
Flockabletrait to represent valid types forFlock.(#2170)
Added
SetSockOptimpls to enable Linux Kernel TLS on a TCP socket and toimport TLS parameters. (#2175)
::nix::sys::socket::SocketTimestampenum for configuring theTsClock(a.k.aSO_TS_CLOCK) sockoptScmRealtimeandScmMonotonicas new options in::nix::sys::socket::ControlMessageOwned(#2187)
Added new fanotify API: wrappers for
fanotify_initandfanotify_mark(#2194)
Added
SpecialCharacterindicessupport for haiku.(#2195)
Added
sys::sendfilesupport for solaris/illumos.(#2198)
impl Display for InterfaceFlags
(#2206)
Added
sendfilevin sys::sendfile for solarish(#2207)
Added
fctrl::SealFlag::F_SEAL_FUTURE_WRITE(#2213)
Added
Ipv6MulticastHopsas socket option to set and read.(#2234)
Enable
ControlMessageOwned::Ipv4RecvIfandControlMessageOwned::Ipv4RecvDstAddrfor DragonFlyBSD(#2240)
ClockId::set_time()andtime::clock_settime()are now enabled on macOS(#2241)
Added
IpBindAddressNoPortsockopt to supportIP_BIND_ADDRESS_NO_PORTavailable on linux. (#2244)
Enable
MapFlags::map_hugetlb_with_size_log2method for Android/Fuchsia(#2245)
Added
TcpFastOpenConnectsockopt to supportTCP_FASTOPEN_CONNECTavailable on linux. (#2247)
Add
reboot(2)for OpenBSD/NetBSD(#2251)
Added new
MemFdCreateFlagconstants tosys::memfdon Linux and Androidrelated to hugetlbfs support.
(#2252)
Expose the inner fd of
Kqueuethrough:(#2258)
Added
sys::eventfdsupport on FreeBSD(#2259)
Added
MmapFlags::MAP_FIXEDconstant insys::mmanfor netbsd and openbsd(#2260)
Added the
SO_LISTENQLIMITsockopt.(#2263)
Enable the
AT_EMPTY_PATHflag for thefchownat()function(#2267)
Add
AtFlags::AT_EMPTY_PATHfor FreeBSD and Hurd(#2270)
Enable `OFlag::O_DIRECTORY for Solarish
(#2275)
Added the
Backlogwrapper type for thelistencall.(#2276)
Add
clock_nanosleep()(#2277)Enabled
O_DIRECTinfcntl::OFlagsfor solarish(#2278)
Added a new API sigsuspend.
(#2279)
errno::Errno::setfunctionerrno::Errno::set_rawfunctionerrno::Errno::last_rawfunctionerrno::Errno::from_rawfunction(#2283)
Enable the
AT_EMPTY_PATHflag for thelinkat()function(#2284)
Enable unistd::{sync, syncfs} for Android
(#2296)
Changed
pollnow takesPollTimeoutreplacinglibc::c_int.(#1876)
Deprecated
sys::eventfd::eventfd.(#1945)
mmap,mmap_anonymous,munmap,mremap,madvise,msync,mprotect,munlockandmlockupdated to useNonNull.(#2000)
mmapfunction now acceptsFinstead ofOption<F>(#2127)
PollFd::newnow takes aBorrowedFdargument, with relaxed lifetimerequirements relative to the previous version.
(#2134)
FdSet::{insert, remove, contains}now takeBorrowedFdarguments, and haverelaxed lifetime requirements relative to 0.27.1.
(#2136)
The following APIs now take an implementation of
AsFdrather than aRawFd:unistd::tcgetpgrpunistd::tcsetpgrpunistd::fpathconfunistd::ttynameunistd::getpeereid(#2137)Changed
openat()andDir::openat(), now take optionaldirfds(#2139)
The MSRV is now 1.69 (#2144)
Changed function
SockaddrIn::ip()to returnnet::Ipv4Addrand refactoredSocketAddrV6::ip()to beconst(#2151)
The following APIs now take optional
dirfds:readlinkat()fstatat()mknodat()mkdirat()execveat()(#2157)
Epoll::waitnow takesEpollTimeoutreplacingisize.(#2202)
errno::errno()function (useErrno::last_raw())errno::from_i32()function (useErrno::from_raw())errno::Errno::from_i32()function (useErrno::from_raw())(#2283)
Fixed
SigSetincorrect implementation ofEq,PartialEqandHash(#1946)
::sys::socket::sockopt::IpMulticastTtlby fixing the value of optlenpassed to
libc::setsockoptand added tests.(#2072)
recvmmsg, potentially causing UB(#2119)
SignalFd::set_mask. In 0.27.0 it would actually close the filedescriptor. (#2141)
sun_lenvalue asneeded.
Fixed
sys::socket::addr::from_raw_partsandsys::socket::Sockaddrlike::lenbuild for solaris.(#2242)
(#2248)
dup3wrapper to perform a real call todup3instead ofemulating it via
dup2andfcntlto get rid of race condition(#2268)
::unistd::Group::membersusing read_unaligned to avoid crash onmisaligned pointers (#2311)
Removed
FchownatFlagstype has been deprecated, please useAtFlagsinstead.(#2267)
dup3wrapper on macOS, which was emulated viadup2andfcntland could cause a race condition. Thedup3system call is notsupported on macOS. (#2268)
LinkatFlagstype has been deprecated, please useAtFlagsinstead.(#2284)
v0.27.1Compare Source
Fixed
(#2111)
v0.27.0Compare Source
Added
AT_EACCESStoAtFlagson all platforms but android(#1995)
PF_ROUTEtoSockTypeon macOS, iOS, all of the BSDs, Fuchsia, Haiku, Illumos.(#1867)
nix::ucontextmodule onaarch64-unknown-linux-gnu.(#1662)
CanRawtoSockProtocolandCanBcmas a separateSocProtocolconstant.(#1912)
GenericandNFLOGtoSockProtocol.(#2092)
mq_timedreceiveto::nix::mqueue.([#1966])(https://github.com/nix-rust/nix/pull/1966)
LocalPeerPidtonix::sys::socket::sockoptfor macOS. (#1967)TFD_TIMER_CANCEL_ON_SETto::nix::sys::time::TimerSetTimeFlagson Linux and Android.(#2040)
SOF_TIMESTAMPING_OPT_IDandSOF_TIMESTAMPING_OPT_TSONLYtonix::sys::socket::TimestampingFlag.(#2048)
SO_SETFIBandSO_USER_COOKIEtonix::sys::socket::sockoptfor FreeBSD.(#2085)
SO_RTABLEfor OpenBSD andSO_ACCEPTFILTERfor FreeBSD/NetBSD tonix::sys::socket::sockopt.(#2085)
MSG_WAITFORONEtoMsgFlagson Android, Fuchsia, Linux, NetBSD,FreeBSD, OpenBSD, and Solaris.
(#2014)
SO_TS_CLOCKfor FreeBSD tonix::sys::socket::sockopt.(#2093)
(#1550)
nix::socketandnix::selectare now available on Redox.(#2012)
mqueue::MqdT.(#2097)
kevent_flagsonSigEvent.(#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:
(#1906)
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::OpenptyResultandpty::ForkptyResult,users no longer need to manually close the file descriptors in these types.
(#1921)
Refactored
nameparameter ofmq_openandmq_unlinkto be generic overNixPath.(#2102).
Made
cloneunsafe, likefork.(#1993)
Removed
sys::event::{kevent, kevent_ts}are deprecated in favor ofsys::kevent::Kqueue::kevent, andsys::event::kqueueis deprecated infavor of
sys::kevent::Kqueue::new.(#1943)
(#1855)
(#1861)
nix::sys::signalfd::signalfdis deprecated. Usenix::sys::signalfd::SignalFdinstead.(#1938)
SigEventsupport on Fuchsia, where it was unsound.(#2079)
flockfrom::nix::fcntlon Solaris.(#2082)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.