Search in sources :

Example 31 with Connection

use of org.ovirt.engine.sdk4.Connection in project pentaho-kettle by pentaho.

the class SSHDialog method test.

private void test() {
    boolean testOK = false;
    String errMsg = null;
    String servername = transMeta.environmentSubstitute(wServerName.getText());
    int nrPort = Const.toInt(transMeta.environmentSubstitute(wPort.getText()), 22);
    String username = transMeta.environmentSubstitute(wUserName.getText());
    String password = Utils.resolvePassword(transMeta, wPassword.getText());
    String keyFilename = transMeta.environmentSubstitute(wPrivateKey.getText());
    String passphrase = transMeta.environmentSubstitute(wPassphrase.getText());
    int timeOut = Const.toInt(transMeta.environmentSubstitute(wTimeOut.getText()), 0);
    String proxyhost = transMeta.environmentSubstitute(wProxyHost.getText());
    int proxyport = Const.toInt(transMeta.environmentSubstitute(wProxyPort.getText()), 0);
    String proxyusername = transMeta.environmentSubstitute(wProxyUsername.getText());
    String proxypassword = Utils.resolvePassword(transMeta, wProxyPassword.getText());
    Connection conn = null;
    try {
        conn = SSHData.OpenConnection(servername, nrPort, username, password, wUseKey.getSelection(), keyFilename, passphrase, timeOut, transMeta, proxyhost, proxyport, proxyusername, proxypassword);
        testOK = true;
    } catch (Exception e) {
        errMsg = e.getMessage();
    } finally {
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception e) {
            /* Ignore */
            }
        }
    }
    if (testOK) {
        MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_INFORMATION);
        mb.setMessage(BaseMessages.getString(PKG, "SSHDialog.Connected.OK", servername, username) + Const.CR);
        mb.setText(BaseMessages.getString(PKG, "SSHDialog.Connected.Title.Ok"));
        mb.open();
    } else {
        MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
        mb.setMessage(BaseMessages.getString(PKG, "SSHDialog.Connected.NOK.ConnectionBad", servername, username) + Const.CR + errMsg + Const.CR);
        mb.setText(BaseMessages.getString(PKG, "SSHDialog.Connected.Title.Bad"));
        mb.open();
    }
}
Also used : Connection(com.trilead.ssh2.Connection) KettleException(org.pentaho.di.core.exception.KettleException) MessageBox(org.eclipse.swt.widgets.MessageBox)

Example 32 with Connection

use of org.ovirt.engine.sdk4.Connection in project WeexErosFramework by bmfe.

the class WeexOkhttp3Interceptor method intercept.

@Override
public Response intercept(Chain chain) throws IOException {
    String requestId = String.valueOf(mNextRequestId.getAndIncrement());
    Request request = chain.request();
    mEventReporter = NetworkEventReporterManager.get();
    RequestBodyHelper requestBodyHelper = null;
    if (mEventReporter != null) {
        requestBodyHelper = new RequestBodyHelper(mEventReporter, requestId);
        OkHttpInspectorRequest inspectorRequest = new OkHttpInspectorRequest(requestId, request, requestBodyHelper);
        mEventReporter.requestWillBeSent(inspectorRequest);
    }
    Response response;
    try {
        response = chain.proceed(request);
    } catch (IOException e) {
        if (mEventReporter != null) {
            mEventReporter.httpExchangeFailed(requestId, e.toString());
        }
        throw e;
    }
    if (mEventReporter != null) {
        if (requestBodyHelper.hasBody()) {
            requestBodyHelper.reportDataSent();
        }
        Connection connection = chain.connection();
        mEventReporter.responseHeadersReceived(new OkHttpInspectorResponse(requestId, request, response));
        ResponseBody body = response.body();
        MediaType contentType = null;
        InputStream responseStream = null;
        if (body != null) {
            contentType = body.contentType();
            responseStream = body.byteStream();
        }
        responseStream = mEventReporter.interpretResponseStream(requestId, contentType != null ? contentType.toString() : null, response.header("Content-Encoding"), responseStream, new DefaultResponseHandler(mEventReporter, requestId));
        if (responseStream != null) {
            response = response.newBuilder().body(new ForwardingResponseBody(body, responseStream)).build();
        }
    }
    return response;
}
Also used : InputStream(java.io.InputStream) Request(okhttp3.Request) Connection(okhttp3.Connection) IOException(java.io.IOException) DefaultResponseHandler(com.taobao.weex.devtools.inspector.network.DefaultResponseHandler) ResponseBody(okhttp3.ResponseBody) Response(okhttp3.Response) RequestBodyHelper(com.taobao.weex.devtools.inspector.network.RequestBodyHelper) MediaType(okhttp3.MediaType)

Example 33 with Connection

use of org.ovirt.engine.sdk4.Connection in project pentaho-kettle by pentaho.

the class JobEntryFTPDeleteDialog method connectToSSH.

private boolean connectToSSH() {
    boolean retval = false;
    try {
        if (conn == null) {
            // Create a connection instance
            conn = new Connection(jobMeta.environmentSubstitute(wServerName.getText()), Const.toInt(jobMeta.environmentSubstitute(wPort.getText()), 22));
            /* We want to connect through a HTTP proxy */
            if (wuseProxy.getSelection()) {
                // if the proxy requires basic authentication:
                if (!Utils.isEmpty(wProxyUsername.getText())) {
                    conn.setProxyData(new HTTPProxyData(jobMeta.environmentSubstitute(wProxyHost.getText()), Const.toInt(wProxyPort.getText(), 22), jobMeta.environmentSubstitute(wProxyUsername.getText()), Utils.resolvePassword(jobMeta, wProxyPassword.getText())));
                } else {
                    conn.setProxyData(new HTTPProxyData(jobMeta.environmentSubstitute(wProxyHost.getText()), Const.toInt(wProxyPort.getText(), 22)));
                }
            }
            conn.connect();
            // Authenticate
            if (wusePublicKey.getSelection()) {
                retval = conn.authenticateWithPublicKey(jobMeta.environmentSubstitute(wUserName.getText()), new java.io.File(jobMeta.environmentSubstitute(wKeyFilename.getText())), jobMeta.environmentSubstitute(wkeyfilePass.getText()));
            } else {
                retval = conn.authenticateWithPassword(jobMeta.environmentSubstitute(wUserName.getText()), Utils.resolvePassword(jobMeta, wPassword.getText()));
            }
        }
        retval = true;
    } catch (Exception e) {
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception ignored) {
            // We've tried quitting the SSH Client exception
            // nothing else to be done if the SSH Client was already disconnected
            }
            conn = null;
        }
        MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
        mb.setMessage(BaseMessages.getString(PKG, "JobFTPDelete.ErrorConnect.NOK", e.getMessage()) + Const.CR);
        mb.setText(BaseMessages.getString(PKG, "JobFTPDelete.ErrorConnect.Title.Bad"));
        mb.open();
    }
    return retval;
}
Also used : FTPSConnection(org.pentaho.di.job.entries.ftpsget.FTPSConnection) Connection(com.trilead.ssh2.Connection) HTTPProxyData(com.trilead.ssh2.HTTPProxyData) MessageBox(org.eclipse.swt.widgets.MessageBox)

Example 34 with Connection

use of org.ovirt.engine.sdk4.Connection in project pentaho-kettle by pentaho.

the class JobEntrySSH2GET method execute.

@Override
public Result execute(Result previousResult, int nr) {
    Result result = previousResult;
    result.setResult(false);
    if (log.isRowLevel()) {
        logRowlevel(BaseMessages.getString(PKG, "JobSSH2GET.Log.GettingFieldsValue"));
    }
    // Get real variable value
    String realServerName = environmentSubstitute(serverName);
    int realServerPort = Const.toInt(environmentSubstitute(serverPort), 22);
    String realUserName = environmentSubstitute(userName);
    String realServerPassword = Encr.decryptPasswordOptionallyEncrypted(environmentSubstitute(password));
    // Proxy Host
    String realProxyHost = environmentSubstitute(httpProxyHost);
    int realProxyPort = Const.toInt(environmentSubstitute(httpproxyport), 22);
    String realproxyUserName = environmentSubstitute(httpproxyusername);
    String realProxyPassword = Encr.decryptPasswordOptionallyEncrypted(environmentSubstitute(httpProxyPassword));
    // Key file
    String realKeyFilename = environmentSubstitute(keyFilename);
    String relKeyFilepass = environmentSubstitute(keyFilePass);
    // target files
    String realLocalDirectory = environmentSubstitute(localDirectory);
    String realwildcard = environmentSubstitute(wildcard);
    // Remote source
    String realftpDirectory = environmentSubstitute(ftpDirectory);
    // Destination folder (Move to)
    String realDestinationFolder = environmentSubstitute(destinationfolder);
    try {
        // Remote source
        realftpDirectory = FTPUtils.normalizePath(realftpDirectory);
        // Destination folder (Move to)
        realDestinationFolder = FTPUtils.normalizePath(realDestinationFolder);
    } catch (Exception e) {
        logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.CanNotNormalizePath", e.getMessage()));
        result.setNrErrors(1);
        return result;
    }
    // Check for mandatory fields
    if (log.isRowLevel()) {
        logRowlevel(BaseMessages.getString(PKG, "JobSSH2GET.Log.CheckingMandatoryFields"));
    }
    boolean mandatoryok = true;
    if (Utils.isEmpty(realServerName)) {
        mandatoryok = false;
        logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.ServernameMissing"));
    }
    if (usehttpproxy) {
        if (Utils.isEmpty(realProxyHost)) {
            mandatoryok = false;
            logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.HttpProxyhostMissing"));
        }
    }
    if (publicpublickey) {
        if (Utils.isEmpty(realKeyFilename)) {
            mandatoryok = false;
            logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.KeyFileMissing"));
        } else {
            // Let's check if key file exists...
            if (!new File(realKeyFilename).exists()) {
                mandatoryok = false;
                logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.KeyFileNotExist"));
            }
        }
    }
    if (Utils.isEmpty(realLocalDirectory)) {
        mandatoryok = false;
        logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.LocalFolderMissing"));
    } else {
        // Check if target folder exists...
        if (!new File(realLocalDirectory).exists()) {
            if (createtargetfolder) {
                // Create Target folder
                if (!CreateFolder(realLocalDirectory)) {
                    mandatoryok = false;
                }
            } else {
                mandatoryok = false;
                logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.LocalFolderNotExists", realLocalDirectory));
            }
        } else {
            if (!new File(realLocalDirectory).isDirectory()) {
                mandatoryok = false;
                logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.LocalFolderNotFolder", realLocalDirectory));
            }
        }
    }
    if (afterFtpPut.equals("move_file")) {
        if (Utils.isEmpty(realDestinationFolder)) {
            mandatoryok = false;
            logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.DestinatFolderMissing"));
        }
    }
    if (mandatoryok) {
        Connection conn = null;
        SFTPv3Client client = null;
        boolean good = true;
        try {
            // Create a connection instance
            conn = getConnection(realServerName, realServerPort, realProxyHost, realProxyPort, realproxyUserName, realProxyPassword);
            if (log.isDetailed()) {
                logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.ConnectionInstanceCreated"));
            }
            if (timeout > 0) {
                // Cache Host Key
                if (cachehostkey) {
                    conn.connect(new SimpleVerifier(database), 0, timeout * 1000);
                } else {
                    conn.connect(null, 0, timeout * 1000);
                }
            } else {
                // Cache Host Key
                if (cachehostkey) {
                    conn.connect(new SimpleVerifier(database));
                } else {
                    conn.connect();
                }
            }
            // Authenticate
            boolean isAuthenticated = false;
            if (publicpublickey) {
                isAuthenticated = conn.authenticateWithPublicKey(realUserName, new File(realKeyFilename), relKeyFilepass);
            } else {
                isAuthenticated = conn.authenticateWithPassword(realUserName, realServerPassword);
            }
            // LET'S CHECK AUTHENTICATION ...
            if (isAuthenticated == false) {
                logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.AuthenticationFailed"));
            } else {
                if (log.isBasic()) {
                    logBasic(BaseMessages.getString(PKG, "JobSSH2GET.Log.Connected", serverName, userName));
                }
                client = new SFTPv3Client(conn);
                if (log.isDetailed()) {
                    logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.ProtocolVersion", "" + client.getProtocolVersion()));
                }
                // Check if ftp (source) directory exists
                if (!Utils.isEmpty(realftpDirectory)) {
                    if (!sshDirectoryExists(client, realftpDirectory)) {
                        good = false;
                        logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.RemoteDirectoryNotExist", realftpDirectory));
                    } else if (log.isDetailed()) {
                        logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.RemoteDirectoryExist", realftpDirectory));
                    }
                }
                if (!Utils.isEmpty(realDestinationFolder)) {
                    // Check now destination folder
                    if (!sshDirectoryExists(client, realDestinationFolder)) {
                        if (createdestinationfolder) {
                            if (!CreateRemoteFolder(client, realDestinationFolder)) {
                                good = false;
                            }
                        } else {
                            good = false;
                            logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.DestinatFolderNotExist", realDestinationFolder));
                        }
                    }
                }
                if (good) {
                    Pattern pattern = null;
                    if (!Utils.isEmpty(realwildcard)) {
                        pattern = Pattern.compile(realwildcard);
                    }
                    if (includeSubFolders) {
                        if (log.isDetailed()) {
                            logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.RecursiveModeOn"));
                        }
                        copyRecursive(realftpDirectory, realLocalDirectory, client, pattern, parentJob);
                    } else {
                        if (log.isDetailed()) {
                            logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.RecursiveModeOff"));
                        }
                        GetFiles(realftpDirectory, realLocalDirectory, client, pattern, parentJob);
                    }
                    /**
                     ****************************** RESULT *******************
                     */
                    if (log.isDetailed()) {
                        logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.Result.JobEntryEnd1"));
                        logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.Result.TotalFiles", "" + nbfilestoget));
                        logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.Result.TotalFilesPut", "" + nbgot));
                        logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.Result.TotalFilesError", "" + nbrerror));
                        logDetailed(BaseMessages.getString(PKG, "JobSSH2GET.Log.Result.JobEntryEnd2"));
                    }
                    if (nbrerror == 0) {
                        result.setResult(true);
                    /**
                     ****************************** RESULT *******************
                     */
                    }
                }
            }
        } catch (Exception e) {
            result.setNrErrors(nbrerror);
            logError(BaseMessages.getString(PKG, "JobSSH2GET.Log.Error.ErrorFTP", e.getMessage()));
        } finally {
            if (conn != null) {
                conn.close();
            }
            if (client != null) {
                client.close();
            }
        }
    }
    return result;
}
Also used : Pattern(java.util.regex.Pattern) Connection(com.trilead.ssh2.Connection) SFTPv3Client(com.trilead.ssh2.SFTPv3Client) File(java.io.File) KettleException(org.pentaho.di.core.exception.KettleException) KettleDatabaseException(org.pentaho.di.core.exception.KettleDatabaseException) KettleXMLException(org.pentaho.di.core.exception.KettleXMLException) Result(org.pentaho.di.core.Result)

Example 35 with Connection

use of org.ovirt.engine.sdk4.Connection in project pentaho-kettle by pentaho.

the class JobEntrySSH2PUTDialog method connect.

private boolean connect() {
    boolean retval = false;
    try {
        if (conn == null) {
            // Create a connection instance
            conn = new Connection(jobMeta.environmentSubstitute(wServerName.getText()), Const.toInt(jobMeta.environmentSubstitute(wServerPort.getText()), 22));
            /* We want to connect through a HTTP proxy */
            if (wuseHTTPProxy.getSelection()) {
                // if the proxy requires basic authentication:
                if (wuseBasicAuthentication.getSelection()) {
                    conn.setProxyData(new HTTPProxyData(jobMeta.environmentSubstitute(wHTTPProxyHost.getText()), Const.toInt(wHTTPProxyPort.getText(), 22), jobMeta.environmentSubstitute(wHTTPProxyUsername.getText()), jobMeta.environmentSubstitute(wHTTPProxyPassword.getText())));
                } else {
                    conn.setProxyData(new HTTPProxyData(jobMeta.environmentSubstitute(wHTTPProxyHost.getText()), Const.toInt(wHTTPProxyPort.getText(), 22)));
                }
            }
            conn.connect();
            // Authenticate
            if (wusePublicKey.getSelection()) {
                retval = conn.authenticateWithPublicKey(jobMeta.environmentSubstitute(wUserName.getText()), new java.io.File(jobMeta.environmentSubstitute(wKeyFilename.getText())), jobMeta.environmentSubstitute(wkeyfilePass.getText()));
            } else {
                retval = conn.authenticateWithPassword(jobMeta.environmentSubstitute(wUserName.getText()), jobMeta.environmentSubstitute(wPassword.getText()));
            }
        }
        retval = true;
    } catch (Exception e) {
        MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
        mb.setMessage(BaseMessages.getString(PKG, "JobSSH2PUT.ErrorConnect.NOK", e.getMessage()) + Const.CR);
        mb.setText(BaseMessages.getString(PKG, "JobSSH2PUT.ErrorConnect.Title.Bad"));
        mb.open();
    }
    return retval;
}
Also used : Connection(com.trilead.ssh2.Connection) HTTPProxyData(com.trilead.ssh2.HTTPProxyData) MessageBox(org.eclipse.swt.widgets.MessageBox)

Aggregations

Connection (org.ovirt.engine.sdk4.Connection)63 Connection (com.trilead.ssh2.Connection)52 IOException (java.io.IOException)41 VmsService (org.ovirt.engine.sdk4.services.VmsService)33 Session (com.trilead.ssh2.Session)32 Vm (org.ovirt.engine.sdk4.types.Vm)30 InputStream (java.io.InputStream)25 VmService (org.ovirt.engine.sdk4.services.VmService)18 SystemService (org.ovirt.engine.sdk4.services.SystemService)14 StorageDomainsService (org.ovirt.engine.sdk4.services.StorageDomainsService)12 StorageDomain (org.ovirt.engine.sdk4.types.StorageDomain)12 Connection (okhttp3.Connection)11 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)10 Request (okhttp3.Request)10 File (java.io.File)9 Response (okhttp3.Response)9 Connection (ch.ethz.ssh2.Connection)8 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)8 MediaType (okhttp3.MediaType)8 RequestBody (okhttp3.RequestBody)8