Author: norman
Date: Mon Jan 17 19:11:01 2011
New Revision: 1060047
URL: http://svn.apache.org/viewvc?rev=1060047&view=rev
Log:
Add support for IMAP COMPRESS extension. See IMAP-247
Modified:
james/server/trunk/container-spring/src/main/config/james/imapserver.xml
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapStreamChannelUpstreamHandler.java
Modified:
james/server/trunk/container-spring/src/main/config/james/imapserver.xml
URL:
http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/imapserver.xml?rev=1060047&r1=1060046&r2=1060047&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/imapserver.xml
(original)
+++ james/server/trunk/container-spring/src/main/config/james/imapserver.xml
Mon Jan 17 19:11:01 2011
@@ -25,6 +25,8 @@
<connectionBacklog>200</connectionBacklog>
<tls socketTLS="false" startTLS="false">
</tls>
+ <!-- COMPRESS extension -->
+ <compress>false</compress>
<handler>
<connectionLimit> 0 </connectionLimit>
<connectionLimitPerIP> 0 </connectionLimitPerIP>
Modified:
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java?rev=1060047&r1=1060046&r2=1060047&view=diff
==============================================================================
---
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
(original)
+++
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
Mon Jan 17 19:11:01 2011
@@ -57,6 +57,8 @@ public class IMAPServer extends Abstract
private ImapDecoder decoder;
+ private boolean compress;
+
@Resource(name="imapDecoder")
public void setImapDecoder(ImapDecoder decoder) {
this.decoder = decoder;
@@ -76,6 +78,7 @@ public class IMAPServer extends Abstract
public void doConfigure( final HierarchicalConfiguration configuration )
throws ConfigurationException {
super.doConfigure(configuration);
hello = softwaretype + " Server " + getHelloName() + " is ready.";
+ compress = configuration.getBoolean("compress", false);
}
@@ -133,9 +136,9 @@ public class IMAPServer extends Abstract
final ImapRequestStreamHandler handler = new
ImapRequestStreamHandler(decoder, processor, encoder);
if (isStartTLSSupported()) {
- pipeline.addLast("coreHandler", new
ImapStreamChannelUpstreamHandler(hello, handler, getLogger(), timer,
IMAPServer.this.getTimeout(), getSSLContext(), getEnabledCipherSuites()));
+ pipeline.addLast("coreHandler", new
ImapStreamChannelUpstreamHandler(hello, handler, getLogger(), timer,
IMAPServer.this.getTimeout(), compress, getSSLContext(),
getEnabledCipherSuites()));
} else {
- pipeline.addLast("coreHandler", new
ImapStreamChannelUpstreamHandler(hello, handler, getLogger(), timer,
IMAPServer.this.getTimeout()));
+ pipeline.addLast("coreHandler", new
ImapStreamChannelUpstreamHandler(hello, handler, getLogger(), timer,
IMAPServer.this.getTimeout(), compress));
}
return pipeline;
Modified:
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapStreamChannelUpstreamHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapStreamChannelUpstreamHandler.java?rev=1060047&r1=1060046&r2=1060047&view=diff
==============================================================================
---
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapStreamChannelUpstreamHandler.java
(original)
+++
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapStreamChannelUpstreamHandler.java
Mon Jan 17 19:11:01 2011
@@ -61,21 +61,24 @@ public class ImapStreamChannelUpstreamHa
private SSLContext context;
+ private boolean compress;
+
private final static String IMAP_SESSION = "IMAP_SESSION";
private final static String BUFFERED_OUT = "BUFFERED_OUT";
- public ImapStreamChannelUpstreamHandler(final String hello, final
ImapRequestStreamHandler handler, final Log logger, final Timer timer, final
long readTimeout) {
- this(hello, handler, logger, timer, readTimeout, null, null);
+ public ImapStreamChannelUpstreamHandler(final String hello, final
ImapRequestStreamHandler handler, final Log logger, final Timer timer, final
long readTimeout, boolean compress) {
+ this(hello, handler, logger, timer, readTimeout, compress, null, null);
}
- public ImapStreamChannelUpstreamHandler(final String hello, final
ImapRequestStreamHandler handler, final Log logger, final Timer timer, final
long readTimeout, SSLContext context, String[] enabledCipherSuites) {
+ public ImapStreamChannelUpstreamHandler(final String hello, final
ImapRequestStreamHandler handler, final Log logger, final Timer timer, final
long readTimeout, boolean compress, SSLContext context, String[]
enabledCipherSuites) {
super(timer, readTimeout, TimeUnit.SECONDS);
this.logger = logger;
this.hello = hello;
this.handler = handler;
this.context = context;
this.enabledCipherSuites = enabledCipherSuites;
+ this.compress = compress;
}
private Log getLogger(Channel channel) {
@@ -145,8 +148,9 @@ public class ImapStreamChannelUpstreamHa
return context != null;
}
+ @Override
public boolean isCompressionSupported() {
- return true;
+ return compress;
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]