Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-12-23 23:00:35 +01:00
Improve HandshakeSessionHandler#cleanVhost()
Dieser Commit ist enthalten in:
Ursprung
6eb6c99fa7
Commit
7d4d81fff1
@ -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;
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren