Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit a0cddca2 authored by tobiasKaminsky's avatar tobiasKaminsky
Browse files

support for server side client

parent 9875160c
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -308,7 +310,7 @@ public class SettingsActivity extends AppCompatActivity {
                try {
                    final boolean[] accepted = new boolean[1];
                    NoteServerSyncHelper.getInstance(NoteSQLiteOpenHelper.getInstance(getApplicationContext()))
                            .checkCertificate(cert.getEncoded(), new IOnCertificateDecision.Stub() {
                            .checkCertificate(cert.getEncoded(), true, new IOnCertificateDecision.Stub() {
                                @Override
                                public void accept() {
                                    Log.d("Note", "cert accepted");
@@ -322,15 +324,9 @@ public class SettingsActivity extends AppCompatActivity {
                                    handler.cancel();
                                }
                            });

                    if (!accepted[0]) {
                        // this should never happen, submit button is only enabled if url has been validated
                        Log.e("Note", "No response from certificate service");
                        handler.cancel();
                    }
                } catch (Exception e) {
                    Log.e("Note", "Cert could not be verified");
                    handler.cancel();
                    handler.proceed();
                }
            }

+2 −2
Original line number Diff line number Diff line
@@ -174,8 +174,8 @@ public class NoteServerSyncHelper {
        return customCertManager;
    }

    public void checkCertificate(byte[] cert, IOnCertificateDecision callback) throws RemoteException {
        iCustomCertService.checkTrusted(cert, true, false, callback);
    public void checkCertificate(byte[] cert, boolean foreground, IOnCertificateDecision callback) throws RemoteException {
        iCustomCertService.checkTrusted(cert, true, foreground, callback);
    }

    /**
+3 −2
Original line number Diff line number Diff line
@@ -4,13 +4,14 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;
import android.preference.PreferenceManager;
import androidx.annotation.WorkerThread;
import android.text.Html;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.widget.TextView;

import androidx.annotation.WorkerThread;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
@@ -93,6 +94,6 @@ public class SupportUtil {
    @WorkerThread
    public static CustomCertManager getCertManager(Context ctx) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(ctx);
        return new CustomCertManager(ctx, preferences.getBoolean(ctx.getString(R.string.pref_key_trust_system_certs), true));
        return new CustomCertManager(ctx, preferences.getBoolean(ctx.getString(R.string.pref_key_trust_system_certs), true), true, true);
    }
}