diff --git a/services/tunnelbroker/src/cxx_bridge.rs b/services/tunnelbroker/src/cxx_bridge.rs --- a/services/tunnelbroker/src/cxx_bridge.rs +++ b/services/tunnelbroker/src/cxx_bridge.rs @@ -55,6 +55,7 @@ pub fn getConfigParameter(parameter: &str) -> Result; pub fn isSandbox() -> Result; pub fn sessionSignatureHandler(deviceID: &str) -> SessionSignatureResult; + pub fn getStringToSign(deviceID: &str) -> Result; pub fn newSessionHandler( deviceID: &str, publicKey: &str, diff --git a/services/tunnelbroker/src/libcpp/Tunnelbroker.h b/services/tunnelbroker/src/libcpp/Tunnelbroker.h --- a/services/tunnelbroker/src/libcpp/Tunnelbroker.h +++ b/services/tunnelbroker/src/libcpp/Tunnelbroker.h @@ -7,6 +7,7 @@ rust::String getConfigParameter(rust::Str parameter); bool isSandbox(); SessionSignatureResult sessionSignatureHandler(rust::Str deviceID); +rust::String getStringToSign(rust::Str deviceID); NewSessionResult newSessionHandler( rust::Str deviceID, rust::Str publicKey, diff --git a/services/tunnelbroker/src/libcpp/Tunnelbroker.cpp b/services/tunnelbroker/src/libcpp/Tunnelbroker.cpp --- a/services/tunnelbroker/src/libcpp/Tunnelbroker.cpp +++ b/services/tunnelbroker/src/libcpp/Tunnelbroker.cpp @@ -72,6 +72,11 @@ .toSign = toSign, .grpcStatus = {.statusCode = GRPCStatusCodes::Ok}}; } +rust::String getStringToSign(rust::Str deviceID) { + comm::network::database::DatabaseManager::getInstance().findSessionSignItem( + std::string{deviceID}); +} + NewSessionResult newSessionHandler( rust::Str deviceID, rust::Str publicKey,