From 4b271c1a9e2216dec88fa36924e906ac3ea85fc5 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 25 May 2022 14:19:47 +0200 Subject: [WakeOnLan] Fix breakage with empty passwords Java helpfully discards trailing empty elements in String.split(), which unfortunately was not what we wanted here. --- src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/main/java/org') diff --git a/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java b/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java index c03740a..bd9693c 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java +++ b/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java @@ -88,7 +88,8 @@ public class WakeOnLan extends AbstractTask if ( client.methods.isEmpty() ) continue; // Group by method and destination IP address - String method = client.methods.remove( 0 ) + "//" + client.ip + "//" + ( client.password == null ? "" : client.password ); + String method = client.methods.remove( 0 ) + "//" + client.ip + + "//" + ( client.password == null ? "" : client.password ); ArrayList list = byMethod.get( method ); if ( list == null ) { list = new ArrayList<>(); @@ -107,7 +108,7 @@ public class WakeOnLan extends AbstractTask final List macs = it.getValue(); final String macString = Strings.join( macs.iterator(), ' ' ); final String broadcastIp = parts[1]; - final String password = parts[2]; + final String password = parts.length >= 3 ? parts[2] : ""; final int jobId = ++jobIdCounter; if ( method.equalsIgnoreCase( "DIRECT" ) ) { // Directly from server -- cgit v1.2.3-55-g7522