Browse Source

server: fix setTosFromConnmark typo

Server made a connection to remote, remote replied with that connection.

nf_conntrack module would not check reply-dst and reply-src by default.

more information please refer to https://www.spinics.net/lists/netfilter/msg57842.html

As a result, src and dst should be swapped to make nf_conntrack find the connection.
pull/2590/head
babarosaM33 5 years ago
parent
commit
b48dcddc6c
1 changed files with 2 additions and 2 deletions
  1. 4
      src/server.c

4
src/server.c

@ -654,10 +654,10 @@ setTosFromConnmark(remote_t *remote, server_t *server)
socklen_t len;
struct sockaddr_storage sin;
len = sizeof(sin);
if (getsockname(remote->fd, (struct sockaddr *)&sin, &len) == 0) {
if (getpeername(remote->fd, (struct sockaddr *)&sin, &len) == 0) {
struct sockaddr_storage from_addr;
len = sizeof from_addr;
if (getpeername(remote->fd, (struct sockaddr *)&from_addr, &len) == 0) {
if (getsockname(remote->fd, (struct sockaddr *)&from_addr, &len) == 0) {
if ((server->tracker = (struct dscptracker *)ss_malloc(sizeof(struct dscptracker)))) {
if ((server->tracker->ct = nfct_new())) {
// Build conntrack query SELECT

Loading…
Cancel
Save