diff Plugin/AuthorizationParserBase.h @ 77:94a9484d7f8f

fix security issues allowing to browse remote dicom servers + introduced UnitTests
author Alain Mazy <am@osimis.io>
date Wed, 15 Mar 2023 16:36:42 +0100
parents 1a13c4fbc9a1
children a2e5ea1869bd
line wrap: on
line diff
--- a/Plugin/AuthorizationParserBase.h	Thu Mar 09 14:37:52 2023 +0100
+++ b/Plugin/AuthorizationParserBase.h	Wed Mar 15 16:36:42 2023 +0100
@@ -23,6 +23,11 @@
 
 #include <Compatibility.h>  // For std::unique_ptr<>
 
+#if BUILD_UNIT_TESTS == 1
+#  include <gtest/gtest_prod.h>
+#endif
+
+
 namespace OrthancPlugins
 {
   class AuthorizationParserBase : public IAuthorizationParser
@@ -47,6 +52,9 @@
     void AddOrthancPatient(AccessedResources& target,
                            const std::string& orthancId);
 
+    void AddDicomPatient(AccessedResources& target,
+                         const std::string& patientId);
+
     void AddDicomStudy(AccessedResources& target,
                        const std::string& studyDicomUid);
     
@@ -67,5 +75,12 @@
     {
       resourceHierarchy_->Invalidate(level, id);
     }
+
+    FRIEND_TEST(DefaultAuthorizationParser, Parse);
+  protected:
+    ResourceHierarchyCache* GetResourceHierarchy()
+    {
+      return resourceHierarchy_.get();
+    }
   };
 }