Skip to content

Commit 3f35626

Browse files
committed
fixup! Added DNS server with TCP support
1 parent dab40d4 commit 3f35626

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/dns_server_tcp.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ static void read_cb(struct ev_loop __attribute__((unused)) *loop,
117117
dns_server_tcp_t *d = client->d;
118118

119119
// Receive data
120-
char buf[UINT16_MAX]; // stack buffer for largest DNS request
121-
ssize_t len = recv(w->fd, buf, UINT16_MAX, 0);
120+
char buf[DNS_REQUEST_BUFFER_SIZE]; // if there would be more data, callback will be called again
121+
ssize_t len = recv(w->fd, buf, DNS_REQUEST_BUFFER_SIZE, 0);
122122
if (len <= 0) {
123123
if (len == 0 || errno == ECONNRESET) {
124124
DLOG_CLIENT("Connection closed");
@@ -239,7 +239,7 @@ static int get_tcp_listen_sock(struct addrinfo *listen_addrinfo) {
239239
ELOG("Reuse address failed: %s (%d)", strerror(errno), errno);
240240
}
241241

242-
uint16_t port;
242+
uint16_t port = 0;
243243
char ipstr[INET6_ADDRSTRLEN];
244244
if (listen_addrinfo->ai_family == AF_INET) {
245245
port = ntohs(((struct sockaddr_in*) listen_addrinfo->ai_addr)->sin_port);
@@ -306,7 +306,7 @@ void dns_server_tcp_respond(dns_server_tcp_t *d,
306306
struct sockaddr *raddr, char *resp, size_t resp_len)
307307
{
308308
if (resp_len < DNS_HEADER_LENGTH || resp_len > UINT16_MAX) {
309-
WLOG("Malformed request received, invalid length: %u", resp_len);
309+
WLOG("Malformed response received, invalid length: %u", resp_len);
310310
return;
311311
}
312312

0 commit comments

Comments
 (0)