Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

import javax.inject.Inject;

import org.apache.commons.lang3.StringUtils;
import org.apache.james.core.Username;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.protocols.api.ProtocolSession.State;
Expand Down Expand Up @@ -58,7 +59,7 @@ public Response onCommand(POP3Session session, Request request) {
String[] parts = null;
boolean syntaxError = false;
if (parameters != null) {
parts = parameters.split(" ");
parts = StringUtils.split(parameters, " ");
if (parts.length != 2) {
syntaxError = true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.apache.james.protocols.api.AbstractResponse;

/**
Expand Down Expand Up @@ -56,7 +57,7 @@ public SMTPResponse(String rawLine) {


private static String extractCode(String raw) {
String[] args = raw.split(" ");
String[] args = StringUtils.split(raw, " ");
if (args != null && args.length > 1) {
return args[0];

Expand All @@ -66,7 +67,7 @@ private static String extractCode(String raw) {
}

private static String extractResponse(String raw) {
String[] args = raw.split(" ");
String[] args = StringUtils.split(raw, " ");
if (args != null && args.length > 1) {
return args[2];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import java.util.Locale;
import java.util.Optional;
import java.util.StringTokenizer;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;
import org.apache.james.core.Username;
Expand Down Expand Up @@ -82,7 +81,6 @@ public class AuthCmdHandler
private static final Response AUTH_READY_PASSWORD_LOGIN = new SMTPResponse(SMTPRetCode.AUTH_READY, "UGFzc3dvcmQ6").immutable(); // base64 encoded "Password:
private static final Response AUTH_FAILED = new SMTPResponse(SMTPRetCode.AUTH_FAILED, "Authentication Failed").immutable();
private static final Response UNKNOWN_AUTH_TYPE = new SMTPResponse(SMTPRetCode.PARAMETER_NOT_IMPLEMENTED, "Unrecognized Authentication Type").immutable();
public static final Pattern LINE_BREAK_PATTERN = Pattern.compile("\r\n");

private abstract static class AbstractSMTPLineHandler implements LineHandler<SMTPSession> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@

public class DelegatedPropertiesConfiguration implements Configuration {

private final String delimiter;
private final char delimiter;
private final Configuration configuration;

DelegatedPropertiesConfiguration(String delimiter, Configuration configuration) {
DelegatedPropertiesConfiguration(char delimiter, Configuration configuration) {
this.delimiter = delimiter;
this.configuration = configuration;
}
Expand Down Expand Up @@ -378,7 +378,7 @@ private Stream<String> splitAndStripDoubleQuotes(String value) {
return Optional.ofNullable(value)
.filter(s -> !StringUtils.isAllBlank(s))
.map(notNullValue -> Stream
.of(StringUtils.strip(notNullValue, "\"").split(delimiter))
.of(StringUtils.split(StringUtils.strip(notNullValue, "\""), delimiter))
.map(String::trim)
.filter(s -> !StringUtils.isAllBlank(s)))
.orElseGet(Stream::empty);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ public class PropertiesProvider {

private static final Logger LOGGER = LoggerFactory.getLogger("org.apache.james.CONFIGURATION");
private static final char COMMA = ',';
private static final String COMMA_STRING = ",";

@VisibleForTesting
public static PropertiesProvider forTesting() {
Expand Down Expand Up @@ -96,7 +95,7 @@ private Configuration getConfiguration(File propertiesFile) throws Configuration
.setListDelimiterHandler(new DefaultListDelimiterHandler(COMMA))
.setFile(propertiesFile));

return new DelegatedPropertiesConfiguration(COMMA_STRING, builder.getConfiguration());
return new DelegatedPropertiesConfiguration(COMMA, builder.getConfiguration());
}

private Optional<File> getConfigurationFile(String fileName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,12 @@
import org.subethamail.smtp.server.Session;
import org.subethamail.smtp.util.EmailUtils;

import com.google.common.base.CharMatcher;

public class ExtendedMailFromCommand extends BaseCommand {

public static final CharMatcher NUMBER_MATCHER = CharMatcher.inRange('0', '9');

public ExtendedMailFromCommand() {
super("MAIL", "Specifies the sender.", "FROM: <sender> [ <parameters> ]");
}
Expand All @@ -56,7 +61,7 @@ public void execute(String commandString, Session sess) throws IOException, Drop
int sizec = largs.indexOf(" size=");
if (sizec > -1) {
String ssize = largs.substring(sizec + 6).trim();
if (ssize.length() > 0 && ssize.matches("[0-9]+")) {
if (ssize.length() > 0 && NUMBER_MATCHER.matchesAllOf(ssize)) {
size = Integer.parseInt(ssize);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -433,8 +433,14 @@ public boolean hasValidEmail() {
}

public EmailUserAndDomain getEmailUserAndDomain() {
String[] splitAddress = email.get().split("@", 2);
return new EmailUserAndDomain(Optional.ofNullable(splitAddress[0]), Optional.ofNullable(splitAddress[1]));
int atIndex = email.get().indexOf('@');
if (atIndex < 0 || atIndex == email.get().length() - 1) {
return new EmailUserAndDomain(Optional.of(email.get()), Optional.empty());
}
String user = email.get().substring(0, atIndex);
String domain = email.get().substring(atIndex + 1);

return new EmailUserAndDomain(Optional.of(user), Optional.of(domain));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ class AttachmentBlobResolver @Inject()(val attachmentManager: AttachmentManager)
class MessagePartBlobResolver @Inject()(val messageIdFactory: MessageId.Factory,
val messageIdManager: MessageIdManager) extends BlobResolver {
private def asMessageAndPartId(blobId: BlobId): Try[(MessageId, PartId)] = {
blobId.value.value.split("_").toList match {
blobId.value.value.split('_').toList match {
case List(messageIdString, partIdString) => for {
messageId <- Try(messageIdFactory.fromString(messageIdString))
partId <- PartId.parse(partIdString)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ case class EventSourceOptionsFactory @Inject() (typeStateFactory: TypeStateFacto
queryParam(request, "types") match {
case None => Left(new IllegalArgumentException("types parameter is compulsory"))
case Some(List("*")) => Right(typeStateFactory.all.toSet)
case Some(list) => list.flatMap(_.split(","))
case Some(list) => list.flatMap(_.split(','))
.map(string => typeStateFactory.parse(string))
.sequence.map(_.toSet)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.commons.lang3.StringUtils;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.lifecycle.api.Configurable;
import org.apache.james.protocols.api.Encryption;
Expand Down Expand Up @@ -165,10 +166,10 @@ public final void configure(HierarchicalConfiguration<ImmutableNode> config) thr
return;
}

String[] listen = config.getString("bind", "0.0.0.0:" + getDefaultPort()).split(",");
String[] listen = StringUtils.split(config.getString("bind", "0.0.0.0:" + getDefaultPort()), ',');
List<InetSocketAddress> bindAddresses = new ArrayList<>();
for (String aListen : listen) {
String[] bind = aListen.split(":");
String[] bind = StringUtils.split(aListen, ':');

InetSocketAddress address;
String ip = bind[0].trim();
Expand Down