From 7f1f725bfe787b822eb324c11459b0f8d2a2cd6e Mon Sep 17 00:00:00 2001 From: Wagubi Brian Date: Tue, 25 Jun 2019 10:41:08 +0300 Subject: validate username for characters not accepted. --- .../activity/gpoddernet/GpodnetAuthenticationActivity.java | 13 +++++++++++++ core/src/main/res/values/strings.xml | 1 + 2 files changed, 14 insertions(+) diff --git a/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java index 8fcdb4371..df21f713d 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java @@ -25,6 +25,8 @@ import android.widget.ViewFlipper; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicReference; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.R; @@ -123,6 +125,11 @@ public class GpodnetAuthenticationActivity extends AppCompatActivity { final String usernameStr = username.getText().toString(); final String passwordStr = password.getText().toString(); + if (usernameHasUnwantedChars(usernameStr)) { + txtvError.setText(R.string.gpodnetsync_username_characters_error); + txtvError.setVisibility(View.VISIBLE); + return; + } if (BuildConfig.DEBUG) Log.d(TAG, "Checking login credentials"); AsyncTask authTask = new AsyncTask() { @@ -395,4 +402,10 @@ public class GpodnetAuthenticationActivity extends AppCompatActivity { finish(); } } + + private boolean usernameHasUnwantedChars(String username) { + Pattern special = Pattern.compile("[!@#$%&*()+=|<>?{}\\[\\]~]"); + Matcher containsUnwantedChars = special.matcher(username); + return containsUnwantedChars.find(); + } } diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 4378abe50..2fbb65744 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -642,6 +642,7 @@ An error occurred during syncing:\u0020 Successful Failed + Usernames may only contain letters, digits, hyphens and underscores. Selected folder: -- cgit v1.2.3