Reyk Floeter
3d6bd87b24
unix: Fix feature(unix_socket_ancillary_data) on macos and other BSDs
...
This adds support for CMSG handling on macOS and fixes it on OpenBSD
and other BSDs.
When traversing the CMSG list, the previous code had an exception for
Android where the next element after the last pointer could point to
the first pointer instead of NULL. This is actually not specific to
Android: the `libc::CMSG_NXTHDR` implementation for Linux and
emscripten have a special case to return NULL when the length of the
previous element is zero; most other implementations simply return the
previous element plus a zero offset in this case.
This MR additionally adds `SocketAncillary::is_empty` because clippy
is right that it should be added.
2021-03-26 21:12:22 +01:00
LinkTed
9e4e739209
unix: Non-mutable bufs in send_vectored_with_ancillary_to
...
Change the arguments of `send_vectored_with_ancillary` and
`send_vectored_with_ancillary_to` to take an non-mutable bufs.
2021-02-28 13:33:09 +01:00
Ondrej Perutka
ec078155f1
Fix failing build of std on armv5te-unknown-linux-uclibceabi due to missing cmsg_len_zero
2020-12-16 20:34:21 +01:00
LinkTed
8983752c12
Add comment for the previous android bug fix
2020-11-26 18:54:13 +01:00
LinkTed
9b9dd4aeea
Bug fix for android platform, because of the wrong behavior of CMSG_NXTHDR
2020-11-24 22:15:04 +01:00
LinkTed
79273fa30c
Fix cannot find type ucred for MacOs by using fake definitions
2020-10-17 19:36:11 +02:00
LinkTed
7b596f2e13
Fix libc is ambiguous for Windows
2020-10-10 15:19:13 +02:00
LinkTed
fc65f6a0ce
Fix import errors for #[cfg(doc)] target
2020-10-10 15:19:13 +02:00
LinkTed
a81764731c
Add fake definitions for Windows
2020-10-10 15:19:13 +02:00
LinkTed
1ae54e560a
Change imports for cfg(doc)
2020-10-10 15:19:13 +02:00
LinkTed
6b0c3dfe00
Remove unnecessary trailing semicolon
2020-10-10 15:19:13 +02:00
LinkTed
ce167f8be7
Fix type mismatching for different OSes.
2020-10-10 15:19:13 +02:00
LinkTed
889c9272cb
Remove SocketCred for emscripten
2020-10-10 15:19:13 +02:00
LinkTed
c2a1b50140
Add conditional compilation for import
2020-10-10 15:19:13 +02:00
LinkTed
db902bca3a
Add the code of the tracking issue
2020-10-10 15:19:12 +02:00
LinkTed
d0b133cdc6
Remove unsupported target_os for SocketCred
2020-10-10 15:19:12 +02:00
LinkTed
5964d599ac
Change standard types to libc types
2020-10-10 15:19:12 +02:00
LinkTed
1902711f38
Change name of struct to SocketCred
2020-10-10 15:19:12 +02:00
LinkTed
eeea5c23b4
Change API to unsafe and add doc comments
2020-10-10 15:19:12 +02:00
LinkTed
a91fd7328c
Add doc comments
2020-10-10 15:19:12 +02:00
LinkTed
46764d48bb
Add doc(cfg(...))
2020-10-10 15:19:12 +02:00
LinkTed
53791b3ff4
Move conditional compilation to the upper module and sort the target OS list alphabetically
2020-10-10 15:19:12 +02:00
LinkTed
07ed6afc6d
Remove unnecessary path
2020-10-10 15:19:12 +02:00
LinkTed
6ed9bface6
Use fill instead of memset
2020-10-10 15:19:12 +02:00
LinkTed
4c929a00ee
Remove lifetime annotation in messages function
2020-10-10 15:19:12 +02:00
LinkTed
b82f29d780
Remove Clone trait bound in add_to_ancillary_data
2020-10-10 15:19:11 +02:00
LinkTed
3dfab6fb64
Add integer overflow check
2020-10-10 15:19:11 +02:00
LinkTed
e1084052a7
Replace TryFrom of AncillaryData with a private method.
2020-10-10 15:19:11 +02:00
LinkTed
8784ffbb4e
Using read_unaligned instead of memcpy.
2020-10-10 15:19:11 +02:00
LinkTed
8783b06bd2
Move add_to_ancillary_data and AncillaryDataIter to ancillary.rs
2020-10-10 15:19:11 +02:00
LinkTed
e6984eee6f
Add UCred struct
2020-10-10 15:19:11 +02:00
LinkTed
6f82ddf18e
Add AncillaryError
2020-10-10 15:19:11 +02:00
LinkTed
6fa7c3f79e
Split net.rs into multiple files
2020-10-10 15:19:11 +02:00