-
Notifications
You must be signed in to change notification settings - Fork 340
Add TLS support to wlmscpfs #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
luk1337
wants to merge
1
commit into
DCMTK:master
Choose a base branch
from
luk1337:luk/mwl_tls
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
luk1337
commented
Dec 12, 2025
| if (!opt_singleProcess && tlsOptions.secureConnectionRequested()) | ||
| { | ||
| OFLOG_WARN(wlmscpfsLogger, "TLS enabled, forcing single process mode"); | ||
| opt_singleProcess = OFTrue; |
Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how to fix it, but on Linux the connection just seems to get aborted at some point when fork() is enabled.
D: $dcmtk: wlmscpfs v3.6.9+ DEV $
D:
W: (notice: dcmdata auto correction disabled.)
T: setting association receive timeout to 1000 seconds
T: Receiving data via select()
T: checking whether environment variable TCP_BUFFER_LENGTH is set
T: environment variable TCP_BUFFER_LENGTH not set, using the system defaults
T: checking whether environment variable TCP_NODELAY is set
T: environment variable TCP_NODELAY not set, using the default value (0)
D: Association Received: localhost
D: setting network send timeout to 60 seconds
D: setting network receive timeout to 60 seconds
D: ================== BEGIN TLS CONNECTION DETAILS =================
D: Transport connection: TLS over TCP/IP
D: Protocol : TLSv1.3
D: Ciphersuite : TLS_AES_256_GCM_SHA384, encryption: 256 bits
D: Peer did not provide a certificate or certificate verification is disabled.
D: =================== END TLS CONNECTION DETAILS ==================
T: DUL FSM Table: State: 1 Event: 4
T: DUL Event: Transport connection indication
T: DUL Action: AE 5 Transport Connect Response
T: setting timeout for first PDU to be read to 30 seconds
T: Receiving data via select()
T: Read PDU HEAD TCP: 01 00 00 00 01 00
T: Read PDU HEAD TCP: type: 01, length: 256 (100)
T: DUL FSM Table: State: 2 Event: 5
T: DUL Event: A-ASSOCIATE-RQ PDU (on transport)
T: DUL Action: AE 6 Examine Associate Request
D: PDU Type: Associate Request, PDU Length: 256 + 6 bytes PDU header
D: 01 00 00 00 01 00 00 01 00 00 41 4e 59 2d 53 43
D: 50 20 20 20 20 20 20 20 20 20 46 49 4e 44 53 43
D: 55 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
D: 31 2e 31 20 00 00 61 01 00 ff 00 30 00 00 16 31
D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
D: 2e 34 2e 33 31 40 00 00 13 31 2e 32 2e 38 34 30
D: 2e 31 30 30 30 38 2e 31 2e 32 2e 31 40 00 00 13
D: 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e
D: 32 2e 32 40 00 00 11 31 2e 32 2e 38 34 30 2e 31
D: 30 30 30 38 2e 31 2e 32 50 00 00 3a 51 00 00 04
D: 00 00 40 00 52 00 00 1b 31 2e 32 2e 32 37 36 2e
D: 30 2e 37 32 33 30 30 31 30 2e 33 2e 30 2e 33 2e
D: 36 2e 39 55 00 00 0f 4f 46 46 49 53 5f 44 43 4d
D: 54 4b 5f 33 36 39
D: Parsing an A-ASSOCIATE PDU
T: PDU type: 1 (A-ASSOCIATE RQ), PDU Length: 256
T: DICOM Protocol: 1
T: Called AP Title: ANY-SCP
T: Calling AP Title: FINDSCU
T: Parsing remaining 188 bytes of A-ASSOCIATE PDU
T: Next item type: 10
T: Subitem parse: Type 10, Length 0021, Content: 1.2.840.10008.3.1.1.1
T: Successfully parsed Application Context
T: Parsing remaining 163 bytes of A-ASSOCIATE PDU
T: Next item type: 20
T: Parsing Presentation Context: (20), Length: 97
T: Presentation Context ID: 01
T: Parsing remaining 93 bytes of Presentation Context
T: Next item type: 30
T: Subitem parse: Type 30, Length 0022, Content: 1.2.840.10008.5.1.4.31
T: Successfully parsed Abstract Syntax
T: Parsing remaining 67 bytes of Presentation Context
T: Next item type: 40
T: Subitem parse: Type 40, Length 0019, Content: 1.2.840.10008.1.2.1
T: Successfully parsed Transfer Syntax
T: Parsing remaining 44 bytes of Presentation Context
T: Next item type: 40
T: Subitem parse: Type 40, Length 0019, Content: 1.2.840.10008.1.2.2
T: Successfully parsed Transfer Syntax
T: Parsing remaining 21 bytes of Presentation Context
T: Next item type: 40
T: Subitem parse: Type 40, Length 0017, Content: 1.2.840.10008.1.2
T: Successfully parsed Transfer Syntax
T: Successfully parsed Presentation Context
T: Parsing remaining 62 bytes of A-ASSOCIATE PDU
T: Next item type: 50
T: Parsing user info field (50), Length: 58
T: Parsing remaining 58 bytes of User Information
T: Next item type: 51
T: Maximum PDU Length: 16384
T: Successfully parsed Maximum PDU Length
T: Parsing remaining 50 bytes of User Information
T: Next item type: 52
T: Subitem parse: Type 52, Length 0027, Content: 1.2.276.0.7230010.3.0.3.6.9
T: Parsing remaining 19 bytes of User Information
T: Next item type: 55
T: Subitem parse: Type 55, Length 0015, Content: OFFIS_DCMTK_369
T: Successfully parsed User Information
I: Association Received (localhost:FINDSCU -> ANY-SCP)
D: Parameters:
D: ====================== BEGIN A-ASSOCIATE-RQ =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.9
D: Our Implementation Version Name: OFFIS_DCMTK_369
D: Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.9
D: Their Implementation Version Name: OFFIS_DCMTK_369
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: FINDSCU
D: Called Application Name: ANY-SCP
D: Responding Application Name:
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 16384
D: Presentation Contexts:
D: Context ID: 1 (Proposed)
D: Abstract Syntax: =FINDModalityWorklistInformationModel
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-RQ ======================
T: DUL FSM Table: State: 3 Event: 6
T: DUL Event: A-ASSOCIATE resp prim (accept)
T: DUL Action: AE 7 Send Associate AC
D: Constructing Associate AC PDU
I: Association Acknowledged (Max Send PDV: 16372)
D: ====================== BEGIN A-ASSOCIATE-AC =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.9
D: Our Implementation Version Name: OFFIS_DCMTK_369
D: Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.9
D: Their Implementation Version Name: OFFIS_DCMTK_369
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: FINDSCU
D: Called Application Name: ANY-SCP
D: Responding Application Name:
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 16384
D: Presentation Contexts:
D: Context ID: 1 (Accepted)
D: Abstract Syntax: =FINDModalityWorklistInformationModel
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =LittleEndianExplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-AC ======================
T: setting association receive timeout to 1 seconds
T: DIMSE receiveCommand
T: Read PDU HEAD TCP: 04 00 00 00 00 58
T: Read PDU HEAD TCP: type: 04, length: 88 (58)
T: DUL FSM Table: State: 6 Event: 9
T: DUL Event: P-DATA-TF PDU (on transport)
T: DUL Action: DT 2 Indicate P DATA PDU Received
D: DcmDataset::read() TransferSyntax="Little Endian Implicit"
T: DcmItem::insert() Element (0000,0000) VR="UL" inserted at beginning
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::insert() Element (0000,0002) VR="UI" inserted
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::insert() Element (0000,0100) VR="US" inserted
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::insert() Element (0000,0110) VR="US" inserted
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::insert() Element (0000,0700) VR="US" inserted
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::insert() Element (0000,0800) VR="US" inserted
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::read() returns error = Normal
T: DcmDataset::read() returns error = Normal
T: DIMSE receiveCommand: 1 PDVs (82 bytes), PresID=1
T: DIMSE Command Received:
T:
T: # Dicom-Data-Set
T: # Used TransferSyntax: Little Endian Implicit
T: (0000,0002) UI =FINDModalityWorklistInformationModel # 22, 1 AffectedSOPClassUID
T: (0000,0100) US 32 # 2, 1 CommandField
T: (0000,0110) US 1 # 2, 1 MessageID
T: (0000,0700) US 0 # 2, 1 Priority
T: (0000,0800) US 1 # 2, 1 CommandDataSetType
T:
T: DcmItem::searchSubFromHere() Element (0000,0100) found
T: DcmItem::searchSubFromHere() Element (0000,0100) found
T: DcmItem::searchSubFromHere() Element (0000,0110) found
T: DcmItem::searchSubFromHere() Element (0000,0800) found
T: DcmItem::searchSubFromHere() Element (0000,0002) found
T: DcmItem::searchSubFromHere() Element (0000,0700) found
I: ===================== INCOMING DIMSE MESSAGE ====================
I: Message Type : C-FIND RQ
I: Presentation Context ID : 1
I: Message ID : 1
I: Affected SOP Class UID : FINDModalityWorklistInformationModel
I: Data Set : present
I: Priority : medium
I: ======================= END DIMSE MESSAGE =======================
T: Read PDU HEAD TCP: 04 00 00 00 00 10
T: Read PDU HEAD TCP: type: 04, length: 16 (10)
T: DUL FSM Table: State: 6 Event: 9
T: DUL Event: P-DATA-TF PDU (on transport)
T: DUL Action: DT 2 Indicate P DATA PDU Received
D: DcmDataset::read() TransferSyntax="Little Endian Explicit"
T: DcmItem::insert() Element (0010,0010) VR="PN" inserted at beginning
T: DcmItem::readSubItem() returns error = Normal
T: DcmItem::read() returns error = Normal
T: DcmDataset::read() returns error = Normal
T: DIMSE receiveDataSetInMemory: 10 bytes read (last: YES)
T: DIMSE receiveCommand
T: Receiving data via select()
T: Receiving data via select()
T: DUL FSM Table: State: 6 Event: 16
T: DUL Event: Transport connection closed
T: DUL Action: AA 4 Indicate AP Abort
E: Find SCP Failed: 0006:0317 Peer aborted Association (or never connected)
I: Association Aborted
I: +++++++++++++++++++++++++++++
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.