From d27b08f97c1ab064f6ab255e68cb139567e36f0b Mon Sep 17 00:00:00 2001 From: Wilco Baan Hofman Date: Thu, 5 Dec 2019 16:04:09 +0100 Subject: [PATCH] Add 36c3 support. Add support for 3 connection profiles plus special --- .../nl/eventinfra/wifisetup/WifiSetup.java | 99 ++++++++++++------ app/src/main/res/drawable-hdpi/camp19logo.png | Bin 0 -> 17791 bytes app/src/main/res/drawable-hdpi/ccc36c3.png | Bin 0 -> 19534 bytes app/src/main/res/layout/logon.xml | 25 +++-- app/src/main/res/values/arrays.xml | 6 ++ app/src/main/res/values/strings.xml | 7 +- 6 files changed, 95 insertions(+), 42 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/camp19logo.png create mode 100644 app/src/main/res/drawable-hdpi/ccc36c3.png diff --git a/app/src/main/java/nl/eventinfra/wifisetup/WifiSetup.java b/app/src/main/java/nl/eventinfra/wifisetup/WifiSetup.java index 309e975..e2cac4d 100644 --- a/app/src/main/java/nl/eventinfra/wifisetup/WifiSetup.java +++ b/app/src/main/java/nl/eventinfra/wifisetup/WifiSetup.java @@ -32,10 +32,12 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.widget.AdapterView; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ImageView; +import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import android.widget.ViewFlipper; @@ -48,7 +50,12 @@ import java.util.List; /* import android.util.Base64; */ // API level 18 and up - +enum Profile { + PROFILE_UNFILTERED, + PROFILE_SITEONLY, + PROFILE_PROTECTME, + PROFILE_SPECIAL +}; public class WifiSetup extends Activity { protected static final int SHOW_PREFERENCES = 0; // FIXME This should be a configuration setting somehow @@ -88,6 +95,8 @@ public class WifiSetup extends Activity { private String s_username; private String s_password; private ViewFlipper flipper; + Profile selected_profile; + static String removeQuotes(String str) { int len = str.length(); @@ -141,23 +150,41 @@ public class WifiSetup extends Activity { } */ - ImageView img = (ImageView) findViewById(R.id.logo); - img.setOnClickListener(new View.OnClickListener() { + Spinner spinner = (Spinner) findViewById(R.id.profile); + spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override - public void onClick(View view) { - logoclicks++; - if (logoclicks == 4) { - toastText("You're cute!"); - } - if (logoclicks == 6) { - toastText("Stop that!"); - } - if (logoclicks == 7) { - View logindata = findViewById(R.id.logindata); - logindata.setVisibility(View.VISIBLE); - } + public void onItemSelected(AdapterView parent, View v, int position, + long id) { + View logindata = findViewById(R.id.logindata);; + logindata.setVisibility(View.INVISIBLE); + switch((int) id) { + case 0: + selected_profile = Profile.PROFILE_UNFILTERED; + toastText("Don't filter me!"); + break; + case 1: + selected_profile = Profile.PROFILE_SITEONLY; + toastText("You trust people on-site more than the internet! Thank you!"); + break; + case 2: + selected_profile = Profile.PROFILE_PROTECTME; + toastText("You don't trust anyone? Or maybe not your device?"); + break; + case 3: + selected_profile = Profile.PROFILE_SPECIAL; + logindata.setVisibility(View.VISIBLE); + toastText("Hi fellow special person!"); + break; + + + } } - }); + + @Override + public void onNothingSelected(AdapterView parent) { + + } + }); btn = (Button) findViewById(R.id.button1); if (btn == null) @@ -233,25 +260,37 @@ public class WifiSetup extends Activity { } if (check5g.isChecked()) { - ssid = "Camp2019"; + ssid = "36C3"; } else { - ssid = "Camp2019-legacy"; + ssid = "36C3-legacy"; } subject_match = "/CN=radius.c3noc.net"; altsubject_match = "DNS:radius.c3noc.net"; - s_username = username.getText().toString(); - s_password = password.getText().toString(); + realm = ""; - if (s_username.equals("") && s_password.equals("")) { - s_username = "Camp2019"; - s_password = "Camp2019"; - } else { - if (s_username.contains("@")) { - int idx = s_username.indexOf("@"); - realm = s_username.substring(idx); - } - } + switch(selected_profile) { + case PROFILE_UNFILTERED: + s_username = "36C3"; + s_password = "36C3"; + break; + case PROFILE_SITEONLY: + s_username = "congressonly"; + s_password = "congressonly"; + break; + case PROFILE_PROTECTME: + s_username = "outboundonly"; + s_password = "outboundonly"; + break; + case PROFILE_SPECIAL: + s_username = username.getText().toString(); + s_password = password.getText().toString(); + if (s_username.contains("@")) { + int idx = s_username.indexOf("@"); + realm = s_username.substring(idx); + } + break; + } // Use the existing ssid profile if it exists. @@ -365,7 +404,7 @@ public class WifiSetup extends Activity { builder.setMessage(getString(R.string.ABOUT_CONTENT)+ "\n\n"+pi.packageName+"\n"+ "V"+pi.versionName+ - "C"+pi.versionCode+"-equi"); + "C"+pi.versionCode+"-syn"); builder.setPositiveButton(getString(android.R.string.ok), null); builder.show(); diff --git a/app/src/main/res/drawable-hdpi/camp19logo.png b/app/src/main/res/drawable-hdpi/camp19logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5962be7b97bc3493d244bdd2e11053266cf3f7b8 GIT binary patch literal 17791 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 bBLPf}4U9}M8xjps{84}{*1_@~#wX=pVD(<= literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/logon.xml b/app/src/main/res/layout/logon.xml index 0eb1b4c..d7b0b37 100644 --- a/app/src/main/res/layout/logon.xml +++ b/app/src/main/res/layout/logon.xml @@ -27,7 +27,7 @@ android:contentDescription="@string/LOGO" android:padding="0dp" android:scaleType="fitCenter" - android:src="@drawable/camp19logo" /> + android:src="@drawable/ccc36c3" /> - + + + + Enable me - no filters = full inbound/outbound + Enable me on-site = outbound only, inbound from event + Protect me = outbound traffic only + I am special = custom username/password + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6a52cbf..eff5202 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,6 @@ - CCC Camp 2019 Wifi Setup + 36C3 Wifi Setup Please logon username@realm @@ -13,10 +13,11 @@ (Unfortunately, autodetecting 5GHz support is broken…) Note: if you have no screen lock, Android refuses to store the security settings! - + Choose your connection profile: + Select profile About Exit This small helper app creates a Wifi connection entry for the CCC/EMF/SHA2017 networks. It configures the correct SSL CA and subject name match, making it a little more secure than a hand-created entry. - Camp2019 Logo + 36c3 Logo