# HG changeset patch # User Sebastien Jodogne # Date 1748635412 -7200 # Node ID d6f9862022360ac61bf500c69011d4ceffbfe68d # Parent 66609557a7ee888fd8c007b19b31c13805360923 take options "RejectSopClasses" and "RejectedSopClasses" as synonyms diff -r 66609557a7ee -r d6f986202236 NEWS --- a/NEWS Fri May 30 10:30:04 2025 +0200 +++ b/NEWS Fri May 30 22:03:32 2025 +0200 @@ -9,6 +9,9 @@ - If "LimitMainDicomTagsReconstructLevel" was set, files were not transcoded if they had to. The "LimitMainDicomTagsReconstructLevel" configuration is now ignored when a full processing is required. +* Configuration options "RejectSopClasses" and "RejectedSopClasses" are taken as synonyms. + In Orthanc 1.12.6 and 1.12.7, "RejectSopClasses" was used instead of the expected + "RejectedSopClasses" spelling. Version 1.12.7 (2025-04-07) diff -r 66609557a7ee -r d6f986202236 OrthancServer/Sources/ServerContext.cpp --- a/OrthancServer/Sources/ServerContext.cpp Fri May 30 10:30:04 2025 +0200 +++ b/OrthancServer/Sources/ServerContext.cpp Fri May 30 22:03:32 2025 +0200 @@ -495,7 +495,27 @@ std::list acceptedSopClasses; std::set rejectedSopClasses; lock.GetConfiguration().GetListOfStringsParameter(acceptedSopClasses, "AcceptedSopClasses"); - lock.GetConfiguration().GetSetOfStringsParameter(rejectedSopClasses, "RejectSopClasses"); + + static const char* const REJECTED_SOP_CLASS = "RejectedSopClasses"; + if (lock.GetJson().isMember(REJECTED_SOP_CLASS)) + { + lock.GetConfiguration().GetSetOfStringsParameter(rejectedSopClasses, REJECTED_SOP_CLASS); + } + else + { + static const char* const REJECT_SOP_CLASS = "RejectSopClasses"; + if (lock.GetJson().isMember(REJECT_SOP_CLASS)) + { + /** + * This is for backward compatibility. In Orthanc 1.12.6, + * there was a typo: "RejectedSopClasses" was spelled as + * "RejectSopClasses". + * https://discourse.orthanc-server.org/t/fix-for-config-param-rejectsopclasses-vs-rejectedsopclasses/5900 + **/ + lock.GetConfiguration().GetSetOfStringsParameter(rejectedSopClasses, REJECT_SOP_CLASS); + } + } + SetAcceptedSopClasses(acceptedSopClasses, rejectedSopClasses); defaultDicomRetrieveMethod_ = StringToRetrieveMethod(lock.GetConfiguration().GetStringParameter("DicomDefaultRetrieveMethod", "C-MOVE"));