Closed kiwidoggie closed 4 years ago
RPC has been removed from the kernel all together (in my working fork which will be upstreamed soon), currently being rebuilt within userland using flatbuffers. This appears to work fine using the OOSDK since it has matured.
So far there is undefined behavior inside of the protobuf-c decoder. Cannot repro this issue on PC (linux) with asan enabled, memory sanitizer caught one issue, but it never triggered again. Opting for removing all of RPC from the kernel in favor of the CtrlDriver (currently in use by substitute) and moving all remote RPC calls to userland with a refactored RPC system using capnproto or the official protobuf library from google (written in C++), currently pending on OOSDK C++ support to land from @Cryptogenic .
Ideally, this is the new flow
PC Client -> Socket -> Userland Daemon (startup code provided by @LightningMods ) -> RPC Server ->
/dev/mira
ioctl callsAs well as a watchdog to make sure RPC daemon restarts on crash.