From a92be498517e316d6deaf42dbd51a3c9e28899ca Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 31 Jul 2023 11:13:27 -0700 Subject: [PATCH] Revert "Merge pull request #15317 from devnexen/darwin_rand_nativegen" This reverts commit a11113097730693fb915114cec79df9cb4adcc93, reversing changes made to 9f3f9fb40f605de2f2bdcd0ce7a396e06b8b8c0d. --- lib/std/c/darwin.zig | 28 ---------------------------- lib/std/os.zig | 15 ++------------- 2 files changed, 2 insertions(+), 41 deletions(-) diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig index 38cddef0fa..e2029391a9 100644 --- a/lib/std/c/darwin.zig +++ b/lib/std/c/darwin.zig @@ -895,35 +895,7 @@ pub extern "c" fn pthread_attr_get_qos_class_np(attr: *pthread_attr_t, qos_class pub extern "c" fn pthread_set_qos_class_self_np(qos_class: qos_class_t, relative_priority: c_int) c_int; pub extern "c" fn pthread_get_qos_class_np(pthread: std.c.pthread_t, qos_class: *qos_class_t, relative_priority: *c_int) c_int; -pub const CCryptorStatus = enum(i32) { - /// Operation completed - kCCSuccess = 0, - /// Illegal parameter - kCCParamError = -4300, - /// Provided buffer too small - kCCBufferTooSmall = -4301, - /// Failed memory allocation - kCCMemoryFailure = -4302, - /// Size alignment issue - kCCAlignmentError = -4303, - /// Decoding issue - kCCDecodeError = -4304, - /// Call not implemented - kCCUnimplemented = -4305, - kCCOverflow = -4306, - kCCRNGFailure = -4307, - /// Unspecified error - kCCUnspecifiedError = -4308, - kCCCallSequenceError = -4309, - kCCKeySizeError = -4310, - /// Invalid key - kCCInvalidKey = -4311, -}; - -pub const CCRNGStatus = CCryptorStatus; - pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void; -pub extern "c" fn CCRandomGenerateBytes(bytes: ?*anyopaque, count: usize) CCRNGStatus; // Grand Central Dispatch is exposed by libSystem. pub extern "c" fn dispatch_release(object: *anyopaque) void; diff --git a/lib/std/os.zig b/lib/std/os.zig index dbcff656d6..8696e47c7d 100644 --- a/lib/std/os.zig +++ b/lib/std/os.zig @@ -517,18 +517,7 @@ pub fn getrandom(buffer: []u8) GetRandomError!void { return; } switch (builtin.os.tag) { - .macos, .ios => { - const rc = darwin.CCRandomGenerateBytes(buffer.ptr, buffer.len); - if (rc != darwin.CCRNGStatus.kCCSuccess) { - if (rc == darwin.CCRNGStatus.kCCParamError or rc == darwin.CCRNGStatus.kCCBufferTooSmall) { - return error.InvalidHandle; - } else { - return error.SystemResources; - } - } - return; - }, - .netbsd, .openbsd, .tvos, .watchos => { + .netbsd, .openbsd, .macos, .ios, .tvos, .watchos => { system.arc4random_buf(buffer.ptr, buffer.len); return; }, @@ -1001,7 +990,7 @@ pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize { if (have_pread_but_not_preadv) { // We could loop here; but proper usage of `preadv` must handle partial reads anyway. // So we simply read into the first vector only. - if (iov.len == 0) return @as(usize, @intCast(0)); + if (iov.len == 0) return 0; const first = iov[0]; return pread(fd, first.iov_base[0..first.iov_len], offset); }