Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/mumla.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Lublin <daniel@lublin.se>2020-04-14 13:09:49 +0300
committerDaniel Lublin <daniel@lublin.se>2020-04-15 00:52:08 +0300
commitf42b2f306bd03cbe2b94c47a881957f9ca837f4a (patch)
tree7c3c5fe25e8ff3ba10f85a9c43d69c75249d88cb
parent8cc262badeb4f47647a0336f8f0b4a38ef0627ed (diff)
Resolve SRV records, with Humla
-rw-r--r--app/src/main/java/se/lublin/mumla/app/MumlaActivity.java3
-rw-r--r--app/src/main/java/se/lublin/mumla/channel/ServerInfoFragment.java6
-rw-r--r--app/src/main/java/se/lublin/mumla/servers/ServerInfoTask.java74
m---------libraries/humla0
4 files changed, 41 insertions, 42 deletions
diff --git a/app/src/main/java/se/lublin/mumla/app/MumlaActivity.java b/app/src/main/java/se/lublin/mumla/app/MumlaActivity.java
index 916da05..d10e1b5 100644
--- a/app/src/main/java/se/lublin/mumla/app/MumlaActivity.java
+++ b/app/src/main/java/se/lublin/mumla/app/MumlaActivity.java
@@ -698,7 +698,8 @@ public class MumlaActivity extends AppCompatActivity implements ListView.OnItemC
Toast.LENGTH_SHORT).show();
}
});
- // TODO SRV ? we no longer display port, as we might not know
+ // SRV lookup is done later, so we no longer show the port (and
+ // only the configured hostname)
mConnectingDialog.setMessage(getString(R.string.connecting_to_server, server.getHost())
+ (mSettings.isTorEnabled() ? " (Tor)" : ""));
mConnectingDialog.show();
diff --git a/app/src/main/java/se/lublin/mumla/channel/ServerInfoFragment.java b/app/src/main/java/se/lublin/mumla/channel/ServerInfoFragment.java
index c00b922..53bee4f 100644
--- a/app/src/main/java/se/lublin/mumla/channel/ServerInfoFragment.java
+++ b/app/src/main/java/se/lublin/mumla/channel/ServerInfoFragment.java
@@ -85,10 +85,10 @@ public class ServerInfoFragment extends HumlaServiceFragment {
mOSVersionView.setText(getString(R.string.server_info_version, session.getServerOSName(), session.getServerOSVersion()));
mTCPLatencyView.setText(getString(R.string.server_info_latency, (float)session.getTCPLatency()*Math.pow(10, -3)));
mUDPLatencyView.setText(getString(R.string.server_info_latency, (float)session.getUDPLatency()*Math.pow(10, -3)));
- // TODO SRV should figure out port we're actually connected to
+ // TODO SRV note also getHost,Port?
mHostView.setText(getString(R.string.server_info_host,
- getService().getTargetServer().getHost(),
- getService().getTargetServer().getPort()));
+ getService().getTargetServer().getSrvHost(),
+ getService().getTargetServer().getSrvPort()));
String codecName;
HumlaUDPMessageType codecType = session.getCodec();
diff --git a/app/src/main/java/se/lublin/mumla/servers/ServerInfoTask.java b/app/src/main/java/se/lublin/mumla/servers/ServerInfoTask.java
index fc04d6e..80cccb9 100644
--- a/app/src/main/java/se/lublin/mumla/servers/ServerInfoTask.java
+++ b/app/src/main/java/se/lublin/mumla/servers/ServerInfoTask.java
@@ -35,48 +35,46 @@ import se.lublin.mumla.Constants;
*
*/
public class ServerInfoTask extends AsyncTask<Server, Void, ServerInfoResponse> {
+ private Server server;
- private Server server;
-
- @Override
- protected ServerInfoResponse doInBackground(Server... params) {
- server = params[0];
- try {
- InetAddress host = InetAddress.getByName(server.getHost());
-
- // Create ping message
- ByteBuffer buffer = ByteBuffer.allocate(12);
- buffer.putInt(0); // Request type
- buffer.putLong(server.getId()); // Identifier
- // TODO SRV use looked up port here.
- DatagramPacket requestPacket = new DatagramPacket(buffer.array(), 12, host, server.getPort());
-
- // Send packet and wait for response
- DatagramSocket socket = new DatagramSocket();
- socket.setSoTimeout(1000);
- socket.setReceiveBufferSize(1024);
+ @Override
+ protected ServerInfoResponse doInBackground(Server... params) {
+ server = params[0];
+ try {
+ // Create ping message
+ ByteBuffer buffer = ByteBuffer.allocate(12);
+ buffer.putInt(0); // Request type
+ buffer.putLong(server.getId()); // Identifier
+ DatagramPacket requestPacket = new DatagramPacket(buffer.array(), 12,
+ InetAddress.getByName(server.getSrvHost()), server.getSrvPort());
+
+ // Send packet and wait for response
+ DatagramSocket socket = new DatagramSocket();
+ socket.setSoTimeout(1000);
+ socket.setReceiveBufferSize(1024);
long startTime = System.nanoTime();
socket.send(requestPacket);
-
- byte[] responseBuffer = new byte[24];
- DatagramPacket responsePacket = new DatagramPacket(responseBuffer, responseBuffer.length);
- socket.receive(responsePacket);
+
+ byte[] responseBuffer = new byte[24];
+ DatagramPacket responsePacket = new DatagramPacket(responseBuffer, responseBuffer.length);
+ socket.receive(responsePacket);
int latencyInMs = (int) ((System.nanoTime()-startTime)/1000000);
-
- ServerInfoResponse response = new ServerInfoResponse(server, responseBuffer, latencyInMs);
-
- Log.i(Constants.TAG, "DEBUG: Server version: "+response.getVersionString()+"\nUsers: "+response.getCurrentUsers()+"/"+response.getMaximumUsers());
-
- return response;
-
- } catch (Exception e) {
-// e.printStackTrace();
- }
-
- return new ServerInfoResponse(); // Return dummy in case of failure
- }
-
-} \ No newline at end of file
+
+ ServerInfoResponse response = new ServerInfoResponse(server, responseBuffer, latencyInMs);
+
+ Log.d(Constants.TAG, "Server version: " + response.getVersionString()
+ + " Users: " + response.getCurrentUsers() + "/" + response.getMaximumUsers());
+
+ return response;
+
+ } catch (Exception e) {
+// e.printStackTrace();
+ }
+
+ return new ServerInfoResponse(); // Return dummy in case of failure
+ }
+
+}
diff --git a/libraries/humla b/libraries/humla
-Subproject e451061ccba59f8e1a329d4a42093260c75d556
+Subproject 1682953f71bad7d7868bd2ab8f7c4d1c7caddb7