mirror of
https://github.com/colbster937/originblacklist.git
synced 2026-03-22 21:37:42 +00:00
fix NullPointerException when geyser dispatches ProxyPingEvent with a null virtual host
This commit is contained in:
@@ -94,8 +94,9 @@ public final class OriginBlacklistBungee extends Plugin implements Listener, IOr
|
|||||||
final PendingConnection conn = event.getPlayer().getPendingConnection();
|
final PendingConnection conn = event.getPlayer().getPendingConnection();
|
||||||
final InetSocketAddress vhost = conn.getVirtualHost();
|
final InetSocketAddress vhost = conn.getVirtualHost();
|
||||||
final ProxiedPlayer aPlayer = event.getPlayer();
|
final ProxiedPlayer aPlayer = event.getPlayer();
|
||||||
|
final String origin = vhost != null ? vhost.getHostString() + vhost.getPort() : OriginBlacklist.UNKNOWN_STR;
|
||||||
final OPlayer bPlayer = new OPlayer(null, aPlayer.getName(), aPlayer.getUniqueId(),
|
final OPlayer bPlayer = new OPlayer(null, aPlayer.getName(), aPlayer.getUniqueId(),
|
||||||
aPlayer.getAddress().toString(), aPlayer.getClientBrand(), vhost.getHostString() + vhost.getPort(),
|
aPlayer.getAddress().toString(), aPlayer.getClientBrand(), origin,
|
||||||
conn.getVersion());
|
conn.getVersion());
|
||||||
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, bPlayer));
|
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, bPlayer));
|
||||||
}
|
}
|
||||||
@@ -104,8 +105,9 @@ public final class OriginBlacklistBungee extends Plugin implements Listener, IOr
|
|||||||
public final void onJavaHandshake(final PreLoginEvent event) {
|
public final void onJavaHandshake(final PreLoginEvent event) {
|
||||||
final PendingConnection conn = event.getConnection();
|
final PendingConnection conn = event.getConnection();
|
||||||
final InetSocketAddress vhost = conn.getVirtualHost();
|
final InetSocketAddress vhost = conn.getVirtualHost();
|
||||||
|
final String origin = vhost != null ? vhost.getHostString() + vhost.getPort() : OriginBlacklist.UNKNOWN_STR;
|
||||||
final OPlayer player = new OPlayer(null, null, null, conn.getAddress().toString(), OriginBlacklist.UNKNOWN_STR,
|
final OPlayer player = new OPlayer(null, null, null, conn.getAddress().toString(), OriginBlacklist.UNKNOWN_STR,
|
||||||
vhost.getHostString() + vhost.getPort(), conn.getVersion());
|
origin, conn.getVersion());
|
||||||
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, player));
|
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, player));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,8 +115,9 @@ public final class OriginBlacklistBungee extends Plugin implements Listener, IOr
|
|||||||
public final void onJavaMOTD(final ProxyPingEvent event) {
|
public final void onJavaMOTD(final ProxyPingEvent event) {
|
||||||
final PendingConnection conn = event.getConnection();
|
final PendingConnection conn = event.getConnection();
|
||||||
final InetSocketAddress vhost = conn.getVirtualHost();
|
final InetSocketAddress vhost = conn.getVirtualHost();
|
||||||
|
final String origin = vhost != null ? vhost.getHostString() + vhost.getPort() : OriginBlacklist.UNKNOWN_STR;
|
||||||
final OPlayer player = new OPlayer(null, null, null, conn.getAddress().toString(), null,
|
final OPlayer player = new OPlayer(null, null, null, conn.getAddress().toString(), null,
|
||||||
vhost.getHostString() + vhost.getPort(), -1);
|
origin, -1);
|
||||||
this.blacklist.handleMOTD(new OriginBlacklistMOTDEvent(null, event, EnumConnectionType.JAVA, player));
|
this.blacklist.handleMOTD(new OriginBlacklistMOTDEvent(null, event, EnumConnectionType.JAVA, player));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,19 +108,21 @@ public final class OriginBlacklistVelocity implements IOriginBlacklistPlugin {
|
|||||||
@Subscribe(order = PostOrder.FIRST)
|
@Subscribe(order = PostOrder.FIRST)
|
||||||
public final void onJavaLogin(final PreLoginEvent event) {
|
public final void onJavaLogin(final PreLoginEvent event) {
|
||||||
final InboundConnection conn = event.getConnection();
|
final InboundConnection conn = event.getConnection();
|
||||||
final InetSocketAddress vhost = conn.getVirtualHost().orElseThrow();
|
final InetSocketAddress vhost = conn.getVirtualHost().orElse(null);
|
||||||
|
final String origin = vhost != null ? vhost.getHostString() + vhost.getPort() : OriginBlacklist.UNKNOWN_STR;
|
||||||
final OPlayer player = new OPlayer(null, event.getUsername(), event.getUniqueId(),
|
final OPlayer player = new OPlayer(null, event.getUsername(), event.getUniqueId(),
|
||||||
conn.getRemoteAddress().toString(), OriginBlacklist.UNKNOWN_STR, vhost.getHostString() + vhost.getPort(),
|
conn.getRemoteAddress().toString(), OriginBlacklist.UNKNOWN_STR, origin,
|
||||||
conn.getProtocolVersion().getProtocol());
|
conn.getProtocolVersion().getProtocol());
|
||||||
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, player));
|
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, player));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe(order = PostOrder.FIRST)
|
@Subscribe(order = PostOrder.FIRST)
|
||||||
public final void onJavaHandshake(final PlayerClientBrandEvent event) {
|
public final void onJavaHandshake(final PlayerClientBrandEvent event) {
|
||||||
final InetSocketAddress vhost = event.getPlayer().getVirtualHost().orElseThrow();
|
final InetSocketAddress vhost = event.getPlayer().getVirtualHost().orElse(null);
|
||||||
|
final String origin = vhost != null ? vhost.getHostString() + vhost.getPort() : OriginBlacklist.UNKNOWN_STR;
|
||||||
final Player aPlayer = event.getPlayer();
|
final Player aPlayer = event.getPlayer();
|
||||||
final OPlayer bPlayer = new OPlayer(null, aPlayer.getUsername(), aPlayer.getUniqueId(),
|
final OPlayer bPlayer = new OPlayer(null, aPlayer.getUsername(), aPlayer.getUniqueId(),
|
||||||
aPlayer.getRemoteAddress().getAddress().toString(), event.getBrand(), vhost.getHostString() + vhost.getPort(),
|
aPlayer.getRemoteAddress().getAddress().toString(), event.getBrand(), origin,
|
||||||
event.getPlayer().getProtocolVersion().getProtocol());
|
event.getPlayer().getProtocolVersion().getProtocol());
|
||||||
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, bPlayer));
|
this.blacklist.handleLogin(new OriginBlacklistLoginEvent(null, event, EnumConnectionType.JAVA, bPlayer));
|
||||||
}
|
}
|
||||||
@@ -128,10 +130,10 @@ public final class OriginBlacklistVelocity implements IOriginBlacklistPlugin {
|
|||||||
@Subscribe(order = PostOrder.LAST)
|
@Subscribe(order = PostOrder.LAST)
|
||||||
public final void onJavaMOTD(final ProxyPingEvent event) {
|
public final void onJavaMOTD(final ProxyPingEvent event) {
|
||||||
final InboundConnection conn = event.getConnection();
|
final InboundConnection conn = event.getConnection();
|
||||||
final InetSocketAddress vhost = conn.getVirtualHost().orElseThrow();
|
final InetSocketAddress vhost = conn.getVirtualHost().orElse(null);
|
||||||
|
final String origin = vhost != null ? vhost.getHostString() + vhost.getPort() : OriginBlacklist.UNKNOWN_STR;
|
||||||
final OPlayer player = new OPlayer(null, null, null, conn.getRemoteAddress().getHostString(),
|
final OPlayer player = new OPlayer(null, null, null, conn.getRemoteAddress().getHostString(),
|
||||||
vhost.getHostString() + vhost.getPort(),
|
null, origin, -1);
|
||||||
null, -1);
|
|
||||||
this.blacklist.handleMOTD(new OriginBlacklistMOTDEvent(null, event, EnumConnectionType.JAVA, player));
|
this.blacklist.handleMOTD(new OriginBlacklistMOTDEvent(null, event, EnumConnectionType.JAVA, player));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user