You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Trustin Lee (JIRA)" <ji...@apache.org> on 2007/01/28 05:01:49 UTC

[jira] Updated: (DIRMINA-325) Configuration of SSLSession cacheSize and sessionTimeout

     [ https://issues.apache.org/jira/browse/DIRMINA-325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Trustin Lee updated DIRMINA-325:
--------------------------------

    Fix Version/s: 2.0.0-M1

Please allow us fix this issue in 2.0-M1 because it need changes (addition) of the API.

> Configuration of SSLSession cacheSize and sessionTimeout
> --------------------------------------------------------
>
>                 Key: DIRMINA-325
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-325
>             Project: MINA
>          Issue Type: Improvement
>          Components: Integration
>    Affects Versions: 1.0.0
>            Reporter: Wolter Eldering
>             Fix For: 2.0.0-M1
>
>
> The defaults values for session cache and timeout could lead to a large number of sessions being cached under a SSLContext.
> The is no way to set these values in SSLContextFactoryBean.
> Index: integration-spring/src/main/java/org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.java
> ===================================================================
> --- integration-spring/src/main/java/org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.java  (revision 487691)
> +++ integration-spring/src/main/java/org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.java  (working copy)
> @@ -76,6 +76,10 @@
>      private String trustManagerFactoryProvider = null;
>      private boolean trustManagerFactoryAlgorithmUseDefault = false;
>      private ManagerFactoryParameters trustManagerFactoryParameters = null;
> +    private int clientSessionCacheSize = -1;
> +    private int clientSessionTimeout = -1;
> +    private int serverSessionCacheSize = -1;
> +    private int serverSessionTimeout = -1;
>      
>      protected Object createInstance() throws Exception
>      {
> @@ -156,7 +160,27 @@
>          }
>          
>          context.init( keyManagers, trustManagers, secureRandom );
> +
> +        if( clientSessionCacheSize >= 0 )
> +        {
> +            context.getClientSessionContext().setSessionCacheSize( clientSessionCacheSize );
> +        }
>          
> +        if( clientSessionTimeout >= 0 )
> +        {
> +            context.getClientSessionContext().setSessionTimeout( clientSessionTimeout );
> +        }
> +        
> +        if( serverSessionCacheSize >= 0 )
> +        {
> +            context.getServerSessionContext().setSessionCacheSize( serverSessionCacheSize );
> +        }
> +        
> +        if( serverSessionTimeout >= 0 )
> +        {
> +            context.getServerSessionContext().setSessionTimeout( serverSessionTimeout );
> +        }
> +        
>          return context;
>      }
>  
> @@ -393,5 +417,47 @@
>          this.secureRandom = secureRandom;
>      }
>  
> +    /**
> +     * Sets the SSLSession cache size for the {@link SSLSessionContext} for use in client mode.
> +     *  
> +     * @param size the new session cache size limit; zero means there is no limit.
> +     * @see SSLSessionContext#setSessionCacheSize(int size)
> +     */
> +    public void setClientSessionCacheSize(int size)
> +    {
> +        this.clientSessionCacheSize = size;
> +       }
>      
> +    /**
> +     * Set the SSLSession timeout limit for the {@link SSLSessionContext} for use in client mode.
> +     * 
> +     * @param seconds the new session timeout limit in seconds; zero means there is no limit.
> +     * @see SSLSessionContext#setSessionTimeout(int seconds)
> +     */
> +    public void setClientSessionTimeout(int seconds)
> +    {
> +        this.clientSessionTimeout = seconds;
> +       }
> +
> +    /**
> +     * Sets the SSLSession cache size for the {@link SSLSessionContext} for use in server mode.
> +     *  
> +     * @param size the new session cache size limit; zero means there is no limit.
> +     * @see SSLSessionContext#setSessionCacheSize(int size)
> +     */
> +    public void setServerSessionCacheSize(int serverSessionCacheSize)
> +    {
> +        this.serverSessionCacheSize = serverSessionCacheSize;
> +       }
> +
> +    /**
> +     * Set the SSLSession timeout limit for the {@link SSLSessionContext} for use in server mode.
> +     * 
> +     * @param seconds the new session timeout limit in seconds; zero means there is no limit.
> +     * @see SSLSessionContext#setSessionTimeout(int seconds)
> +     */
> +    public void setServerSessionTimeout(int serverSessionTimeout)
> +    {
> +        this.serverSessionTimeout = serverSessionTimeout;
> +       }
>  }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.