From 7a0ab00ece2750ff56b0c62aadb1fbe2a7fb4c4a Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr>
Date: Wed, 15 Mar 2023 17:02:54 +0100
Subject: [PATCH] Update on mapping warning for sec. conf.

---
 src/main/java/tmltranslator/SecurityPattern.java   | 8 ++++++++
 src/main/java/tmltranslator/TMLSyntaxChecking.java | 8 +++++---
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/main/java/tmltranslator/SecurityPattern.java b/src/main/java/tmltranslator/SecurityPattern.java
index fc159f6101..09d9fdb83c 100644
--- a/src/main/java/tmltranslator/SecurityPattern.java
+++ b/src/main/java/tmltranslator/SecurityPattern.java
@@ -43,6 +43,7 @@ package tmltranslator;
 import avatartranslator.AvatarState;
 import myutil.TraceManager;
 
+import java.util.Locale;
 import java.util.Objects;
 
 
@@ -133,4 +134,11 @@ public class SecurityPattern {
 
     }
 
+    public boolean isNonceType() {
+        if (type == null) {
+            return false;
+        }
+        return type.toLowerCase(Locale.ROOT).equals("nonce");
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLSyntaxChecking.java b/src/main/java/tmltranslator/TMLSyntaxChecking.java
index 495eeb2a6c..b63a677207 100755
--- a/src/main/java/tmltranslator/TMLSyntaxChecking.java
+++ b/src/main/java/tmltranslator/TMLSyntaxChecking.java
@@ -1070,9 +1070,11 @@ public class TMLSyntaxChecking {
 
     public void checkMappingOfSecurityPattern() {
         for(SecurityPattern sp: tmlm.secPatterns) {
-            List<HwMemory> mems = mapping.getMappedMemory(sp);
-            if ( (mems == null) || (mems.size() == 0) ) {
-                addWarning(null, null, SECURITY_PATTERN_NOT_MAPPED + ": " + sp.getName(), TMLError.ERROR_STRUCTURE);
+            if (!(sp.isNonceType())) {
+                List<HwMemory> mems = mapping.getMappedMemory(sp);
+                if ((mems == null) || (mems.size() == 0)) {
+                    addWarning(null, null, SECURITY_PATTERN_NOT_MAPPED + ": " + sp.getName(), TMLError.ERROR_STRUCTURE);
+                }
             }
 
         }
-- 
GitLab