Update Rust crate nix to 0.30 #117
Open
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.28→0.30Release Notes
nix-rust/nix (nix)
v0.30.1Compare Source
Fixed
(#2634)
v0.30.0Compare Source
Added
IPV6_PKTINFOfor BSDs/Linux/Android, alsoIPV6_RECVPKTINFOfor DragonFlyBSD(#2113)
fcntl'sF_PREALLOCATEconstant for Apple targets.(#2393)
and support for DSCP (ToS / Traffic Class).
(#2425)
(nix::sys::socket::sockopt::Ipv6TClass) on Android/FreeBSD
(#2464)
SeekDataandSeekHoletoWhencefor hurd and apple targets(#2473)
Fromtrait implementation betweenSocketAddrandSockaddr,Sockaddr6(#2474)posix_spawnAPI(#2475)
(#2477)
F_RDADVISEfor Apple target(#2480)
F_RDAHEADfor Apple target(#2482)
F_LOG2PHYSandF_LOG2PHYS_EXTfor Apple target(#2483)
MAP_SHARED_VALIDATEwas added for all linux targets. &MAP_SYNCwas addedfor linux with the exclusion of mips architecures, and uclibc
(#2499)
getregs()/getregset()/setregset()for Linux/musl/aarch64(#2502)
F_TRANSFEREXTENTSconstant for Apple targets(#2504)
MapFlags::MAP_STACKinsys::manfor netbsd(#2526)
libc::LOCAL_PEERTOKENingetsockopt.(#2529)
syslog,openlog,closelogon allunix.(#2537)
TCP_FUNCTION_BLKsockopt, on FreeBSD.(#2539)
Into<OwnedFd>forPtyMaster/Fanotify/Inotify/SignalFd/TimerFd(#2548)
MremapFlags::MREMAP_DONTUNMAPtosys::mman::mremapfor linux target.(#2555)
sockopt_impl!to the public API. It's now possible for users todefine
their own sockopts without needing to make a PR to Nix.
(#2556)
TCP_FUNCTION_ALIASsockopt, on FreeBSD.(#2558)
sys::mman::MmapAdviseMADV_PAGEOUT,MADV_COLD,MADV_WIPEONFORK,MADV_KEEPONFORKfor Linux and Android targets(#2559)
Sctp, as well asMSG_NOTIFICATIONfor non-AndroidLinux targets. (#2562)
from_owned_fdconstructor toEventFd(#2563)
sys::mman::MmapAdviseMADV_POPULATE_READ,MADV_POPULATE_WRITEforLinux and Android targets
(#2565)
from_owned_fdconstructor toPtyMaster/Fanotify/Inotify/SignalFd/TimerFd(#2566)
FcntlArg::F_READAHEADfor FreeBSD target(#2569)
sockopt::LingerSecfor Apple targets(#2572)
sockopt::EsclBindfor solarish targets(#2573)
std::os::fd::AsRawFdtrait method fornix::sys::fanotify::Fanotifystruct(#2575)
setlogmaskon allunix.(#2579)
ioctl.(#2580)
sys::socket::SockProtocol::EthIp,sys::socket::SockProtocol::EthIpv6,sys::socket::SockProtocol::EthLoop(#2581)
(#2599)
setsockoptoption for apple targets(#2603)
FilAttachandFilDetachto socket::sockopt for Illumos(#2611)
PeerPidfd(SO_PEERPIDFD) tosocket::sockoptfor Linux(#2620)
socket::sockopt::AttachReusePortCbpffor Linux(#2621)
ptrace::syscall_infofor linux/glibc(#2627)
Changed
(#1936)
nameargument ofmemfd_create()from&CStrto<P: NixPath>(name: &P)(#2431)fcntl.rsanddir.rsnow use I/O-safe types.(#2434)
sys/statnow adopts I/O safety.(#2439)
(#2440)
(#2443)
IpToshas been renamed toIpv4Tos, the old symbol isdeprecated since 0.30.0 (#2465)
EventFlagtoEvFlags, andMemFdCreateFlagtoMFdFlags(#2476)
nix::sys::socket::UnknownCmsgpublic and more readable(#2520)
(#2524)
(#2582)
Fixed
(#2454)
(#2456)
nsargument ofsys::prctl::set_timerslack()should be of typec_ulong(#2505)OSStrings returned bygetsockopt.(#2557)
(#2587)
Removed
SigevNotifyis no longerPartialEq,EqandHashdue to the useof
BorrowedFd(#1936)EventFd::defuse()is removed because it does nothing,EventFd::arm()isalso removed for symmetry reasons.
(#2452)
Copytrait fromPollFd(#2631)
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)
[0.28.0] - 2024-02-24
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)
[0.27.1] - 2023-08-28
Fixed
(#2111)
[0.27.0] - 2023-08-28
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])(#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)
[0.26.3] - 2023-08-27
Fixed
ETH_P_ALLin htons format(#1925)
recvmsgnow sets the length of the receivedsockaddr_unfieldcorrectly on Linux platforms. (#2041)
SockaddrIn::from<std::net::SocketAddrV4>,SockaddrIn6::from<std::net::SockaddrV6>,IpMembershipRequest::new, andIpv6MembershipRequest::newwith future Rust versions.(#2061)
recvmsg.(#2095)
[0.26.2] - 2023-01-18
Fixed
SockaddrIn6bug that was swappingflowinfoandscope_idbyteordering.
(#1964)
[0.26.1] - 2022-11-29
Fixed
sys::socket::sockopt::SockTypeusingSOCK_PACKET.(#1821)
[0.26.0] - 2022-11-29
Added
SockaddrStorage::{as_unix_addr, as_unix_addr_mut}(#1871)
MntFlagsandunmounton all of the BSDs.any()andall()topoll::PollFd.(#1877)
MntFlagsandunmounton all of the BSDs.(#1849)
Statfs::flagsmethod.(#1849)
NSFS_MAGICFsType on Linux and Android.(#1829)
sched_getcpuon platforms that support it.(#1825)
sched_getaffinityandsched_setaffinityon FreeBSD.(#1804)
line_disciplinefield toTermioson Linux, Android and Haiku(#1805)
(#1808)
domainnamefield ofUtsNameon Android and Linux(#1817)
RLIM_INFINITYfromlibc(#1831)
syncfs(2)on Linux(#1833)
faccessat(2)on illumos(#1841)
eaccess()on FreeBSD, DragonFly and Linux (glibc and musl).(#1842)
IP_TOSSO_PRIORITYandIPV6_TCLASSsockopts for Linux(#1853)
new_unnamedandis_unnamedforUnixAddron Linux and Android.(#1857)
SockProtocol::Rawfor raw sockets(#1848)
IP_MTU(IpMtu)IPPROTO_IPsockopt on Linux and Android.(#1865)
Changed
(#1792)
addrargument ofsys::mman::mmapis now of typeOption<NonZeroUsize>.(#1870)
lengthargument ofsys::mman::mmapis now of typeNonZeroUsize.(#1873)
Fixed
SockaddrStorageto store a Unix-domain socket address on Linux.(#1871)
TimeSpec.(#1801)
User::from_nameandGroup::from_namepanickingwhen given a name containing a nul.
(#1815)
User::from_uidandUser::from_namecrash on Android platform.(#1824)
getifaddrsto misbehave.(#1788)
Removed
(#1860)
[0.25.0] - 2022-08-13
Added
faccessat(#1780)
memfdon Android.(#1773)
ETH_P_ALLtoSockProtocolenum(#1768)
SysconfVarvariants(#1761)
TimeSpecandTimeVal(#1760)
chflags.(#1758)
aio_writevandaio_readv.(#1713)
From<uid_t>forUidandFrom<gid_t>forGid(#1727)
From<SockaddrIn>forstd::net::SocketAddrV4andimpl
From<SockaddrIn6>forstd::net::SocketAddrV6.(#1711)
x86_64-unknown-haikutarget.(#1703)
ptrace::read_userandptrace::write_userfor Linux.(#1697)
getrusageand helper typesUsageWhoandUsage(#1747)
DontRouteSockOpt(#1752)
signal::SigSet::from_sigset_t_unchecked().(#1741)
Ipv4OrigDstAddrsockopt and control message.(#1772)
Ipv6OrigDstAddrsockopt and control message.(#1772)
Ipv4SendSrcAddrcontrol message.(#1776)
Changed
Reimplemented sendmmsg/recvmmsg to avoid allocations and with better API
(#1744)
Rewrote the aio module. The new module:
Boxan aio operation.priorityarguments toi32.aio_returntousize.(#1713)
nix::poll::ppoll:sigmaskparameter is now optional.(#1739)
Changed
gethostnameto return an ownedOsString.(#1745)
signal:SigSetis now marked asrepr(transparent).(#1741)
Removed
lio_listiooperations.It was too complicated, and didn't fit Nix's theme of zero-cost abstractions.
Instead, it can be reimplemented downstream.
(#1713)
[0.24.2] - 2022-07-17
Fixed
nix::sys::socket::recvfrom.(#1763)
SockaddrStorage::{as_link_addr, as_link_addr_mut}for Linux-likeoperating systems.
(#1729)
SockaddrLike::from_rawimplementations forVsockAddrandSysControlAddr.(#1736)
[0.24.1] - 2022-04-22
Fixed
UnixAddr::sizeon Linux-based OSes.(#1702)
[0.24.0] - 2022-04-21
Added
conditionally enabled. By default, all features are enabled.
(#1611)
target_os = "android"and synced constants with libc v0.2.121.
(#1690)
fexecveon DragonFly.(#1577)
sys::uio::IoVecis nowSendandSync(#1582)
EPOLLEXCLUSIVEon Android.(#1567)
fdatasyncfor FreeBSD, Fuchsia, NetBSD, and OpenBSD.(#1581)
sched_setaffinityandsched_getaffinityon DragonFly.(#1537)
posix_fallocateon DragonFly.(#1621)
SO_TIMESTAMPINGsupport(#1547)
MqAttrstruct(#1619)
TxTimesockopt and control message.(#1564)
(#1622)
sendfileon DragonFly.(#1615)
UMOUNT_NOFOLLOW,FUSE_SUPER_MAGICon Linux.(#1634)
getresuid,setresuid,getresgid, andsetresgidon DragonFly, FreeBSD, and OpenBSD.(#1628)
MAP_FIXED_NOREPLACEon Linux.(#1636)
fspacectlon FreeBSD(#1640)
accept4on DragonFly, Emscripten, Fuchsia, Illumos, and NetBSD.(#1654)
AsRawFdimplementation onOwningIter.(#1563)
process_vm_readvandprocess_vm_writevon Android.(#1557)
nix::ucontextmodule on s390x.(#1662)
Extend,FromIterator, andIntoIteratorforSigSetandadded
SigSet::iterandSigSetIter.(#1553)
ENOTRECOVERABLEandEOWNERDEADerror codes on DragonFly.(#1665)
ReadandWritefor&PtyMaster(#1664)
MSG_NOSIGNALfor Android, Dragonfly, FreeBSD, Fuchsia, Haiku, Illumos, Linux, NetBSD, OpenBSD and Solaris.(#1670)
waitid.(#1584)
Ipv6DontFragfor android, iOS, linux and macOS.IpDontFragfor iOS, macOS.(#1692)
Changed
mqueuefunctions now operate on a distinct type,nix::mqueue::MqdT.Accessors take this type by reference, not by value.
(#1639)
SigSet::extendin favor of<SigSet as Extend<Signal>>::extend.Because of this change, you now need
use std::iter::Extendto callextendon a
SigSet.(#1553)
PATH_MAXrestriction from APIs accepting paths. Pathswill now be allocated on the heap if they are too long. In addition, large
instruction count improvements (~30x) were made to path handling.
(#1656)
getrlimitandsetrlimitto userlim_tdirectlyinstead of
Option<rlim_t>.(#1668)
InetAddrandSockAddrin favor ofSockaddrIn,SockaddrIn6,and
SockaddrStorage.(#1684)
IpAddr,Ipv4Addr, andIpv6Addrin favor of their equivalentsfrom the standard library.
(#1685)
unamenow returns aResult<UtsName>instead of just aUtsNameandignoring failures from libc. And getters on the
UtsNamestruct now returnan
&OsStrinstead of&str.(#1672)
IoVecwithIoSliceandIoSliceMut, and replacedIoVec::from_slicewithIoSlice::new. (#1643)Fixed
InetAddr::from_stdnow sets thesin_len/sin6_lenfields on the BSDs.(#1642)
LinkAddr::addr. That function now returns anOption.(#1675)
(#1677)
Removed
NetlinkAddr,AlgAddr,SysControlAddr,LinkAddr, andVsockAddr.(#1614)
EventFlag::EV_SYSFLAG.(#1635)
[0.23.1] - 2021-12-16
Changed
#1492. From now on, the MSRV is not guaranteed to work with all versions of
all dependencies, just with some version of all dependencies.
(#1607)
Fixed
FdSet::insert,FdSet::remove, andFdSet::containsinvolving file descriptors outside of the range0..FD_SETSIZE.(#1575)
[0.23.0] - 2021-09-28
Added
LocalPeerCredsockopt.(#1482)
TimeSpec::from_durationandTimeSpec::from_timespec(#1465)
IPV6_V6ONLYsockopt.(#1470)
impl From<User> for libc::passwdtrait implementation to convert aUserinto a
libc::passwd. Consumes theUserstruct to give ownership overthe member pointers.
(#1471)
pthread_kill.(#1472)
mknodat.(#1473)
setrlimitandgetrlimit.(#1302)
ptrace::interruptmethod for platforms that supportPTRACE_INTERRUPT(#1422)
IP6T_SO_ORIGINAL_DSTsockopt.(#1490)
PTRACE_EVENT_STOPvariant to thesys::ptrace::Eventenum(#1335)
SockAddr::from_raw_sockaddr(#1447)
TcpRepair(#1503)
pwritevandpreadvfor more operating systems.(#1511)
TCP_MAXSEGTCP Maximum Segment Size socket options(#1292)
Ipv4RecvErrandIpv6RecvErrsockopts and associated control messages.(#1514)
AsRawFdimplementation onPollFd.(#1516)
Ipv4TtlandIpv6Ttlsockopts.(#1515)
MAP_EXCL,MAP_ALIGNED_SUPER, andMAP_CONCEALmmap flags, andexposed
MAP_ANONYMOUSfor all operating systems.(#1522)
(#1525)
(#1531)
(#1534)
PollFd.(#1517)
Changed
FdSet::{contains, highest, fds}no longer require a mutable reference.(#1464)
User::gecosand correspondinglibc::passwd::pw_gecosare supported on64-bit Android, change conditional compilation to include the field in
64-bit Android builds
(#1471)
eventfds are supported on Android, change conditional compilation toinclude
sys::eventfd::eventfdandsys::eventfd::EfdFlagsfor Androidbuilds.
(#1481)
Errno, are now marked as#[non_exhaustive].(#1474)
const.(#1476)
(#1492)
sys::event::KEvent::filternow returns aResultinstead of beinginfalliable. The only cases where it will now return an error are cases
where it previously would've had undefined behavior.
(#1484)
(#1492)
UnixAddrto encapsulate internals better in order to fix soundnessissues. No longer allows creating a
UnixAddrfrom a rawsockaddr_un.(#1496)
(#1492)
Fixed
posix_fadvisenow returns errors in the conventional way, rather than as anon-zero value in
Ok().(#1538)
Nix 0.21.0.
(#1467)
Signal::try_fromon some platforms.(#1484)
unistd::getgrouplist.(#1545)
Removed
supported.
(#1483)
nix::sys::signal::NSIG. It was of dubious utility, and not correctfor all platforms.
(#1484)
Rustc and Xcode.
(#1492)
SockAddr/InetAddr::to_strin favor ofToString::to_string(#1495)
SigevNotifyon OpenBSD and Redox.(#1511)
[0.22.3] - 22 January 2022
Changed
#1492. From now on, the MSRV is not guaranteed to work with all versions of
all dependencies, just with some version of all dependencies.
(#1607)
[0.22.2] - 28 September 2021
Fixed
unistd::getgrouplist.(#1545)
Nix 0.21.0.
(#1467)
[0.22.1] - 13 August 2021
Fixed
Removed
supported.
(#1483)
[0.22.0] - 9 July 2021
Added
if_nameindex(#1445)nmountfor FreeBSD.(#1453)
IpFreebindsocket option (sockopt) on Linux, Fuchsia and Android.(#1456)
TcpUserTimeoutsocket option (sockopt) on Linux and Fuchsia.(#1457)
renameat2for Linux(#1458)
RxqOvflsupport on Linux, Fuchsia and Android.(#1455)
Changed
ptsname_rnow returns a lossily-converted string in the event of bad UTF,just like
ptsname.(#1446)
means it is now
Into<std::io::Error>. It's alsoClone,Copy,Eq, andhas a small fixed size. It also requires less typing. For example, the old
enum variant
nix::Error::Sys(nix::errno::Errno::EINVAL)is now simplynix::Error::EINVAL.(#1446)
[0.21.2] - 29 September 2021
Fixed
unistd::getgrouplist.(#1545)
[0.21.1] - 13 August 2021
Fixed
Removed
supported.
(#1483)
[0.21.0] - 31 May 2021
Added
getresuidandgetresgid(#1430)
(#1402)
sendfile64(#1439)MS_LAZYTIMEtoMsFlags(#1437)
Changed
forkptyunsafe, likefork(#1390)
Uid,GidandPidmethodsfrom_rawandas_rawaconst fn(#1429)
Uid::is_rootaconst fn(#1429)
AioCbis now always pinned. Once alibc::aiocbgets sent to the kernel,its address in memory must not change. Nix now enforces that by using
std::pin. Most users won't need to change anything, except when usingaio_suspend. See that method's documentation for the new usage.(#1440)
LioCbis now constructed using a distinctLioCbBuilderstruct. Thisavoids a soundness issue with the old
LioCb. Usage is similar butconstruction now uses the builder pattern. See the documentation for
details.
(#1440)
(#1440)
Errno, instead of consts in theerrnomodule.(#1452)
Fixed
sockaddr_llsize, as reported by the Linux kernel, to be smaller then it's definition(#1395)
sendmmsgwith multiple cmsgs(#1414)
Errno::EOPNOTSUPPto FreeBSD, where it was missing.(#1452)
Removed
sys::socket::accept4from Android arm because libc removed it inversion 0.2.87.
(#1399)
AioCb::from_boxed_sliceandAioCb::from_boxed_mut_slicehave beenremoved. They were useful with earlier versions of Rust, but should no
longer be needed now that async/await are available.
AioCbs now workexclusively with borrowed buffers, not owned ones.
(#1440)
(#1452)
[0.20.2] - 28 September 2021
Fixed
unistd::getgrouplist.(#1545)
[0.20.1] - 13 August 2021
Fixed
Removed
supported.
(#1483)
[0.20.0] - 20 February 2021
Added
passwdfield toGroup(#1338)mremap(#1306)personality(#1331)getpeereid(#1342)IntoIteratorforDir(#1333).
Changed
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.