[jira] [Closed] (JAMES-2056) Host & port should not be mandatory
[ https://issues.apache.org/jira/browse/JAMES-2056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit closed JAMES-2056. - Merged > Host & port should not be mandatory > --- > > Key: JAMES-2056 > URL: https://issues.apache.org/jira/browse/JAMES-2056 > Project: James Server > Issue Type: Improvement > Components: CLI >Reporter: Antoine Duprat > > The host and the port should not be mandatory. > We should add default for those entries: > - host: 127.0.0.1 > - port: -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Closed] (JAMES-2055) Add an option to desactivate CONDSTORE and make it false by default
[ https://issues.apache.org/jira/browse/JAMES-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit closed JAMES-2055. - > Add an option to desactivate CONDSTORE and make it false by default > --- > > Key: JAMES-2055 > URL: https://issues.apache.org/jira/browse/JAMES-2055 > Project: James Server > Issue Type: Improvement >Reporter: Antoine Duprat >Assignee: Antoine Duprat > > CONDSTORE is known to be broken. > As it should not be necessary for common IMAP clients, we should just > deactivate it by default (remove the capability and the command). > An option will be available for administrators to activate it (as an > experimental feature). -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Resolved] (JAMES-2055) Add an option to desactivate CONDSTORE and make it false by default
[ https://issues.apache.org/jira/browse/JAMES-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit resolved JAMES-2055. --- Resolution: Fixed https://github.com/linagora/james-project/pull/841 solved the issue. > Add an option to desactivate CONDSTORE and make it false by default > --- > > Key: JAMES-2055 > URL: https://issues.apache.org/jira/browse/JAMES-2055 > Project: James Server > Issue Type: Improvement >Reporter: Antoine Duprat >Assignee: Antoine Duprat > > CONDSTORE is known to be broken. > As it should not be necessary for common IMAP clients, we should just > deactivate it by default (remove the capability and the command). > An option will be available for administrators to activate it (as an > experimental feature). -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Resolved] (JAMES-2056) Host & port should not be mandatory
[ https://issues.apache.org/jira/browse/JAMES-2056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit resolved JAMES-2056. --- Resolution: Fixed https://github.com/linagora/james-project/pull/842 > Host & port should not be mandatory > --- > > Key: JAMES-2056 > URL: https://issues.apache.org/jira/browse/JAMES-2056 > Project: James Server > Issue Type: Improvement > Components: CLI >Reporter: Antoine Duprat > > The host and the port should not be mandatory. > We should add default for those entries: > - host: 127.0.0.1 > - port: -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[4/5] james-project git commit: JAMES-2055 Activate or not CONDSTORE in capabilities
JAMES-2055 Activate or not CONDSTORE in capabilities Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1fa2d62f Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1fa2d62f Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1fa2d62f Branch: refs/heads/master Commit: 1fa2d62f2ec2017d50e6acac34ee38277cc5d9d0 Parents: 281805d Author: Antoine DupratAuthored: Mon Jun 12 14:03:40 2017 +0200 Committer: benwa Committed: Wed Jun 14 12:43:37 2017 +0700 -- .../imap/processor/CapabilityProcessor.java | 8 +++ .../imap/processor/CapabilityProcessorTest.java | 63 2 files changed, 71 insertions(+) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/1fa2d62f/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java -- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java index 00e056d..828c442 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java @@ -83,6 +83,14 @@ public class CapabilityProcessor extends AbstractMailboxProcessorhttp://git-wip-us.apache.org/repos/asf/james-project/blob/1fa2d62f/protocols/imap/src/test/java/org/apache/james/imap/processor/CapabilityProcessorTest.java -- diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/CapabilityProcessorTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/CapabilityProcessorTest.java new file mode 100644 index 000..cfebddf --- /dev/null +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/CapabilityProcessorTest.java @@ -0,0 +1,63 @@ +/ + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information* + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the* + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the* + * specific language governing permissions and limitations * + * under the License. * + / +package org.apache.james.imap.processor; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Set; + +import org.apache.james.imap.api.ImapConfiguration; +import org.apache.james.imap.api.ImapConstants; +import org.apache.james.imap.api.message.response.StatusResponseFactory; +import org.apache.james.imap.api.process.ImapProcessor; +import org.apache.james.imap.processor.base.UnknownRequestProcessor; +import org.apache.james.mailbox.MailboxManager; +import org.apache.james.metrics.api.MetricFactory; +import org.junit.Before; +import org.junit.Test; + +public class CapabilityProcessorTest { + +private CapabilityProcessor testee; + +@Before +public void setup() { +StatusResponseFactory statusResponseFactory = null; +ImapProcessor imapProcessor = new UnknownRequestProcessor(statusResponseFactory); +MailboxManager mailboxManager = null; +MetricFactory metricFactory = null; +testee = new CapabilityProcessor(imapProcessor, mailboxManager, statusResponseFactory, metricFactory); +} + +@Test +public void condstoreShouldBeSupportedWhenSelectedFor() { + testee.configure(ImapConfiguration.builder().isCondstoreEnable(true).build()); + +Set supportedCapabilities = testee.getSupportedCapabilities(null); + assertThat(supportedCapabilities).contains(ImapConstants.SUPPORTS_CONDSTORE); +} + +@Test +public void condstoreShouldBeNotSupportedByDefault() { +testee.configure(ImapConfiguration.builder().build()); + +
[2/5] james-project git commit: JAMES-2055 Remove static methods
JAMES-2055 Remove static methods Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/02737f5b Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/02737f5b Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/02737f5b Branch: refs/heads/master Commit: 02737f5b5c23924ffb7566a4ce13533654e86e5b Parents: 1003748 Author: Antoine DupratAuthored: Mon Jun 12 11:55:35 2017 +0200 Committer: benwa Committed: Wed Jun 14 12:43:21 2017 +0700 -- .../james/imap/processor/CapabilityProcessor.java | 9 + .../james/imap/processor/DefaultProcessorChain.java | 2 +- .../apache/james/imap/processor/EnableProcessor.java| 12 +++- 3 files changed, 13 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/02737f5b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java -- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java index ac1c7c8..00e056d 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java @@ -25,6 +25,7 @@ import static org.apache.james.imap.api.ImapConstants.SUPPORTS_LITERAL_PLUS; import static org.apache.james.imap.api.ImapConstants.SUPPORTS_RFC3348; import static org.apache.james.imap.api.ImapConstants.UTF8; import static org.apache.james.imap.api.ImapConstants.VERSION; + import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -60,13 +61,13 @@ public class CapabilityProcessor extends AbstractMailboxProcessor capabilities = new ArrayList(); -private static final Set disabledCaps = new HashSet(); +private final List capabilities = new ArrayList(); +private final Set disabledCaps = new HashSet(); public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List capabilities, MetricFactory metricFactory) { this(next, mailboxManager, factory, metricFactory); -CapabilityProcessor.capabilities.addAll(capabilities); +capabilities.addAll(capabilities); } @@ -122,7 +123,7 @@ public class CapabilityProcessor extends AbstractMailboxProcessor getSupportedCapabilities(ImapSession session) { +public Set getSupportedCapabilities(ImapSession session) { Set caps = new HashSet(); for (CapabilityImplementingProcessor capability : capabilities) { caps.addAll(capability.getImplementedCapabilities(session)); http://git-wip-us.apache.org/repos/asf/james-project/blob/02737f5b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java -- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java index 322de09..93946ae 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java @@ -104,7 +104,7 @@ public class DefaultProcessorChain { final ListRightsProcessor listRightsProcessor = new ListRightsProcessor(deleteACLProcessor, mailboxManager, statusResponseFactory, metricFactory); final MyRightsProcessor myRightsProcessor = new MyRightsProcessor(listRightsProcessor, mailboxManager, statusResponseFactory, metricFactory); -final EnableProcessor enableProcessor = new EnableProcessor(myRightsProcessor, mailboxManager, statusResponseFactory, metricFactory); +final EnableProcessor enableProcessor = new EnableProcessor(myRightsProcessor, mailboxManager, statusResponseFactory, metricFactory, capabilityProcessor); final GetQuotaProcessor getQuotaProcessor = new GetQuotaProcessor(enableProcessor, mailboxManager, statusResponseFactory, quotaManager, quotaRootResolver, metricFactory); final SetQuotaProcessor setQuotaProcessor = new SetQuotaProcessor(getQuotaProcessor, mailboxManager, statusResponseFactory, metricFactory); http://git-wip-us.apache.org/repos/asf/james-project/blob/02737f5b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java -- diff --git
[5/5] james-project git commit: JAMES-2055 Add MPT test on configurable capabilities
JAMES-2055 Add MPT test on configurable capabilities Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/28cfa6d6 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/28cfa6d6 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/28cfa6d6 Branch: refs/heads/master Commit: 28cfa6d6f3cafb64f85a77bbd15d17438a929382 Parents: 1fa2d62 Author: Antoine DupratAuthored: Mon Jun 12 14:41:41 2017 +0200 Committer: benwa Committed: Wed Jun 14 12:43:41 2017 +0700 -- .../apache/james/mpt/api/ImapHostSystem.java| 1 - .../james/mpt/host/ExternalHostSystem.java | 1 - .../james/mpt/host/JamesImapHostSystem.java | 6 ++- .../james/mpt/imapmailbox/suite/Condstore.java | 57 .../james/imap/scripts/CondstoreDisable.test| 25 + .../james/imap/scripts/CondstoreEnable.test | 25 + .../inmemory/InMemoryMailboxTest.java | 2 + .../inmemory/InMemoryMailboxTestModule.java | 6 ++- 8 files changed, 118 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/28cfa6d6/mpt/core/src/main/java/org/apache/james/mpt/api/ImapHostSystem.java -- diff --git a/mpt/core/src/main/java/org/apache/james/mpt/api/ImapHostSystem.java b/mpt/core/src/main/java/org/apache/james/mpt/api/ImapHostSystem.java index dbff398..472b227 100644 --- a/mpt/core/src/main/java/org/apache/james/mpt/api/ImapHostSystem.java +++ b/mpt/core/src/main/java/org/apache/james/mpt/api/ImapHostSystem.java @@ -28,5 +28,4 @@ public interface ImapHostSystem extends HostSystem { void createMailbox(MailboxPath mailboxPath) throws Exception; void setQuotaLimits(long maxMessageQuota, long maxStorageQuota) throws Exception; - } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/28cfa6d6/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java -- diff --git a/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java b/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java index 1b3d6a1..be59cb3 100644 --- a/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java +++ b/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java @@ -112,5 +112,4 @@ public class ExternalHostSystem extends ExternalSessionFactory implements ImapHo public void setQuotaLimits(long maxMessageQuota, long maxStorageQuota) throws Exception { throw new NotImplementedException(); } - } http://git-wip-us.apache.org/repos/asf/james-project/blob/28cfa6d6/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java -- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java index 149209a..e5eb9c4 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java @@ -27,6 +27,7 @@ import org.apache.commons.configuration.HierarchicalConfiguration; import org.apache.commons.configuration.plist.PropertyListConfiguration; import org.apache.james.adapter.mailbox.store.UserRepositoryAuthenticator; import org.apache.james.adapter.mailbox.store.UserRepositoryAuthorizator; +import org.apache.james.imap.api.ImapConfiguration; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.decode.ImapDecoder; import org.apache.james.imap.decode.main.ImapRequestStreamHandler; @@ -159,5 +160,8 @@ public abstract class JamesImapHostSystem implements ImapHostSystem { configuration.addProperty("administratorId", "imapuser"); return configuration; } - + +public void configure(ImapConfiguration imapConfiguration) { +processor.configure(imapConfiguration); +} } http://git-wip-us.apache.org/repos/asf/james-project/blob/28cfa6d6/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java -- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java new file mode 100644 index 000..73caef5 --- /dev/null +++
[1/5] james-project git commit: JAMES-2056 Add default values for host & port in the CLI
Repository: james-project Updated Branches: refs/heads/master 96d1c4ede -> 28cfa6d6f JAMES-2056 Add default values for host & port in the CLI Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/10037483 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/10037483 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/10037483 Branch: refs/heads/master Commit: 1003748307955a723b38dec7efdfa69556c9b10f Parents: 96d1c4e Author: Antoine DupratAuthored: Tue Jun 13 13:51:02 2017 +0200 Committer: Antoine Duprat Committed: Tue Jun 13 13:51:02 2017 +0200 -- .../java/org/apache/james/cli/ServerCmd.java| 25 +- .../org/apache/james/cli/ServerCmdTest.java | 35 2 files changed, 51 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/10037483/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java -- diff --git a/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java b/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java index a9f6e69..efbf4b6 100644 --- a/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java +++ b/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java @@ -28,7 +28,6 @@ import java.util.Map.Entry; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; @@ -58,6 +57,7 @@ import org.slf4j.LoggerFactory; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Joiner; +import com.google.common.base.Strings; /** * Command line utility for managing various aspect of the James server. @@ -68,16 +68,14 @@ public class ServerCmd { public static final String PORT_OPT_LONG = "port"; public static final String PORT_OPT_SHORT = "p"; +private static final String DEFAULT_HOST = "127.0.0.1"; private static final int DEFAULT_PORT = ; private static final Logger LOG = LoggerFactory.getLogger(ServerCmd.class); private static Options createOptions() { -Options options = new Options(); -Option optHost = new Option(HOST_OPT_SHORT, HOST_OPT_LONG, true, "node hostname or ip address"); -optHost.setRequired(true); -options.addOption(optHost); -options.addOption(PORT_OPT_SHORT, PORT_OPT_LONG, true, "remote jmx agent port number"); -return options; +return new Options() +.addOption(HOST_OPT_SHORT, HOST_OPT_LONG, true, "node hostname or ip address") +.addOption(PORT_OPT_SHORT, PORT_OPT_LONG, true, "remote jmx agent port number"); } /** @@ -110,7 +108,7 @@ public class ServerCmd { StopWatch stopWatch = new StopWatch(); stopWatch.start(); CommandLine cmd = parseCommandLine(args); -JmxConnection jmxConnection = new JmxConnection(cmd.getOptionValue(HOST_OPT_LONG), getPort(cmd)); +JmxConnection jmxConnection = new JmxConnection(getHost(cmd), getPort(cmd)); CmdType cmdType = new ServerCmd( new JmxDataProbe().connect(jmxConnection), new JmxMailboxProbe().connect(jmxConnection), @@ -148,9 +146,18 @@ public class ServerCmd { } @VisibleForTesting +static String getHost(CommandLine cmd) { +String host = cmd.getOptionValue(HOST_OPT_LONG); +if (Strings.isNullOrEmpty(host)) { +return DEFAULT_HOST; +} +return host; +} + +@VisibleForTesting static int getPort(CommandLine cmd) throws ParseException { String portNum = cmd.getOptionValue(PORT_OPT_LONG); -if (portNum != null) { +if (!Strings.isNullOrEmpty(portNum)) { try { return validatePortNumber(Integer.parseInt(portNum)); } catch (NumberFormatException e) { http://git-wip-us.apache.org/repos/asf/james-project/blob/10037483/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java -- diff --git a/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java b/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java index 2e2ae1e..570167b 100644 --- a/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java +++ b/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java @@
[3/5] james-project git commit: JAMES-2055 Add ability to manage CONDSTORE in IMAP configuration
JAMES-2055 Add ability to manage CONDSTORE in IMAP configuration Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/281805d6 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/281805d6 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/281805d6 Branch: refs/heads/master Commit: 281805d67de9bb9753a5153a114faa5a22913987 Parents: 02737f5 Author: Antoine DupratAuthored: Mon Jun 12 14:02:57 2017 +0200 Committer: benwa Committed: Wed Jun 14 12:43:32 2017 +0700 -- .../james/imap/api/ImapConfiguration.java | 27 +--- .../james/imap/api/ImapConfigurationTest.java | 33 ++-- 2 files changed, 53 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/281805d6/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java -- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java index e0b26ca..d06ac60 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java @@ -59,16 +59,20 @@ public class ImapConfiguration { return !StringUtils.isBlank(disableCap); } +private static final boolean DEFAULT_CONDSTORE_DISABLE = false; + private Optional idleTimeInterval; private Optional idleTimeIntervalUnit; private Optional enableIdle; private ImmutableSet disabledCaps; +private Optional isCondstoreEnable; private Builder() { this.idleTimeInterval = Optional.absent(); this.idleTimeIntervalUnit = Optional.absent(); this.enableIdle = Optional.absent(); this.disabledCaps = ImmutableSet.of(); +this.isCondstoreEnable = Optional.absent(); } public Builder idleTimeInterval(long idleTimeInterval) { @@ -101,6 +105,12 @@ public class ImapConfiguration { this.disabledCaps = ImmutableSet.of(disableCap); return this; } + +public Builder isCondstoreEnable(boolean isCondstoreEnable) { +this.isCondstoreEnable = Optional.of(isCondstoreEnable); +return this; +} + public ImapConfiguration build() { ImmutableSet normalizeDisableCaps = FluentIterable.from(disabledCaps) .filter(NO_BLANK) @@ -110,7 +120,8 @@ public class ImapConfiguration { enableIdle.or(DEFAULT_ENABLE_IDLE), idleTimeInterval.or(DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS), idleTimeIntervalUnit.or(DEFAULT_HEARTBEAT_INTERVAL_UNIT), -normalizeDisableCaps); +normalizeDisableCaps, +isCondstoreEnable.or(DEFAULT_CONDSTORE_DISABLE)); } } @@ -118,12 +129,14 @@ public class ImapConfiguration { private final TimeUnit idleTimeIntervalUnit; private final ImmutableSet disabledCaps; private final boolean enableIdle; +private final boolean isCondstoreEnable; -private ImapConfiguration(boolean enableIdle, long idleTimeInterval, TimeUnit idleTimeIntervalUnit, ImmutableSet disabledCaps) { +private ImapConfiguration(boolean enableIdle, long idleTimeInterval, TimeUnit idleTimeIntervalUnit, ImmutableSet disabledCaps, boolean isCondstoreEnable) { this.enableIdle = enableIdle; this.idleTimeInterval = idleTimeInterval; this.idleTimeIntervalUnit = idleTimeIntervalUnit; this.disabledCaps = disabledCaps; +this.isCondstoreEnable = isCondstoreEnable; } public long getIdleTimeInterval() { @@ -141,6 +154,10 @@ public class ImapConfiguration { public boolean isEnableIdle() { return enableIdle; } + +public boolean isCondstoreEnable() { +return isCondstoreEnable; +} @Override public final boolean equals(Object obj) { @@ -149,14 +166,15 @@ public class ImapConfiguration { return Objects.equal(that.isEnableIdle(), enableIdle) && Objects.equal(that.getIdleTimeInterval(), idleTimeInterval) && Objects.equal(that.getIdleTimeIntervalUnit(), idleTimeIntervalUnit) -&& Objects.equal(that.getDisabledCaps(), disabledCaps); +&& Objects.equal(that.getDisabledCaps(), disabledCaps) +&& Objects.equal(that.isCondstoreEnable(), isCondstoreEnable); } return false; } @Override public
Re: Call for vote: mime4J version 0.8.1
+1 Thank you Benoit, Eric On 09/06/17 05:09, Benoit Tellier wrote: Hello, I would like to call a vote for a mime4J release. This release includes: - Work on the MIME4J DOM date: - provide a way to know the header Date is absent - correction of header parsing when century is absent This release is a requirement for James 3.0 upcoming release (we should not depend on SNAPSHOT dependencies). This is a majority approval, as described in http://www.apache.org/foundation/glossary.html#MajorityApproval. As a reminder: - 3 binding +1 required (PMCs) - Majority of +1 - This can not be vetoed You can check the maven release artifact: - https://repository.apache.org/#stagingRepositories #1013 Answer this email with: +1 to promote the release -1 to reject the release The starts from 10 am 9th June 2017 UTC+7 and will be closed on 10 am 16th June 2017 UTC+7 (one week) Best regards, Tellier Benoit - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Created] (JAMES-2056) Host & port should not be mandatory
Antoine Duprat created JAMES-2056: - Summary: Host & port should not be mandatory Key: JAMES-2056 URL: https://issues.apache.org/jira/browse/JAMES-2056 Project: James Server Issue Type: Improvement Components: CLI Reporter: Antoine Duprat The host and the port should not be mandatory. We should add default for those entries: - host: 127.0.0.1 - port: -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Resolved] (JAMES-2051) Update cassandra quick-start documentation
[ https://issues.apache.org/jira/browse/JAMES-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit resolved JAMES-2051. --- Resolution: Fixed https://github.com/linagora/james-project/pull/836 proposes improvements for the getting started > Update cassandra quick-start documentation > -- > > Key: JAMES-2051 > URL: https://issues.apache.org/jira/browse/JAMES-2051 > Project: James Server > Issue Type: Bug >Reporter: Antoine Duprat > > In order to prepare the James 3.0 release, we should: > * check each commands > * replace SNAPSHOT version -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Closed] (JAMES-2051) Update cassandra quick-start documentation
[ https://issues.apache.org/jira/browse/JAMES-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit closed JAMES-2051. - > Update cassandra quick-start documentation > -- > > Key: JAMES-2051 > URL: https://issues.apache.org/jira/browse/JAMES-2051 > Project: James Server > Issue Type: Bug >Reporter: Antoine Duprat > > In order to prepare the James 3.0 release, we should: > * check each commands > * replace SNAPSHOT version -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[2/2] james-project git commit: JAMES-2051 Rework James with Cassandra quick start documentation
JAMES-2051 Rework James with Cassandra quick start documentation Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/96d1c4ed Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/96d1c4ed Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/96d1c4ed Branch: refs/heads/master Commit: 96d1c4edec12196e68baf9360a354d71561c4bd0 Parents: 97a4b36 Author: Antoine DupratAuthored: Fri Jun 9 10:37:31 2017 +0200 Committer: benwa Committed: Tue Jun 13 14:13:09 2017 +0700 -- src/site/xdoc/server/quick-start-cassandra.xml | 162 +--- 1 file changed, 143 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/96d1c4ed/src/site/xdoc/server/quick-start-cassandra.xml -- diff --git a/src/site/xdoc/server/quick-start-cassandra.xml b/src/site/xdoc/server/quick-start-cassandra.xml index 01faae5..d044b88 100644 --- a/src/site/xdoc/server/quick-start-cassandra.xml +++ b/src/site/xdoc/server/quick-start-cassandra.xml @@ -27,18 +27,16 @@ - The goal of the document is to allow anyone to start with James on Docker as an operational mail server. - The method described bellow should not be used in production. - - Alternatively a https://github.com/apache/james-project/blob/9502cfebfd9a4eaebbba7dda802d1fe0ad3589b7/dockerfiles/run/docker-compose.yml;> -docker-compose is available for Guice + Cassandra + ElasticSearch + The goal of the document is to allow anyone to start a James instance as an operational mail server. + The two methods described bellow should not be used in production. + First method, from James source code: Step 0: Requirements * Java 8 SDK - * 512MB RAM (launches with -Xmx512M - can use less, can need more, depending on load) + * 2GB RAM * Docker 1.7.1+ * Maven 3.3 @@ -54,7 +52,11 @@ Step 3: Compile * Compile the Guice Cassandra project -$ mvn package -DskipTests -am -pl server/container/guice/cassandra-guice +$ mvn package -DskipTests --also-make --projects server/container/guice/cassandra-guice + + * Compile the James CLI project + +$ mvn package -DskipTests -am -pl server/container/cli Step 3: Deploy ## @@ -62,12 +64,12 @@ Step 3: Deploy 3.1. Deploy Cassandra (optional) You may skip this part if you already have a running Cassandra on your network. -$ docker run --name=cassandra cassandra:2.2.3 +$ docker run --detach=true --name=cassandra cassandra:2.2.3 3.2. Deploy ElasticSearch (optional) You may skip this part if you already have a running ElasticSearch on your network. -$ docker run --name=elasticsearch elasticsearch:2.2.1 +$ docker run --detach=true --name=elasticsearch elasticsearch:2.2.1 Step 4: Configure # @@ -75,37 +77,42 @@ Step 4: Configure * Follow the Cassandra guice configuration documentation. * We need to provide the key we will use for TLS. For obvious reasons, this is not provided in this git. -Copy your TSL keys to ./conf/keystore or generate it using : +Copy your TLS keys to ./conf/keystore or generate it using : $ keytool -genkey -alias james -keyalg RSA -keystore ./conf/keystore You will have to put the keystore password in the right xml files (imapserver.xml, pop3server.xml, smtpserver.xml) +You are welcome to use the default configuration which can be found in the $PWD/dockerfiles/run/guice/cassandra/destination/conf folder. + Step 5: Start # * Run James -$ java -Dworking.directory=WORKING_PATH -jar server/container/cassandra-guice/target/james-server-cassandra-guice-beta5-SNAPSHOT.jar +$ sudo java -Dworking.directory=WORKING_PATH -jar server/container/guice/cassandra-guice/target/james-server-cassandra-guice.jar Where : -- WORKING_PATH is the path where are located your configuration file folder. +- WORKING_PATH is the path of the folder which contains your configuration files. + +You have to run this command with the superuser, has some default ports are lower than 1000 (default imap, smtp...). +You may get rid of that by overriding the default configuration Step 6: Create Domains and Users Time to add domains and users. -$ java -jar server/container/cli/target/james-server-cli-3.0.0-beta5-SNAPSHOT.jar -h 127.0.0.1 -p adddomain DOMAIN +$ java -jar server/container/cli/target/james-server-cli.jar -h 127.0.0.1 -p adddomain DOMAIN -$ java -jar server/container/cli/target/james-server-cli-3.0.0-beta5-SNAPSHOT.jar -h 127.0.0.1 -p adduser USER_MAIL_ADDRESS PASSWORD +$ java -jar server/container/cli/target/james-server-cli.jar -h 127.0.0.1 -p
[1/2] james-project git commit: JAMES-2051 Fix docker-compose usage
Repository: james-project Updated Branches: refs/heads/master 4adf702e3 -> 96d1c4ede JAMES-2051 Fix docker-compose usage Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/97a4b36b Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/97a4b36b Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/97a4b36b Branch: refs/heads/master Commit: 97a4b36bfef05af5e7b60612a19cd07868a99fb0 Parents: 4adf702 Author: Antoine DupratAuthored: Fri Jun 9 13:25:35 2017 +0200 Committer: benwa Committed: Tue Jun 13 14:12:59 2017 +0700 -- README.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/97a4b36b/README.adoc -- diff --git a/README.adoc b/README.adoc index 6eb4ce6..133c26f 100644 --- a/README.adoc +++ b/README.adoc @@ -30,7 +30,7 @@ james | Started : true Then, a default domain has been created: james.local -$ docker exec james java -jar /root/james-cli.jar -h 127.0.0.1 -p listdomains james.local +$ docker exec james java -jar /root/james-cli.jar -h 127.0.0.1 -p listdomains James will respond to IMAP port 143 and SMTP port 25. You have to create users before playing, you may also create other domains... - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (JAMES-1789) Consolidate Documentation
[ https://issues.apache.org/jira/browse/JAMES-1789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16047509#comment-16047509 ] Tellier Benoit commented on JAMES-1789: --- See https://issues.apache.org/jira/browse/JAMES-1829 > Consolidate Documentation > - > > Key: JAMES-1789 > URL: https://issues.apache.org/jira/browse/JAMES-1789 > Project: James Server > Issue Type: Sub-task > Components: Documentation >Reporter: Eric Charles >Assignee: Eric Charles > Fix For: 3.0.0 > > > We have a few places with mixed valid, depreacated and invalid content > http://james.apache.org/server/3/dev-build.html which is well updated. > However http://james.apache.org/mime4j/start/build.html still refers to > the svn tree. > What about http://james.apache.org/contribute.html where we could also > introduce the different repositories and explain the overall > architecture of the James project and how we accept pull requests from > github. > This task tracks initiative to migrate content to the website. > I have also create INFRA-12204 to migrate the site from svn to git. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
Re: [jira] [Updated] (JAMES-1829) Refreshing James Website
Sent from my iPhone > On Jun 10, 2017, at 7:41 AM, Tellier Benoit (JIRA) >wrote: > > > [ > https://issues.apache.org/jira/browse/JAMES-1829?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > ] > > Tellier Benoit updated JAMES-1829: > -- >Description: > We should: > > - Reorganize Manage section, to organize it by means of management, and not > based on object to manage > - Review config sections with updates > - Make packing support explicit > - Explain what to configure and what not to configure depanding on packaging > - Point Guice configuration to docker > - Remove mailet news > > As a User experience bonus: make Cli commands more readable using case. > >> Refreshing James Website >> >> >>Key: JAMES-1829 >>URL: https://issues.apache.org/jira/browse/JAMES-1829 >>Project: James Server >> Issue Type: Improvement >> Reporter: Laura Royet >> >> We should: >> - Reorganize Manage section, to organize it by means of management, and not >> based on object to manage >> - Review config sections with updates >> - Make packing support explicit >> - Explain what to configure and what not to configure depanding on packaging >> - Point Guice configuration to docker >> - Remove mailet news >> As a User experience bonus: make Cli commands more readable using case. > > > > -- > This message was sent by Atlassian JIRA > (v6.3.15#6346) > > - > To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org > For additional commands, e-mail: server-dev-h...@james.apache.org > - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org