From 28c570f253fcb04c370cbb77b718897a636e57fd Mon Sep 17 00:00:00 2001 From: Manevolent Date: Tue, 26 Nov 2019 11:34:30 -0700 Subject: [PATCH] Remote socket address correctly passed --- .../handler/client/LocalClientHandlerConnecting.java | 11 ++++------- .../socket/client/LocalTeamspeakClientSocket.java | 4 ++++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/github/manevolent/ts3j/protocol/packet/handler/client/LocalClientHandlerConnecting.java b/src/main/java/com/github/manevolent/ts3j/protocol/packet/handler/client/LocalClientHandlerConnecting.java index 202d00b..26260d5 100644 --- a/src/main/java/com/github/manevolent/ts3j/protocol/packet/handler/client/LocalClientHandlerConnecting.java +++ b/src/main/java/com/github/manevolent/ts3j/protocol/packet/handler/client/LocalClientHandlerConnecting.java @@ -17,6 +17,7 @@ import org.bouncycastle.math.ec.ECPoint; import java.io.IOException; import java.math.BigInteger; +import java.net.*; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.util.Base64; @@ -220,13 +221,9 @@ public class LocalClientHandlerConnecting extends LocalClientHandler { initiv.add(new CommandSingleParameter("omega", getClient().getIdentity().getPublicKeyString())); initiv.add(new CommandSingleParameter("ot", "1")); // constant, set to 1 - Random r = new Random(); - initiv.add( - new CommandSingleParameter( - "ip", - r.nextInt(255) + "." + r.nextInt(255) + "." + r.nextInt(255) + "." +r.nextInt(255) - ) - ); + InetAddress address = getClient().getRemoteSocketAddress().getAddress(); + if (address != null) + initiv.add(new CommandSingleParameter("ip", address.getHostAddress().substring(1))); return initiv; } diff --git a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java index 8b14cfa..fbd6322 100644 --- a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java +++ b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java @@ -415,6 +415,10 @@ public class LocalTeamspeakClientSocket return (InetSocketAddress) socket.getLocalSocketAddress(); } + public InetSocketAddress getRemoteSocketAddress() { + return remote; + } + @Override public void close() throws IOException { socket.close();