]> git.sesse.net Git - cubemap/blobdiff - udpinput.cpp
Fix some issues in parsing IPv6 multicast addresses.
[cubemap] / udpinput.cpp
index 001ef5f6d3db7a5fbf89ec279482b27241eb1a16..559e9cd29c0c773c7519f814eea5cc3b265e96db 100644 (file)
@@ -40,8 +40,9 @@ bool parse_ip_address(const string &ip, sockaddr_storage *addr)
                                ip.c_str());
                        return false;
                }
-               if (inet_pton(AF_INET6, ip.c_str(), &addr6->sin6_addr) != 1) {
-                       log(ERROR, "'%s' is not a valid IPv6 address");
+               string raw_ip(ip.begin() + 1, ip.end() - 1);
+               if (inet_pton(AF_INET6, raw_ip.c_str(), &addr6->sin6_addr) != 1) {
+                       log(ERROR, "'%s' is not a valid IPv6 address", raw_ip.c_str());
                        return false;
                }
        } else {