Joe Richey
8d8a882eb6
Move Web Tests to Ubuntu 22.04
...
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 17:12:14 -08:00
Joe Richey
a2b48866b9
Reenable cross build/link tests and update cross
...
My not caching the build results, we should hopefuly prevent the linking
errors we were seeing before.
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 17:02:53 -08:00
Joseph Richey
8e46d0c055
Merge pull request #335 from rust-random/rdrand
...
rdrand: Remove checking for 0 and !0 and instead check CPU family and do a self-test
2023-02-08 16:24:46 -08:00
Joe Richey
5f7aadf0ea
Make rdrand_exact #[target_feature(enable = "rdrand")]
...
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 14:42:06 -08:00
Joe Richey
6a3fac8a01
Remove comment implying this code only runs on SGX
...
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 14:42:06 -08:00
Joe Richey
f39423084c
Use !0 instead of usize::MAX
...
We could use core::usize::MAX, but that is deprecated.
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 14:42:06 -08:00
Joe Richey
82c3cb8901
rdrand: Add CPUID feature detection and self-test
...
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 14:42:06 -08:00
Joe Richey
c4f7f45351
rdrand: Remove check for 0 and !0 values
...
Also makes rdrand() return an integer instead of an array of bytes. This
will make the self-test implementation easier. As we can just return a
`usize` we no longer need the `WORD_SIZE` constant.
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 14:42:06 -08:00
Joe Richey
a56faa8ca5
Use correct flag name
...
The flag name is +rdrand not +rdrnd
Signed-off-by: Joe Richey <joerichey@google.com >
2023-02-08 14:42:06 -08:00
Artyom Pavlov
9ceb7e56ec
Eliminate potential panic in sys_fill_exact ( #334 )
2023-01-27 15:30:37 -08:00
Joseph Richey
6536b9e60c
Remove #cfg from bsd_arandom.rs ( #332 )
...
Followup to #331 , we don't need the condidtional compilation anymore,
because this file is only used if
`any(target_os = "freebsd", target_os = "netbsd")` anyway.
Also cleans up `use` statements and type declarations to look like those
in macos.rs
Signed-off-by: Joe Richey <joerichey@google.com >
2023-01-26 12:13:27 -08:00
Tobias Klauser
6e3bbdebaa
Add support for getrandom syscall on NetBSD ≥ 10.0 ( #331 )
...
NetBSD supports the getrandom system call since version 10.0 [1].
Use it if available, otherwise fall back to kern.arandom like on FreeBSD.
[1] https://man.netbsd.org/getrandom.2
2023-01-25 17:10:56 +00:00
Khem Raj
7f73e3ccc1
Use open instead of open64 ( #326 )
...
glibc is providing open64 and other lfs64 functions but musl aliases
them to normal equivalents since off_t is always 64-bit on musl,
therefore check for target env along when target OS is linux before
using open64, this is more available. Latest Musl has made these
namespace changes [1]
There is no need for using LFS64 open explicitly as we are only using it
for opening device files and not real files
[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
Signed-off-by: Khem Raj <raj.khem@gmail.com >
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2023-01-06 08:43:34 +00:00
Artyom Pavlov
698a6d1a06
Disable cross build/link tests ( #328 )
2023-01-04 00:44:52 -08:00
Kian-Meng Ang
ea5ef25714
Fix typos ( #327 )
2023-01-04 06:58:29 +00:00
Qiu Chaofan
e0e406df8a
Support random file of AIX ( #282 )
2022-12-30 10:44:40 +00:00
Joseph Richey
beb65e241e
Merge pull request #325 from flba-eb/add_qnx_nto_support
...
Add QNX/nto support
2022-12-23 23:49:19 -08:00
Florian Bartels
993505c17f
Enable tests for QNX/Neutrino, integrate new libc version
2022-12-23 07:50:53 +01:00
Florian Bartels
52c2780646
Add QNX/nto support
2022-11-15 08:43:26 +01:00
Joseph Richey
759a9d743c
Merge pull request #324 from rust-random/ci
...
Improve CI and update runners
2022-10-31 13:28:04 -07:00
Joe Richey
f096c04523
Update all runners to macOS 12
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
2e66e5921f
Programaticly select iOS simulator Runtime/Device
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
62e697f9ca
Run web tests on 20.04
...
This is necessary to get Firefox to work.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
b04bd03e14
Explicitly use windows-2022
...
Currently this is the same as `windows-latest` so this is not a
functional change.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
9d4a91f9a1
Remove workaround not needed on Ubuntu 22.04
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
941c2fff69
Update tests to run on Ubuntu 22.04 (instead of 20.04)
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
5ddec2a8f4
Check OS using runner.os instead of matrix.os
...
This makes it easier to later update the OS verions
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:09:06 -07:00
Joe Richey
8e4ecdb72f
Use "host" instead of "target" in Web Tests
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-31 00:08:59 -07:00
Joseph Richey
5a4a8eafe5
Fix iOS simulator CI ( #323 )
...
The upgrade to macOS 12 broke this iOS simulator CI (as support for the
iPhone 7 was dropped I think).
We should have a follow up PR to see if we can just test against a more
recent iPhone.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-30 20:31:26 -07:00
Jared Ramon Elizan
8b36b3e634
README.md ( #322 )
...
fixed typo
2022-10-30 17:13:52 -07:00
Joseph Richey
c93c2603f0
Merge pull request #321 from rust-random/webtest
...
CI: Add Web Tests for Edge on Windows
2022-10-26 01:23:35 -07:00
Joe Richey
c3d9797a0b
Just Pin Versions for compiled downloads
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-25 23:44:36 -07:00
Joe Richey
03f6688195
Cleanup other binary download steps
...
Be consistent and always use wget
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-25 23:31:56 -07:00
Joe Richey
f84a061151
Add additional Web Tests
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-25 23:05:32 -07:00
Joseph Richey
8e44d13ebf
Merge pull request #317 from thomcc/tvos-watchos
...
Add tvOS and watchOS support, identical to iOS support
2022-10-25 02:50:29 -07:00
Thom Chiovoloni
e32ea822c3
Add tvOS and watchOS to CI
2022-10-24 23:24:56 -07:00
Thom Chiovoloni
e6ed8e1a55
Add tvOS and watchOS support, identical to iOS support
2022-10-24 18:21:50 -07:00
Joseph Richey
2aabb63d2c
Merge pull request #316 from rust-random/ci
...
CI: Run iOS targets and other improvements
2022-10-24 12:22:23 -07:00
Joe Richey
4917673cd2
Break up Tier 3 builds
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-24 01:56:17 -07:00
Joe Richey
b35add2bb7
Uptade to Swatinem/rust-cache@v2
...
Also move the cache step to be right before we start running cargo
commands.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-24 01:56:17 -07:00
Joe Richey
a91ad48d8c
Update to actions/checkout@v3
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-24 01:56:17 -07:00
Joe Richey
b1da11b850
Run iOS Simulator Tests
...
This builds, links, and runs the tests on `x86_64-apple-ios` using
[`dinghy`](https://github.com/sonos/dinghy ). It moves the targets
which only Build/Link to their own job.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-24 01:56:10 -07:00
Joe Richey
14b461fa39
Make job names consistent
...
This makes it easier to tell on which targets we:
- Build
- Link
- Run
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-24 01:50:03 -07:00
Joe Richey
762c95dd7a
Move from actions-rs/toolchain to dtolnay/rust-toolchain
...
The current action we are using is unmantained:
https://github.com/actions-rs/toolchain/issues/216
This replacement is faster, smaller, and more cachable.
We can also completely remove the toolchain step when testing with
cross, as cross handles configuration of its own toolchain.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-23 21:32:21 -07:00
Joseph Richey
52a4c3cbad
Remove buffer zeroing from Node.js implementation ( #315 )
...
We can use
[`Uint8Array::view_mut_raw`](https://rustwasm.github.io/wasm-bindgen/api/js_sys/struct.Uint8Array.html#method.view_mut_raw )
which was
[added](https://github.com/rustwasm/wasm-bindgen/pull/1850 ) in version
`0.2.54` of `wasm-bindgen`. This method was introduced to deal with
uninitialized memory, see the Safety comment for more info.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-23 16:22:28 -07:00
Joseph Richey
710b24dd27
Use getentropy on Emscripten ( #307 )
...
Signed-off-by: Joe Richey <joerichey@google.com >
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-23 15:09:31 -07:00
Joseph Richey
68b4d7a8fc
Merge pull request #303 from rust-random/wasm64
...
Add wasm64-unknown-unknown support
2022-10-23 14:57:21 -07:00
Joe Richey
3fa761b949
Add chunking for Node.js implementation
...
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-23 13:47:00 -07:00
Joe Richey
1d371ef5e2
Add wasm64-unknown-unknown support
...
We can build and link just fine, but we cannot actually run the tests as
`wasm-bindgen-test-runner` hasn't yet added support.
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-23 13:47:00 -07:00
Joseph Richey
f2d76625d5
Solaris: consistantly use /dev/random source ( #310 )
...
On Solaris, we opt to use /dev/random source instead of /dev/urandom due
to reasons explained in the comments and
[in this Solaris blog post](https://blogs.oracle.com/solaris/post/solaris-new-system-calls-getentropy2-and-getrandom2 ).
However, we haven't been making the same choice when getting randomness
via the `getrandom(2)` function, as we just pass `0` for the flags. We
[used to](https://github.com/rust-random/rand/pull/730/files#diff-694d4302a3ff2a976f2fbd34bc05ada22ee61a4e21d2d985beab27f7a809268fR151 )
always set `GRND_RANDOM`, but that was removed in the move from `OsRng`
to this crate.
For context, https://github.com/rust-random/rand/pull/730 ,
https://github.com/rust-random/getrandom/pull/9 , and
https://github.com/rust-random/getrandom/pull/51 are the major changes
to the Solaris/Illumos implementation over the years.
See the solaris documentation for:
- [`getrandom(2)`](https://docs.oracle.com/cd/E88353_01/html/E37841/getrandom-2.html )
- [`urandom(4)`](https://docs.oracle.com/cd/E88353_01/html/E37851/urandom-4d.html )
I also updated the doucmentation to better reflect when
[Illumos added the `getrandom(2)` function](https://www.illumos.org/issues/9971#change-23483 ).
Signed-off-by: Joe Richey <joerichey@google.com >
2022-10-23 13:46:01 -07:00