From 34596bb5e9c0731aab83e208623e8258ee63d4b9 Mon Sep 17 00:00:00 2001 From: Matheus Date: Mon, 10 Jun 2024 23:01:19 -0300 Subject: [PATCH] sock: fix abisockaddr type not being returned --- kernel-src/include/kernel/sock.h | 2 ++ kernel-src/sys/syscalls/getpeername.c | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/kernel-src/include/kernel/sock.h b/kernel-src/include/kernel/sock.h index 5c248c72..de01b51a 100644 --- a/kernel-src/include/kernel/sock.h +++ b/kernel-src/include/kernel/sock.h @@ -79,11 +79,13 @@ static inline int sock_addrtoabiaddr(int socktype, sockaddr_t *sockaddr, abisock switch (socktype) { case SOCKET_TYPE_UDP: case SOCKET_TYPE_TCP: + abisockaddr->type = AF_INET; inaddr_t *inaddr = (inaddr_t *)abisockaddr; inaddr->sin_addr = cpu_to_be_d(sockaddr->ipv4addr.addr); inaddr->sin_port = cpu_to_be_w(sockaddr->ipv4addr.port); break; case SOCKET_TYPE_LOCAL: + abisockaddr->type = AF_LOCAL; unaddr_t *unaddr = (unaddr_t *)abisockaddr; strcpy(unaddr->sun_path, sockaddr->path); break; diff --git a/kernel-src/sys/syscalls/getpeername.c b/kernel-src/sys/syscalls/getpeername.c index 0b3ee7c6..e10bbcb0 100644 --- a/kernel-src/sys/syscalls/getpeername.c +++ b/kernel-src/sys/syscalls/getpeername.c @@ -6,9 +6,6 @@ syscallret_t syscall_getpeername(context_t *, int fd, void *uaddr, int *addrlen) .ret = -1 }; - ret.errno = ENOSYS; - return ret; - file_t *file = fd_get(fd); if (file == NULL) { ret.errno = EBADF;