Commit: 61f397741eede36bdc9db03e8bedf4c1f436ec05 Author: Holly Li (WIPRO LIMITED) <v-hu...@microsoft.com> Tue, 13 Aug 2019 08:37:45 +0200 Committer: Christoph M. Becker <cmbecke...@gmx.de> Tue, 13 Aug 2019 09:05:31 +0200 Parents: 260bd899bc0306426dc3d0c7f4348990c6d636db Branches: master
Link: http://git.php.net/?p=pftt2.git;a=commitdiff;h=61f397741eede36bdc9db03e8bedf4c1f436ec05 Log: close #29, Exit status is not being respected in exec methods Bugs: https://bugs.php.net/29 Changed paths: M src/com/mostc/pftt/host/LocalHost.java M src/com/mostc/pftt/util/HostEnvUtil.java Diff: diff --git a/src/com/mostc/pftt/host/LocalHost.java b/src/com/mostc/pftt/host/LocalHost.java index 2c8fe64..e018c66 100644 --- a/src/com/mostc/pftt/host/LocalHost.java +++ b/src/com/mostc/pftt/host/LocalHost.java @@ -505,6 +505,14 @@ public abstract class LocalHost extends AHost { } }*/ // + + // try to set exit code after execution + try { + exit_code = p.exitValue(); + } catch (IllegalThreadStateException ex ) + { + ConsoleManagerUtil.printStackTrace(LocalHost.class, ex); + } active_proc_counter.decrementAndGet(); diff --git a/src/com/mostc/pftt/util/HostEnvUtil.java b/src/com/mostc/pftt/util/HostEnvUtil.java index 99985ff..4a856a9 100644 --- a/src/com/mostc/pftt/util/HostEnvUtil.java +++ b/src/com/mostc/pftt/util/HostEnvUtil.java @@ -669,11 +669,10 @@ public final class HostEnvUtil { private static void addRuleToFirewall(ConsoleManager cm, AHost host, String name, String installerFile) throws IOException, Exception { String rule = name.replace(' ', '_'); - ExecOutput op = host.execOut("cmd /c powershell -Command \"if ($(Get-NetFirewallRule -DisplayName '"+ rule + "')) {echo 'found'} else { echo 'not found' }\" 2>nul", AHost.TEN_MINUTES); + ExecOutput op = host.execOut("netsh advfirewall firewall show rule name=" + rule, AHost.ONE_MINUTE); // Check if rule exists for file, if not add it - // TODO: Adjust to use exit status, but have to figure out why java overwrites status code. - if(op.output.contains("not found")) { + if(op.exit_code != 0) { cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Adding " + name + " as rule for the firewall..."); host.execElevated(cm, HostEnvUtil.class, "netsh advfirewall firewall add rule name=" + rule + " dir=in action=allow " + "program=\""+ installerFile +"\" enable=yes remoteip=127.0.0.1", AHost.ONE_MINUTE);