Loading app/core/src/main/java/com/fsck/k9/helper/MessageHelper.java +4 −1 Original line number Diff line number Diff line package com.fsck.k9.helper; import java.util.regex.Pattern; import android.content.Context; import android.text.Spannable; import android.text.SpannableString; Loading @@ -27,6 +29,7 @@ public class MessageHelper { * @see #toFriendly(Address[], com.fsck.k9.helper.Contacts) */ private static final int TOO_MANY_ADDRESSES = 50; private static final Pattern SPOOF_ADDRESS_PATTERN = Pattern.compile("[^(]@"); private static MessageHelper sInstance; Loading Loading @@ -143,6 +146,6 @@ public class MessageHelper { } private static boolean isSpoofAddress(String displayName) { return displayName.contains("@"); return displayName.contains("@") && SPOOF_ADDRESS_PATTERN.matcher(displayName).find(); } } app/core/src/test/java/com/fsck/k9/helper/MessageHelperTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,20 @@ public class MessageHelperTest extends RobolectricTest { assertEquals("test@testor.com", friendly.toString()); } @Test public void toFriendly_atPrecededByOpeningParenthesisShouldNotTriggerSpoofPrevention() { Address address = new Address("gitlab@gitlab.example", "username (@username)"); CharSequence friendly = MessageHelper.toFriendly(address, contacts); assertEquals("username (@username)", friendly.toString()); } @Test public void toFriendly_nameStartingWithAtShouldNotTriggerSpoofPrevention() { Address address = new Address("address@domain.example", "@username"); CharSequence friendly = MessageHelper.toFriendly(address, contacts); assertEquals("@username", friendly.toString()); } @Test public void toFriendly_spoofPreventionDoesntOverrideContact() { Address address = new Address("test@testor.com", "Tim Testor"); Loading Loading
app/core/src/main/java/com/fsck/k9/helper/MessageHelper.java +4 −1 Original line number Diff line number Diff line package com.fsck.k9.helper; import java.util.regex.Pattern; import android.content.Context; import android.text.Spannable; import android.text.SpannableString; Loading @@ -27,6 +29,7 @@ public class MessageHelper { * @see #toFriendly(Address[], com.fsck.k9.helper.Contacts) */ private static final int TOO_MANY_ADDRESSES = 50; private static final Pattern SPOOF_ADDRESS_PATTERN = Pattern.compile("[^(]@"); private static MessageHelper sInstance; Loading Loading @@ -143,6 +146,6 @@ public class MessageHelper { } private static boolean isSpoofAddress(String displayName) { return displayName.contains("@"); return displayName.contains("@") && SPOOF_ADDRESS_PATTERN.matcher(displayName).find(); } }
app/core/src/test/java/com/fsck/k9/helper/MessageHelperTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,20 @@ public class MessageHelperTest extends RobolectricTest { assertEquals("test@testor.com", friendly.toString()); } @Test public void toFriendly_atPrecededByOpeningParenthesisShouldNotTriggerSpoofPrevention() { Address address = new Address("gitlab@gitlab.example", "username (@username)"); CharSequence friendly = MessageHelper.toFriendly(address, contacts); assertEquals("username (@username)", friendly.toString()); } @Test public void toFriendly_nameStartingWithAtShouldNotTriggerSpoofPrevention() { Address address = new Address("address@domain.example", "@username"); CharSequence friendly = MessageHelper.toFriendly(address, contacts); assertEquals("@username", friendly.toString()); } @Test public void toFriendly_spoofPreventionDoesntOverrideContact() { Address address = new Address("test@testor.com", "Tim Testor"); Loading