Commit 1cf8f62f authored by berge's avatar berge
Browse files

Added better error control while reading EF.

parent 94de70a5
Loading
Loading
Loading
Loading
+19 −12
Original line number Diff line number Diff line
@@ -484,7 +484,12 @@
      		
        		v_result := f_readFileData(vc_simu.currentFiles[v_logicalChannel], 
        			v_offset, v_dataLength, v_data);
        		        		if(v_data == ''O ) {
        		    mrtdport.send(m_responseNOK(v_result));
        		}
        		else {
        			mrtdport.send(m_responseReadWithStatus(v_data, v_result));
        		}
				t_ac.start;
    			repeat;
    		}
@@ -556,11 +561,13 @@
    			v_offset := v_readCommand.params.fileIdAndOffset.offset;
    			v_dataLength := v_readCommand.lengthE;
      		
        		v_result := f_readFileData(vc_simu.currentFiles[v_logicalChannel], 
        			v_offset, v_dataLength, v_data);
        		log("v_data: ", v_data);
        		log("v_result: ", v_result);
        		v_result := f_readFileData(vc_simu.currentFiles[v_logicalChannel], v_offset, v_dataLength, v_data);
        		if(v_data == ''O ) {
        		    mrtdport.send(m_responseNOK(v_result));
        		}
        		else {
        			mrtdport.send(m_responseReadWithStatus(v_data, v_result));
        		}
    			t_ac.start;
    			repeat;
    		}
@@ -592,12 +599,6 @@
		//FIXME: duplicated code
		altstep a_refuseAnyFileAccess() runs on MRTD {

    		// READ Command (using current EF)
    		[] mrtdport.receive(mw_readCurrentEF) {
        		mrtdport.send(m_responseNOK(c_w1w2NoCurrentEF));
        		repeat;
    		}
    				
			// SELECT Command
        	[] mrtdport.receive(mw_selectAnyFile) {
        		mrtdport.send(m_responseNOK(c_w1w2SecurityStatusNotSatisfied));
@@ -612,6 +613,12 @@
        		repeat;
    		}

    		// READ Command (using current EF)
    		[] mrtdport.receive(mw_readCurrentEF) {
        		mrtdport.send(m_responseNOK(c_w1w2NoCurrentEF));
        		repeat;
    		}
    
    		// TODO: receive statements for B1	
			
		} // end a_refuseAnyFileAccess