From 8897dbf0c74c4224afd329b4e350c471e91ade80 Mon Sep 17 00:00:00 2001 From: pahearn73 Date: Fri, 16 Aug 2024 14:37:00 -0400 Subject: [PATCH 1/4] Moved request validation before early-exit of extension requests. --- core/main/src/firebolt/firebolt_gateway.rs | 55 +++++++++++----------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/core/main/src/firebolt/firebolt_gateway.rs b/core/main/src/firebolt/firebolt_gateway.rs index d4bdc8831..34e93f4db 100644 --- a/core/main/src/firebolt/firebolt_gateway.rs +++ b/core/main/src/firebolt/firebolt_gateway.rs @@ -197,38 +197,39 @@ impl FireboltGateway { tokio::spawn(async move { let start = Utc::now().timestamp_millis(); - let result = if extn_request { - // extn protocol means its an internal Ripple request skip permissions. - Ok(()) - } else { - // Validate incoming request parameters. - if let Err(error_string) = validate_request(open_rpc_state, &request_c) { - let now = Utc::now().timestamp_millis(); - RpcRouter::log_rdk_telemetry_message( - &request.ctx.app_id, - &request.method, - JSON_RPC_STANDARD_ERROR_INVALID_PARAMS, - now - start, - ); + // Validate incoming request parameters. + if let Err(error_string) = validate_request(open_rpc_state, &request_c) { + let now = Utc::now().timestamp_millis(); - TelemetryBuilder::stop_and_send_firebolt_metrics_timer( - &platform_state.clone(), - metrics_timer, - format!("{}", JSON_RPC_STANDARD_ERROR_INVALID_PARAMS), - ) - .await; + RpcRouter::log_rdk_telemetry_message( + &request.ctx.app_id, + &request.method, + JSON_RPC_STANDARD_ERROR_INVALID_PARAMS, + now - start, + ); - let json_rpc_error = JsonRpcError { - code: JSON_RPC_STANDARD_ERROR_INVALID_PARAMS, - message: error_string, - data: None, - }; + TelemetryBuilder::stop_and_send_firebolt_metrics_timer( + &platform_state.clone(), + metrics_timer, + format!("{}", JSON_RPC_STANDARD_ERROR_INVALID_PARAMS), + ) + .await; - send_json_rpc_error(&platform_state, &request, json_rpc_error).await; - return; - } + let json_rpc_error = JsonRpcError { + code: JSON_RPC_STANDARD_ERROR_INVALID_PARAMS, + message: error_string, + data: None, + }; + send_json_rpc_error(&platform_state, &request, json_rpc_error).await; + return; + } + + let result = if extn_request { + // extn protocol means its an internal Ripple request skip permissions. + Ok(()) + } else { FireboltGatekeeper::gate(platform_state.clone(), request_c.clone()).await }; From 2fc2b4d72bb20d26f06706834a7e93a643b2baf1 Mon Sep 17 00:00:00 2001 From: pahearn73 Date: Fri, 16 Aug 2024 17:04:09 -0400 Subject: [PATCH 2/4] AdConfig: Skip if serialization if optional fields are empty. --- core/sdk/src/api/firebolt/fb_advertising.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/sdk/src/api/firebolt/fb_advertising.rs b/core/sdk/src/api/firebolt/fb_advertising.rs index 6248e456c..9035f1d6d 100644 --- a/core/sdk/src/api/firebolt/fb_advertising.rs +++ b/core/sdk/src/api/firebolt/fb_advertising.rs @@ -162,7 +162,9 @@ pub struct AdConfig { #[serde(default)] pub environment: Environment, // COPPA stands for Children's Online Privacy Protection Act. + #[serde(skip_serializing_if = "Option::is_none")] pub coppa: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub authentication_entity: Option, } From f64c59d7dc15edf34ccc9ecac2b0f0b30d967c54 Mon Sep 17 00:00:00 2001 From: pahearn73 Date: Mon, 19 Aug 2024 14:21:00 -0400 Subject: [PATCH 3/4] Bump concourse From adfd0eb9980427d25fda0be00605c6427eb945c3 Mon Sep 17 00:00:00 2001 From: pahearn73 Date: Mon, 19 Aug 2024 14:45:16 -0400 Subject: [PATCH 4/4] Updated for 1.12.rc. --- .github/workflows/Build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 36eafa56b..dd0ab7763 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -4,7 +4,7 @@ on: push: branches: [ "main" ] pull_request: - branches: [ "main", "1.11.rc" ] + branches: [ "main", "1.11.rc", "1.12.rc" ] env: CARGO_TERM_COLOR: always