summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/io/ip_address.cpp7
-rw-r--r--core/io/ip_address.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/core/io/ip_address.cpp b/core/io/ip_address.cpp
index 2d9708f5e5..69c7df619d 100644
--- a/core/io/ip_address.cpp
+++ b/core/io/ip_address.cpp
@@ -175,6 +175,7 @@ void IP_Address::clear() {
memset(&field8[0], 0, sizeof(field8));
valid = false;
+ wildcard = false;
};
bool IP_Address::is_ipv4() const{
@@ -208,7 +209,11 @@ IP_Address::IP_Address(const String& p_string) {
clear();
- if (p_string.find(":") >= 0) {
+ if (p_string == "*") {
+ // Wildcard (not a vaild IP)
+ wildcard = true;
+
+ } else if (p_string.find(":") >= 0) {
// IPv6
_parse_ipv6(p_string);
valid = true;
diff --git a/core/io/ip_address.h b/core/io/ip_address.h
index 3e86e0bcba..257836601a 100644
--- a/core/io/ip_address.h
+++ b/core/io/ip_address.h
@@ -42,6 +42,7 @@ private:
};
bool valid;
+ bool wildcard;
protected:
void _parse_ipv6(const String& p_string);
@@ -67,6 +68,7 @@ public:
}
void clear();
+ bool is_wildcard() const {return wildcard;}
bool is_valid() const {return valid;}
bool is_ipv4() const;
const uint8_t *get_ipv4() const;