cotton icon indicating copy to clipboard operation
cotton copied to clipboard

fix(deps): update rust crate nix to 0.29.0

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

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

Compare Source

Added
  • Add getregset()/setregset() for Linux/glibc/x86/x86_64/aarch64/riscv64 and getregs()/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 between sockaddr_in and SockaddrIn, sockaddr_in6 and SockaddrIn6 (#​2328)
  • Add socket option ReusePortLb for FreeBSD. (#​2332)
  • Added support for openat2 on linux. (#​2339)
  • Add if_indextoname function. (#​2340)
  • Add mount and unmount API for apple targets. (#​2347)
  • Added _PC_MIN_HOLE_SIZE for pathconf and fpathconf. (#​2349)
  • Added impl AsFd for pty::PtyMaster (#​2355)
  • Add open flag O_SEARCH to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI (#​2374)
  • Add prctl function prctl_set_vma_anon_name for Linux/Android. (#​2378)
  • Add sync(2) for apple_targets/solarish/haiku/aix/hurd, syncfs(2) for hurd and fdatasync(2) for aix/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 flag O_SEARCH to apple_targets (#​2391)
  • O_DSYNC may now be used with aio_fsync and fcntl on FreeBSD. (#​2404)
  • Added Flock::relock for upgrading and downgrading locks. (#​2407)
Changed
  • Change the ForkptyResult type to the following repr so that the uninitialized master 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 and ptrace::write_user to make them safe (#​2324)

  • Allow use of SignalFd through shared reference

    Like 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 an AsFd instead. (#​2401)

  • RecvMsg::cmsgs() now returns a Result, 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

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)

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.

renovate[bot] avatar Aug 28 '23 00:08 renovate[bot]