BUG/MINOR: lua: Fix Server.get_addr() port values

The get_addr() method of the Lua Server class was using the
'sockaddr_storage addr' member to get the port value. HAProxy does not
store ports in this member as it uses a separate member, called
'svc_port'.

This fix should be backported to 1.7.
This commit is contained in:
Nenad Merdanovic 2017-07-23 22:04:58 -04:00 committed by Willy Tarreau
parent b781dbede3
commit 3849473828

View File

@ -545,8 +545,7 @@ int hlua_server_get_addr(lua_State *L)
addr, INET_ADDRSTRLEN);
luaL_addstring(&b, addr);
luaL_addstring(&b, ":");
snprintf(addr, INET_ADDRSTRLEN, "%d",
ntohs(((struct sockaddr_in *)&srv->addr)->sin_port));
snprintf(addr, INET_ADDRSTRLEN, "%d", srv->svc_port);
luaL_addstring(&b, addr);
break;
case AF_INET6:
@ -554,8 +553,7 @@ int hlua_server_get_addr(lua_State *L)
addr, INET_ADDRSTRLEN);
luaL_addstring(&b, addr);
luaL_addstring(&b, ":");
snprintf(addr, INET_ADDRSTRLEN, "%d",
ntohs(((struct sockaddr_in6 *)&srv->addr)->sin6_port));
snprintf(addr, INET_ADDRSTRLEN, "%d", srv->svc_port);
luaL_addstring(&b, addr);
break;
case AF_UNIX: