comparison 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
comparison
equal deleted inserted replaced
76:d301047ee3c4 77:94a9484d7f8f
21 #include "IAuthorizationParser.h" 21 #include "IAuthorizationParser.h"
22 #include "ResourceHierarchyCache.h" 22 #include "ResourceHierarchyCache.h"
23 23
24 #include <Compatibility.h> // For std::unique_ptr<> 24 #include <Compatibility.h> // For std::unique_ptr<>
25 25
26 #if BUILD_UNIT_TESTS == 1
27 # include <gtest/gtest_prod.h>
28 #endif
29
30
26 namespace OrthancPlugins 31 namespace OrthancPlugins
27 { 32 {
28 class AuthorizationParserBase : public IAuthorizationParser 33 class AuthorizationParserBase : public IAuthorizationParser
29 { 34 {
30 private: 35 private:
45 const std::string& orthancId); 50 const std::string& orthancId);
46 51
47 void AddOrthancPatient(AccessedResources& target, 52 void AddOrthancPatient(AccessedResources& target,
48 const std::string& orthancId); 53 const std::string& orthancId);
49 54
55 void AddDicomPatient(AccessedResources& target,
56 const std::string& patientId);
57
50 void AddDicomStudy(AccessedResources& target, 58 void AddDicomStudy(AccessedResources& target,
51 const std::string& studyDicomUid); 59 const std::string& studyDicomUid);
52 60
53 void AddDicomSeries(AccessedResources& target, 61 void AddDicomSeries(AccessedResources& target,
54 const std::string& studyDicomUid, 62 const std::string& studyDicomUid,
65 virtual void Invalidate(Orthanc::ResourceType level, 73 virtual void Invalidate(Orthanc::ResourceType level,
66 const std::string& id) ORTHANC_OVERRIDE 74 const std::string& id) ORTHANC_OVERRIDE
67 { 75 {
68 resourceHierarchy_->Invalidate(level, id); 76 resourceHierarchy_->Invalidate(level, id);
69 } 77 }
78
79 FRIEND_TEST(DefaultAuthorizationParser, Parse);
80 protected:
81 ResourceHierarchyCache* GetResourceHierarchy()
82 {
83 return resourceHierarchy_.get();
84 }
70 }; 85 };
71 } 86 }