comparison OrthancServer/main.cpp @ 618:5ab377df6d8b find-move-scp

filtering on aet
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 25 Oct 2013 11:50:17 +0200
parents f27923072afd
children 70d0f27e5bd3
comparison
equal deleted inserted replaced
617:a24b0161b171 618:5ab377df6d8b
255 { 255 {
256 } 256 }
257 }; 257 };
258 258
259 259
260 class OrthancApplicationEntityFilter : public IApplicationEntityFilter
261 {
262 public:
263 virtual bool IsAllowed(const std::string& /*callingIp*/,
264 const std::string& callingAet)
265 {
266 if (!IsKnownAETitle(callingAet))
267 {
268 LOG(ERROR) << "Unkwnown remote DICOM modality AET: \"" << callingAet << "\"";
269 return false;
270 }
271 else
272 {
273 return true;
274 }
275 }
276 };
277
278
260 class MyIncomingHttpRequestFilter : public IIncomingHttpRequestFilter 279 class MyIncomingHttpRequestFilter : public IIncomingHttpRequestFilter
261 { 280 {
262 private: 281 private:
263 ServerContext& context_; 282 ServerContext& context_;
264 283
479 MyDicomServerFactory serverFactory(context); 498 MyDicomServerFactory serverFactory(context);
480 499
481 { 500 {
482 // DICOM server 501 // DICOM server
483 DicomServer dicomServer; 502 DicomServer dicomServer;
503 OrthancApplicationEntityFilter dicomFilter;
484 dicomServer.SetCalledApplicationEntityTitleCheck(GetGlobalBoolParameter("DicomCheckCalledAet", false)); 504 dicomServer.SetCalledApplicationEntityTitleCheck(GetGlobalBoolParameter("DicomCheckCalledAet", false));
485 dicomServer.SetStoreRequestHandlerFactory(serverFactory); 505 dicomServer.SetStoreRequestHandlerFactory(serverFactory);
486 dicomServer.SetMoveRequestHandlerFactory(serverFactory); 506 dicomServer.SetMoveRequestHandlerFactory(serverFactory);
487 dicomServer.SetFindRequestHandlerFactory(serverFactory); 507 dicomServer.SetFindRequestHandlerFactory(serverFactory);
488 dicomServer.SetPortNumber(GetGlobalIntegerParameter("DicomPort", 4242)); 508 dicomServer.SetPortNumber(GetGlobalIntegerParameter("DicomPort", 4242));
489 dicomServer.SetApplicationEntityTitle(GetGlobalStringParameter("DicomAet", "ORTHANC")); 509 dicomServer.SetApplicationEntityTitle(GetGlobalStringParameter("DicomAet", "ORTHANC"));
510 dicomServer.SetApplicationEntityFilter(dicomFilter);
490 511
491 // HTTP server 512 // HTTP server
492 MyIncomingHttpRequestFilter httpFilter(context); 513 MyIncomingHttpRequestFilter httpFilter(context);
493 MongooseServer httpServer; 514 MongooseServer httpServer;
494 httpServer.SetPortNumber(GetGlobalIntegerParameter("HttpPort", 8042)); 515 httpServer.SetPortNumber(GetGlobalIntegerParameter("HttpPort", 8042));