From 8aad8948bffe34e9f0bf7313978c0564bef7d1ac Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 11 Nov 2022 13:37:45 +0100 Subject: [PATCH] openvidu-server: hide secret properties on log --- .../io/openvidu/server/OpenViduServer.java | 3 ++ .../server/config/OpenviduConfig.java | 13 +++++++++ .../server/rest/ConfigRestController.java | 7 ----- .../test/e2e/OpenViduProTestAppE2eTest.java | 29 ++++++++++--------- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java index 9d51a742..e10abfea 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java +++ b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java @@ -340,6 +340,9 @@ public class OpenViduServer implements JsonRpcConfigurer { for (String property : configPropNames) { String value = CONFIG_PROPS.get(property); + if (config.getSecretProperties().contains(property)) { + value = config.hideSecret(value, "*", 0); + } msg += " * " + config.getPropertyName(property) + "=" + (value == null ? "" : value) + "\n"; } msg += "\n\n"; diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java index da455c5a..bf43cb97 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java @@ -115,6 +115,8 @@ public class OpenviduConfig { private List userConfigProps; + protected final Set secretProps = new HashSet<>(Arrays.asList("OPENVIDU_SECRET")); + protected Map propertiesSource; public static final String DEFAULT_RECORDING_IMAGE_REPO = "openvidu/openvidu-recording"; @@ -487,6 +489,10 @@ public class OpenviduConfig { public Map getConfigProps() { return configProps; } + + public Set getSecretProperties() { + return secretProps; + } public List getUserProperties() { return userConfigProps; @@ -1255,4 +1261,11 @@ public class OpenviduConfig { return builder; } + public String hideSecret(final String originalString, String charToReplace, int numberOfVisibleChars) { + String hiddenString = originalString.substring(originalString.length() - numberOfVisibleChars, + originalString.length()); + hiddenString = charToReplace.repeat(originalString.length() - numberOfVisibleChars) + hiddenString; + return hiddenString; + } + } diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java index e3c25d92..cbee127f 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rest/ConfigRestController.java @@ -152,11 +152,4 @@ public class ConfigRestController { return new ResponseEntity<>(json.toString(), RestUtils.getResponseHeaders(), HttpStatus.OK); } - protected String hideSecret(final String originalString, String charToReplace, int numberOfVisibleChars) { - String hiddenString = originalString.substring(originalString.length() - numberOfVisibleChars, - originalString.length()); - hiddenString = charToReplace.repeat(originalString.length() - numberOfVisibleChars) + hiddenString; - return hiddenString; - } - } diff --git a/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduProTestAppE2eTest.java b/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduProTestAppE2eTest.java index 45a85435..110a4b09 100644 --- a/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduProTestAppE2eTest.java +++ b/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduProTestAppE2eTest.java @@ -742,10 +742,10 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest { } @Test - @DisplayName("Speech To Text disabled test") - void speechToTextDisabledTest() throws Exception { + @DisplayName("Service disabled STT test") + void serviceDisabledSttTest() throws Exception { - log.info("Speech To Text disabled test"); + log.info("Service disabled STT test"); restartOpenViduServerIfNecessary(false, null, "disabled"); @@ -776,10 +776,10 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest { } @Test - @DisplayName("Speech To Text simple transcription test") - void speechToTextSimpleTranscriptionTest() throws Exception { + @DisplayName("Simple transcription STT test") + void simpleTranscriptionSttTest() throws Exception { - log.info("Speech To Text simple transcription test"); + log.info("Simple transcription STT test"); restartOpenViduServerIfNecessary(false, null, "vosk"); @@ -852,10 +852,10 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest { } @Test - @DisplayName("Speech To Text close session test") - void speechToTextCloseSessionTest() throws Exception { + @DisplayName("Close session STT test") + void closeSessionSttTest() throws Exception { - log.info("Speech To Text close session"); + log.info("Close session STT test"); restartOpenViduServerIfNecessary(false, null, "vosk"); @@ -907,10 +907,10 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest { } @Test - @DisplayName("Speech To Text expected errors test") - void speechToTextExpectedErrorsTest() throws Exception { + @DisplayName("Expected errors STT test") + void expectedErrorsSttTest() throws Exception { - log.info("Speech To Text expected errors"); + log.info("Expected errors STT test"); restartOpenViduServerIfNecessary(false, null, "vosk"); @@ -1541,7 +1541,10 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest { protected void restartOpenViduServerIfNecessary(Boolean wantedNetworkQuality, Integer wantedNetworkQualityInterval, String wantedSpeechToText) { - try { + + wantedSpeechToText = "azure"; + + try { CustomHttpClient restClient = new CustomHttpClient(OPENVIDU_URL, "OPENVIDUAPP", OPENVIDU_SECRET); JsonObject config = restClient.rest(HttpMethod.GET, "/openvidu/api/config", 200);