Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
274 changes: 274 additions & 0 deletions ci/tests/205-hl7-xxe/channels/01-hl7-xxe/channel.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
<channel version="4.6.0">
<id>d82ce8bd-37a0-4b16-8fc8-1593ab3c4648</id>
<nextMetaDataId>2</nextMetaDataId>
<name>HL7 XXE repro</name>
<description></description>
<revision>3</revision>
<sourceConnector version="4.6.0">
<metaDataId>0</metaDataId>
<name>sourceConnector</name>
<properties class="com.mirth.connect.connectors.vm.VmReceiverProperties" version="4.6.0">
<pluginProperties/>
<sourceConnectorProperties version="4.6.0">
<responseVariable>None</responseVariable>
<respondAfterProcessing>true</respondAfterProcessing>
<processBatch>false</processBatch>
<firstResponse>false</firstResponse>
<processingThreads>1</processingThreads>
<resourceIds class="linked-hash-map">
<entry>
<string>Default Resource</string>
<string>[Default Resource]</string>
</entry>
</resourceIds>
<queueBufferSize>1000</queueBufferSize>
</sourceConnectorProperties>
</properties>
<transformer version="4.6.0">
<elements/>
<inboundDataType>HL7V2</inboundDataType>
<outboundDataType>XML</outboundDataType>
<inboundProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2DataTypeProperties" version="4.6.0">
<serializationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2SerializationProperties" version="4.6.0">
<handleRepetitions>true</handleRepetitions>
<handleSubcomponents>true</handleSubcomponents>
<useStrictParser>true</useStrictParser>
<useStrictValidation>true</useStrictValidation>
<stripNamespaces>false</stripNamespaces>
<segmentDelimiter>\r</segmentDelimiter>
<convertLineBreaks>true</convertLineBreaks>
</serializationProperties>
<deserializationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2DeserializationProperties" version="4.6.0">
<useStrictParser>false</useStrictParser>
<useStrictValidation>false</useStrictValidation>
<segmentDelimiter>\r</segmentDelimiter>
</deserializationProperties>
<batchProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2BatchProperties" version="4.6.0">
<splitType>MSH_Segment</splitType>
<batchScript></batchScript>
</batchProperties>
<responseGenerationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2ResponseGenerationProperties" version="4.6.0">
<segmentDelimiter>\r</segmentDelimiter>
<successfulACKCode>AA</successfulACKCode>
<successfulACKMessage></successfulACKMessage>
<errorACKCode>AE</errorACKCode>
<errorACKMessage>An Error Occurred Processing Message.</errorACKMessage>
<rejectedACKCode>AR</rejectedACKCode>
<rejectedACKMessage>Message Rejected.</rejectedACKMessage>
<msh15ACKAccept>false</msh15ACKAccept>
<dateFormat>yyyyMMddHHmmss.SSS</dateFormat>
</responseGenerationProperties>
<responseValidationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2ResponseValidationProperties" version="4.6.0">
<successfulACKCode>AA,CA</successfulACKCode>
<errorACKCode>AE,CE</errorACKCode>
<rejectedACKCode>AR,CR</rejectedACKCode>
<validateMessageControlId>true</validateMessageControlId>
<originalMessageControlId>Destination_Encoded</originalMessageControlId>
<originalIdMapVariable></originalIdMapVariable>
</responseValidationProperties>
</inboundProperties>
<outboundProperties class="com.mirth.connect.plugins.datatypes.xml.XMLDataTypeProperties" version="4.6.0">
<serializationProperties class="com.mirth.connect.plugins.datatypes.xml.XMLSerializationProperties" version="4.6.0">
<stripNamespaces>false</stripNamespaces>
</serializationProperties>
<batchProperties class="com.mirth.connect.plugins.datatypes.xml.XMLBatchProperties" version="4.6.0">
<splitType>Element_Name</splitType>
<elementName></elementName>
<level>1</level>
<query></query>
<batchScript></batchScript>
</batchProperties>
</outboundProperties>
</transformer>
<filter version="4.6.0">
<elements/>
</filter>
<transportName>Channel Reader</transportName>
<mode>SOURCE</mode>
<enabled>true</enabled>
<waitForPrevious>true</waitForPrevious>
</sourceConnector>
<destinationConnectors>
<connector version="4.6.0">
<metaDataId>1</metaDataId>
<name>Destination 1</name>
<properties class="com.mirth.connect.connectors.vm.VmDispatcherProperties" version="4.6.0">
<pluginProperties/>
<destinationConnectorProperties version="4.6.0">
<queueEnabled>false</queueEnabled>
<sendFirst>false</sendFirst>
<retryIntervalMillis>10000</retryIntervalMillis>
<regenerateTemplate>false</regenerateTemplate>
<retryCount>0</retryCount>
<rotate>false</rotate>
<includeFilterTransformer>false</includeFilterTransformer>
<threadCount>1</threadCount>
<threadAssignmentVariable></threadAssignmentVariable>
<validateResponse>false</validateResponse>
<resourceIds class="linked-hash-map">
<entry>
<string>Default Resource</string>
<string>[Default Resource]</string>
</entry>
</resourceIds>
<queueBufferSize>1000</queueBufferSize>
<reattachAttachments>true</reattachAttachments>
</destinationConnectorProperties>
<channelId>none</channelId>
<channelTemplate>${message.encodedData}</channelTemplate>
<mapVariables/>
</properties>
<transformer version="4.6.0">
<elements/>
<inboundDataType>XML</inboundDataType>
<outboundDataType>XML</outboundDataType>
<inboundProperties class="com.mirth.connect.plugins.datatypes.xml.XMLDataTypeProperties" version="4.6.0">
<serializationProperties class="com.mirth.connect.plugins.datatypes.xml.XMLSerializationProperties" version="4.6.0">
<stripNamespaces>false</stripNamespaces>
</serializationProperties>
<batchProperties class="com.mirth.connect.plugins.datatypes.xml.XMLBatchProperties" version="4.6.0">
<splitType>Element_Name</splitType>
<elementName></elementName>
<level>1</level>
<query></query>
<batchScript></batchScript>
</batchProperties>
</inboundProperties>
<outboundProperties class="com.mirth.connect.plugins.datatypes.xml.XMLDataTypeProperties" version="4.6.0">
<serializationProperties class="com.mirth.connect.plugins.datatypes.xml.XMLSerializationProperties" version="4.6.0">
<stripNamespaces>false</stripNamespaces>
</serializationProperties>
<batchProperties class="com.mirth.connect.plugins.datatypes.xml.XMLBatchProperties" version="4.6.0">
<splitType>Element_Name</splitType>
<elementName></elementName>
<level>1</level>
<query></query>
<batchScript></batchScript>
</batchProperties>
</outboundProperties>
</transformer>
<responseTransformer version="4.6.0">
<elements/>
<inboundDataType>HL7V2</inboundDataType>
<outboundDataType>XML</outboundDataType>
<inboundProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2DataTypeProperties" version="4.6.0">
<serializationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2SerializationProperties" version="4.6.0">
<handleRepetitions>true</handleRepetitions>
<handleSubcomponents>true</handleSubcomponents>
<useStrictParser>false</useStrictParser>
<useStrictValidation>false</useStrictValidation>
<stripNamespaces>false</stripNamespaces>
<segmentDelimiter>\r</segmentDelimiter>
<convertLineBreaks>true</convertLineBreaks>
</serializationProperties>
<deserializationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2DeserializationProperties" version="4.6.0">
<useStrictParser>false</useStrictParser>
<useStrictValidation>false</useStrictValidation>
<segmentDelimiter>\r</segmentDelimiter>
</deserializationProperties>
<batchProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2BatchProperties" version="4.6.0">
<splitType>MSH_Segment</splitType>
<batchScript></batchScript>
</batchProperties>
<responseGenerationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2ResponseGenerationProperties" version="4.6.0">
<segmentDelimiter>\r</segmentDelimiter>
<successfulACKCode>AA</successfulACKCode>
<successfulACKMessage></successfulACKMessage>
<errorACKCode>AE</errorACKCode>
<errorACKMessage>An Error Occurred Processing Message.</errorACKMessage>
<rejectedACKCode>AR</rejectedACKCode>
<rejectedACKMessage>Message Rejected.</rejectedACKMessage>
<msh15ACKAccept>false</msh15ACKAccept>
<dateFormat>yyyyMMddHHmmss.SSS</dateFormat>
</responseGenerationProperties>
<responseValidationProperties class="com.mirth.connect.plugins.datatypes.hl7v2.HL7v2ResponseValidationProperties" version="4.6.0">
<successfulACKCode>AA,CA</successfulACKCode>
<errorACKCode>AE,CE</errorACKCode>
<rejectedACKCode>AR,CR</rejectedACKCode>
<validateMessageControlId>true</validateMessageControlId>
<originalMessageControlId>Destination_Encoded</originalMessageControlId>
<originalIdMapVariable></originalIdMapVariable>
</responseValidationProperties>
</inboundProperties>
<outboundProperties class="com.mirth.connect.plugins.datatypes.xml.XMLDataTypeProperties" version="4.6.0">
<serializationProperties class="com.mirth.connect.plugins.datatypes.xml.XMLSerializationProperties" version="4.6.0">
<stripNamespaces>false</stripNamespaces>
</serializationProperties>
<batchProperties class="com.mirth.connect.plugins.datatypes.xml.XMLBatchProperties" version="4.6.0">
<splitType>Element_Name</splitType>
<elementName></elementName>
<level>1</level>
<query></query>
<batchScript></batchScript>
</batchProperties>
</outboundProperties>
</responseTransformer>
<filter version="4.6.0">
<elements/>
</filter>
<transportName>Channel Writer</transportName>
<mode>DESTINATION</mode>
<enabled>true</enabled>
<waitForPrevious>true</waitForPrevious>
</connector>
</destinationConnectors>
<preprocessingScript>// Modify the message variable below to pre process data
return message;</preprocessingScript>
<postprocessingScript>// This script executes once after a message has been processed
// Responses returned from here will be stored as &quot;Postprocessor&quot; in the response map
return;</postprocessingScript>
<deployScript>// This script executes once when the channel is deployed
// You only have access to the globalMap and globalChannelMap here to persist data
return;</deployScript>
<undeployScript>// This script executes once when the channel is undeployed
// You only have access to the globalMap and globalChannelMap here to persist data
return;</undeployScript>
<properties version="4.6.0">
<clearGlobalChannelMap>true</clearGlobalChannelMap>
<messageStorageMode>DEVELOPMENT</messageStorageMode>
<encryptData>false</encryptData>
<encryptAttachments>false</encryptAttachments>
<encryptCustomMetaData>false</encryptCustomMetaData>
<removeContentOnCompletion>false</removeContentOnCompletion>
<removeOnlyFilteredOnCompletion>false</removeOnlyFilteredOnCompletion>
<removeAttachmentsOnCompletion>false</removeAttachmentsOnCompletion>
<initialState>STARTED</initialState>
<storeAttachments>true</storeAttachments>
<metaDataColumns>
<metaDataColumn>
<name>SOURCE</name>
<type>STRING</type>
<mappingName>mirth_source</mappingName>
</metaDataColumn>
<metaDataColumn>
<name>TYPE</name>
<type>STRING</type>
<mappingName>mirth_type</mappingName>
</metaDataColumn>
</metaDataColumns>
<attachmentProperties version="4.6.0">
<type>None</type>
<properties/>
</attachmentProperties>
<resourceIds class="linked-hash-map">
<entry>
<string>Default Resource</string>
<string>[Default Resource]</string>
</entry>
</resourceIds>
</properties>
<exportData>
<metadata>
<enabled>true</enabled>
<lastModified>
<time>1789825765822</time>
<timezone>America/Chicago</timezone>
</lastModified>
<pruningSettings>
<archiveEnabled>true</archiveEnabled>
<pruneErroredMessages>false</pruneErroredMessages>
</pruningSettings>
<userId>1</userId>
</metadata>
</exportData>
</channel>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE ACK [ <!ENTITY xxe SYSTEM "file:///etc/hostname"> ]>
<ACK xmlns="urn:hl7-org:v2xml"><MSH><MSH.1>|</MSH.1><MSH.2>^~\&amp;</MSH.2><MSH.3><HD.1>&xxe;</HD.1></MSH.3><MSH.9><MSG.1>ACK</MSG.1></MSH.9><MSH.10>1</MSH.10><MSH.12><VID.1>2.4</VID.1></MSH.12></MSH><MSA><MSA.1>AA</MSA.1><MSA.2>1</MSA.2></MSA></ACK>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TRANSFORMED
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<ACK xmlns="urn:hl7-org:v2xml"><MSH><MSH.1>|</MSH.1><MSH.2>^~\&amp;</MSH.2><MSH.9><MSG.1>ACK</MSG.1></MSH.9><MSH.10>1</MSH.10><MSH.12><VID.1>2.4</VID.1></MSH.12></MSH><MSA><MSA.1>AA</MSA.1><MSA.2>1</MSA.2></MSA></ACK>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0"?>
<ACK xmlns="urn:hl7-org:v2xml"><MSH><MSH.1>|</MSH.1><MSH.2>^~\&amp;</MSH.2><MSH.3><HD.1>asdf</HD.1></MSH.3><MSH.9><MSG.1>ACK</MSG.1></MSH.9><MSH.10>1</MSH.10><MSH.12><VID.1>2.4</VID.1></MSH.12></MSH><MSA><MSA.1>AA</MSA.1><MSA.2>1</MSA.2></MSA></ACK>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TRANSFORMED
Binary file removed client/lib/hapi-base-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v21-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v22-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v23-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v231-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v24-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v25-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v251-2.3.jar
Binary file not shown.
Binary file removed client/lib/hapi-structures-v26-2.3.jar
Binary file not shown.
Loading
Loading