fix printing incoming ips on server side

This commit is contained in:
Krzosa Karol
2026-01-28 08:27:03 +01:00
parent d62bebee78
commit 6e4264c486

View File

@@ -102,6 +102,15 @@ void serialize_addrinfo(struct addrinfo* in) {
#define PORT "8000" #define PORT "8000"
void *get_in_addr(struct sockaddr *sa)
{
if (sa->sa_family == AF_INET) {
return &(((struct sockaddr_in*)sa)->sin_addr);
}
return &(((struct sockaddr_in6*)sa)->sin6_addr);
}
void run_server() { void run_server() {
struct addrinfo *servinfo = {}; struct addrinfo *servinfo = {};
struct addrinfo hints = {}; struct addrinfo hints = {};
@@ -114,7 +123,6 @@ void run_server() {
panicf("getaddrinfo failed, error code: %s\n", gai_strerrorA(err)); panicf("getaddrinfo failed, error code: %s\n", gai_strerrorA(err));
} }
defer { freeaddrinfo(servinfo); }; defer { freeaddrinfo(servinfo); };
// serialize_addrinfo(servinfo);
SOCKET socket_fd = -1; SOCKET socket_fd = -1;
for (addrinfo *it = servinfo; it; it = it->ai_next) { for (addrinfo *it = servinfo; it; it = it->ai_next) {
@@ -163,7 +171,7 @@ void run_server() {
// @todo: this might be a little wrong, also the win32 and unix seem to differ on field names in sockaddr // @todo: this might be a little wrong, also the win32 and unix seem to differ on field names in sockaddr
char s[INET6_ADDRSTRLEN]; char s[INET6_ADDRSTRLEN];
sockaddr *n = (sockaddr *)&their_addr; sockaddr *n = (sockaddr *)&their_addr;
inet_ntop(their_addr.ss_family, n->sa_data, s, sizeof(s)); inet_ntop(their_addr.ss_family, get_in_addr((struct sockaddr *)&their_addr), s, sizeof(s));
debugf("server: got connection from: %s", s); debugf("server: got connection from: %s", s);
const char *msg = "Hello world"; const char *msg = "Hello world";
@@ -174,14 +182,7 @@ void run_server() {
} }
} }
void *get_in_addr(struct sockaddr *sa)
{
if (sa->sa_family == AF_INET) {
return &(((struct sockaddr_in*)sa)->sin_addr);
}
return &(((struct sockaddr_in6*)sa)->sin6_addr);
}
void run_client() { void run_client() {
struct addrinfo *servinfo = {}; struct addrinfo *servinfo = {};