Bug 728636 - Conversion of email address to account should lowercase. r=nalexander

This commit is contained in:
Richard Newman 2012-02-21 13:29:38 -08:00
parent 1b356f2f5b
commit c567c9f8a3
3 changed files with 8 additions and 4 deletions

View File

@ -45,6 +45,7 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.Locale;
import org.mozilla.apache.commons.codec.binary.Base32;
import org.mozilla.apache.commons.codec.binary.Base64;
@ -219,7 +220,7 @@ public class Utils {
public static String sha1Base32(String utf8)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
return new Base32().encodeAsString(sha1(utf8)).toLowerCase();
return new Base32().encodeAsString(sha1(utf8)).toLowerCase(Locale.US);
}
public static String getPrefsPath(String username, String serverURL)

View File

@ -48,6 +48,7 @@ import org.mozilla.apache.commons.codec.binary.Base64;
import org.mozilla.gecko.sync.Utils;
import org.mozilla.gecko.sync.crypto.CryptoException;
import java.security.InvalidKeyException;
import java.util.Locale;
public class KeyBundle {
private static final String KEY_ALGORITHM_SPEC = "AES";
@ -76,9 +77,9 @@ public class KeyBundle {
throw new IllegalArgumentException("No account name provided.");
}
if (account.matches("^[A-Za-z0-9._-]+$")) {
return account;
return account.toLowerCase(Locale.US);
}
return Utils.sha1Base32(account);
return Utils.sha1Base32(account.toLowerCase(Locale.US));
}
// If we encounter characters not allowed by the API (as found for

View File

@ -38,6 +38,8 @@
package org.mozilla.gecko.sync.setup.activities;
import java.util.Locale;
import org.mozilla.gecko.R;
import org.mozilla.gecko.sync.Utils;
import org.mozilla.gecko.sync.repositories.android.Authorities;
@ -142,7 +144,7 @@ public class AccountActivity extends AccountAuthenticatorActivity {
*/
public void connectClickHandler(View target) {
Log.d(LOG_TAG, "connectClickHandler for view " + target);
username = usernameInput.getText().toString();
username = usernameInput.getText().toString().toLowerCase(Locale.US);
password = passwordInput.getText().toString();
key = synckeyInput.getText().toString();
if (serverCheckbox.isChecked()) {