Hello Alexey,
I downloaded 1.9.18-M1 but I still cannot get the request. The output on my
console is below:
run:
truststore file has been set
keystoreUrl file has been set
Aug 19, 2009 10:34:57 AM com.sun.grizzly.Controller start
INFO: Starting Grizzly Framework 1.9.18-M1 - Wed Aug 19 10:34:57 CEST 2009
Something is still going wrong...
Thank you,
alaka
Oleksiy Stashok wrote:
>
> Hi Alaska,
>
> it could be problem in maven artifacts deployment.
> Can you pls. try 1.9.18-M1?
>
> Thanks.
>
> WBR,
> Alexey.
>
> On Aug 18, 2009, at 18:22 , Alaska wrote:
>
>>
>> Hello Alexey,
>>
>> thank you for your reply! Yes, due to your output it seems to work!
>>
>> I was running the Grizzly Framework 1.9.17-SNAPSHOT and I had the
>> output
>> like:
>>
>> truststore file has been set
>> keystoreUrl file has been set
>> Aug 18, 2009 5:07:01 PM com.sun.grizzly.Controller start
>> INFO: Starting Grizzly Framework 1.9.17-SNAPSHOT - Tue Aug 18 17:07:00
>> CEST 2009
>>
>>
>> Now I"ve installed the Grizzly Framework 1.9.18-SNAPSHOT and I"ve
>> got an
>> output:
>>
>> run:
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> com/sun/grizzly/util/Copyable
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>> at
>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
>> 124)
>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>> at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
>> 301)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
>> 320)
>> at GrizzlySSL.HttpSSLTest.main(HttpSSLTest.java:22)
>> Caused by: java.lang.ClassNotFoundException:
>> com.sun.grizzly.util.Copyable
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
>> 301)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
>> 320)
>> ... 13 more
>> Java Result: 1
>> BUILD SUCCESSFUL (total time: 0 seconds)
>>
>> Do you have an idea what is going wrong?
>>
>> Thank you,
>> alaska
>>
>>
>>
>>
>>
>>
>> Oleksiy Stashok wrote:
>>>
>>> Hi Alaska,
>>>
>>> here is output I see on my console [1]. So seems request passes at
>>> least to RequestControllerFilter.
>>> Do you see different behavior?
>>>
>>> Thanks.
>>>
>>> WBR,
>>> Alexey.
>>>
>>> [1] run:
>>> truststore file has been set
>>> keystoreUrl file has been set
>>> Aug 18, 2009 5:07:01 PM com.sun.grizzly.Controller start
>>> INFO: Starting Grizzly Framework 1.9.18-SNAPSHOT - Tue Aug 18
>>> 17:07:00
>>> CEST 2009
>>> startBuffer
>>> startBuffer
>>> request GET / HTTP/1.1
>>> Host: localhost:1080
>>>
>>> RequestControllerFilter request GET / HTTP/1.1
>>> Host: localhost:1080
>>>
>>> Aug 18, 2009 5:12:46 PM com.sun.grizzly.DefaultProtocolChain
>>> executeProtocolFilter
>>> SEVERE: ProtocolChain exception
>>> java.lang.SecurityException: /root/loginConfig.conf (No such file or
>>> directory)
>>> at
>>> com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:93)
>>> at
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>> at
>>> sun
>>> .reflect
>>> .NativeConstructorAccessorImpl
>>> .newInstance(NativeConstructorAccessorImpl.java:39)
>>> at
>>> sun
>>> .reflect
>>> .DelegatingConstructorAccessorImpl
>>> .newInstance(DelegatingConstructorAccessorImpl.java:27)
>>> at
>>> java.lang.reflect.Constructor.newInstance(Constructor.java:
>>> 513)
>>> at java.lang.Class.newInstance0(Class.java:355)
>>> at java.lang.Class.newInstance(Class.java:308)
>>> at javax.security.auth.login.Configuration
>>> $3.run(Configuration.java:246)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at
>>> javax
>>> .security
>>> .auth.login.Configuration.getConfiguration(Configuration.java:
>>> 241)
>>> at javax.security.auth.login.LoginContext
>>> $1.run(LoginContext.java:237)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at
>>> javax.security.auth.login.LoginContext.init(LoginContext.java:234)
>>> at
>>> javax.security.auth.login.LoginContext.<init>(LoginContext.java:334)
>>> at
>>> GrizzlySSL
>>> .RequestControllerFilter
>>> .initializeLogin(RequestControllerFilter.java:
>>> 94)
>>> at
>>> GrizzlySSL
>>> .RequestControllerFilter.execute(RequestControllerFilter.java:45)
>>> at
>>> com
>>> .sun
>>> .grizzly
>>> .DefaultProtocolChain
>>> .executeProtocolFilter(DefaultProtocolChain.java:
>>> 135)
>>> at
>>> com
>>> .sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
>>> 102)
>>> at
>>> com
>>> .sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
>>> 88)
>>> at
>>> com
>>> .sun
>>> .grizzly
>>> .ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:
>>> 53)
>>> at
>>> com
>>> .sun
>>> .grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:
>>> 57)
>>> at com.sun.grizzly.NIOContext.execute(NIOContext.java:510)
>>> at
>>> com
>>> .sun
>>> .grizzly
>>> .SelectorHandlerRunner.handleSelectedKey(SelectorHandlerRunner.java:
>>> 357)
>>> at
>>> com
>>> .sun
>>> .grizzly
>>> .SelectorHandlerRunner.handleSelectedKeys(SelectorHandlerRunner.java:
>>> 257)
>>> at
>>> com
>>> .sun
>>> .grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:
>>> 194)
>>> at
>>> com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:
>>> 129)
>>> at com.sun.grizzly.util.FixedThreadPool
>>> $BasicWorker.dowork(FixedThreadPool.java:379)
>>> at com.sun.grizzly.util.FixedThreadPool
>>> $BasicWorker.run(FixedThreadPool.java:360)
>>> at java.lang.Thread.run(Thread.java:637)
>>> Caused by: java.io.FileNotFoundException: /root/loginConfig.conf (No
>>> such file or directory)
>>> at java.io.FileInputStream.open(Native Method)
>>> at java.io.FileInputStream.<init>(FileInputStream.java:106)
>>> at java.io.FileInputStream.<init>(FileInputStream.java:66)
>>> at
>>> com
>>> .sun.security.auth.login.ConfigFile.getInputStream(ConfigFile.java:
>>> 591)
>>> at
>>> com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:260)
>>> at
>>> com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:202)
>>> at
>>> com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:91)
>>> ... 28 more
>>>
>>> On Aug 17, 2009, at 11:25 , Alaska wrote:
>>>
>>>>
>>>> Hello Alexey,
>>>>
>>>> the sample is in the attachement.
>>>>
>>>> Thank you,
>>>> alaska. http://www.nabble.com/file/p25003689/GrizzlySSL.zip
>>>> GrizzlySSL.zip
>>>>
>>>>
>>>>
>>>> Oleksiy Stashok wrote:
>>>>>
>>>>> Ok,
>>>>> can you pls. send me the sample, so I can reproduce the issue?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> WBR,
>>>>> Alexey.
>>>>>
>>>>> On Aug 14, 2009, at 17:10 , Alaska wrote:
>>>>>
>>>>>>
>>>>>> Hello Alexey,
>>>>>>
>>>>>> I added to my ParserProtovolFilter the method you suggested.
>>>>>> But it didn"t solve the problem yet.
>>>>>>
>>>>>> alaska
>>>>>>
>>>>>> ++++++++++++++++++++++++++++++++++
>>>>>>
>>>>>> import com.sun.grizzly.ProtocolParser;
>>>>>> import com.sun.grizzly.filter.ParserProtocolFilter;
>>>>>>
>>>>>> public class AsciiCommandProtocolParserFilter extends
>>>>>> ParserProtocolFilter
>>>>>> {
>>>>>>
>>>>>>
>>>>>>
>>>>>> + public AsciiCommandProtocolParserFilter() {
>>>>>> + this.setSkipRead(true);
>>>>>> + }
>>>>>>
>>>>>> @Override
>>>>>> public ProtocolParser newProtocolParser() {
>>>>>>
>>>>>> return new HttpStreamReader();
>>>>>>
>>>>>> }
>>>>>> }
>>>>>>
>>>>>>
>>>>>> Oleksiy Stashok wrote:
>>>>>>>
>>>>>>> Hi Alaska,
>>>>>>>
>>>>>>> pls. try to set setSkipRead(true); on your ParserProtocolFilters.
>>>>>>> Please let me know if it helped.
>>>>>>>
>>>>>>> WBR,
>>>>>>> Alexey.
>>>>>>>
>>>>>>> On Aug 14, 2009, at 15:57 , Alaska wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Dear Alexey,
>>>>>>>>
>>>>>>>> I"ve just found the mistake with the controller.
>>>>>>>> I removed the SSLConnectorHandler, the SSLCallbackHandler and
>>>>>>>> the
>>>>>>>> line
>>>>>>>> sslConnector.connect(new InetSocketAddress("localhost", PORT),
>>>>>>>> callbackSSL);
>>>>>>>>
>>>>>>>> Now it seems that the connection was etablished...
>>>>>>>>
>>>>>>>> But I have a problem that I cannot get the request... The
>>>>>>>> ParserFilter is
>>>>>>>> not being invoked.
>>>>>>>>
>>>>>>>> The browser message is: Data Transfer Interrupted
>>>>>>>> The connection to localhost:1080 was interrupted while the page
>>>>>>>> was
>>>>>>>> loading.
>>>>>>>> The browser connected successfully, but the connection was
>>>>>>>> interrupted while
>>>>>>>> transferring information.
>>>>>>>>
>>>>>>>> Do you have an idea what is still wrong?
>>>>>>>>
>>>>>>>> thank you!
>>>>>>>> alaska
>>>>>>>>
>>>>>>>>
>>>>>>>> ++++++++++++++++++++++++++++++++++++++++
>>>>>>>> The SSLConnectionTest.java looks like:
>>>>>>>>
>>>>>>>> package Grizzly2httpSSL;
>>>>>>>>
>>>>>>>>
>>>>>>>> import
>>>>>>>> Grizzly2httpSSL.Protocols.Http.AsciiCommandProtocolParserFilter;
>>>>>>>> import com.sun.grizzly.Context;
>>>>>>>> import com.sun.grizzly.Controller;
>>>>>>>> import com.sun.grizzly.DefaultProtocolChain;
>>>>>>>> import com.sun.grizzly.DefaultProtocolChainInstanceHandler;
>>>>>>>> import com.sun.grizzly.IOEvent;
>>>>>>>> import com.sun.grizzly.ProtocolChain;
>>>>>>>> import com.sun.grizzly.ProtocolChainInstanceHandler;
>>>>>>>> import com.sun.grizzly.ProtocolFilter;
>>>>>>>> import com.sun.grizzly.SSLCallbackHandler;
>>>>>>>> import com.sun.grizzly.SSLConfig;
>>>>>>>> import com.sun.grizzly.SSLConnectorHandler;
>>>>>>>> import com.sun.grizzly.SSLSelectorHandler;
>>>>>>>> import com.sun.grizzly.filter.SSLReadFilter;
>>>>>>>> import com.sun.grizzly.filter.SSLEchoFilter;
>>>>>>>> import java.io.File;
>>>>>>>> import java.io.IOException;
>>>>>>>> import java.net.InetSocketAddress;
>>>>>>>> import java.net.URL;
>>>>>>>> import java.nio.ByteBuffer;
>>>>>>>> import java.nio.channels.SelectionKey;
>>>>>>>> import java.util.Arrays;
>>>>>>>> import java.util.concurrent.CountDownLatch;
>>>>>>>> import java.util.concurrent.TimeUnit;
>>>>>>>> import java.util.logging.Level;
>>>>>>>> import java.util.logging.Logger;
>>>>>>>> import javax.net.ssl.SSLContext;
>>>>>>>>
>>>>>>>>
>>>>>>>> public class SSLConnectionTest {
>>>>>>>>
>>>>>>>>
>>>>>>>> String TRUST_STORE_PROP = "truststoreSSLtest.jks";
>>>>>>>> String KEY_STORE_PROP = "serverkey.jks";
>>>>>>>> public static final int PORT = 1080;
>>>>>>>> public static final int PACKETS_COUNT = 10;
>>>>>>>> public static final int CLIENTS_COUNT = 10;
>>>>>>>> /**
>>>>>>>> * A <code>SSLCallbackHandler</code> handler invoked by the
>>>>>>>> TCPSelectorHandler
>>>>>>>> * when a non blocking operation is ready to be processed.
>>>>>>>> */
>>>>>>>> private SSLCallbackHandler callbackHandler;
>>>>>>>> private SSLConfig sslConfig;
>>>>>>>>
>>>>>>>> public void setUp() {
>>>>>>>> sslConfig = new SSLConfig();
>>>>>>>>
>>>>>>>> File file = new File(TRUST_STORE_PROP);
>>>>>>>>
>>>>>>>> if (file != null) {
>>>>>>>> sslConfig.setTrustStoreFile(file.getAbsolutePath());
>>>>>>>> System.out.println("truststore file has been set");
>>>>>>>>
>>>>>>>> } else {
>>>>>>>> System.out.println("Couldn't find the truststore file");
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>> File file1 = new File(KEY_STORE_PROP);
>>>>>>>>
>>>>>>>>
>>>>>>>> //the keystore will be used for encrypting/signing some
>>>>>>>> thing
>>>>>>>> with
>>>>>>>> your private key
>>>>>>>> // URL keystoreUrl =
>>>>>>>> getClass().getClassLoader().getResource("serverkey.jks");
>>>>>>>> if (file1 != null) {
>>>>>>>> sslConfig.setKeyStoreFile(file1.getAbsolutePath());
>>>>>>>> System.out.println("keystoreUrl file has been set");
>>>>>>>>
>>>>>>>> } else {
>>>>>>>> System.out.println("Couldn't find the keystore");
>>>>>>>>
>>>>>>>> }
>>>>>>>> SSLConfig.DEFAULT_CONFIG = sslConfig;
>>>>>>>> final Controller controller =
>>>>>>>> createSSLController
>>>>>>>> (SSLConfig.DEFAULT_CONFIG.createSSLContext());
>>>>>>>> try {
>>>>>>>> controller.start();
>>>>>>>> } catch (IOException ex) {
>>>>>>>>
>>>>>>>> Logger
>>>>>>>> .getLogger(SSLConnectionTest.class.getName()).log(Level.SEVERE,
>>>>>>>> "the
>>>>>>>> SSL controller couldn't not been started", ex);
>>>>>>>> }
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> private Controller createSSLController(SSLContext sslContext) {
>>>>>>>>
>>>>>>>>
>>>>>>>> final SSLReadFilter readFilter = new SSLReadFilter();
>>>>>>>> readFilter.setSSLContext(sslContext);
>>>>>>>> readFilter.isNeedClientAuth();
>>>>>>>>
>>>>>>>> final ProtocolFilter asciiCommandParser = new
>>>>>>>> AsciiCommandProtocolParserFilter();
>>>>>>>>
>>>>>>>> final ProtocolFilter genericProtocolFilter = new
>>>>>>>> RequestControllerFilter();
>>>>>>>>
>>>>>>>> final ProtocolFilter genericDoor = new GenericDoor();
>>>>>>>>
>>>>>>>> SSLSelectorHandler selectorHandler = new
>>>>>>>> SSLSelectorHandler();
>>>>>>>> selectorHandler.setPort(PORT);
>>>>>>>>
>>>>>>>> final Controller controller = new Controller();
>>>>>>>>
>>>>>>>> controller.setSelectorHandler(selectorHandler);
>>>>>>>> controller.setHandleReadWriteConcurrently(false);
>>>>>>>>
>>>>>>>> final ProtocolChain protocolChain = new
>>>>>>>> DefaultProtocolChain();
>>>>>>>>
>>>>>>>> protocolChain.addFilter(readFilter);
>>>>>>>> protocolChain.addFilter(asciiCommandParser);
>>>>>>>> protocolChain.addFilter(genericProtocolFilter);
>>>>>>>> protocolChain.addFilter(genericDoor);
>>>>>>>>
>>>>>>>> ((DefaultProtocolChain)
>>>>>>>> protocolChain).setContinuousExecution(true);
>>>>>>>>
>>>>>>>>
>>>>>>>> ProtocolChainInstanceHandler pciHandler = new
>>>>>>>> DefaultProtocolChainInstanceHandler() {
>>>>>>>>
>>>>>>>> @Override
>>>>>>>> public ProtocolChain poll() {
>>>>>>>> return protocolChain;
>>>>>>>> }
>>>>>>>>
>>>>>>>> @Override
>>>>>>>> public boolean offer(ProtocolChain pc) {
>>>>>>>> return false;
>>>>>>>> }
>>>>>>>> };
>>>>>>>>
>>>>>>>> controller.setProtocolChainInstanceHandler(pciHandler);
>>>>>>>>
>>>>>>>> controller.setReadThreadsCount(5); //
>>>>>>>>
>>>>>>>> return controller;
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> }
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/SSL-Layer-tp24954939p24972156.html
>>>>>>>> Sent from the Grizzly - Users mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/SSL-Layer-tp24954939p24973322.html
>>>>>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/SSL-Layer-tp24954939p25003689.html
>>>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/SSL-Layer-tp24954939p25028479.html
>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>
>
>
--
View this message in context: http://www.nabble.com/SSL-Layer-tp24954939p25040094.html
Sent from the Grizzly - Users mailing list archive at Nabble.com.