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

gitlab.com/quite/humla.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Lublin <daniel@lublin.se>2022-03-03 23:01:39 +0300
committerDaniel Lublin <daniel@lublin.se>2022-03-03 23:01:39 +0300
commit45688b6bddebd45c0ef43fdba7d3f88447c60c7e (patch)
tree39dc55ce141997e32d856e151ebc85663dad41dd
parentbf182f61b9e96723c7f33f27aa56924ee9b105e3 (diff)
Don't crash on unsupported message type.
Use in-class TAG constant for logging. Fixes https://gitlab.com/quite/mumla/-/issues/93
-rw-r--r--src/main/java/se/lublin/humla/net/HumlaTCP.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/main/java/se/lublin/humla/net/HumlaTCP.java b/src/main/java/se/lublin/humla/net/HumlaTCP.java
index 2e2e4df..17cb4a7 100644
--- a/src/main/java/se/lublin/humla/net/HumlaTCP.java
+++ b/src/main/java/se/lublin/humla/net/HumlaTCP.java
@@ -27,14 +27,12 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ConnectException;
-import java.net.InetAddress;
import java.net.SocketException;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLSocket;
-import se.lublin.humla.Constants;
import se.lublin.humla.util.HumlaException;
/**
@@ -42,6 +40,7 @@ import se.lublin.humla.util.HumlaException;
* Parses Mumble protobuf packets according to the Mumble protocol specification.
*/
public class HumlaTCP extends HumlaNetworkThread {
+ private final static String TAG = HumlaTCP.class.getName();
private final HumlaSSLSocketFactory mSocketFactory;
private String mHost;
private int mPort;
@@ -76,7 +75,7 @@ public class HumlaTCP extends HumlaNetworkThread {
public void run() {
mRunning = true;
try {
- Log.i(Constants.TAG, "HumlaTCP: Connecting");
+ Log.i(TAG, "Connecting");
if(mUseTor)
mTCPSocket = mSocketFactory.createTorSocket(mHost, mPort, HumlaConnection.TOR_HOST, HumlaConnection.TOR_PORT);
@@ -91,12 +90,12 @@ public class HumlaTCP extends HumlaNetworkThread {
mTCPSocket.setKeepAlive(true);
mTCPSocket.startHandshake();
- Log.v(Constants.TAG, "HumlaTCP: Started handshake");
+ Log.v(TAG, "Started handshake");
mDataInput = new DataInputStream(mTCPSocket.getInputStream());
mDataOutput = new DataOutputStream(mTCPSocket.getOutputStream());
- Log.v(Constants.TAG, "HumlaTCP: Now listening");
+ Log.v(TAG, "Now listening");
mConnected = true;
if(mListener != null) {
@@ -114,6 +113,11 @@ public class HumlaTCP extends HumlaNetworkThread {
final byte[] data = new byte[messageLength];
mDataInput.readFully(data);
+ if (messageType > (HumlaTCPMessageType.values().length - 1)) {
+ Log.w(TAG, "Got unsupported messageType: " + messageType);
+ continue;
+ }
+
final HumlaTCPMessageType tcpMessageType = HumlaTCPMessageType.values()[messageType];
if (mListener != null) {
executeOnMainThread(new Runnable() {
@@ -172,7 +176,7 @@ public class HumlaTCP extends HumlaNetworkThread {
@Override
public void run() {
if (!HumlaConnection.UNLOGGED_MESSAGES.contains(messageType))
- Log.v(Constants.TAG, "OUT: " + messageType);
+ Log.v(TAG, "OUT: " + messageType);
try {
mDataOutput.writeShort(messageType.ordinal());
mDataOutput.writeInt(message.getSerializedSize());
@@ -195,7 +199,7 @@ public class HumlaTCP extends HumlaNetworkThread {
@Override
public void run() {
if (!HumlaConnection.UNLOGGED_MESSAGES.contains(messageType))
- Log.v(Constants.TAG, "OUT: " + messageType);
+ Log.v(TAG, "OUT: " + messageType);
try {
mDataOutput.writeShort(messageType.ordinal());
mDataOutput.writeInt(length);