Fix wrong client address for dhcp-script when DHCPv4 relay in use.

This commit is contained in:
Simon Kelley
2021-12-26 16:35:54 +00:00
parent ea33a01303
commit 1c8855ed10

View File

@@ -432,8 +432,8 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
buf = grab_extradata_lua(buf, end, "relay_address"); buf = grab_extradata_lua(buf, end, "relay_address");
else if (data.giaddr.s_addr != 0) else if (data.giaddr.s_addr != 0)
{ {
inet_ntop(AF_INET, &data.giaddr, daemon->addrbuff, ADDRSTRLEN); inet_ntop(AF_INET, &data.giaddr, daemon->dhcp_buff2, ADDRSTRLEN);
lua_pushstring(lua, daemon->addrbuff); lua_pushstring(lua, daemon->dhcp_buff2);
lua_setfield(lua, -2, "relay_address"); lua_setfield(lua, -2, "relay_address");
} }
@@ -615,7 +615,7 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
{ {
const char *giaddr = NULL; const char *giaddr = NULL;
if (data.giaddr.s_addr != 0) if (data.giaddr.s_addr != 0)
giaddr = inet_ntop(AF_INET, &data.giaddr, daemon->addrbuff, ADDRSTRLEN); giaddr = inet_ntop(AF_INET, &data.giaddr, daemon->dhcp_buff2, ADDRSTRLEN);
my_setenv("DNSMASQ_RELAY_ADDRESS", giaddr, &err); my_setenv("DNSMASQ_RELAY_ADDRESS", giaddr, &err);
} }