Closed
Description
From #11791
Currently, a badly-behaved client could call the ComponentHub.StartCircuit
hub method and create as many circuits as they want from within a single connection. We should check whether the hub instance already has an associated circuit host, and if so, reject this.
Similarly, check the ConnectCircuit
to verify we're doing the right thing if a bad client calls it multiple times. It looks like it's meant to be allowed to call this even if you're already connected (presumably because the client can't know for sure if a previous reconnect attempt succeeded just a moment ago), but can we more cleanly no-op in this case? Can we have a comment to say what's meant to happen if a client calls this unexpectedly?