summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2018-06-01Set the 0.11 releaseBryant Mairs
2018-06-01[skip ci] Cleanup the CHANGELOGBryant Mairs
2018-06-01Remove emulation of FD_CLOEXEC/O_NONBLOCKBryant Mairs
Rather than using the native implementation of these constants on supported platforms, the native implementation was instead emulated. This was also hidden from the user even though this could result in data races and the functionality being broken. Native functionality is, however, not support on macos/ios. Rather than enable this emulation solely for this platform, it should be removed as this is a dangerous abstraction.
2018-05-28Implement sendfile on FreeBSD and DarwinAndrew Morrow
2018-05-06Merge #893bors[bot]
893: Remove IFF_NOTRAILERS for openbsd r=asomers a=kpcyrd nix currently doesn't compile on openbsd because `IFF_NOTRAILERS` isn't found. This PR fixes the openbsd build again (tested on 6.3). It seems it was changed in this commit: https://github.com/openbsd/src/commit/beb8b0dd5985e55a615b52e593da6e75bab33f3f Co-authored-by: kpcyrd <git@rxv.cc>
2018-05-02OpenBSD: remove IFF_NOTRAILERSkpcyrd
IFF_NOTRAILERS has been removed in OpenBSD 6.3 https://github.com/openbsd/src/commit/beb8b0dd5985e55a615b52e593da6e75bab33f3f
2018-05-01[skip ci] Update changelog for #869Antti Keränen
2018-04-29Merge #892bors[bot]
892: Fixed ptrace::Request cfg conditions r=asomers a=dalance The cfg condition of ptrace::Request seems to be different from libc. For example, PTRACE_GETREGS is defined by libc to i686-unknown-linux-gnu target, but it is not defined in ptrace::Request. I tried to change the cfg condition to the same as libc's condition. I thinks this change covers the definitions under src/unix/notbsd directory in libc repository. Co-authored-by: dalance <dalance@gmail.com>
2018-04-29Enabled more ptrace::Request definitions for uncommon Linux platformsdalance
2018-04-28select: add pselect syscallAndreas Fuchs
This is a straight port of @abbradar's work in #276, with two (somewhat weak) tests and a bit of documentation.
2018-04-18Support preadv/pwritev on BSDsAndrew Morrow
2018-04-11[skip ci] Update CHANGELOG for #833Bryant Mairs
2018-04-10Correct the third argument to ioctl on appropriate platforms.Bryant Mairs
While usually `ioctl()` passes a pointer, the function call has been overloaded to allow integers to be passed. For some platforms this is an `int` and on others it's a `ulong`. Fixes #824.
2018-04-10Implement equivalent for _IOWINT for FreeBSD-like targetsBryant Mairs
ioctls on FreeBSD and DragonflyBSD have a separate request code generation macro `_IOWINT` which is now exposed as `request_code_write_int`. `ioctl_write_int` is also fixed on these platforms to use this new request
2018-04-07Merge #872bors[bot]
872: Change sys::aio::lio_listio to sys::aio::LioCb::listio r=asomers a=asomers The new LioCb structure allows us to control the exact arguments passed to lio_listio, guaranteeing that each call gets a unique storage location for the list argument. This prevents clients from misusing lio_listio in a way that causes events to get dropped from a kqueue Fixes #870
2018-03-29Merge #876bors[bot]
876: add mlockall and munlockall r=asomers a=afck Closes #875
2018-03-27add mlockall and munlockallAndreas Fackler
2018-03-23Add fchmod, fchmodat functions.Anton Ageev
2018-03-22Replace AioCb::from_bytes with more generic from_boxed_sliceAlan Somers
Supporting the bytes crate was unnecessarily specific. This change replaces from_bytes and from_bytes_mut with from_boxed_slice and from_boxed_mut_slice, which can work with anything that implements Borrow<[u8]> and BorrowMut<[u8]>, respectively.
2018-03-22Change sys::aio::lio_listio to sys::aio::LioCb::listioAlan Somers
The new LioCb structure allows us to control the exact arguments passed to lio_listio, guaranteeing that each call gets a unique storage location for the list argument. This prevents clients from misusing lio_listio in a way that causes events to get dropped from a kqueue Fixes #870
2018-03-21add SO_MARK SetSockOpt for LinuxJake McGinty
2018-02-12Expose MSG_CMSG_CLOEXEC on *BSDGreg V
2018-02-12Add cfmakesane() on FreeBSDGreg V
2018-02-12Add missing kqueue event filters on FreeBSDGreg V
2018-02-11Merge pull request #859 from Susurrus/fix_changelogAlan Somers
Fix markdown in the CHANGELOG
2018-02-11[skip ci] Fix markdown in the CHANGELOGBryant Mairs
2018-02-08make statfs/statvfs to be available wherever they are availableIgor Gnatenko
libc reads sys/statvfs.h on all OS except Windows which nix doesn't care about. Closes: https://github.com/nix-rust/nix/issues/831 Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2018-02-08Update `InterfaceFlags`寧靜
Add Flags: `IFF_NO_PI`, `IFF_TUN`, `IFF_TAP`.
2018-02-07Merge #852bors[bot]
852: Add step function to ptrace r=Susurrus a=xd009642 Added step function to ptrace, this follows the same form as the PTRACE_CONTINUE by advanced the tracee by a single step! Found when I was updating to nix 0.10.0 that this function had been missed out. Minor addition as `SINGLESTEP` works the same as `CONTINUE`
2018-02-06Merge #851bors[bot]
851: Added `getsid` in `::nix::unistd` r=asomers a=ggriffiniii Resolves Issue #850
2018-02-03Merge #830bors[bot]
830: Add alarm r=asomers a=Thomasdezeeuw Fixed #828.
2018-02-02Add alarm moduleThomas de Zeeuw
This module has two functions; set: set an alarm, and cancel: cancels a previously set alarm.
2018-01-31Added example and updated changelog.xd009642
Added doc test for sys::ptrace::step and also updated the changelog.
2018-01-29Added `getsid` in `::nix::unistd`Glenn Griffin
2018-01-28Fix B460800 and B921600 baud rates for netbsdBryant Mairs
2018-01-28Replace sockaddr_ctl with one from libcBryant Mairs
Also alter Debug to output all fields.
2018-01-26Bump version to 0.11.0-preAlan Somers
2018-01-26Bump version to 0.10.0Alan Somers
2018-01-26Merge #843bors[bot]
843: Support arbitrary baud rates on BSDs r=asomers a=Susurrus Closes #842
2018-01-25Support arbitrary baud rates on BSDsBryant Mairs
2018-01-26Merge #835bors[bot]
835: Add socket options for IP_TRANSPARENT / BIND_ANY r=asomers a=justinlatimer Add socket options for implementing a transparent proxy. Sources: [Linux](https://www.kernel.org/doc/Documentation/networking/tproxy.txt) [OpenBSD](https://man.openbsd.org/setsockopt.2#SO_BINDANY) [FreeBSD](https://www.freebsd.org/cgi/man.cgi?query=ip&manpath=FreeBSD+11.1-RELEASE) Thanks!
2018-01-21Merge #820bors[bot]
820: Change AioCb to primarily use Bytes instead of Rc<[u8]> r=Susurrus a=asomers `Rc<[u8]>` isn't a very good buffer type to use for aio. For one thing, it lacks interior mutability. For another, a single `Rc<[u8]>` can't be carved up into smaller buffers of the same type. `Bytes` and `BytesMut` fix both problems. This PR removes the ability to construct an `AioCb` from `Rc<[u8]>` and adds the ability to construct one from `Bytes`, `BytesMut`, or raw pointers (for consumers who need even more flexibility). At this stage, the PR has the following warts: 1. A hack is necessary to force small `Bytes` buffers to allocate on the heap. I plan to fix this with an enhancement to the bytes crate. 2. The `AioCb::buffer` method is necessary due to a deficiency in the tokio-core crate. Once I fix that, then only `AioCb::into_buffer`will need to be public.
2018-01-15aio: use `Bytes` instead of `Rc<[u8]>`Alan Somers
It's not actually safe to read into an `Rc<[u8]>`. It only worked because of a coincidental `unsafe` block. Replace that type with `BytesMut` from the bytes crate. For consistency's sake, use `Bytes` for writing too, and completely remove methods relating to `Rc<[u8]>`. Note that the `AioCb` will actually own the `BytesMut` object. The caller must call `into_buffer` to get it back once the I/O is complete. Fixes #788
2018-01-15Add AioCb::from_ptr and AioCb::from_mut_ptrAlan Somers
2018-01-11Add socket options for IP_TRANSPARENT / BIND_ANYJustin Latimer
2018-01-11Remove return value from `pause`Thomas de Zeeuw
`pause` will always return `-1` as a result and sets `errno` to `EINTR`, which indicates that a signal was caught by the process. Since this is the point of `pause` return an error here makes little sense. Closes #827.
2018-01-11Merge #834bors[bot]
834: Expose mqueue functions for all supported OSes r=asomers a=asomers
2018-01-10Expose mqueue functions for all supported OSesAlan Somers
2018-01-08Impl LinkAddr(MAC Addr)luozijun
2018-01-06Add sigprocmaskThomas de Zeeuw