JAMES-1967 All calls to toLowerCase should use Locale.US
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c03eab2c Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c03eab2c Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c03eab2c Branch: refs/heads/master Commit: c03eab2ce3a1c65cbad44d8c3c0656774607029e Parents: 541ee6e Author: benwa <btell...@linagora.com> Authored: Fri Mar 17 14:05:27 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Tue Mar 21 07:48:05 2017 +0700 ---------------------------------------------------------------------- .../mailbox/model/MailboxAnnotationKey.java | 4 +- .../elasticsearch/json/HeaderCollection.java | 3 +- .../elasticsearch/query/CriterionConverter.java | 5 +- .../james/mailbox/maildir/OsDetector.java | 4 +- .../store/mail/model/impl/MessageParser.java | 7 +- .../store/mail/model/impl/PropertyBuilder.java | 3 +- .../store/SearchUtilsMultipartMixedTest.java | 13 ++-- .../mailbox/store/SearchUtilsRFC822Test.java | 9 +-- .../james/mailbox/store/SearchUtilsTest.java | 16 ++--- .../james/ai/classic/BayesianAnalyzer.java | 3 +- .../james/transport/mailets/ClassifyBounce.java | 5 +- .../transport/matchers/SenderHostIsLocal.java | 3 +- .../imapmailbox/maildir/util/OsDetector.java | 4 +- .../AllButStartTlsDelimiterChannelHandler.java | 3 +- .../smtp/core/AbstractHookableCmdHandler.java | 3 +- .../smtp/core/fastfail/SpamTrapHandler.java | 3 +- .../james/util/bayesian/BayesianAnalyzer.java | 3 +- .../james/domainlist/hbase/HBaseDomainList.java | 7 +- .../james/user/hbase/HBaseUsersRepository.java | 5 +- .../james/user/jcr/JCRUsersRepository.java | 5 +- .../james/domainlist/jpa/JPADomainList.java | 71 ++++++++++---------- .../james/user/jpa/JPAUsersRepository.java | 7 +- .../rrt/lib/AbstractRecipientRewriteTable.java | 5 +- .../rrt/lib/RecipientRewriteTableUtil.java | 5 +- .../domainlist/memory/MemoryDomainList.java | 11 +-- .../user/memory/MemoryUsersRepository.java | 7 +- .../impl/JamesMailetContext.java | 6 +- .../mailets/XMLRecipientRewriteTable.java | 5 +- .../mailets/jsieve/delivery/SievePoster.java | 4 +- .../mailets/managesieve/ManageSieveMailet.java | 3 +- .../transcode/MessageToCoreToMessage.java | 3 +- .../james/smtpserver/fastfail/URIScanner.java | 5 +- .../james/smtpserver/netty/SMTPServer.java | 4 +- 33 files changed, 141 insertions(+), 103 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotationKey.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotationKey.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotationKey.java index bcc644e..b251765 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotationKey.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotationKey.java @@ -19,6 +19,8 @@ package org.apache.james.mailbox.model; +import java.util.Locale; + import org.apache.commons.lang.StringUtils; import com.google.common.base.CharMatcher; @@ -89,7 +91,7 @@ public class MailboxAnnotationKey { } public String asString() { - return key.toLowerCase(); + return key.toLowerCase(Locale.US); } public boolean isParentOrIsEqual(MailboxAnnotationKey key) { http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java index 709c964..6125ebf 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java @@ -40,6 +40,7 @@ import org.slf4j.LoggerFactory; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.HashSet; +import java.util.Locale; import java.util.Optional; import java.util.Set; import java.util.regex.Matcher; @@ -81,7 +82,7 @@ public class HeaderCollection { public Builder add(Field field) { Preconditions.checkNotNull(field); - String headerName = field.getName().toLowerCase(); + String headerName = field.getName().toLowerCase(Locale.US); String headerValue = field.getBody(); headers.put(headerName, DecoderUtil.decodeEncodedWords(headerValue, DecodeMonitor.SILENT)); handleSpecificHeader(headerName, headerValue); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java index dcc4ff6..9e06c87 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java @@ -29,6 +29,7 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery; import java.util.Arrays; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.function.BiFunction; import java.util.function.Function; @@ -243,7 +244,7 @@ public class CriterionConverter { private QueryBuilder convertHeader(SearchQuery.HeaderCriterion headerCriterion) { return headerOperatorConverterMap.get(headerCriterion.getOperator().getClass()) .apply( - headerCriterion.getHeaderName().toLowerCase(), + headerCriterion.getHeaderName().toLowerCase(Locale.US), headerCriterion.getOperator()); } @@ -254,7 +255,7 @@ public class CriterionConverter { } private String getFieldNameFromHeaderName(String headerName) { - switch (headerName.toLowerCase()) { + switch (headerName.toLowerCase(Locale.US)) { case HeaderCollection.TO: return JsonMessageConstants.TO; case HeaderCollection.CC: http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/OsDetector.java ---------------------------------------------------------------------- diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/OsDetector.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/OsDetector.java index 06cb942..75fe97b 100644 --- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/OsDetector.java +++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/OsDetector.java @@ -19,6 +19,8 @@ package org.apache.james.mailbox.maildir; +import java.util.Locale; + public class OsDetector { /** @@ -27,7 +29,7 @@ public class OsDetector { * @return windows */ public static boolean isWindows() { - String os = System.getProperty("os.name").toLowerCase(); + String os = System.getProperty("os.name").toLowerCase(Locale.US); return (os.contains("win")); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java index 4b0ef37..c36f9c5 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java @@ -23,6 +23,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; +import java.util.Locale; import org.apache.james.mailbox.model.Attachment; import org.apache.james.mailbox.model.Cid; @@ -64,8 +65,8 @@ public class MessageParser { private static final String CONTENT_DISPOSITION = "Content-Disposition"; private static final String DEFAULT_CONTENT_TYPE = "application/octet-stream"; private static final List<String> ATTACHMENT_CONTENT_DISPOSITIONS = ImmutableList.of( - ContentDispositionField.DISPOSITION_TYPE_ATTACHMENT.toLowerCase(), - ContentDispositionField.DISPOSITION_TYPE_INLINE.toLowerCase()); + ContentDispositionField.DISPOSITION_TYPE_ATTACHMENT.toLowerCase(Locale.US), + ContentDispositionField.DISPOSITION_TYPE_INLINE.toLowerCase(Locale.US)); private static final Logger LOGGER = LoggerFactory.getLogger(MessageParser.class); public List<MessageAttachment> retrieveAttachments(InputStream fullContent) throws MimeException, IOException { @@ -200,7 +201,7 @@ public class MessageParser { @Override public Boolean apply(String dispositionType) { - return ATTACHMENT_CONTENT_DISPOSITIONS.contains(dispositionType.toLowerCase()); + return ATTACHMENT_CONTENT_DISPOSITIONS.contains(dispositionType.toLowerCase(Locale.US)); } }).or(false); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java index 152f874..f69a458 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java @@ -43,6 +43,7 @@ import static org.apache.james.mailbox.store.mail.model.StandardNames.MIME_SUB_T import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; @@ -211,7 +212,7 @@ public class PropertyBuilder { } } for (Map.Entry<String, String> valueByLocalName:valuesByLocalName.entrySet()) { - properties.add(new SimpleProperty(namespace, valueByLocalName.getKey().toLowerCase(), valueByLocalName.getValue())); + properties.add(new SimpleProperty(namespace, valueByLocalName.getKey().toLowerCase(Locale.US), valueByLocalName.getValue())); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java index 0773d48..5f3f55f 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java @@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; +import java.util.Locale; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.model.SearchQuery; @@ -153,12 +154,12 @@ public class SearchUtilsMultipartMixedTest { assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(SAMPLE_PART_TWO), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery - .bodyContains(SAMPLE_INNER_MAIL_BODY_ONE.toLowerCase()), row, + .bodyContains(SAMPLE_INNER_MAIL_BODY_ONE.toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(SAMPLE_PART_ONE - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(SAMPLE_PART_TWO - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery .bodyContains(SAMPLE_INNER_MAIL_BODY_ONE.toUpperCase()), row, recent)); @@ -195,12 +196,12 @@ public class SearchUtilsMultipartMixedTest { assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(SAMPLE_PART_TWO), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery - .mailContains(SAMPLE_INNER_MAIL_BODY_ONE.toLowerCase()), row, + .mailContains(SAMPLE_INNER_MAIL_BODY_ONE.toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(SAMPLE_PART_ONE - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(SAMPLE_PART_TWO - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery .mailContains(SAMPLE_INNER_MAIL_BODY_ONE.toUpperCase()), row, recent)); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java index e50934b..c21c730 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java @@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; +import java.util.Locale; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.model.SearchQuery; @@ -77,9 +78,9 @@ public class SearchUtilsRFC822Test { assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(RHUBARD), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(RHUBARD - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(RHUBARD - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); } @Test @@ -103,9 +104,9 @@ public class SearchUtilsRFC822Test { assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(RHUBARD), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(RHUBARD - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(RHUBARD - .toLowerCase()), row, recent)); + .toLowerCase(Locale.US)), row, recent)); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java index 96c5e99..2454d86 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java @@ -206,7 +206,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderDateAfter() throws Exception { - builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toLowerCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertTrue(new MessageSearches().isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day), row, recent)); @@ -260,7 +260,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderDateOn() throws Exception { - builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toLowerCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); @@ -278,7 +278,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderDateBefore() throws Exception { - builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toLowerCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); @@ -296,7 +296,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderDateBefore() throws Exception { - builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toLowerCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); @@ -314,7 +314,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderDateBefore() throws Exception { - builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toLowerCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); @@ -380,7 +380,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowerHeaderContains() throws Exception { - builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); + builder.header(SUBJECT_FIELD.toLowerCase(Locale.US), TEXT); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); @@ -422,7 +422,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderExists() throws Exception { - builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); + builder.header(SUBJECT_FIELD.toLowerCase(Locale.US), TEXT); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); @@ -432,7 +432,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchUppersHeaderExists() throws Exception { - builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); + builder.header(SUBJECT_FIELD.toLowerCase(Locale.US), TEXT); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java ---------------------------------------------------------------------- diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java index d656963..f83c641 100644 --- a/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java +++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java @@ -25,6 +25,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.SortedSet; @@ -449,7 +450,7 @@ public class BayesianAnalyzer { // prepare a version of the token containing all lower case (for // performance reasons) - tokenLower = token.toLowerCase(); + tokenLower = token.toLowerCase(Locale.US); int end = token.length(); do { http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java index bdedc60..34f9cf0 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java @@ -27,6 +27,7 @@ import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.internet.MimeMessage; import java.io.IOException; +import java.util.Locale; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -294,7 +295,7 @@ public class ClassifyBounce extends GenericMailet { } private boolean assessMessageOutOfOffice() { - //if ( subject.toLowerCase().startsWith("re:") ) { + //if ( subject.toLowerCase(Locale.US).startsWith("re:") ) { boolean out = findInBody("out[\\s]+of[\\s]+the[\\s]+office"); if (!out) { out = findInBody("out[\\s]+of[\\s]+my[\\s]+office"); @@ -351,7 +352,7 @@ public class ClassifyBounce extends GenericMailet { failed = findInSubject("User[\\s]+unknown"); } if (!failed) { //no idea... - String s = subject.toLowerCase(); + String s = subject.toLowerCase(Locale.US); failed = (s.indexOf("user") > 0 && (s.indexOf("unknown") > s.indexOf("user"))); } return failed; http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mailet/standard/src/main/java/org/apache/james/transport/matchers/SenderHostIsLocal.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/SenderHostIsLocal.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/SenderHostIsLocal.java index 6200383..0c9b5d5 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/SenderHostIsLocal.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/SenderHostIsLocal.java @@ -21,6 +21,7 @@ package org.apache.james.transport.matchers; import java.util.Collection; +import java.util.Locale; import org.apache.mailet.Mail; import org.apache.mailet.MailAddress; @@ -47,7 +48,7 @@ public class SenderHostIsLocal extends GenericMatcher { private boolean isLocalServer(Mail mail) { return this.getMailetContext().isLocalServer( - mail.getSender().getDomain().toLowerCase()); + mail.getSender().getDomain().toLowerCase(Locale.US)); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/util/OsDetector.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/util/OsDetector.java b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/util/OsDetector.java index baf8c7b..005e2f4 100644 --- a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/util/OsDetector.java +++ b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/util/OsDetector.java @@ -19,6 +19,8 @@ package org.apache.james.mpt.imapmailbox.maildir.util; +import java.util.Locale; + public class OsDetector { /** @@ -27,7 +29,7 @@ public class OsDetector { * @return windows */ public static boolean isWindows() { - String os = System.getProperty("os.name").toLowerCase(); + String os = System.getProperty("os.name").toLowerCase(Locale.US); return (os.contains("win")); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java ---------------------------------------------------------------------- diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java index f371ecd..cadf9c5 100644 --- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java +++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java @@ -19,6 +19,7 @@ package org.apache.james.protocols.smtp; import java.util.List; +import java.util.Locale; import org.apache.james.protocols.netty.HandlerConstants; import org.jboss.netty.buffer.ChannelBuffer; @@ -48,7 +49,7 @@ public class AllButStartTlsDelimiterChannelHandler extends DelimiterBasedFrameDe SMTPSession session = (SMTPSession) pipeline.getContext(HandlerConstants.CORE_HANDLER).getAttachment(); if (session == null || session.needsCommandInjectionDetection()) { - String trimedLowerCasedInput = readAll(buffer).trim().toLowerCase(); + String trimedLowerCasedInput = readAll(buffer).trim().toLowerCase(Locale.US); if (hasCommandInjection(trimedLowerCasedInput)) { throw new CommandInjectionDetectedException(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java ---------------------------------------------------------------------- diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java index a5d68fa..f2c52ae 100644 --- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java +++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java @@ -21,6 +21,7 @@ package org.apache.james.protocols.smtp.core; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import javax.inject.Inject; @@ -59,7 +60,7 @@ public abstract class AbstractHookableCmdHandler<Hook extends org.apache.james.p * #onCommand(org.apache.james.protocols.api.ProtocolSession, Request) */ public Response onCommand(SMTPSession session, Request request) { - TimeMetric timeMetric = metricFactory.timer("SMTP-" + request.getCommand().toLowerCase()); + TimeMetric timeMetric = metricFactory.timer("SMTP-" + request.getCommand().toLowerCase(Locale.US)); String command = request.getCommand(); String parameters = request.getArgument(); Response response = doFilterChecks(session, command, parameters); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java ---------------------------------------------------------------------- diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java index 490a47d..502da8a 100644 --- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java +++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java @@ -23,6 +23,7 @@ package org.apache.james.protocols.smtp.core.fastfail; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.apache.commons.configuration.Configuration; @@ -73,7 +74,7 @@ public class SpamTrapHandler implements RcptHook { return HookResult.deny(); } else { - if (spamTrapRecips.contains(rcpt.toString().toLowerCase())){ + if (spamTrapRecips.contains(rcpt.toString().toLowerCase(Locale.US))){ addIp(address, session); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java ---------------------------------------------------------------------- diff --git a/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java b/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java index c66c3ae..fe2ebca 100644 --- a/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java +++ b/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.SortedSet; @@ -636,7 +637,7 @@ public class BayesianAnalyzer { // prepare a version of the token containing all lower case (for // performance reasons) - tokenLower = token.toLowerCase(); + tokenLower = token.toLowerCase(Locale.US); int end = token.length(); do { http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java index 1e8f25a..6342e01 100644 --- a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java +++ b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java @@ -21,6 +21,7 @@ package org.apache.james.domainlist.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Get; @@ -55,7 +56,7 @@ public class HBaseDomainList extends AbstractDomainList { HTableInterface table = null; try { table = TablePool.getInstance().getDomainlistTable(); - Get get = new Get(Bytes.toBytes(domain.toLowerCase())); + Get get = new Get(Bytes.toBytes(domain.toLowerCase(Locale.US))); Result result = table.get(get); if (!result.isEmpty()) { return true; @@ -80,7 +81,7 @@ public class HBaseDomainList extends AbstractDomainList { */ @Override public void addDomain(String domain) throws DomainListException { - String lowerCasedDomain = domain.toLowerCase(); + String lowerCasedDomain = domain.toLowerCase(Locale.US); if (containsDomain(lowerCasedDomain)) { throw new DomainListException(lowerCasedDomain + " already exists."); } @@ -110,7 +111,7 @@ public class HBaseDomainList extends AbstractDomainList { HTableInterface table = null; try { table = TablePool.getInstance().getDomainlistTable(); - Delete delete = new Delete(Bytes.toBytes(domain.toLowerCase())); + Delete delete = new Delete(Bytes.toBytes(domain.toLowerCase(Locale.US))); table.delete(delete); table.flushCommits(); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java b/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java index 5b902ea..b93b0e8 100644 --- a/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java +++ b/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Locale; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalConfiguration; @@ -127,7 +128,7 @@ public class HBaseUsersRepository extends AbstractUsersRepository { */ @Override public boolean contains(String name) throws UsersRepositoryException { - KeyValue keyValue = getKeyValue(name.toLowerCase()); + KeyValue keyValue = getKeyValue(name.toLowerCase(Locale.US)); return (keyValue != null); } @@ -264,7 +265,7 @@ public class HBaseUsersRepository extends AbstractUsersRepository { private void putUser(DefaultUser user, boolean isAdd) throws UsersRepositoryException { String username = user.getUserName(); if (isAdd) { - username = user.getUserName().toLowerCase(); + username = user.getUserName().toLowerCase(Locale.US); if (contains(username)) { throw new UsersRepositoryException(username + " already exists."); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java b/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java index 22f61b7..665c02b 100644 --- a/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java +++ b/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java @@ -22,6 +22,7 @@ package org.apache.james.user.jcr; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; +import java.util.Locale; import javax.inject.Inject; import javax.jcr.Node; @@ -220,7 +221,7 @@ public class JCRUsersRepository extends AbstractUsersRepository { final Session session = login(); try { final Node rootNode = session.getRootNode(); - final String path = USERS_PATH + "/" + toSafeName(name.toLowerCase()); + final String path = USERS_PATH + "/" + toSafeName(name.toLowerCase(Locale.US)); rootNode.getNode(path); return true; } finally { @@ -362,7 +363,7 @@ public class JCRUsersRepository extends AbstractUsersRepository { @Override protected void doAddUser(String username, String password) throws UsersRepositoryException { - String lowerCasedUsername = username.toLowerCase(); + String lowerCasedUsername = username.toLowerCase(Locale.US); if (contains(lowerCasedUsername)) { throw new UsersRepositoryException(lowerCasedUsername + " already exists."); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java index 489ae4a..14f57fe 100644 --- a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java +++ b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java @@ -20,6 +20,7 @@ package org.apache.james.domainlist.jpa; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import javax.annotation.PostConstruct; import javax.inject.Inject; @@ -76,7 +77,7 @@ public class JPADomainList extends AbstractDomainList { transaction.commit(); } catch (PersistenceException e) { getLogger().error("Failed to list domains", e); - rollback(transaction); + rollback(transaction); throw new DomainListException("Unable to retrieve domains", e); } finally { entityManager.close(); @@ -86,17 +87,17 @@ public class JPADomainList extends AbstractDomainList { @Override public boolean containsDomain(String domain) throws DomainListException { - String lowerCasedDomain = domain.toLowerCase(); + String lowerCasedDomain = domain.toLowerCase(Locale.US); EntityManager entityManager = entityManagerFactory.createEntityManager(); final EntityTransaction transaction = entityManager.getTransaction(); try { transaction.begin(); - boolean result = containsDomainInternal(lowerCasedDomain, entityManager); + boolean result = containsDomainInternal(lowerCasedDomain, entityManager); transaction.commit(); - return result; + return result; } catch (PersistenceException e) { getLogger().error("Failed to find domain", e); - rollback(transaction); + rollback(transaction); throw new DomainListException("Unable to retrieve domains", e); } finally { entityManager.close(); @@ -105,21 +106,21 @@ public class JPADomainList extends AbstractDomainList { @Override public void addDomain(String domain) throws DomainListException { - String lowerCasedDomain = domain.toLowerCase(); + String lowerCasedDomain = domain.toLowerCase(Locale.US); EntityManager entityManager = entityManagerFactory.createEntityManager(); final EntityTransaction transaction = entityManager.getTransaction(); try { transaction.begin(); - if (containsDomainInternal(lowerCasedDomain, entityManager)) { - transaction.commit(); - throw new DomainListException(lowerCasedDomain + " already exists."); - } + if (containsDomainInternal(lowerCasedDomain, entityManager)) { + transaction.commit(); + throw new DomainListException(lowerCasedDomain + " already exists."); + } JPADomain jpaDomain = new JPADomain(lowerCasedDomain); entityManager.persist(jpaDomain); transaction.commit(); } catch (PersistenceException e) { getLogger().error("Failed to save domain", e); - rollback(transaction); + rollback(transaction); throw new DomainListException("Unable to add domain " + domain, e); } finally { entityManager.close(); @@ -128,43 +129,43 @@ public class JPADomainList extends AbstractDomainList { @Override public void removeDomain(String domain) throws DomainListException { - String lowerCasedDomain = domain.toLowerCase(); + String lowerCasedDomain = domain.toLowerCase(Locale.US); EntityManager entityManager = entityManagerFactory.createEntityManager(); final EntityTransaction transaction = entityManager.getTransaction(); try { transaction.begin(); - if (!containsDomainInternal(lowerCasedDomain, entityManager)) { - transaction.commit(); - throw new DomainListException(domain + " was not found."); - } - entityManager.createNamedQuery("deleteDomainByName").setParameter("name", lowerCasedDomain).executeUpdate(); + if (!containsDomainInternal(lowerCasedDomain, entityManager)) { + transaction.commit(); + throw new DomainListException(domain + " was not found."); + } + entityManager.createNamedQuery("deleteDomainByName").setParameter("name", lowerCasedDomain).executeUpdate(); transaction.commit(); } catch (PersistenceException e) { getLogger().error("Failed to remove domain", e); - rollback(transaction); + rollback(transaction); throw new DomainListException("Unable to remove domain " + domain, e); } finally { entityManager.close(); } } - private void rollback(EntityTransaction transaction) { - if (transaction.isActive()) { - transaction.rollback(); - } - } - - private boolean containsDomainInternal(String domain, EntityManager entityManager) { - try { - return entityManager.createNamedQuery("findDomainByName") - .setParameter("name", domain) - .getSingleResult() != null; - } catch (NoResultException e) { - getLogger().debug("No domain found", e); - return false; - } - } - + private void rollback(EntityTransaction transaction) { + if (transaction.isActive()) { + transaction.rollback(); + } + } + + private boolean containsDomainInternal(String domain, EntityManager entityManager) { + try { + return entityManager.createNamedQuery("findDomainByName") + .setParameter("name", domain) + .getSingleResult() != null; + } catch (NoResultException e) { + getLogger().debug("No domain found", e); + return false; + } + } + /** * Return a new {@link EntityManager} instance * http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java index 11d674b..be49842 100644 --- a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java +++ b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java @@ -21,6 +21,7 @@ package org.apache.james.user.jpa; import java.util.Collections; import java.util.Iterator; +import java.util.Locale; import javax.annotation.PostConstruct; import javax.inject.Inject; @@ -178,7 +179,9 @@ public class JPAUsersRepository extends AbstractUsersRepository { EntityManager entityManager = entityManagerFactory.createEntityManager(); try { - return (Long) entityManager.createNamedQuery("containsUser").setParameter("name", name.toLowerCase()).getSingleResult() > 0; + return (Long) entityManager.createNamedQuery("containsUser") + .setParameter("name", name.toLowerCase(Locale.US)) + .getSingleResult() > 0; } catch (PersistenceException e) { getLogger().debug("Failed to find user", e); throw new UsersRepositoryException("Failed to find user" + name, e); @@ -271,7 +274,7 @@ public class JPAUsersRepository extends AbstractUsersRepository { * org.apache.james.user.lib.AbstractUsersRepository#doAddUser(java.lang.String, java.lang.String) */ protected void doAddUser(String username, String password) throws UsersRepositoryException { - String lowerCasedUsername = username.toLowerCase(); + String lowerCasedUsername = username.toLowerCase(Locale.US); if (contains(lowerCasedUsername)) { throw new UsersRepositoryException(lowerCasedUsername + " already exists."); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java index c8c993a..88d5bd8 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java @@ -18,6 +18,7 @@ ****************************************************************/ package org.apache.james.rrt.lib; +import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -279,7 +280,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT */ public void addMapping(String user, String domain, String mapping) throws RecipientRewriteTableException { - String map = mapping.toLowerCase(); + String map = mapping.toLowerCase(Locale.US); if (map.startsWith(RecipientRewriteTable.ERROR_PREFIX)) { addErrorMapping(user, domain, map.substring(RecipientRewriteTable.ERROR_PREFIX.length())); @@ -301,7 +302,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT */ public void removeMapping(String user, String domain, String mapping) throws RecipientRewriteTableException { - String map = mapping.toLowerCase(); + String map = mapping.toLowerCase(Locale.US); if (map.startsWith(RecipientRewriteTable.ERROR_PREFIX)) { removeErrorMapping(user, domain, map.substring(RecipientRewriteTable.ERROR_PREFIX.length())); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java index f7de297..8506664 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java @@ -19,6 +19,7 @@ package org.apache.james.rrt.lib; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; import java.util.regex.Matcher; @@ -200,8 +201,8 @@ public class RecipientRewriteTableUtil { while (tokenizer.hasMoreTokens()) { String mappingItem = tokenizer.nextToken(); int index = mappingItem.indexOf('='); - String virtual = mappingItem.substring(0, index).trim().toLowerCase(); - String real = mappingItem.substring(index + 1).trim().toLowerCase(); + String virtual = mappingItem.substring(0, index).trim().toLowerCase(Locale.US); + String real = mappingItem.substring(index + 1).trim().toLowerCase(Locale.US); mappings.put(virtual, real); } return mappings; http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java index f6da3f7..d890c33 100644 --- a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java +++ b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java @@ -21,6 +21,7 @@ package org.apache.james.domainlist.memory; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.lib.AbstractDomainList; @@ -42,21 +43,21 @@ public class MemoryDomainList extends AbstractDomainList { @Override public boolean containsDomain(String domain) throws DomainListException { - return domains.contains(domain.toLowerCase()); + return domains.contains(domain.toLowerCase(Locale.US)); } @Override public void addDomain(String domain) throws DomainListException { if (containsDomain(domain)) { - throw new DomainListException(domain.toLowerCase() + " already exists."); + throw new DomainListException(domain.toLowerCase(Locale.US) + " already exists."); } - domains.add(domain.toLowerCase()); + domains.add(domain.toLowerCase(Locale.US)); } @Override public void removeDomain(String domain) throws DomainListException { - if (!domains.remove(domain.toLowerCase())) { - throw new DomainListException(domain.toLowerCase() + " was not found"); + if (!domains.remove(domain.toLowerCase(Locale.US))) { + throw new DomainListException(domain.toLowerCase(Locale.US) + " was not found"); } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java index 003d669..38ebfd1 100644 --- a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java +++ b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java @@ -30,6 +30,7 @@ import org.apache.james.user.lib.model.DefaultUser; import java.util.HashMap; import java.util.Iterator; +import java.util.Locale; import java.util.Map; public class MemoryUsersRepository extends AbstractUsersRepository { @@ -71,7 +72,7 @@ public class MemoryUsersRepository extends AbstractUsersRepository { protected void doAddUser(String username, String password) throws UsersRepositoryException { DefaultUser user = new DefaultUser(username, algo); user.setPassword(password); - userByName.put(username.toLowerCase(), user); + userByName.put(username.toLowerCase(Locale.US), user); } @Override @@ -85,7 +86,7 @@ public class MemoryUsersRepository extends AbstractUsersRepository { if (existingUser == null) { throw new UsersRepositoryException("Please provide an existing user to update"); } - userByName.put(user.getUserName().toLowerCase(), user); + userByName.put(user.getUserName().toLowerCase(Locale.US), user); } @Override @@ -97,7 +98,7 @@ public class MemoryUsersRepository extends AbstractUsersRepository { @Override public boolean contains(String name) throws UsersRepositoryException { - return userByName.containsKey(name.toLowerCase()); + return userByName.containsKey(name.toLowerCase(Locale.US)); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java index 983317a..fca950a 100644 --- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java +++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java @@ -241,13 +241,13 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab try { if (!name.contains("@")) { try { - return isLocalEmail(new MailAddress(name.toLowerCase(), domains.getDefaultDomain())); + return isLocalEmail(new MailAddress(name.toLowerCase(Locale.US), domains.getDefaultDomain())); } catch (DomainListException e) { log("Unable to access DomainList", e); return false; } } else { - return isLocalEmail(new MailAddress(name.toLowerCase())); + return isLocalEmail(new MailAddress(name.toLowerCase(Locale.US))); } } catch (ParseException e) { log("Error checking isLocalUser for user " + name); @@ -258,7 +258,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab @Override public boolean isLocalEmail(MailAddress mailAddress) { if (mailAddress != null) { - if (!isLocalServer(mailAddress.getDomain().toLowerCase())) { + if (!isLocalServer(mailAddress.getDomain().toLowerCase(Locale.US))) { return false; } try { http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java index c3a13ba..87bc4ad 100755 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java @@ -21,6 +21,7 @@ package org.apache.james.transport.mailets; import java.util.Collection; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import javax.mail.MessagingException; @@ -100,8 +101,8 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable { Collection<MailAddress> recipients = recipientsMap.keySet(); for (MailAddress source : recipients) { - String user = source.getLocalPart().toLowerCase(); - String domain = source.getDomain().toLowerCase(); + String user = source.getLocalPart().toLowerCase(Locale.US); + String domain = source.getDomain().toLowerCase(Locale.US); String targetString = RecipientRewriteTableUtil.getTargetString(user, domain, mappings); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SievePoster.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SievePoster.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SievePoster.java index b0ca0ae..39e6b3b 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SievePoster.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SievePoster.java @@ -19,6 +19,8 @@ package org.apache.james.transport.mailets.jsieve.delivery; +import java.util.Locale; + import javax.mail.MessagingException; import org.apache.james.transport.mailets.delivery.MailStore; @@ -83,7 +85,7 @@ public class SievePoster implements Poster { private String retrieveUser(String url, int startOfUser, int endOfUser, String host) throws MessagingException { // lowerCase the user - see // https://issues.apache.org/jira/browse/JAMES-1369 - String user = url.substring(startOfUser, endOfUser).toLowerCase(); + String user = url.substring(startOfUser, endOfUser).toLowerCase(Locale.US); // Check if we should use the full email address as username try { return usersRepository.getUser(new MailAddress(user, host)); http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailet.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailet.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailet.java index 5f3ccc2..9e12470 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailet.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailet.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; +import java.util.Locale; import java.util.Scanner; import javax.inject.Inject; @@ -125,7 +126,7 @@ public class ManageSieveMailet extends GenericMailet implements MessageToCoreToM getMailetContext().log(MailetContext.LogLevel.ERROR, "Sender is null"); return; } - if (!getMailetContext().isLocalServer(mail.getSender().getDomain().toLowerCase())) { + if (!getMailetContext().isLocalServer(mail.getSender().getDomain().toLowerCase(Locale.US))) { getMailetContext().log(LogLevel.ERROR, "Sender not local"); return; } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java index b6a40e7..6eddaa0 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java @@ -32,6 +32,7 @@ import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import java.io.IOException; import java.io.InputStream; +import java.util.Locale; import java.util.Scanner; public class MessageToCoreToMessage { @@ -53,7 +54,7 @@ public class MessageToCoreToMessage { MimeBodyPart part = (MimeBodyPart) parts.getBodyPart(i); found = part.isMimeType("application/sieve"); if (!found) { - String fileName = null == part.getFileName() ? null : part.getFileName().toLowerCase(); + String fileName = null == part.getFileName() ? null : part.getFileName().toLowerCase(Locale.US); found = fileName != null && (fileName.endsWith(".siv") || fileName.endsWith(".sieve")); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java index 67a7876..a71e29f 100644 --- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java +++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java @@ -22,6 +22,7 @@ package org.apache.james.smtpserver.fastfail; import java.net.URI; import java.net.URISyntaxException; import java.util.HashSet; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -240,7 +241,7 @@ public class URIScanner { String host = hostFromUriStr(found); if (null != host) { - host = host.toLowerCase(); + host = host.toLowerCase(Locale.US); if (!set.contains(host)) { set.add(host); } @@ -258,7 +259,7 @@ public class URIScanner { String host = hostFromUriStr(found); if (null != host) { - host = host.toLowerCase(); + host = host.toLowerCase(Locale.US); if (!set.contains(host)) { set.add(host); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c03eab2c/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java index 1de34d1..32316c0 100644 --- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java +++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java @@ -18,6 +18,8 @@ ****************************************************************/ package org.apache.james.smtpserver.netty; +import java.util.Locale; + import javax.inject.Inject; import org.apache.commons.configuration.ConfigurationException; @@ -125,7 +127,7 @@ public class SMTPServer extends AbstractProtocolAsyncServer implements SMTPServe public void doConfigure(HierarchicalConfiguration configuration) throws ConfigurationException { super.doConfigure(configuration); if (isEnabled()) { - String authRequiredString = configuration.getString("authRequired", "false").trim().toLowerCase(); + String authRequiredString = configuration.getString("authRequired", "false").trim().toLowerCase(Locale.US); if (authRequiredString.equals("true")) authRequired = AUTH_REQUIRED; else if (authRequiredString.equals("announce")) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org