Info Call to SSL/TLS API

Description

List of all files shipped in the application.

Recommendation

This entry is informative, no recommendations applicable.

References
Technical details

Method io.socket.engineio.client.transports.PollingXHR$Request.create() calling method javax.net.ssl.HttpsURLConnection.setHostnameVerifier()


    public void create()
    {
        try {
            String v6_8;
            String v6_18 = io.socket.engineio.client.transports.PollingXHR.access$200();
            Object[] v8_4 = new Object[2];
            v8_4[0] = this.method;
            v8_4[1] = this.uri;
            v6_18.fine(String.format("xhr open %s: %s", v8_4));
            java.net.URL v4_1 = new java.net.URL(this.uri);
        } catch (java.io.IOException v0) {
            this.onError(v0);
            return;
        }
        if (this.proxy == null) {
            v6_8 = ((java.net.HttpURLConnection) v4_1.openConnection());
        } else {
            v6_8 = ((java.net.HttpURLConnection) v4_1.openConnection(this.proxy));
        }
        this.xhr = v6_8;
        this.xhr.setRequestMethod(this.method);
        this.xhr.setConnectTimeout(10000);
        if ((this.xhr instanceof javax.net.ssl.HttpsURLConnection)) {
            if (this.sslContext != null) {
                ((javax.net.ssl.HttpsURLConnection) this.xhr).setSSLSocketFactory(this.sslContext.getSocketFactory());
            }
            if (this.hostnameVerifier != null) {
                ((javax.net.ssl.HttpsURLConnection) this.xhr).setHostnameVerifier(this.hostnameVerifier);
            }
        }
        java.util.TreeMap v2_1 = new java.util.TreeMap(String.CASE_INSENSITIVE_ORDER);
        if ("POST".equals(this.method)) {
            this.xhr.setDoOutput(1);
            Object[] v8_1 = new String[1];
            v8_1[0] = "application/octet-stream";
            v2_1.put("Content-type", new java.util.LinkedList(java.util.Arrays.asList(v8_1)));
        }
        void v3_1 = this.onRequestHeaders(v2_1);
        io.socket.engineio.client.transports.PollingXHR$Request$1 v7_10 = v2_1.entrySet().iterator();
        while (v7_10.hasNext()) {
            java.util.Map$Entry v1_1 = ((java.util.Map$Entry) v7_10.next());
            Object[] v8_0 = ((java.util.List) v1_1.getValue()).iterator();
            while (v8_0.hasNext()) {
                this.xhr.addRequestProperty(((String) v1_1.getKey()), ((String) v8_0.next()));
            }
        }
        String v6_29 = io.socket.engineio.client.transports.PollingXHR.access$200();
        Object[] v8_5 = new Object[2];
        v8_5[0] = this.uri;
        v8_5[1] = this.data;
        v6_29.fine(String.format("sending xhr with url %s | data %s", v8_5));
        new Thread(new io.socket.engineio.client.transports.PollingXHR$Request$1(this, v3_1)).start();
        return;
    }

Method io.socket.engineio.client.transports.WebSocket.doOpen() calling method okhttp3.OkHttpClient$Builder.hostnameVerifier()


    protected void doOpen()
    {
        java.util.TreeMap v6_1 = new java.util.TreeMap(String.CASE_INSENSITIVE_ORDER);
        String v11_5 = new Object[1];
        v11_5[0] = v6_1;
        this.emit("requestHeaders", v11_5);
        okhttp3.OkHttpClient$Builder v2 = new okhttp3.OkHttpClient$Builder().connectTimeout(0, java.util.concurrent.TimeUnit.MILLISECONDS).readTimeout(0, java.util.concurrent.TimeUnit.MILLISECONDS).writeTimeout(0, java.util.concurrent.TimeUnit.MILLISECONDS);
        if (this.sslContext != null) {
            v2.sslSocketFactory(this.sslContext.getSocketFactory());
        }
        if (this.hostnameVerifier != null) {
            v2.hostnameVerifier(this.hostnameVerifier);
        }
        if (this.proxy != null) {
            v2.proxy(this.proxy);
        }
        if ((this.proxyLogin != null) && (!this.proxyLogin.isEmpty())) {
            v2.proxyAuthenticator(new io.socket.engineio.client.transports.WebSocket$1(this, okhttp3.Credentials.basic(this.proxyLogin, this.proxyPassword)));
        }
        okhttp3.Request$Builder v0 = new okhttp3.Request$Builder().url(this.uri());
        String v11_7 = v6_1.entrySet().iterator();
        while (v11_7.hasNext()) {
            java.util.Map$Entry v4_1 = ((java.util.Map$Entry) v11_7.next());
            java.util.Iterator v12_4 = ((java.util.List) v4_1.getValue()).iterator();
            while (v12_4.hasNext()) {
                v0.addHeader(((String) v4_1.getKey()), ((String) v12_4.next()));
            }
        }
        okhttp3.Request v7 = v0.build();
        okhttp3.OkHttpClient v1 = v2.build();
        this.ws = v1.newWebSocket(v7, new io.socket.engineio.client.transports.WebSocket$2(this, this));
        v1.dispatcher().executorService().shutdown();
        return;
    }