Allow RPC for internal classes with special serialisers. (#751)

Also ensure that HashCheckingStream validates the hash afterwards.
This commit is contained in:
Chris Rankin
2017-05-26 15:28:22 +01:00
committed by GitHub
parent 2d36e3ed1d
commit bb0cc85295
2 changed files with 45 additions and 9 deletions

View File

@ -61,7 +61,6 @@ class RPCKryo(observableSerializer: Serializer<Observable<Any>>) : CordaKryo(mak
}
override fun getRegistration(type: Class<*>): Registration {
type.requireExternal("RPC not allowed to deserialise internal classes")
if (Observable::class.java != type && Observable::class.java.isAssignableFrom(type)) {
return super.getRegistration(Observable::class.java)
}
@ -71,6 +70,7 @@ class RPCKryo(observableSerializer: Serializer<Observable<Any>>) : CordaKryo(mak
if (ListenableFuture::class.java != type && ListenableFuture::class.java.isAssignableFrom(type)) {
return super.getRegistration(ListenableFuture::class.java)
}
type.requireExternal("RPC not allowed to deserialise internal classes")
return super.getRegistration(type)
}
}