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

Fix "Add -haproxy-protocol startup parameter" (#1216)

This reverts commit b23c2c6e1a.
Dieser Commit ist enthalten in:
powercas_gamer 2024-01-21 21:25:34 +01:00 committet von GitHub
Ursprung b23c2c6e1a
Commit 5f27edf3c2
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: B5690EEEBB952194
3 geänderte Dateien mit 25 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -34,6 +34,7 @@ public final class ProxyOptions {
private static final Logger logger = LogManager.getLogger(ProxyOptions.class); private static final Logger logger = LogManager.getLogger(ProxyOptions.class);
private final boolean help; private final boolean help;
private final @Nullable Integer port; private final @Nullable Integer port;
private final @Nullable Boolean haproxy;
ProxyOptions(final String[] args) { ProxyOptions(final String[] args) {
final OptionParser parser = new OptionParser(); final OptionParser parser = new OptionParser();
@ -43,10 +44,16 @@ public final class ProxyOptions {
final OptionSpec<Integer> port = parser.acceptsAll(Arrays.asList("p", "port"), final OptionSpec<Integer> port = parser.acceptsAll(Arrays.asList("p", "port"),
"Specify the bind port to be used. The configuration bind port will be ignored.") "Specify the bind port to be used. The configuration bind port will be ignored.")
.withRequiredArg().ofType(Integer.class); .withRequiredArg().ofType(Integer.class);
final OptionSpec<Boolean> haproxy = parser.acceptsAll(
Arrays.asList("haproxy", "haproxy-protocol"),
"Choose whether to enable haproxy protocol. "
+ "The configuration haproxy protocol will be ignored.")
.withRequiredArg().ofType(Boolean.class);
final OptionSet set = parser.parse(args); final OptionSet set = parser.parse(args);
this.help = set.has(help); this.help = set.has(help);
this.port = port.value(set); this.port = port.value(set);
this.haproxy = haproxy.value(set);
if (this.help) { if (this.help) {
try { try {
@ -64,4 +71,8 @@ public final class ProxyOptions {
public @Nullable Integer getPort() { public @Nullable Integer getPort() {
return this.port; return this.port;
} }
public @Nullable Boolean isHaproxy() {
return this.haproxy;
}
} }

Datei anzeigen

@ -257,6 +257,12 @@ public class VelocityServer implements ProxyServer, ForwardingAudience {
this.cm.bind(configuration.getBind()); this.cm.bind(configuration.getBind());
} }
final Boolean haproxy = this.options.isHaproxy();
if (haproxy != null) {
logger.debug("Overriding HAProxy protocol to {} from command line option", haproxy);
configuration.setProxyProtocol(haproxy);
}
if (configuration.isQueryEnabled()) { if (configuration.isQueryEnabled()) {
this.cm.queryBind(configuration.getBind().getHostString(), configuration.getQueryPort()); this.cm.queryBind(configuration.getBind().getHostString(), configuration.getQueryPort());
} }

Datei anzeigen

@ -354,6 +354,10 @@ public class VelocityConfiguration implements ProxyConfig {
return advanced.isProxyProtocol(); return advanced.isProxyProtocol();
} }
public void setProxyProtocol(boolean proxyProtocol) {
advanced.setProxyProtocol(proxyProtocol);
}
public boolean useTcpFastOpen() { public boolean useTcpFastOpen() {
return advanced.isTcpFastOpen(); return advanced.isTcpFastOpen();
} }
@ -755,6 +759,10 @@ public class VelocityConfiguration implements ProxyConfig {
return proxyProtocol; return proxyProtocol;
} }
public void setProxyProtocol(boolean proxyProtocol) {
this.proxyProtocol = proxyProtocol;
}
public boolean isTcpFastOpen() { public boolean isTcpFastOpen() {
return tcpFastOpen; return tcpFastOpen;
} }