aboutsummaryrefslogtreecommitdiff
path: root/server.c
diff options
context:
space:
mode:
authorOmar Polo <op@omarpolo.com>2023-06-23 21:03:29 +0000
committerOmar Polo <op@omarpolo.com>2023-06-23 21:03:29 +0000
commit37df23d183de23b74f8a026977b8210dc22701a6 (patch)
tree69b71962dd24b8d188ce6a7a4aed47f6c0b4aa98 /server.c
parentab55c7815e8e749e775d95c26f0e217744949285 (diff)
rename client->addr to raddr (remote address) and keep original length
Diffstat (limited to 'server.c')
-rw-r--r--server.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/server.c b/server.c
index acf7703..05c1d4b 100644
--- a/server.c
+++ b/server.c
@@ -1315,14 +1315,14 @@ do_accept(int sock, short et, void *d)
{
struct conf *conf = d;
struct client *c;
- struct sockaddr_storage addr;
- struct sockaddr *saddr;
+ struct sockaddr_storage raddr;
+ struct sockaddr *sraddr;
socklen_t len;
int fd;
- saddr = (struct sockaddr*)&addr;
- len = sizeof(addr);
- if ((fd = accept(sock, saddr, &len)) == -1) {
+ sraddr = (struct sockaddr *)&raddr;
+ len = sizeof(raddr);
+ if ((fd = accept(sock, sraddr, &len)) == -1) {
if (errno == EWOULDBLOCK || errno == EAGAIN ||
errno == ECONNABORTED)
return;
@@ -1336,7 +1336,8 @@ do_accept(int sock, short et, void *d)
c->id = ++server_client_id;
c->fd = fd;
c->pfd = -1;
- c->addr = addr;
+ memcpy(&c->raddr, &raddr, sizeof(raddr));
+ c->raddrlen = len;
if (tls_accept_socket(ctx, &c->ctx, fd) == -1) {
log_warnx("failed to accept socket: %s", tls_error(c->ctx));