]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/client/clientmedia.cpp
Improve client-side packet receiving
[dragonfireclient.git] / src / client / clientmedia.cpp
index e3ad92dbcddc646e5d6cf8fe3eb0a3848b416cb0..6da99bbbf8120c94cb041a0b5d6b4a533e445d80 100644 (file)
@@ -254,6 +254,16 @@ void ClientMediaDownloader::initialStep(Client *client)
                        fetch_request.post_data = required_hash_set;
                        fetch_request.extra_headers.emplace_back(
                                "Content-Type: application/octet-stream");
+
+                       // Encapsulate possible IPv6 plain address in []
+                       std::string addr = client->getAddressName();
+                       if (addr.find(':', 0) != std::string::npos)
+                               addr = '[' + addr + ']';
+                       fetch_request.extra_headers.emplace_back(
+                               std::string("Referer: minetest://") +
+                               addr + ":" +
+                               std::to_string(client->getServerAddress().getPort()));
+
                        httpfetch_async(fetch_request);
 
                        m_httpfetch_active++;