Hi all. We have tests (and apps, naturally) which start up the network server and then test that connecting to it works. One test runs our wrapping around the server and uses bare JDBC code to verify that it's connectable. The other test runs our wrapping around the client and uses bare NetworkServerControl calls to start the server. Both of these tests fail after updating from 10.6.1.0 -> 10.8.1.2.
The error I am getting: Fri Sep 02 15:21:40 EST 2011 : Execution failed because of a Distributed Protocol Error: DRDA_Proto_SYNTAXRM; CODPNT arg = 115a; Error Code Value = 9. Plaintext connection attempt from an SSL enabled client? org.apache.derby.impl.drda.DRDAProtocolException: Execution failed because of a Distributed Protocol Error: DRDA_Proto_SYNTAXRM; CODPNT arg = 115a; Error Code Value = 9. Plaintext connection attempt from an SSL enabled client? at org.apache.derby.impl.drda.DRDAConnThread.throwSyntaxrm(DRDAConnThread.java:517) at org.apache.derby.impl.drda.DRDAConnThread.tooBig(DRDAConnThread.java:8160) at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSAT(DRDAConnThread.java:1583) at org.apache.derby.impl.drda.DRDAConnThread.exchangeServerAttributes(DRDAConnThread.java:1148) at org.apache.derby.impl.drda.DRDAConnThread.sessionInitialState(DRDAConnThread.java:672) at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:283) I joined the unit tests to form one test which doesn't use any of our own code, and the same error occurs. The test does require a 'scratch' field to be set up... which is unfortunately still part of our test framework. :/ @Test public void test() throws Exception { File dbDir = new File(scratch, "db"); EmbeddedConnectionPoolDataSource ds1 = new EmbeddedConnectionPoolDataSource(); ds1.setDatabaseName(dbDir.getAbsolutePath()); ds1.setCreateDatabase("create"); ds1.getConnection().close(); NetworkServerControl server = new NetworkServerControl(InetAddress.getByName("127.0.0.1"), 27000); try { server.start(null); ClientConnectionPoolDataSource ds = new ClientConnectionPoolDataSource(); ds.setServerName("127.0.0.1"); ds.setPortNumber(27000); ds.setDatabaseName(dbDir.getAbsolutePath()); ds.setUser("bob"); Connection connection = ds.getConnection(); connection.close(); } finally { server.shutdown(); // clean up after ourselves EmbeddedConnectionPoolDataSource ds2 = new EmbeddedConnectionPoolDataSource(); ds2.setDatabaseName(dbDir.getAbsolutePath()); ds2.setShutdownDatabase("shutdown"); try { ds2.getConnection(); } catch (SQLException e) { /* expected */ } } } The same code still works fine on 10.6.1.0. Additionally, on 10.6.1.0 I don't have to set the user. I searched the changelog and couldn't see anything about a user now being mandatory, but I assume this has changed for security reasons? TX