changeset 7137:a3923ae96abd default tip

close rejected association
author Alain Mazy <am@orthanc.team>
date Mon, 24 Aug 2026 09:51:58 +0200
parents 843c4e99e96f
children
files NEWS OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Aug 20 17:24:07 2026 +0200
+++ b/NEWS	Mon Aug 24 09:51:58 2026 +0200
@@ -6,6 +6,11 @@
 
 * Added OrthancPluginGetInstanceCalledAet() and OrthancPluginGetInstanceRemoteIp()
 
+Maintenance
+-----------
+
+* Fixed a TCP socket leak when a DICOM association is received with an invalid calling AET.
+
 
 Version 1.13.0 (2026-08-15)
 ===========================
--- a/OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp	Thu Aug 20 17:24:07 2026 +0200
+++ b/OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp	Mon Aug 24 09:51:58 2026 +0200
@@ -332,6 +332,15 @@
       {
         LOG(ERROR) << "Association Received from an invalid AET (sanitized: " << Toolbox::NormalizeAet(remoteAet) << ")"
                    << " on IP " << remoteIp << ", rejecting the association";
+
+        T_ASC_RejectParameters rej =
+          {
+            ASC_RESULT_REJECTEDPERMANENT,
+            ASC_SOURCE_SERVICEUSER,
+            ASC_REASON_SU_CALLINGAETITLENOTRECOGNIZED
+          };
+        ASC_rejectAssociation(assoc, &rej);
+        AssociationCleanup(assoc);
         return NULL;
       }