3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-11-17 05:20:14 +01:00

Improve HandshakeSessionHandler#cleanVhost()

Dieser Commit ist enthalten in:
Andrew Steinborn 2019-01-28 00:34:51 -05:00
Ursprung 6eb6c99fa7
Commit 7d4d81fff1
2 geänderte Dateien mit 13 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -139,7 +139,7 @@ public class HandshakeSessionHandler implements MinecraftSessionHandler {
// If we connect through an SRV record, there will be a period at the end (DNS usually elides
// this ending octet).
if (cleaned.endsWith(".")) {
if (!cleaned.isEmpty() && cleaned.charAt(cleaned.length() - 1) == '.') {
cleaned = cleaned.substring(0, cleaned.length() - 1);
}
return cleaned;

Datei anzeigen

@ -11,20 +11,32 @@ class HandshakeSessionHandlerTest {
@Test
void cleanVhostHandlesGoodHostname() {
assertEquals("localhost", cleanVhost("localhost"));
assertEquals("mc.example.com", cleanVhost("mc.example.com"));
}
@Test
void cleanVhostHandlesTrailingOctet() {
assertEquals("localhost", cleanVhost("localhost."));
assertEquals("mc.example.com", cleanVhost("mc.example.com."));
}
@Test
void cleanVhostHandlesForge() {
assertEquals("localhost", cleanVhost("localhost" + HANDSHAKE_HOSTNAME_TOKEN));
assertEquals("mc.example.com", cleanVhost("mc.example.com" + HANDSHAKE_HOSTNAME_TOKEN));
}
@Test
void cleanVhostHandlesOctetsAndForge() {
assertEquals("localhost", cleanVhost("localhost." + HANDSHAKE_HOSTNAME_TOKEN));
assertEquals("mc.example.com", cleanVhost("mc.example.com." + HANDSHAKE_HOSTNAME_TOKEN));
}
@Test
void cleanVhostHandlesEmptyHostnames() {
assertEquals("", cleanVhost(""));
assertEquals("", cleanVhost(HANDSHAKE_HOSTNAME_TOKEN));
assertEquals("", cleanVhost("."));
assertEquals("", cleanVhost("." + HANDSHAKE_HOSTNAME_TOKEN));
}
}