mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-23 01:41:59 -05:00
Lagom: Adjust AK, LibCore and LibTLS to build on MacOS
This commit is contained in:
parent
4e8de753c9
commit
9a4ee9aa1a
3 changed files with 19 additions and 3 deletions
|
@ -37,13 +37,17 @@
|
|||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(__APPLE__)
|
||||
# include <sys/random.h>
|
||||
#endif
|
||||
|
||||
namespace AK {
|
||||
|
||||
inline void fill_with_random(void* buffer, size_t length)
|
||||
{
|
||||
#if defined(__serenity__)
|
||||
arc4random_buf(buffer, length);
|
||||
#elif defined(__linux__)
|
||||
#elif defined(__linux__) or defined(__APPLE__)
|
||||
int rc = getentropy(buffer, length);
|
||||
(void)rc;
|
||||
#endif
|
||||
|
|
|
@ -31,8 +31,9 @@
|
|||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifndef SOCK_NONBLOCK
|
||||
#include <sys/ioctl.h>
|
||||
# include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
namespace Core {
|
||||
|
@ -111,12 +112,13 @@ bool LocalServer::listen(const String& address)
|
|||
fcntl(m_fd, F_SETFD, FD_CLOEXEC);
|
||||
#endif
|
||||
ASSERT(m_fd >= 0);
|
||||
|
||||
#ifndef __APPLE__
|
||||
rc = fchmod(m_fd, 0600);
|
||||
if (rc < 0) {
|
||||
perror("fchmod");
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
#endif
|
||||
|
||||
auto socket_address = SocketAddress::local(address);
|
||||
auto un = socket_address.to_sockaddr_un();
|
||||
|
|
|
@ -30,6 +30,10 @@
|
|||
#include <LibCrypto/PK/Code/EMSA_PSS.h>
|
||||
#include <LibTLS/TLSv12.h>
|
||||
|
||||
#ifndef SOCK_NONBLOCK
|
||||
# include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
//#define TLS_DEBUG
|
||||
|
||||
namespace {
|
||||
|
@ -701,7 +705,13 @@ TLSv12::TLSv12(Core::Object* parent, Version version)
|
|||
m_context.version = version;
|
||||
m_context.is_server = false;
|
||||
m_context.tls_buffer = ByteBuffer::create_uninitialized(0);
|
||||
#ifdef SOCK_NONBLOCK
|
||||
int fd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
|
||||
#else
|
||||
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
int option = 1;
|
||||
ioctl(fd, FIONBIO, &option);
|
||||
#endif
|
||||
if (fd < 0) {
|
||||
set_error(errno);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue