Ensure the MQTT address is an IPv4 before determining it's private (#5081)

* Ensure the mqtt address is an IPv4 (or at least not a domain) before determining it's private.

* check address length
This commit is contained in:
Johnathon Mohr
2024-10-16 03:19:00 -07:00
committed by GitHub
parent ad214ea42a
commit 3e5f129fce
2 changed files with 21 additions and 7 deletions

View File

@@ -120,9 +120,9 @@ class MQTT : private concurrency::OSThread
// returns true if this is a valid JSON envelope which we accept on downlink
bool isValidJsonEnvelope(JSONObject &json);
/// Determines if the given IP address is a private address, i.e. not routable on the public internet.
/// Determines if the given address is a private IPv4 address, i.e. not routable on the public internet.
/// These are the ranges: 127.0.0.1, 10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, 192.168.0.0-192.168.255.255.
bool isPrivateIpAddress(const char ip[]);
bool isPrivateIpAddress(const char address[]);
/// Return 0 if sleep is okay, veto sleep if we are connected to pubsub server
// int preflightSleepCb(void *unused = NULL) { return pubSub.connected() ? 1 : 0; }