You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MQTT module nominally can juggle multiple clients, each with an associated lightuserdata object, and yet it contains "static ip_addr_t host_ip; // for dns". So in practice it can only be doing one DNS resolution at once and may end up crisscrossing resolution results between multiple client objects.
I think I would like to make a breaking change to the C module: no DNS support for the hostname. We can (I will) provide a Lua wrapper that does DNS resolution and hands the address down to the mqtt module. (As with #2819, I want to keep the C as simple as possible; for MQTT, keeping the state machine in C is fine, I guess, since it's already there and working.)
The text was updated successfully, but these errors were encountered:
Worked around, sort of, mostly, by part of #3360. See #3063 for motion against removing DNS handling from C and workaround adopted in TLS. However, at the time of this writing the refcount work necessary has not been done and so mqtt remains a source of badness.
The MQTT module nominally can juggle multiple clients, each with an associated lightuserdata object, and yet it contains "static ip_addr_t host_ip; // for dns". So in practice it can only be doing one DNS resolution at once and may end up crisscrossing resolution results between multiple client objects.
I think I would like to make a breaking change to the C module: no DNS support for the hostname. We can (I will) provide a Lua wrapper that does DNS resolution and hands the address down to the
mqtt
module. (As with #2819, I want to keep the C as simple as possible; for MQTT, keeping the state machine in C is fine, I guess, since it's already there and working.)The text was updated successfully, but these errors were encountered: