Update to Netty CR3 but include workaround for (bug?) present in it. Feedback is welcome, #448 is related.
This commit is contained in:
@@ -251,17 +251,24 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
thisState = InitialHandler.State.LOGIN;
|
||||
unsafe().sendPacket( new PacketFCEncryptionResponse( new byte[ 0 ], new byte[ 0 ] ) );
|
||||
try
|
||||
|
||||
ch.getHandle().eventLoop().execute( new Runnable()
|
||||
{
|
||||
Cipher encrypt = EncryptionUtil.getCipher( Cipher.ENCRYPT_MODE, sharedKey );
|
||||
ch.getHandle().pipeline().addBefore( PipelineUtils.DECRYPT_HANDLER, PipelineUtils.ENCRYPT_HANDLER, new CipherEncoder( encrypt ) );
|
||||
} catch ( GeneralSecurityException ex )
|
||||
{
|
||||
disconnect( "Cipher error: " + Util.exception( ex ) );
|
||||
}
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
unsafe().sendPacket( new PacketFCEncryptionResponse( new byte[ 0 ], new byte[ 0 ] ) );
|
||||
try
|
||||
{
|
||||
Cipher encrypt = EncryptionUtil.getCipher( Cipher.ENCRYPT_MODE, sharedKey );
|
||||
ch.getHandle().pipeline().addBefore( PipelineUtils.DECRYPT_HANDLER, PipelineUtils.ENCRYPT_HANDLER, new CipherEncoder( encrypt ) );
|
||||
} catch ( GeneralSecurityException ex )
|
||||
{
|
||||
disconnect( "Cipher error: " + Util.exception( ex ) );
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -28,7 +28,7 @@ public class PacketDecoder extends ReplayingDecoder<Void>
|
||||
private Protocol protocol;
|
||||
|
||||
@Override
|
||||
protected Object decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception
|
||||
protected void decode(ChannelHandlerContext ctx, ByteBuf in, MessageBuf<Object> out) throws Exception
|
||||
{
|
||||
// While we have enough data
|
||||
while ( true )
|
||||
@@ -53,10 +53,10 @@ public class PacketDecoder extends ReplayingDecoder<Void>
|
||||
// Store our decoded message
|
||||
if ( packet != null )
|
||||
{
|
||||
return( new PacketWrapper( packet, buf ) );
|
||||
out.add( new PacketWrapper( packet, buf ) );
|
||||
} else
|
||||
{
|
||||
return( buf );
|
||||
out.add( buf );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user