From 066c4ce61e8a9da76ccbbc99972b5d20cdcc69b0 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 11 Apr 2018 09:36:58 +0200 Subject: [PATCH] remove obsolete reflection for Java6 code --- .../tools/ant/input/SecureInputHandler.java | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/main/org/apache/tools/ant/input/SecureInputHandler.java b/src/main/org/apache/tools/ant/input/SecureInputHandler.java index 039c6f848..390a3ccce 100644 --- a/src/main/org/apache/tools/ant/input/SecureInputHandler.java +++ b/src/main/org/apache/tools/ant/input/SecureInputHandler.java @@ -17,13 +17,12 @@ */ package org.apache.tools.ant.input; +import java.util.Arrays; import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.util.ReflectUtil; /** * Prompts and requests input. May loop until a valid input has - * been entered. Doesn't echo input (requires Java6). If Java6 is not - * available, falls back to the DefaultHandler (insecure). + * been entered. Doesn't echo input. * @since Ant 1.7.1 */ public class SecureInputHandler extends DefaultInputHandler { @@ -41,19 +40,10 @@ public class SecureInputHandler extends DefaultInputHandler { */ public void handleInput(InputRequest request) throws BuildException { String prompt = getPrompt(request); - try { - Object console = ReflectUtil.invokeStatic(System.class, "console"); - do { - char[] input = ReflectUtil.invoke( - console, "readPassword", String.class, prompt, - Object[].class, null); - request.setInput(new String(input)); - /* for security zero char array after retrieving value */ - java.util.Arrays.fill(input, ' '); - } while (!request.isInputValid()); - } catch (Exception e) { - /* Java6 not present use default handler */ - super.handleInput(request); - } + do { + char[] input = System.console().readPassword(); + request.setInput(new String(input)); + Arrays.fill(input, ' '); + } while (!request.isInputValid()); } -} \ No newline at end of file +}