Accept verification SMSes with missing colons

Apparently some Argentinian mobile providers strip the colons from
Signal's verification SMS messages.

Fixes #5363
Fixes #3490
Closes #5371

// FREEBIE
master
haffenloher 2016-03-23 23:47:13 +01:00 committed by Moxie Marlinspike
parent 13c1b15dc2
commit 3c99d66ccd
2 changed files with 3 additions and 1 deletions

View File

@ -41,7 +41,7 @@ public class SmsListener extends BroadcastReceiver {
private static final String SMS_RECEIVED_ACTION = Telephony.Sms.Intents.SMS_RECEIVED_ACTION;
private static final String SMS_DELIVERED_ACTION = Telephony.Sms.Intents.SMS_DELIVER_ACTION;
private static final Pattern CHALLENGE_PATTERN = Pattern.compile(".*Your (Signal|TextSecure) verification code: ([0-9]{3,4})-([0-9]{3,4}).*", Pattern.DOTALL);
private static final Pattern CHALLENGE_PATTERN = Pattern.compile(".*Your (Signal|TextSecure) verification code:? ([0-9]{3,4})-([0-9]{3,4}).*", Pattern.DOTALL);
private boolean isExemption(SmsMessage message, String messageBody) {

View File

@ -24,6 +24,7 @@ public class SmsListenerTest extends BaseUnitTest {
put("Your TextSecure verification code: 1337-1337", "13371337");
put("XXXYour TextSecure verification code: 1337-1337", "13371337");
put("Your TextSecure verification code: 1337-1337XXX", "13371337");
put("Your TextSecure verification code 1337-1337", "13371337");
put("Your Signal verification code: 337-337", "337337");
put("XXX\nYour Signal verification code: 1337-1337", "13371337");
@ -32,6 +33,7 @@ public class SmsListenerTest extends BaseUnitTest {
put("Your Signal verification code: 1337-1337", "13371337");
put("XXXYour Signal verification code: 1337-1337", "13371337");
put("Your Signal verification code: 1337-1337XXX", "13371337");
put("Your Signal verification code 1337-1337", "13371337");
}};
private SmsListener listener;