summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/ScreenSharing/ScreenSharing.cpp')
-rw-r--r--Swiften/ScreenSharing/ScreenSharing.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/Swiften/ScreenSharing/ScreenSharing.cpp b/Swiften/ScreenSharing/ScreenSharing.cpp
index f1b7ebf..7fb1280 100644
--- a/Swiften/ScreenSharing/ScreenSharing.cpp
+++ b/Swiften/ScreenSharing/ScreenSharing.cpp
@@ -65,11 +65,27 @@ bool ScreenSharing::addBestCandidate(boost::shared_ptr<JingleRawUDPTransportPayl
}
}*/
+ SWIFT_LOG(debug) << "Screen sharing: Addresses available: " << std::endl;
+ foreach (const NetworkInterface& interface, interfaces) {
+ SWIFT_LOG(debug) << "\tInterface: " << interface.getName() << std::endl;
+ foreach (const HostAddress& addr, interface.getAddresses()) {
+ SWIFT_LOG(debug) << "\t\t" << addr.getRawAddress().to_string() << std::endl;
+ }
+ }
+
+ std::string scopeLinkBeginning("fe80");
foreach (const NetworkInterface& interface, interfaces) {
if (!interface.isLoopback()) { // exclude loopback
foreach (const HostAddress& addr, interface.getAddresses()) {
-// int port = serverSocket->bindOnAvailablePort(addr);
- int port = serverSocket->bind(HostAddressPort(addr, 29999));
+ // Disable ipv6 for now
+ if (addr.getRawAddress().is_v6())
+ continue;
+ // Ignore link scope ipv6 addr
+ if (addr.getRawAddress().is_v6() && addr.toString().compare(2, scopeLinkBeginning.length(), scopeLinkBeginning) == 0)
+ continue;
+
+ int port = serverSocket->bindOnAvailablePort(addr);
+// int port = serverSocket->bind(HostAddressPort(addr, 29999));
if (!port)
continue;
@@ -82,6 +98,18 @@ bool ScreenSharing::addBestCandidate(boost::shared_ptr<JingleRawUDPTransportPayl
}
}
+ /*
+ int port = serverSocket->bind(HostAddressPort(HostAddress("0.0.0.0"), 29999));
+ if (!port)
+ return false;
+
+ candidate.hostAddressPort = HostAddressPort(HostAddress("82.225.14.174"), 29999);
+ candidate.type = JingleRawUDPTransportPayload::Candidate::Host;
+ transport->addCandidate(candidate);
+
+ return true;
+*/
+
// else loopback for self sharing
/*if (!interfaces.empty() && !interfaces.front().getAddresses().empty()) {
int port = serverSocket->bindOnAvailablePort(interfaces.front().getAddresses().front());