-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
I'm testing the CLARUS proxy using the dataset provided in the repository benchmarking.
For now i'm focusing on simple tasks, creating the database, the table structure and insertion of some data.
I'm using the version 1.2-snap-ok tagged in all repositories
I'm using the security policy patient_anonymisation.xml
I'm using the dataset table scheme for the table creation
and the dataset table data for the data insert.
Here is my test:
$ PGPASSWORD=password PGUSER=postgres psql -h localhost -c "CREATE DATABASE clarus;"
CREATE DATABASE
$ PGPASSWORD=password PGUSER=postgres psql -h localhost -p 5433 -f dataSets/ehealth/std/eHealth_tableScheme.tpl clarus
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
$ PGPASSWORD=password PGUSER=postgres psql -h localhost -f ./dataSets/ehealth/std/eHealth_tableData.tpl clarus
BEGIN
psql:./dataSets/ehealth/std/eHealth_tableData.tpl:91: FATAL: Record creation not supported by this CLARUS proxy
psql:./dataSets/ehealth/std/eHealth_tableData.tpl:93: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
psql:./dataSets/ehealth/std/eHealth_tableData.tpl:93: connection to server was lostThe Clarus proxy output a stacktrace:
clarus_1 | 17:57:12.088 ERROR - (C<-S) Close on error
clarus_1 | 17:57:12.091 WARN - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
clarus_1 | io.netty.handler.codec.DecoderException: io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
clarus_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.channelRead(PgsqlMessageHandler.java:79) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.channelRead(PgsqlMessageHandler.java:79) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:38) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877) [netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) [netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
clarus_1 | Caused by: io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
clarus_1 | at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:111) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at eu.clarussecure.proxy.spi.CString.release(CString.java:142) ~[proxy-common-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.SQLSession.setTransactionErrorDetails(SQLSession.java:809) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.PgsqlEventProcessor.processReadyForQueryResponse(PgsqlEventProcessor.java:8928) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.lambda$process$12(QueryResponseHandler.java:79) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.processDetails(QueryResponseHandler.java:151) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.processDetails(QueryResponseHandler.java:132) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.process(QueryResponseHandler.java:78) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.process(QueryResponseHandler.java:12) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.decode(PgsqlMessageHandler.java:119) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.decode(PgsqlMessageHandler.java:37) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | ... 13 common frames omittedWhen i tried to inspect the database I can see that the database has been created but not the tables.