LiveBudsCli icon indicating copy to clipboard operation
LiveBudsCli copied to clipboard

fix(deps): update rust crate nix to 0.28.0

Open renovate[bot] opened this issue 1 year ago • 0 comments

Mend Renovate

This PR contains the following updates:

Package Type Update Change
nix dependencies minor 0.24.3 -> 0.28.0

Release Notes

nix-rust/nix (nix)

v0.28.0

Compare Source

Added
  • Added mkdtemp wrapper (#​1297)

  • Add associated constants UTIME_OMIT UTIME_NOW for TimeSpec (#​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 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 and IcmpV6 to SockProtocol (#​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 and mips64r6 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 and F_BARRIERFSYNC FcntlFlags entry on Apple for ::nix::fcntl. (#​2155)

  • Added newtype Flock to automatically unlock a held flock upon drop. Added Flockable trait to represent valid types for Flock. (#​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 the TsClock (a.k.a SO_TS_CLOCK) sockopt
    • Added FreeBSD's ScmRealtime and ScmMonotonic as new options in ::nix::sys::socket::ControlMessageOwned

    (#​2187)

  • Added new fanotify API: wrappers for fanotify_init and fanotify_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 and ControlMessageOwned::Ipv4RecvDstAddr for DragonFlyBSD (#​2240)

  • ClockId::set_time() and time::clock_settime() are now enabled on macOS (#​2241)

  • Added IpBindAddressNoPort sockopt to support IP_BIND_ADDRESS_NO_PORT available on linux. (#​2244)

  • Enable MapFlags::map_hugetlb_with_size_log2 method for Android/Fuchsia (#​2245)

  • Added TcpFastOpenConnect sockopt to support TCP_FASTOPEN_CONNECT available on linux. (#​2247)

  • Add reboot(2) for OpenBSD/NetBSD (#​2251)

  • Added new MemFdCreateFlag constants to sys::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 in sys::mman for netbsd and openbsd (#​2260)

  • Added the SO_LISTENQLIMIT sockopt. (#​2263)

  • Enable the AT_EMPTY_PATH flag for the fchownat() 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 the listen call. (#​2276)

  • Add clock_nanosleep() (#​2277)

  • Enabled O_DIRECT in fcntl::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)

  • Enable the AT_EMPTY_PATH flag for the linkat() function (#​2284)

  • Enable unistd::{sync, syncfs} for Android (#​2296)

Changed
  • poll now takes PollTimeout replacing libc::c_int. (#​1876)

  • Deprecated sys::eventfd::eventfd. (#​1945)

  • mmap, mmap_anonymous, munmap, mremap, madvise, msync, mprotect, munlock and mlock updated to use NonNull. (#​2000)

  • mmap function now accepts F instead of Option<F> (#​2127)

  • PollFd::new now takes a BorrowedFd argument, with relaxed lifetime requirements relative to the previous version. (#​2134)

  • FdSet::{insert, remove, contains} now take BorrowedFd arguments, and have relaxed lifetime requirements relative to 0.27.1. (#​2136)

  • The following APIs now take an implementation of AsFd rather than a RawFd:

    • unistd::tcgetpgrp
    • unistd::tcsetpgrp
    • unistd::fpathconf
    • unistd::ttyname
    • unistd::getpeereid (#​2137)
  • Changed openat() and Dir::openat(), now take optional dirfds (#​2139)

  • The MSRV is now 1.69 (#​2144)

  • Changed function SockaddrIn::ip() to return net::Ipv4Addr and refactored SocketAddrV6::ip() to be const (#​2151)

  • The following APIs now take optional dirfds:

    • readlinkat()
    • fstatat()
    • mknodat()
    • mkdirat()
    • execveat()

    (#​2157)

  • Epoll::wait now takes EpollTimeout replacing isize. (#​2202)

    • Deprecated errno::errno() function (use Errno::last_raw())
    • Deprecated errno::from_i32() function (use Errno::from_raw())
    • Deprecated errno::Errno::from_i32() function (use Errno::from_raw())

    (#​2283)

Fixed
  • Fix SigSet incorrect implementation of Eq, PartialEq and Hash (#​1946)
  • Fixed ::sys::socket::sockopt::IpMulticastTtl by fixing the value of optlen passed to libc::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. Fixed sys::socket::addr::from_raw_parts and sys::socket::Sockaddrlike::len build for solaris. (#​2242)
  • Fixed solaris build globally. (#​2248)
  • Changed the dup3 wrapper to perform a real call to dup3 instead of emulating it via dup2 and fcntl 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 use AtFlags instead. (#​2267)
  • Removed the dup3 wrapper on macOS, which was emulated via dup2 and fcntl and could cause a race condition. The dup3 system call is not supported on macOS. (#​2268)
  • The LinkatFlags type has been deprecated, please use AtFlags instead. (#​2284)

v0.27.1

Compare Source

Fixed
  • Fixed generating the documentation on docs.rs. (#​2111)

v0.27.0

Compare Source

Added
  • Added AT_EACCESS to AtFlags on all platforms but android (#​1995)
  • Add PF_ROUTE to SockType on macOS, iOS, all of the BSDs, Fuchsia, Haiku, Illumos. (#​1867)
  • Added nix::ucontext module on aarch64-unknown-linux-gnu. (#1662)
  • Added CanRaw to SockProtocol and CanBcm as a separate SocProtocol constant. (#​1912)
  • Added Generic and NFLOG to SockProtocol. (#​2092)
  • Added mq_timedreceive to ::nix::mqueue. ([#​1966])(https://github.com/nix-rust/nix/pull/1966)
  • Added LocalPeerPid to nix::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 and SOF_TIMESTAMPING_OPT_TSONLY to nix::sys::socket::TimestampingFlag. (#​2048)
  • Enabled socket timestamping options on Android. (#​2077)
  • Added vsock support for macOS (#​2056)
  • Added SO_SETFIB and SO_USER_COOKIE to nix::sys::socket::sockopt for FreeBSD. (#​2085)
  • Added SO_RTABLE for OpenBSD and SO_ACCEPTFILTER for FreeBSD/NetBSD to nix::sys::socket::sockopt. (#​2085)
  • Added MSG_WAITFORONE to MsgFlags on Android, Fuchsia, Linux, NetBSD, FreeBSD, OpenBSD, and Solaris. (#​2014)
  • Added SO_TS_CLOCK for FreeBSD to nix::sys::socket::sockopt. (#​2093)
  • Added support for prctl in Linux. (#1550)
  • nix::socket and nix::select are now available on Redox. (#​2012)
  • Implemented AsFd, AsRawFd, FromRawFd, and IntoRawFd for mqueue::MqdT. (#​2097)
  • Add the ability to set kevent_flags on SigEvent. (#​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
    (#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::OpenptyResult and pty::ForkptyResult, users no longer need to manually close the file descriptors in these types. (#​1921)
  • Refactored name parameter of mq_open and mq_unlink to be generic over NixPath. (#​2102).
  • Made clone unsafe, like fork. (#​1993)
Removed
  • sys::event::{kevent, kevent_ts} are deprecated in favor of sys::kevent::Kqueue::kevent, and sys::event::kqueue is deprecated in favor of sys::kevent::Kqueue::new. (#​1943)
  • Removed deprecated IoVec API. (#​1855)
  • Removed deprecated net APIs. (#​1861)
  • nix::sys::signalfd::signalfd is deprecated. Use nix::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

Compare Source

v0.26.3

Compare Source

Fixed
  • Fix: send ETH_P_ALL in htons format (#​1925)
  • Fix: recvmsg now sets the length of the received sockaddr_un field correctly on Linux platforms. (#​2041)
  • Fix potentially invalid conversions in SockaddrIn::from<std::net::SocketAddrV4>, SockaddrIn6::from<std::net::SockaddrV6>, IpMembershipRequest::new, and Ipv6MembershipRequest::new with future Rust versions. (#​2061)
  • Fixed an incorrect lifetime returned from recvmsg. (#​2095)

v0.26.2

Compare Source

Fixed
  • Fix SockaddrIn6 bug that was swapping flowinfo and scope_id byte ordering. (#​1964)

v0.26.1

Compare Source

Fixed
  • Fix UB with sys::socket::sockopt::SockType using SOCK_PACKET. (#​1821)

v0.26.0

Compare Source

Added
  • Added SockaddrStorage::{as_unix_addr, as_unix_addr_mut} (#​1871)
  • Added MntFlags and unmount on all of the BSDs.
  • Added any() and all() to poll::PollFd. (#​1877)
  • Add MntFlags and unmount on all of the BSDs. (#​1849)
  • Added a Statfs::flags method. (#​1849)
  • Added NSFS_MAGIC FsType on Linux and Android. (#​1829)
  • Added sched_getcpu on platforms that support it. (#​1825)
  • Added sched_getaffinity and sched_setaffinity on FreeBSD. (#​1804)
  • Added line_discipline field to Termios on Linux, Android and Haiku (#​1805)
  • Expose the memfd module on FreeBSD (memfd was added in FreeBSD 13) (#​1808)
  • Added domainname field of UtsName on Android and Linux (#​1817)
  • Re-export RLIM_INFINITY from libc (#​1831)
  • Added syncfs(2) on Linux (#​1833)
  • Added faccessat(2) on illumos (#​1841)
  • Added eaccess() on FreeBSD, DragonFly and Linux (glibc and musl). (#​1842)
  • Added IP_TOS SO_PRIORITY and IPV6_TCLASS sockopts for Linux (#​1853)
  • Added new_unnamed and is_unnamed for UnixAddr on Linux and Android. (#​1857)
  • Added SockProtocol::Raw for raw sockets (#​1848)
  • added IP_MTU (IpMtu) IPPROTO_IP sockopt on Linux and Android. (#​1865)
Changed
  • The MSRV is now 1.56.1 (#​1792)
  • The addr argument of sys::mman::mmap is now of type Option<NonZeroUsize>. (#​1870)
  • The length argument of sys::mman::mmap is now of type NonZeroUsize. (#​1873)
Fixed
  • Fixed using SockaddrStorage to store a Unix-domain socket address on Linux. (#​1871)
  • Fix microsecond calculation for TimeSpec. (#​1801)
  • Fix User::from_name and Group::from_name panicking when given a name containing a nul. (#​1815)
  • Fix User::from_uid and User::from_name crash on Android platform. (#​1824)
  • Workaround XNU bug causing netmasks returned by getifaddrs to misbehave. (#​1788)
Removed
  • Removed deprecated error constants and conversions. (#​1860)

v0.25.1

Compare Source

v0.25.0

Compare Source

Added
  • Added faccessat (#​1780)
  • Added memfd on Android. (#1773)
  • Added ETH_P_ALL to SockProtocol enum (#1768)
  • Added four non-standard Linux SysconfVar variants (#1761)
  • Added const constructors for TimeSpec and TimeVal (#1760)
  • Added chflags. (#1758)
  • Added aio_writev and aio_readv. (#1713)
  • impl From<uid_t> for Uid and From<gid_t> for Gid (#1727)
  • impl From<SockaddrIn> for std::net::SocketAddrV4 and impl From<SockaddrIn6> for std::net::SocketAddrV6. (#1711)
  • Added support for the x86_64-unknown-haiku target. (#1703)
  • Added ptrace::read_user and ptrace::write_user for Linux. (#1697)
  • Added getrusage and helper types UsageWho and Usage (#1747)
  • Added the DontRoute SockOpt (#1752)
  • Added signal::SigSet::from_sigset_t_unchecked(). (#1741)
  • Added the Ipv4OrigDstAddr sockopt and control message. (#1772)
  • Added the Ipv6OrigDstAddr sockopt and control message. (#1772)
  • Added the Ipv4SendSrcAddr control message. (#1776)
Changed
  • Reimplemented sendmmsg/recvmmsg to avoid allocations and with better API (#1744)

  • Rewrote the aio module. The new module:

    • Does more type checking at compile time rather than runtime.
    • Gives the caller control over whether and when to Box an aio operation.
    • Changes the type of the priority arguments to i32.
    • Changes the return type of aio_return to usize. (#1713)
  • nix::poll::ppoll: sigmask parameter is now optional. (#1739)

  • Changed gethostname to return an owned OsString. (#1745)

  • signal:SigSet is now marked as repr(transparent). (#1741)

Removed
  • Removed support for resubmitting partially complete lio_listio operations. It was too complicated, and didn't fit Nix's theme of zero-cost abstractions. Instead, it can be reimplemented downstream. (#1713)

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.


  • [ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

renovate[bot] avatar Jul 17 '22 15:07 renovate[bot]