From 4fbff9a4454ac6bd71aebc0df6d8442a467201db Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Mon, 8 Apr 2019 22:05:59 +0200 Subject: Implement client sending ip-request and configuring interface --- wg-dynamic-server.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'wg-dynamic-server.c') diff --git a/wg-dynamic-server.c b/wg-dynamic-server.c index 77eb9a4..34fe9bc 100644 --- a/wg-dynamic-server.c +++ b/wg-dynamic-server.c @@ -543,13 +543,19 @@ int main(int argc, char *argv[]) } for (int i = 1; i < MAX_CONNECTIONS + 1; ++i) { + size_t off; + if (!(pollfds[i].revents & POLLOUT)) continue; pollfds[i].revents &= ~POLLOUT; - send_message(pollfds[i].fd, reqs[i - 1].buf, - &reqs[i - 1].buflen); - if (!reqs[i - 1].buflen) + + off = send_message(pollfds[i].fd, reqs[i - 1].buf, + &reqs[i - 1].buflen); + if (reqs[i - 1].buflen) + memmove(reqs[i - 1].buf, reqs[i - 1].buf + off, + reqs[i - 1].buflen); + else close_connection(&pollfds[i].fd, &reqs[i - 1]); } -- cgit v1.2.3-59-g8ed1b