mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 20:58:22 +00:00
raw sockets: make creating them a privileged operation
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include <kernel/syscalls.h>
|
||||
#include <kernel/abi.h>
|
||||
#include <kernel/auth.h>
|
||||
#include <kernel/sock.h>
|
||||
#include <errno.h>
|
||||
|
||||
@@ -48,6 +49,12 @@ syscallret_t syscall_socket(context_t *, int domain, int type, int protocol) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (socktype == SOCKET_TYPE_RAW_STRIPPED) {
|
||||
ret.errno = auth_network_check(¤t_thread()->proc->cred, AUTH_ACTIONS_NETWORK_CREATERAW, NULL, NULL);
|
||||
if (ret.errno)
|
||||
return ret;
|
||||
}
|
||||
|
||||
socket_t *socket = socket_create(socktype, protocol);
|
||||
if (socket == NULL) {
|
||||
ret.errno = ENOMEM;
|
||||
|
||||
Reference in New Issue
Block a user