Commit 80d0282b authored by berge's avatar berge
Browse files

Added support for Read B1 + misc fixes

parent 78d82ea3
Loading
Loading
Loading
Loading
+104 −11
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@
	            log("**** Failure reported: ", f_aisOctResultToEnum(v_report.payload.genericData.data[0]), " ****");
	            f_pushFailResult(f_aisOctResultToEnum(v_report.payload.genericData.data[0]));
	            mgmtport.send(m_responseOK);
	            if((v_report.params.p2 == c_aisFirstOrNextCommand) or PXT_AUTOMATIC_TEST_INTERFACE) {	            
	            if(v_report.params.p2 != c_aisLastCommand) {	            
	        		repeat;
	            }    
	        }	        	
@@ -509,11 +509,16 @@
	
    		var CommandSelect v_selectCommand;
    		var CommandReadBinary v_readCommand;
    		var CommandReadBinaryWithOffsetDataObject v_readB1Command;
    		var integer v_logicalChannel;
    		var octetstring v_data := ''O;
    		var integer v_dataLength;
    		var integer v_offset;
    		var W1W2Status v_result;
    		var octetstring v_rawOffset;
            var octetstring v_encodedTlv;
            var integer v_pos, i;
            var integer v_encodedLength;

    		// READ Command (using current EF)
    		[] mrtdport.receive(mw_readCurrentEF) -> value v_readCommand {
@@ -571,7 +576,47 @@
    			repeat;
    		}
    
    		// TODO: receive statements for B1					
    		// READ Command with DO Offset
            [] mrtdport.receive(mw_readCurrentEFWithOffsetDataObject) -> value v_readB1Command {
                
                // Check current file
                v_logicalChannel := f_getLogicalChannel(v_readB1Command.class);
                if(match(vc_simu.currentFiles[v_logicalChannel], c_noFileInfo)) {
                    //TODO
                    mrtdport.send(m_responseNOK(c_w1w2NoCurrentEF));
                    t_ac.start;
                    repeat;
                }
                
                // FIXME Dirty hack. Codec needed.                
                v_encodedTlv := v_readB1Command.payload.readBinaryWithOffsetDataObjectData.data;
                v_encodedLength := oct2int(v_encodedTlv[1]);
                
                v_pos := 2;
                v_rawOffset := ''O; 
                for(i:=v_pos; i < (v_pos + v_encodedLength); i:=i+1) {
                    v_rawOffset := v_rawOffset & v_encodedTlv[i] ;
                }       
                
                v_offset := oct2int(v_rawOffset);
               
                if(ispresent(v_readCommand.lengthE)) {
                    v_dataLength := v_readB1Command.lengthE - 1 - lengthof(f_encodeLength(v_readB1Command.lengthE - 2)); // -1 => tag 53 and length field
                    v_result := f_readFileData(vc_simu.currentFiles[v_logicalChannel], v_offset, v_dataLength, v_data);
                }
                else {
                    v_data := ''O;
                    v_result := c_w1w2WrongLength;
                }
                if(v_data == ''O ) {
                    mrtdport.send(m_responseNOK(v_result));
                }
                else {
                    mrtdport.send(m_responseReadWithStatus('53'O & f_encodeLength(lengthof(v_data)) & v_data, v_result));
                }
                t_ac.start; 
                repeat;
            }					
    				
    	} // end of a_readFile
		
@@ -581,6 +626,7 @@
	
    		var CommandSelect v_selectCommand;
    		var CommandReadBinary v_readCommand;
    		var CommandReadBinaryWithOffsetDataObject v_readB1Command;
    		var integer v_logicalChannel;
    		var LongFileId v_longFileId;
    		var ShortFileId v_shortFileId;
@@ -588,6 +634,10 @@
    		var integer v_dataLength;
    		var integer v_offset;
    		var W1W2Status v_result;
            var octetstring v_rawOffset;
            var octetstring v_encodedTlv;
            var integer v_pos, i;
            var integer v_encodedLength;
            
    		// READ Command (using current EF)
    		[] mrtdport.receive(mw_readCurrentEF) -> value v_readCommand {
@@ -635,14 +685,14 @@
        		       					
    			v_offset := v_readCommand.params.fileIdAndOffset.offset;
    			
    			//if(ispresent(v_readCommand.lengthE)) {
    			if(ispresent(v_readCommand.lengthE)) {
    			    v_dataLength := v_readCommand.lengthE;
    			    v_result := f_readFileData(vc_simu.currentFiles[v_logicalChannel], v_offset, v_dataLength, v_data);
    			//}
    			//else {
    			//    v_data := ''O;
    			//    v_result := c_w1w2NormalProcessing;
    			//}
    			}
    			else {
    			    v_data := ''O;
    			    v_result := c_w1w2WrongLength;
    			}
        		
        		if(v_data == ''O ) {
        		    mrtdport.send(m_responseNOK(v_result));
@@ -654,7 +704,47 @@
    			repeat;
    		}
    
    		// TODO: receive statements for B1					
    		// READ Command with DO Offset
    		[] mrtdport.receive(mw_readCurrentEFWithOffsetDataObject) -> value v_readB1Command {
    		    
    		    // Check current file
                v_logicalChannel := f_getLogicalChannel(v_readB1Command.class);
                if(match(vc_simu.currentFiles[v_logicalChannel], c_noFileInfo)) {
                    //TODO
                    mrtdport.send(m_responseNOK(c_w1w2NoCurrentEF));
                    t_ac.start;
                    repeat;
                }
    		    
    		    // FIXME Dirty hack. Codec needed.                
    		    v_encodedTlv := v_readB1Command.payload.readBinaryWithOffsetDataObjectData.data;
    		    v_encodedLength := oct2int(v_encodedTlv[1]);
    		    
    		    v_pos := 2;
    		    v_rawOffset := ''O; 
    		    for(i:=v_pos; i < (v_pos + v_encodedLength); i:=i+1) {
                    v_rawOffset := v_rawOffset & v_encodedTlv[i] ;
                }       
                
                v_offset := oct2int(v_rawOffset);
               
                if(ispresent(v_readCommand.lengthE)) {
                    v_dataLength := v_readB1Command.lengthE - 1 - lengthof(f_encodeLength(v_readB1Command.lengthE - 2)); // -1 => tag 53 and length field
                    v_result := f_readFileData(vc_simu.currentFiles[v_logicalChannel], v_offset, v_dataLength, v_data);
                }
                else {
                    v_data := ''O;
                    v_result := c_w1w2WrongLength;
                }
                if(v_data == ''O ) {
                    mrtdport.send(m_responseNOK(v_result));
                }
                else {
                    mrtdport.send(m_responseReadWithStatus('53'O & f_encodeLength(lengthof(v_data)) & v_data, v_result));
                }
                t_ac.start; 
                repeat;
    		}					
    				
    	} // end of a_readAnyFile

@@ -701,7 +791,10 @@
        		repeat;
    		}
    
    		// TODO: receive statements for B1	
    		[] mrtdport.receive(mw_readCurrentEFWithOffsetDataObject) {
    		    mrtdport.send(m_responseNOK(c_w1w2NoCurrentEF));
                repeat;
            }
			
		} // end a_refuseAnyFileAccess
			
+1 −14
Original line number Diff line number Diff line
@@ -512,6 +512,7 @@
			var octetstring v_dg14PrivateKey;
			
			// a) The shared secret K = KA(SKPICC;^PKPCD;DPICC) = KA(^SKPCD;PKPICC;DPICC)
			// TODO: select private key based on key ref
			f_readFileData(c_fileDG14, 0, -1, v_dg14);
			f_readFileData(c_filePrCA, 0, -1, v_dg14PrivateKey);
			v_algo := f_extractPublicKey(v_dg14, v_dummy); // Is it possible to set a function parameter optional?
@@ -577,8 +578,6 @@
            in charstring p_filename) 
        return octetstring {
            var charstring v_fullpath := PXT_EPASSPORT_DATA_ROOT & "/Certs/" & p_filename;
            log(p_filename);
            log(v_fullpath);
            return fx_readCertificateData(v_fullpath);
        } // end f_readCertificateData
            
@@ -594,12 +593,9 @@
            var integer i;
            var Chr v_chr;
            
            log(p_cvca);
            
            while(v_pos < lengthof(p_cvca) and p_cvca[v_pos] != '00'O) {
                v_chr := "";
    		    v_length := oct2int(p_cvca[v_pos]);
    		    log(v_length);
                for(i:=v_pos+1; i < (v_pos + v_length + 1); i:=i+1) {
                    v_chr := v_chr & oct2char(p_cvca[i]);
                }    		    
@@ -607,7 +603,6 @@
    		    v_pos := i;
            }
		    
		    log(v_chrs);
		    return v_chrs;		    
		}
		
@@ -660,10 +655,6 @@
                f_addTrustedCertificate(
                    oct2char(v_cvcaCvCertificate.tlvValue.cvCertificateBody.tlvValue.cvCertificateHolderReference.tlvValue), 
                    v_cvcaCvCertificate.tlvValue.cvCertificateBody.tlvValue.cvPublicKey.tlvValue); 
                log("trusted certificate added: ", oct2char(v_cvcaCvCertificate.tlvValue.cvCertificateBody.tlvValue.cvCertificateHolderReference.tlvValue)) ;        
            }
            else {
                log("certificate not loaded");
            }

			// FIXME read c_fileCertRefIds
@@ -1010,25 +1001,21 @@
            var octetstring v_certificate := ''O;
            
            if(ispresent(p_certRefIds.cscaCertId) and p_certRefIds.cscaCertId != ''O) {
                log(p_certRefIds.cscaCertId);
                v_certificate := f_readCertificateData(oct2char(p_certRefIds.cscaCertId));
                v_encoded := v_encoded & c_aisCscaCertTag & f_encodeLength(lengthof(v_certificate)) & v_certificate;
            }
            
            if(ispresent(p_certRefIds.dvCertId) and p_certRefIds.dvCertId != ''O) {
                log(p_certRefIds.dvCertId);
                v_certificate := f_readCertificateData(oct2char(p_certRefIds.dvCertId));
                v_encoded := v_encoded & c_aisDvCertTag & f_encodeLength(lengthof(v_certificate)) & v_certificate;
            }
            
            if(ispresent(p_certRefIds.isCertId) and p_certRefIds.isCertId != ''O) {
                log(p_certRefIds.isCertId);
                v_certificate := f_readCertificateData(oct2char(p_certRefIds.isCertId));
                v_encoded := v_encoded & c_aisIsCertTag & f_encodeLength(lengthof(v_certificate)) & v_certificate;
            }
            
            if(ispresent(p_certRefIds.isSecretKey) and p_certRefIds.isSecretKey != ''O) {
                log(p_certRefIds.isSecretKey);
                v_certificate := f_readCertificateData(oct2char(p_certRefIds.isSecretKey));
                v_encoded := v_encoded & c_aisIsSecretKeyTag & f_encodeLength(lengthof(v_certificate)) & v_certificate;
            }
+16 −1
Original line number Diff line number Diff line
@@ -202,6 +202,21 @@ module ePassport_Templates {
			lengthE := *
        }

        template CommandReadBinaryWithOffsetDataObject mw_readCurrentEFWithOffsetDataObject := {
            class := mw_class_00,
            ins := e_readBinaryWithOffsetDataObject, 
            params := {
                fileId := c_2ZeroBytes
            },
            lengthC := *,
            payload := {
                readBinaryWithOffsetDataObjectData := {
                    data := ?
                }    
            },
            lengthE := *
        }
         
		template CommandGetChallenge mw_getChallenge := {
	      	class := mw_class_00,
		  	ins := e_getChallenge, 
+1 −0
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ group portDefs {
    		CommandSearchRecord,
    		CommandSelect,
    		CommandReadBinary,
    		CommandReadBinaryWithOffsetDataObject,
    		CommandReadRecords,
    		CommandGetResponse,
    		CommandEnvelope,
+50 −50
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_A02: Timeout: No more communication ****");
@@ -133,7 +133,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_B07: Timeout: No more communication ****");
@@ -227,7 +227,7 @@ module ePassport_Testcases {
                            	    
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_B08: Timeout: No more communication ****");
@@ -276,7 +276,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_C02: Timeout: No more communication ****");
@@ -317,7 +317,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_C03: Timeout: No more communication ****");
@@ -368,7 +368,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_D02: Timeout: No more communication ****");
@@ -414,7 +414,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_D04: Timeout: No more communication ****");
@@ -460,7 +460,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_D11: Timeout: No more communication ****");
@@ -511,7 +511,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_E06: Timeout: No more communication ****");
@@ -558,7 +558,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_E08: Timeout: No more communication ****");
@@ -608,7 +608,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_E11: Timeout: No more communication ****");
@@ -665,7 +665,7 @@ module ePassport_Testcases {
				
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_E12: Timeout: No more communication ****");
@@ -711,7 +711,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_E18: Timeout: No more communication ****");
@@ -758,7 +758,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_E28: Timeout: No more communication ****");
@@ -809,7 +809,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_ISO7816_F05: Timeout: No more communication ****");
@@ -858,7 +858,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_A03: Timeout: No more communication ****");
@@ -903,7 +903,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_A04: Timeout: No more communication ****");
@@ -952,7 +952,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_B11: Timeout: No more communication ****");
@@ -997,7 +997,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_standardInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_B22: Timeout: No more communication ****");
@@ -1041,7 +1041,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_B25: Timeout: No more communication ****");
@@ -1091,7 +1091,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_C03: Timeout: No more communication ****");
@@ -1138,7 +1138,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_C09: Timeout: No more communication ****");
@@ -1185,7 +1185,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_C13: Timeout: No more communication ****");
@@ -1232,7 +1232,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_C19: Timeout: No more communication ****");
@@ -1282,7 +1282,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_D03: Timeout: No more communication ****");
@@ -1329,7 +1329,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_D12: Timeout: No more communication ****");
@@ -1376,7 +1376,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_D15: Timeout: No more communication ****");
@@ -1426,7 +1426,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_E01: Timeout: No more communication ****");
@@ -1472,7 +1472,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_E02: Timeout: No more communication ****");
@@ -1519,7 +1519,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_E09: Timeout: No more communication ****");
@@ -1570,7 +1570,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_F04: Timeout: No more communication ****");
@@ -1617,7 +1617,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_F06: Timeout: No more communication ****");
@@ -1666,7 +1666,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_G01: Timeout: No more communication ****");
@@ -1711,7 +1711,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_G02: Timeout: No more communication ****");
@@ -1761,7 +1761,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H03: Timeout: No more communication ****");
@@ -1807,7 +1807,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H07: Timeout: No more communication ****");
@@ -1854,7 +1854,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H22: Timeout: No more communication ****");
@@ -1901,7 +1901,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H24: Timeout: No more communication ****");
@@ -1948,7 +1948,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H31: Timeout: No more communication ****");
@@ -1995,7 +1995,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H32: Timeout: No more communication ****");
@@ -2042,7 +2042,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H33: Timeout: No more communication ****");
@@ -2089,7 +2089,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H37: Timeout: No more communication ****");
@@ -2137,7 +2137,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H45: Timeout: No more communication ****");
@@ -2185,7 +2185,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H51: Timeout: No more communication ****");
@@ -2233,7 +2233,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H54: Timeout: No more communication ****");
@@ -2281,7 +2281,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H63: Timeout: No more communication ****");
@@ -2327,7 +2327,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H71: Timeout: No more communication ****");
@@ -2373,7 +2373,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H75: Timeout: No more communication ****");
@@ -2419,7 +2419,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_H83: Timeout: No more communication ****");
@@ -2471,7 +2471,7 @@ module ePassport_Testcases {
        	alt {
        		[] a_advancedInspectionProcedure();
        
        		[PXT_AUTOMATIC_TEST_INTERFACE] a_aisReports();
        		[] a_aisReports();
         		
        		[] t_ac.timeout {
        			log("**** TC_LDS_I01: Timeout: No more communication ****");
Loading