Ignore CUI connections with more than 3 failed attempts.
This commit is contained in:
parent
b430f4748a
commit
3644ad9d70
@ -96,6 +96,7 @@ public class LocalSession {
|
||||
// Non-session related fields
|
||||
private transient LocalConfiguration config;
|
||||
private transient final AtomicBoolean dirty = new AtomicBoolean();
|
||||
private transient int failedCuiAttempts = 0;
|
||||
|
||||
// Session related
|
||||
private transient RegionSelector selector = new CuboidRegionSelector();
|
||||
@ -1202,14 +1203,25 @@ public class LocalSession {
|
||||
*/
|
||||
public void handleCUIInitializationMessage(String text) {
|
||||
checkNotNull(text);
|
||||
if (this.failedCuiAttempts > 3) {
|
||||
return;
|
||||
}
|
||||
|
||||
String[] split = text.split("\\|");
|
||||
String[] split = text.split("\\|", 2);
|
||||
if (split.length > 1 && split[0].equalsIgnoreCase("v")) { // enough fields and right message
|
||||
if (split[1].length() > 4) {
|
||||
this.failedCuiAttempts++;
|
||||
return;
|
||||
}
|
||||
setCUISupport(true);
|
||||
try {
|
||||
setCUIVersion(Integer.parseInt(split[1]));
|
||||
} catch (NumberFormatException e) {
|
||||
WorldEdit.logger.warning("Error while reading CUI init message: " + e.getMessage());
|
||||
String msg = e.getMessage();
|
||||
if (msg != null && msg.length() > 256) msg = msg.substring(0, 256);
|
||||
this.failedCuiAttempts++;
|
||||
WorldEdit.logger.warning("Error while reading CUI init message: " + msg);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user