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;