diff --git a/bundles/org.eclipse.remote.proxy.core/plugin.xml b/bundles/org.eclipse.remote.proxy.core/plugin.xml
index 4f56f948bd4..2de33ec7138 100644
--- a/bundles/org.eclipse.remote.proxy.core/plugin.xml
+++ b/bundles/org.eclipse.remote.proxy.core/plugin.xml
@@ -40,7 +40,7 @@
+
+
T getService(IRemoteConnection connection, Class service) {
- if (IRemoteCommandShellService.class.equals(service)) {
- return (T) new ProxyCommandShellService(connection);
- }
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnection.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnection.java
index fa2d269c113..20a0cfcd324 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnection.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnection.java
@@ -37,8 +37,8 @@ import org.eclipse.remote.internal.proxy.core.commands.GetCwdCommand;
import org.eclipse.remote.internal.proxy.core.commands.GetEnvCommand;
import org.eclipse.remote.internal.proxy.core.commands.GetPropertiesCommand;
import org.eclipse.remote.internal.proxy.core.messages.Messages;
-import org.eclipse.remote.proxy.protocol.core.StreamChannelManager;
import org.eclipse.remote.proxy.protocol.core.StreamChannel;
+import org.eclipse.remote.proxy.protocol.core.StreamChannelManager;
import org.eclipse.remote.proxy.protocol.core.exceptions.ProxyException;
import com.jcraft.jsch.ChannelShell;
@@ -48,7 +48,8 @@ import com.jcraft.jsch.ChannelShell;
*/
public class ProxyConnection implements IRemoteConnectionControlService,
IRemoteConnectionChangeListener, IRemoteProcessService,
- IRemoteCommandShellService, IRemoteConnectionHostService {
+ IRemoteCommandShellService, IRemoteConnectionHostService,
+ IRemoteConnectionPropertyService {
// Connection Type ID
public static final String JSCH_ID = "org.eclipse.remote.Proxy"; //$NON-NLS-1$
@@ -72,7 +73,6 @@ public class ProxyConnection implements IRemoteConnectionControlService,
private StreamChannelManager channelMux;
private StreamChannel commandChannel;
private boolean isOpen;
- private boolean proxyRunning;
private final IRemoteConnection fRemoteConnection;
@@ -133,7 +133,8 @@ public class ProxyConnection implements IRemoteConnectionControlService,
|| IRemoteConnectionPropertyService.class.equals(service)
|| IRemoteConnectionHostService.class.equals(service)
|| IRemoteProcessService.class.equals(service)
- || IRemoteCommandShellService.class.equals(service)) {
+ || IRemoteCommandShellService.class.equals(service)
+ || IRemoteConnectionPropertyService.class.equals(service)) {
return (T) connection.getService(ProxyConnection.class);
} else {
return null;
@@ -348,7 +349,7 @@ public class ProxyConnection implements IRemoteConnectionControlService,
@Override
public IRemoteProcess getCommandShell(int flags) throws IOException {
- throw new IOException("Not implemented yet");
+ return new ProxyProcessBuilder(this).start(flags);
}
@Override
@@ -454,4 +455,9 @@ public class ProxyConnection implements IRemoteConnectionControlService,
wc.setAttribute(USERNAME_ATTR, username);
}
}
+
+ @Override
+ public String getProperty(String key) {
+ return fProperties.get(key);
+ }
}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnectionBootstrap.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnectionBootstrap.java
index 9262b93d5fc..03b2aa2017e 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnectionBootstrap.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyConnectionBootstrap.java
@@ -211,7 +211,7 @@ public class ProxyConnectionBootstrap {
int n;
while ((n = in.read(buf)) >= 0) {
if (n < 510) {
- writer.write(encoder.encodeToString(Arrays.copyOf(buf, n)) + "\n");
+ writer.write(encoder.encodeToString(Arrays.copyOf(buf, n)) + "\n"); //$NON-NLS-1$
} else {
writer.write(encoder.encodeToString(buf));
}
@@ -311,7 +311,7 @@ public class ProxyConnectionBootstrap {
throw new RemoteConnectionException(Messages.ProxyConnectionBootstrap_8);
}
exec = (ChannelExec) session.openChannel("exec"); //$NON-NLS-1$
- exec.setCommand("/bin/sh -l"); //$NON-NLS-1$
+ exec.setCommand("/bin/bash -l"); //$NON-NLS-1$
exec.connect();
return exec;
} catch (JSchException e) {
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcess.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcess.java
index 5ac03036b44..95cd5a9de16 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcess.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcess.java
@@ -12,18 +12,18 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.List;
-import org.eclipse.remote.core.IRemoteConnection;
import org.eclipse.remote.core.IRemoteProcess;
-import org.eclipse.remote.core.IRemoteProcessBuilder;
import org.eclipse.remote.core.IRemoteProcessControlService;
import org.eclipse.remote.core.IRemoteProcessSignalService;
import org.eclipse.remote.core.IRemoteProcessTerminalService;
-import org.eclipse.remote.internal.core.RemoteProcess;
+import org.eclipse.remote.proxy.protocol.core.Protocol;
import org.eclipse.remote.proxy.protocol.core.StreamChannel;
-public class ProxyProcess extends RemoteProcess implements IRemoteProcessControlService, IRemoteProcessTerminalService {
+public class ProxyProcess implements IRemoteProcessControlService, IRemoteProcessTerminalService {
private IRemoteProcess remoteProcess;
+
private final StreamChannel stdIOChan;
private final StreamChannel stdErrChan;
private final StreamChannel controlChan;
@@ -44,8 +44,8 @@ public class ProxyProcess extends RemoteProcess implements IRemoteProcessControl
@SuppressWarnings("unchecked")
@Override
public T getService(IRemoteProcess remoteProcess, Class service) {
- if (ProxyProcess.class.equals(service) && remoteProcess instanceof ProxyProcess) {
- return (T) remoteProcess;
+ if (ProxyProcess.class.equals(service)) {
+ return (T) new ProxyProcess(remoteProcess);
}
if (IRemoteProcessControlService.class.equals(service) || IRemoteProcessSignalService.class.equals(service)
|| IRemoteProcessTerminalService.class.equals(service)) {
@@ -55,17 +55,19 @@ public class ProxyProcess extends RemoteProcess implements IRemoteProcessControl
}
}
- public ProxyProcess(IRemoteConnection connection, IRemoteProcessBuilder builder, StreamChannel stdIO, StreamChannel stdErr, StreamChannel control) {
- super(connection, builder);
- stdIOChan = stdIO;
- stdErrChan = stdErr;
- controlChan = control;
- cmdStream = new DataOutputStream(control.getOutputStream());
- resultStream = new DataInputStream(control.getInputStream());
+ protected ProxyProcess(IRemoteProcess process) {
+ remoteProcess = process;
+ ProxyProcessBuilder builder = (ProxyProcessBuilder)process.getProcessBuilder();
+ List streams = builder.getStreams();
+ controlChan = streams.get(0);
+ stdIOChan = streams.get(1);
+ stdErrChan = streams.size() > 2 ? streams.get(2) : null;
+ cmdStream = new DataOutputStream(controlChan.getOutputStream());
+ resultStream = new DataInputStream(controlChan.getInputStream());
isCompleted = false;
exitValue = 0;
- cmdThread = new Thread("process " + builder.command().get(0) + " result reader") { //$NON-NLS-1$ //$NON-NLS-2$
+ cmdThread = new Thread("process result reader") { //$NON-NLS-1$
@Override
public void run() {
try {
@@ -77,36 +79,15 @@ public class ProxyProcess extends RemoteProcess implements IRemoteProcessControl
try {
stdIOChan.close();
} catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
+ // Ignore
}
try {
- stdErrChan.close();
+ if (stdErrChan != null) {
+ stdErrChan.close();
+ }
} catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
+ // Ignore
}
-// if (stdout == null) {
-// try {
-// stdIOChan.getInputStream().close();
-// } catch (IOException e) {
-// // Ignore
-// }
-// }
-// if (stdin == null) {
-// try {
-// stdIOChan.getOutputStream().close();
-// } catch (IOException e) {
-// // Ignore
-// }
-// }
-// if (stderr == null) {
-// try {
-// stdErrChan.close();
-// } catch (IOException e) {
-// // Ignore
-// }
-// }
try {
controlChan.close();
} catch (IOException e) {
@@ -125,7 +106,7 @@ public class ProxyProcess extends RemoteProcess implements IRemoteProcessControl
@Override
public void destroy() {
try {
- cmdStream.writeByte(0);
+ cmdStream.writeByte(Protocol.CONTROL_KILL);
cmdStream.flush();
} catch (IOException e) {
isCompleted = true;
@@ -152,6 +133,19 @@ public class ProxyProcess extends RemoteProcess implements IRemoteProcessControl
*/
@Override
public InputStream getErrorStream() {
+ if (stdErrChan == null) {
+ return new InputStream() {
+ @Override
+ public int read() throws IOException {
+ return -1;
+ }
+
+ @Override
+ public int available() {
+ return 0;
+ }
+ };
+ }
return stdErrChan.getInputStream();
}
@@ -203,6 +197,15 @@ public class ProxyProcess extends RemoteProcess implements IRemoteProcessControl
@Override
public void setTerminalSize(int cols, int rows, int pwidth, int pheight) {
- // Nothing?
+ try {
+ cmdStream.writeByte(Protocol.CONTROL_SETTERMINALSIZE);
+ cmdStream.writeInt(cols);
+ cmdStream.writeInt(rows);
+ cmdStream.writeInt(pwidth);
+ cmdStream.writeInt(pheight);
+ cmdStream.flush();
+ } catch (IOException e) {
+ // Dealt with somewhere else hopefully
+ }
}
}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcessBuilder.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcessBuilder.java
index 4d509ec1205..024119405a7 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcessBuilder.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/ProxyProcessBuilder.java
@@ -8,6 +8,7 @@
package org.eclipse.remote.internal.proxy.core;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -22,6 +23,7 @@ import org.eclipse.remote.core.IRemoteFileService;
import org.eclipse.remote.core.IRemoteProcess;
import org.eclipse.remote.core.IRemoteProcessBuilder;
import org.eclipse.remote.internal.proxy.core.commands.ExecCommand;
+import org.eclipse.remote.internal.proxy.core.commands.ShellCommand;
import org.eclipse.remote.internal.proxy.core.messages.Messages;
import org.eclipse.remote.proxy.protocol.core.StreamChannel;
import org.eclipse.remote.proxy.protocol.core.exceptions.ProxyException;
@@ -29,6 +31,7 @@ import org.eclipse.remote.proxy.protocol.core.exceptions.ProxyException;
public class ProxyProcessBuilder extends AbstractRemoteProcessBuilder {
private final ProxyConnection proxyConnection;
private Map remoteEnv;
+ private List streams = new ArrayList<>();
public ProxyProcessBuilder(ProxyConnection connection, List command) {
super(connection.getRemoteConnection(), command);
@@ -42,6 +45,17 @@ public class ProxyProcessBuilder extends AbstractRemoteProcessBuilder {
public ProxyProcessBuilder(ProxyConnection connection, String... command) {
this(connection, Arrays.asList(command));
}
+
+ /**
+ * Constructor for creating command shell
+ * @param connection
+ */
+ public ProxyProcessBuilder(ProxyConnection connection) {
+ super(connection.getRemoteConnection(), (List)null);
+ proxyConnection = connection;
+ redirectErrorStream(true);
+ }
+
/*
* (non-Javadoc)
@@ -76,41 +90,66 @@ public class ProxyProcessBuilder extends AbstractRemoteProcessBuilder {
*/
@Override
public IRemoteProcess start(int flags) throws IOException {
- final List cmdArgs = command();
- if (cmdArgs.size() < 1) {
- throw new IndexOutOfBoundsException();
- }
- /*
- * If environment has not been touched, then don't send anything
- */
- final Map env = new HashMap();
- if (remoteEnv != null) {
- env.putAll(remoteEnv);
- }
- final boolean append = (flags & IRemoteProcessBuilder.APPEND_ENVIRONMENT) != 0 || remoteEnv == null;
-
final ProxyConnection conn = getRemoteConnection().getService(ProxyConnection.class);
if (conn == null) {
throw new IOException(Messages.ProxyProcessBuilder_0);
}
- final StreamChannel chanStdIO = conn.openChannel();
- final StreamChannel chanStdErr = conn.openChannel();
- final StreamChannel chanControl = conn.openChannel();
+ Job job;
- Job job = new Job("process executor") { //$NON-NLS-1$
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- ExecCommand cmd = new ExecCommand(conn, cmdArgs, env, directory().toURI().getPath(), redirectErrorStream(), append,
- chanStdIO.getId(), chanStdErr.getId(), chanControl.getId());
- try {
- cmd.getResult(monitor);
- } catch (ProxyException e) {
- return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), e.getMessage());
- }
- return monitor.isCanceled() ? Status.CANCEL_STATUS : Status.OK_STATUS;
+ final List cmdArgs = command();
+ if (cmdArgs != null) {
+ if (cmdArgs.size() < 1) {
+ throw new IOException(Messages.ProxyProcessBuilder_1);
}
- };
+ /*
+ * If environment has not been touched, then don't send anything
+ */
+ final Map env = new HashMap();
+ if (remoteEnv != null) {
+ env.putAll(remoteEnv);
+ }
+
+ final boolean append = (flags & IRemoteProcessBuilder.APPEND_ENVIRONMENT) != 0 || remoteEnv == null;
+
+ streams.add(conn.openChannel());
+ streams.add(conn.openChannel());
+ streams.add(conn.openChannel());
+
+ job = new Job("process executor") { //$NON-NLS-1$
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ ExecCommand cmd = new ExecCommand(conn, cmdArgs, env, directory().toURI().getPath(), redirectErrorStream(), append,
+ streams.get(0).getId(), streams.get(1).getId(), streams.get(2).getId());
+ try {
+ cmd.getResult(monitor);
+ } catch (ProxyException e) {
+ return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), e.getMessage());
+ }
+ return monitor.isCanceled() ? Status.CANCEL_STATUS : Status.OK_STATUS;
+ }
+ };
+ } else {
+ /*
+ * Start command shell
+ */
+ streams.add(conn.openChannel());
+ streams.add(conn.openChannel());
+
+ job = new Job("process executor") { //$NON-NLS-1$
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ ShellCommand cmd = new ShellCommand(conn, streams.get(0).getId(), streams.get(1).getId());
+ try {
+ cmd.getResult(monitor);
+ } catch (ProxyException e) {
+ return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), e.getMessage());
+ }
+ return monitor.isCanceled() ? Status.CANCEL_STATUS : Status.OK_STATUS;
+ }
+ };
+ }
+
job.schedule();
try {
job.join();
@@ -121,7 +160,10 @@ public class ProxyProcessBuilder extends AbstractRemoteProcessBuilder {
throw new IOException(job.getResult().getMessage());
}
- ProxyProcess proc = new ProxyProcess(getRemoteConnection(), this, chanStdIO, chanStdErr, chanControl);
- return proc;
+ return newRemoteProcess();
+ }
+
+ public List getStreams() {
+ return streams;
}
}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/AbstractCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/AbstractCommand.java
index 52e14cc8fed..dec2d98c77c 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/AbstractCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/AbstractCommand.java
@@ -19,6 +19,7 @@ import java.util.concurrent.TimeoutException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.remote.internal.proxy.core.ProxyConnection;
+import org.eclipse.remote.internal.proxy.core.messages.Messages;
import org.eclipse.remote.proxy.protocol.core.StreamChannel;
import org.eclipse.remote.proxy.protocol.core.exceptions.ProxyException;
@@ -28,15 +29,11 @@ public abstract class AbstractCommand implements Callable {
private static ExecutorService executors = Executors.newSingleThreadExecutor();
private final ProxyConnection connection;
-
private Future asyncCmdInThread() throws ProxyException {
return executors.submit(this);
}
- private void finalizeCmdInThread() {
- }
-
public StreamChannel openChannel() throws IOException {
return connection.openChannel();
}
@@ -52,12 +49,8 @@ public abstract class AbstractCommand implements Callable {
public T getResult(IProgressMonitor monitor) throws ProxyException {
Future future = null;
progressMonitor = SubMonitor.convert(monitor, 10);
- try {
- future = asyncCmdInThread();
- return waitCmdInThread(future);
- } finally {
- finalizeCmdInThread();
- }
+ future = asyncCmdInThread();
+ return waitCmdInThread(future);
}
private T waitCmdInThread(Future future) throws ProxyException {
@@ -78,7 +71,7 @@ public abstract class AbstractCommand implements Callable {
Thread.currentThread().interrupt(); // set current thread flag
}
future.cancel(true);
- throw new ProxyException("Operation cancelled by user");
+ throw new ProxyException(Messages.AbstractCommand_0);
}
@Override
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ChildInfosCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ChildInfosCommand.java
index 325f5c6732a..3e6af47c3f0 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ChildInfosCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ChildInfosCommand.java
@@ -44,7 +44,6 @@ public class ChildInfosCommand extends AbstractCommand {
byte res = in.readByte();
if (res != Protocol.PROTO_OK) {
String errMsg = in.readUTF();
- System.err.println("childinfos command failed:" + errMsg);
throw new ProxyException(errMsg);
}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/DeleteCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/DeleteCommand.java
index 96e44aa1c04..bd7463c8f16 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/DeleteCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/DeleteCommand.java
@@ -41,7 +41,6 @@ public class DeleteCommand extends AbstractCommand {
byte res = in.readByte();
if (res != Protocol.PROTO_OK) {
String errMsg = in.readUTF();
- System.err.println("delete command failed:" + errMsg);
throw new ProxyException(errMsg);
}
return null;
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ExecCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ExecCommand.java
index 3bf1136fe88..c03decd2e73 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ExecCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/ExecCommand.java
@@ -26,12 +26,12 @@ public class ExecCommand extends AbstractCommand {
private final String directory;
private final boolean appendEnv;
private final boolean redirect;
- private final int chanA;
- private final int chanB;
- private final int chanC;
+ private final int cmdChan;
+ private final int ioChan;
+ private final int errChan;
public ExecCommand(ProxyConnection conn, List command, Map env, String directory, boolean redirect, boolean appendEnv,
- int chanA, int chanB, int chanC) {
+ int cmdChan, int ioChan, int errChan) {
super(conn);
this.out = new DataOutputStream(conn.getCommandChannel().getOutputStream());
this.in = new DataInputStream(conn.getCommandChannel().getInputStream());
@@ -40,18 +40,18 @@ public class ExecCommand extends AbstractCommand {
this.directory = directory;
this.redirect = redirect;
this.appendEnv = appendEnv;
- this.chanA = chanA;
- this.chanB = chanB;
- this.chanC = chanC;
+ this.cmdChan = cmdChan;
+ this.ioChan = ioChan;
+ this.errChan = errChan;
}
public Void call() throws ProxyException {
try {
out.writeByte(Protocol.PROTO_COMMAND);
out.writeShort(Protocol.CMD_EXEC);
- out.writeByte(chanA);
- out.writeByte(chanB);
- out.writeByte(chanC);
+ out.writeByte(cmdChan);
+ out.writeByte(ioChan);
+ out.writeByte(errChan);
out.writeInt(command.size());
for (String arg : command) {
out.writeUTF(arg);
@@ -69,7 +69,6 @@ public class ExecCommand extends AbstractCommand {
byte res = in.readByte();
if (res != Protocol.PROTO_OK) {
String errMsg = in.readUTF();
- System.err.println("exec command failed:" + errMsg);
throw new ProxyException(errMsg);
}
} catch (IOException e) {
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/FetchInfoCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/FetchInfoCommand.java
index b04ce3f8e82..06163711351 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/FetchInfoCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/FetchInfoCommand.java
@@ -44,7 +44,6 @@ public class FetchInfoCommand extends AbstractCommand {
byte res = in.readByte();
if (res != Protocol.PROTO_OK) {
String errMsg = in.readUTF();
- System.err.println("fetchinfo command failed:" + errMsg);
throw new ProxyException(errMsg);
}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetCwdCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetCwdCommand.java
index 2d1eb027c96..99a373cae13 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetCwdCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetCwdCommand.java
@@ -40,7 +40,6 @@ public class GetCwdCommand extends AbstractCommand {
byte res = in.readByte();
if (res != Protocol.PROTO_OK) {
String errMsg = in.readUTF();
- System.err.println("getcwd command failed:" + errMsg);
throw new ProxyException(errMsg);
}
diff --git a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetEnvCommand.java b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetEnvCommand.java
index df9e8d3e7ed..773f39f3f42 100644
--- a/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetEnvCommand.java
+++ b/bundles/org.eclipse.remote.proxy.core/src/org/eclipse/remote/internal/proxy/core/commands/GetEnvCommand.java
@@ -42,7 +42,6 @@ public class GetEnvCommand extends AbstractCommand