Close #938 - re add our register channel manipulation
This commit is contained in:
parent
a8584f81ed
commit
1bbbfdb0d5
@ -112,6 +112,11 @@ public class ServerConnector extends PacketHandler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for ( PluginMessage message : user.getPendingConnection().getRegisterMessages() )
|
||||||
|
{
|
||||||
|
ch.write( message );
|
||||||
|
}
|
||||||
|
|
||||||
if ( user.getSettings() != null )
|
if ( user.getSettings() != null )
|
||||||
{
|
{
|
||||||
ch.write( user.getSettings() );
|
ch.write( user.getSettings() );
|
||||||
|
@ -6,6 +6,8 @@ import java.math.BigInteger;
|
|||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@ -34,6 +36,7 @@ import net.md_5.bungee.netty.cipher.CipherDecoder;
|
|||||||
import net.md_5.bungee.netty.cipher.CipherEncoder;
|
import net.md_5.bungee.netty.cipher.CipherEncoder;
|
||||||
import net.md_5.bungee.protocol.DefinedPacket;
|
import net.md_5.bungee.protocol.DefinedPacket;
|
||||||
import net.md_5.bungee.protocol.packet.Handshake;
|
import net.md_5.bungee.protocol.packet.Handshake;
|
||||||
|
import net.md_5.bungee.protocol.packet.PluginMessage;
|
||||||
import net.md_5.bungee.protocol.packet.EncryptionResponse;
|
import net.md_5.bungee.protocol.packet.EncryptionResponse;
|
||||||
import net.md_5.bungee.protocol.packet.EncryptionRequest;
|
import net.md_5.bungee.protocol.packet.EncryptionRequest;
|
||||||
import net.md_5.bungee.protocol.packet.Kick;
|
import net.md_5.bungee.protocol.packet.Kick;
|
||||||
@ -62,6 +65,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
@Getter
|
@Getter
|
||||||
private LoginRequest loginRequest;
|
private LoginRequest loginRequest;
|
||||||
private EncryptionRequest request;
|
private EncryptionRequest request;
|
||||||
|
@Getter
|
||||||
|
private final List<PluginMessage> registerMessages = new ArrayList<>();
|
||||||
private State thisState = State.HANDSHAKE;
|
private State thisState = State.HANDSHAKE;
|
||||||
private final Unsafe unsafe = new Unsafe()
|
private final Unsafe unsafe = new Unsafe()
|
||||||
{
|
{
|
||||||
@ -96,6 +101,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
disconnect( ChatColor.RED + Util.exception( t ) );
|
disconnect( ChatColor.RED + Util.exception( t ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(PluginMessage pluginMessage) throws Exception
|
||||||
|
{
|
||||||
|
// TODO: Unregister?
|
||||||
|
if ( pluginMessage.getTag().equals( "REGISTER" ) )
|
||||||
|
{
|
||||||
|
Preconditions.checkState( registerMessages.size() < 128, "Too many channels registered" );
|
||||||
|
registerMessages.add( pluginMessage );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(LegacyHandshake legacyHandshake) throws Exception
|
public void handle(LegacyHandshake legacyHandshake) throws Exception
|
||||||
{
|
{
|
||||||
|
@ -147,6 +147,12 @@ public class UpstreamBridge extends PacketHandler
|
|||||||
{
|
{
|
||||||
throw CancelSendSignal.INSTANCE;
|
throw CancelSendSignal.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Unregister as well?
|
||||||
|
if ( pluginMessage.getTag().equals( "REGISTER" ) )
|
||||||
|
{
|
||||||
|
con.getPendingConnection().getRegisterMessages().add( pluginMessage );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user