diff --git a/tdnet/td/net/Socks5.cpp b/tdnet/td/net/Socks5.cpp index 8dba5f40..23e5c6f7 100644 --- a/tdnet/td/net/Socks5.cpp +++ b/tdnet/td/net/Socks5.cpp @@ -110,7 +110,7 @@ void Socks5::send_ip_address() { request += static_cast((ipv4 >> 24) & 255); } else { request += '\x04'; - request += ip_address_.get_ipv6().str(); + request += ip_address_.get_ipv6(); } auto port = ip_address_.get_port(); request += static_cast((port >> 8) & 255); diff --git a/tdutils/td/utils/port/IPAddress.cpp b/tdutils/td/utils/port/IPAddress.cpp index 06d946ac..8d3a4f57 100644 --- a/tdutils/td/utils/port/IPAddress.cpp +++ b/tdutils/td/utils/port/IPAddress.cpp @@ -267,11 +267,11 @@ uint32 IPAddress::get_ipv4() const { return htonl(ipv4_addr_.sin_addr.s_addr); } -Slice IPAddress::get_ipv6() const { +string IPAddress::get_ipv6() const { static_assert(sizeof(ipv6_addr_.sin6_addr) == 16, "ipv6 size == 16"); CHECK(is_valid()); CHECK(!is_ipv4()); - return Slice(ipv6_addr_.sin6_addr.s6_addr, 16); + return Slice(ipv6_addr_.sin6_addr.s6_addr, 16).str(); } IPAddress IPAddress::get_any_addr() const { diff --git a/tdutils/td/utils/port/IPAddress.h b/tdutils/td/utils/port/IPAddress.h index 4d6b9bce..82893909 100644 --- a/tdutils/td/utils/port/IPAddress.h +++ b/tdutils/td/utils/port/IPAddress.h @@ -39,7 +39,7 @@ class IPAddress { void set_port(int port); uint32 get_ipv4() const; - Slice get_ipv6() const; + string get_ipv6() const; Slice get_ip_str() const; IPAddress get_any_addr() const;