BUG/MINOR: don't use a wrong port when connecting to a server with mapped ports

Nick Chalk reported that a connection to a server which has no port specified
used twice the port number. The reason is that the port number was taken from
the wrong part of the address, the client's destination address was used as the
base port instead of the server's configured address.

Thanks to Nick for his helpful diagnostic.
This commit is contained in:
Willy Tarreau 2011-09-23 10:27:12 +02:00
parent 6ee71754e2
commit dd164d0240

View File

@ -703,7 +703,7 @@ int assign_server_address(struct session *s)
base_port = get_host_port(&s->req->prod->addr.c.to);
/* Second, assign the outgoing connection's port */
base_port += get_host_port(&s->req->prod->addr.s.to);
base_port += get_host_port(&s->req->cons->addr.s.to);
set_host_port(&s->req->cons->addr.s.to, base_port);
}
}