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 )
|
||||
{
|
||||
ch.write( user.getSettings() );
|
||||
|
@ -6,6 +6,8 @@ import java.math.BigInteger;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.MessageDigest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import javax.crypto.SecretKey;
|
||||
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.protocol.DefinedPacket;
|
||||
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.EncryptionRequest;
|
||||
import net.md_5.bungee.protocol.packet.Kick;
|
||||
@ -62,6 +65,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
||||
@Getter
|
||||
private LoginRequest loginRequest;
|
||||
private EncryptionRequest request;
|
||||
@Getter
|
||||
private final List<PluginMessage> registerMessages = new ArrayList<>();
|
||||
private State thisState = State.HANDSHAKE;
|
||||
private final Unsafe unsafe = new Unsafe()
|
||||
{
|
||||
@ -96,6 +101,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
||||
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
|
||||
public void handle(LegacyHandshake legacyHandshake) throws Exception
|
||||
{
|
||||
|
@ -147,6 +147,12 @@ public class UpstreamBridge extends PacketHandler
|
||||
{
|
||||
throw CancelSendSignal.INSTANCE;
|
||||
}
|
||||
|
||||
// TODO: Unregister as well?
|
||||
if ( pluginMessage.getTag().equals( "REGISTER" ) )
|
||||
{
|
||||
con.getPendingConnection().getRegisterMessages().add( pluginMessage );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user