12
0

Remove unsecure popup #205

Geschlossen
zOnlyKroks möchte 0 Commits von ServerDataHandler nach master mergen
Mitglied
Keine Beschreibung angegeben.
zOnlyKroks hat 1 Commit 2022-08-06 19:39:05 +02:00 hinzugefügt
ServerDataHandler
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed
f1a99b0938
YoyoNow hat 2022-08-06 19:54:39 +02:00 Änderungen angefragt
@ -132,6 +133,9 @@ public class Core extends JavaPlugin{
if(Core.getVersion() < 17 && Bukkit.getPluginManager().getPlugin("ViaVersion") != null)
new PartialChunkFixer();
if(Core.getVersion() < 18)
Besitzer

Das sieht mir falsch aus

Das sieht mir falsch aus
zOnlyKroks markierte diese Unterhaltung als gelöst
@ -0,0 +8,4 @@
public class ServerDataHandler {
private Class<?> explosionPacket = Reflection.getClass("{nms.network.protocol.game}.ClientboundServerDataPacket");
Besitzer

Field naming?

Field naming?
zOnlyKroks markierte diese Unterhaltung als gelöst
zOnlyKroks hat 1 Commit 2022-08-06 20:54:12 +02:00 hinzugefügt
Use correct server version
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed
23c0e507cd
zOnlyKroks hat 1 Commit 2022-08-06 20:56:24 +02:00 hinzugefügt
Variable naming
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed
0a6eccf70f
zOnlyKroks hat 1 Commit 2022-08-06 21:05:20 +02:00 hinzugefügt
Fix unknown constructor
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
71f7264789
YoyoNow hat 2022-08-06 21:06:47 +02:00 Änderungen angefragt
@ -38,0 +41,4 @@
public Object modifyServerDataPacket(Object o) {
ClientboundServerDataPacket clientboundServerDataPacket = (ClientboundServerDataPacket) o;
try{
o.getClass().getDeclaredField("c").setBoolean(clientboundServerDataPacket,true);
Besitzer

Hier solltest du vllt dir das field cachen?

Hier solltest du vllt dir das field cachen?
Besitzer

Statt direkter Reflection bitte die TinyProtocol-Klasse Reflection nutzen und den FieldAccessor als private statitc final speichern.

Statt direkter Reflection bitte die TinyProtocol-Klasse Reflection nutzen und den FieldAccessor als private statitc final speichern.
Besitzer

Was ändert das?

Was ändert das?
Besitzer

Kein Exceptionhandling, nur minimale Runtime-Reflection (der Aufwand ist vorher in der initialisierung), Konvention wie bei unseren sonstigen Reflections auch (Techhider, REntity, etc.).

Kein Exceptionhandling, nur minimale Runtime-Reflection (der Aufwand ist vorher in der initialisierung), Konvention wie bei unseren sonstigen Reflections auch (Techhider, REntity, etc.).
Besitzer

ok

ok
zOnlyKroks markierte diese Unterhaltung als gelöst
Lixfel hat 2022-08-06 21:12:24 +02:00 Änderungen angefragt
Lixfel hat einen Kommentar hinterlassen
Besitzer

Hast du nicht gemeint, den Popup gibt es schon auf der Lobby, welche in der 1.15 läuft? Dann wäre diese Änderung hier sinnlos und muss stattdessen im BungeeCord stattfinden.

Hast du nicht gemeint, den Popup gibt es schon auf der Lobby, welche in der 1.15 läuft? Dann wäre diese Änderung hier sinnlos und muss stattdessen im BungeeCord stattfinden.
@ -0,0 +8,4 @@
public class ServerDataHandler {
private Class<?> serverDataPacket = Reflection.getClass("{nms.network.protocol.game}.ClientboundServerDataPacket");
Besitzer

Du kannst hier direkt auf die Klasse zugreifen, da es das nur in der 1.19> gibt. Keine Reflection an der Stelle nötig.

Du kannst hier direkt auf die Klasse zugreifen, da es das nur in der 1.19> gibt. Keine Reflection an der Stelle nötig.
Besitzer

In der 1.20 wird das sicher wieder geändert, ist sicherer jetzt schon es so zu haben.

In der 1.20 wird das sicher wieder geändert, ist sicherer jetzt schon es so zu haben.
Besitzer

zOnlyKroks hat eben durch kurzes testen es immer nur bei einem server switch erhalten nicht beim joinen.

zOnlyKroks hat eben durch kurzes testen es immer nur bei einem server switch erhalten nicht beim joinen.
Besitzer

Wenn sich in der 1.20 der Klassenname ändert, funktioniert dieser String aber genauso wenig. Daher macht hier schon für die 1.20 vorzusorgen überhaupt keinen Sinn.

Wenn sich in der 1.20 der Klassenname ändert, funktioniert dieser String aber genauso wenig. Daher macht hier schon für die 1.20 vorzusorgen überhaupt keinen Sinn.
Besitzer

Beim Serverswitch auf beliebige Subserver oder nur 1.19.1 Server? Nur falls nur auf 1.19.1 Server wäre diese Lösung hier korrekt.

Beim Serverswitch auf beliebige Subserver oder nur 1.19.1 Server? Nur falls nur auf 1.19.1 Server wäre diese Lösung hier korrekt.
Besitzer

Letzteres weiß ich nicht. und ersteres ok.

Letzteres weiß ich nicht. und ersteres ok.
Autor
Mitglied

nur wenn auf 1.19.1 joinen.

nur wenn auf 1.19.1 joinen.
zOnlyKroks markierte diese Unterhaltung als gelöst
zOnlyKroks hat 1 Commit 2022-08-06 21:30:29 +02:00 hinzugefügt
Reflections
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
3ca4a7d99f
Lixfel hat 2022-08-06 21:32:23 +02:00 überprüft
@ -26,2 +27,4 @@
public class ChatWrapper19 implements ChatWrapper {
private static final Reflection.FieldAccessor<Boolean> accessor = Reflection.getField(ClientboundServerDataPacket.class, "c",Boolean.class);
Besitzer

Kannst du es statt über den Namen über die Position machen? Also dass es das x. Boolean-Feld in der Klasse ist? Das macht das ganze Multiversionsstabiler.

Kannst du es statt über den Namen über die Position machen? Also dass es das x. Boolean-Feld in der Klasse ist? Das macht das ganze Multiversionsstabiler.
zOnlyKroks markierte diese Unterhaltung als gelöst
zOnlyKroks hat 1 Commit 2022-08-06 21:34:13 +02:00 hinzugefügt
use class type
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
c2cc19450d
Lixfel hat 2022-08-06 21:48:11 +02:00 überprüft
@ -26,2 +27,4 @@
public class ChatWrapper19 implements ChatWrapper {
private static final Reflection.FieldAccessor<Boolean> accessor = Reflection.getField(ClientboundServerDataPacket.class, Boolean.class,0);
Besitzer

Wurde das getestet? Weil ich glaube, dass das Feld vom Typ boolean.class (Primitive Klasse! Kleingeschrieben!) ist und das dann mit der Wrapperklasse fehlschlägt...

Wurde das getestet? Weil ich glaube, dass das Feld vom Typ boolean.class (Primitive Klasse! Kleingeschrieben!) ist und das dann mit der Wrapperklasse fehlschlägt...
zOnlyKroks markierte diese Unterhaltung als gelöst
zOnlyKroks hat 1 Commit 2022-08-06 22:53:34 +02:00 hinzugefügt
use right class
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
e2652fc25a
zOnlyKroks hat ein Review von Lixfel 2022-08-07 16:23:14 +02:00 angefragt
YoyoNow hat die Änderungen 2022-08-07 20:57:34 +02:00 genehmigt
Lixfel hat die Änderungen 2022-08-22 13:01:21 +02:00 genehmigt
Lixfel hat einen Kommentar hinterlassen
Besitzer

Schaut gut aus, ist das tested?

Schaut gut aus, ist das tested?
Autor
Mitglied

Jo, tut auch bei mir

Jo, tut auch bei mir
Lixfel hat diesen Pull-Request 2022-08-27 11:12:44 +02:00 geschlossen
Lixfel löschte die Branch ServerDataHandler 2022-08-27 11:12:51 +02:00
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
Erforderlich
Details

Pull-Request geschlossen

Anmelden, um an der Diskussion teilzunehmen.
Keine Beschreibung angegeben.