From 5a1e9eca07efd4a7e2076ff7ff25ad313c4b9e78 Mon Sep 17 00:00:00 2001 From: Klaus Fischer <klaus.fischer@eloware.com> Date: Tue, 11 Oct 2022 07:10:35 +0200 Subject: [PATCH] Added Metadata and Hash reject --- FitConnect/Subscriber.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/FitConnect/Subscriber.cs b/FitConnect/Subscriber.cs index a596d0c2..e37a5c4d 100644 --- a/FitConnect/Subscriber.cs +++ b/FitConnect/Subscriber.cs @@ -80,6 +80,8 @@ public class Subscriber : FitConnectClient, if (!valid) { Logger?.LogWarning("Invalid metadata: {MetaData}", metaDataString); + // TODO: Check if problem is correct + RejectSubmission(submission, Problems.SchemaViolation); throw new Exception("Metadata validation failed"); } } @@ -95,6 +97,9 @@ public class Subscriber : FitConnectClient, Logger?.LogWarning("Data hash mismatch: {DataHash} != {CalculatedHash}", submission.Metadata?.ContentStructure.Data.Hash.Content, FitEncryption.CalculateHash(dataString)); + + // TODO: Check if problem is correct + RejectSubmission(submission, Problems.EncryptionIssue); throw new Exception("Data hash mismatch"); } } @@ -137,6 +142,10 @@ public class Subscriber : FitConnectClient, CompleteSubmission(Submission!, FinishSubmissionStatus.Rejected, problems); } + private void RejectSubmission(Submission submission, params Problems[] problems) { + CompleteSubmission(submission, FinishSubmissionStatus.Rejected, problems); + } + // public void ForwardSubmission() { // CompleteSubmission(Submission!, FinishSubmissionStatus.Forwarded); -- GitLab