From 58571ec4b05a907da33dcfe87f90986e067e5cef Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Wed, 22 Jul 2020 09:37:20 +0300
Subject: [PATCH] Fix for missing group in URI

---
 components/streams/src/netstream.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/components/streams/src/netstream.cpp b/components/streams/src/netstream.cpp
index d183d43d3..2643b99b3 100644
--- a/components/streams/src/netstream.cpp
+++ b/components/streams/src/netstream.cpp
@@ -32,17 +32,17 @@ static SHARED_MUTEX stream_mutex;
 
 Net::Net(nlohmann::json &config, ftl::net::Universe *net) : Stream(config), active_(false), net_(net), clock_adjust_(0), last_ping_(0) {
 	if (!net_->isBound("find_stream")) {
-		// FIXME: This only allows for a single net stream!!!
 		net_->bind("find_stream", [net = net_](const std::string &uri) -> optional<ftl::UUID> {
 			LOG(INFO) << "REQUEST FIND STREAM: " << uri;
 
-			ftl::URI u(uri);
-			std::string base = u.getBaseURI();
+			ftl::URI u1(uri);
+			std::string base = u1.getBaseURI();
 
 			SHARED_LOCK(stream_mutex, lk);
 			for (const auto &s : net_streams) {
+				ftl::URI u2(s);
 				// Don't compare query string components.
-				if (base == s) {
+				if (base == u2.getBaseURI()) {
 					return net->id();
 				}
 			}
@@ -256,7 +256,7 @@ bool Net::begin() {
 
 		{
 			UNIQUE_LOCK(stream_mutex, lk);
-			net_streams.push_back(base_uri_);
+			net_streams.push_back(uri_);
 		}
 
 		// Automatically set name if missing
@@ -442,7 +442,7 @@ bool Net::end() {
 
 	{
 		UNIQUE_LOCK(stream_mutex, lk);
-		auto i = std::find(net_streams.begin(), net_streams.end(), base_uri_);
+		auto i = std::find(net_streams.begin(), net_streams.end(), uri_);
 		if (i != net_streams.end()) net_streams.erase(i);
 	}
 
-- 
GitLab