laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42800?usp=email )

 (

3 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: CCID: Check if reader accepts highest P3 value 0xff
......................................................................

CCID: Check if reader accepts highest P3 value 0xff

This test should ensure that there is no buffer overflow when receiving
large responses from SIM.

Change-Id: I298795d791f2964758bd4792e10131f92cf561bc
---
M ccid/CCID_Tests.ttcn
1 file changed, 39 insertions(+), 0 deletions(-)

Approvals:
  Jenkins Builder: Verified
  Hoernchen: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved




diff --git a/ccid/CCID_Tests.ttcn b/ccid/CCID_Tests.ttcn
index e63044b..53753c3 100644
--- a/ccid/CCID_Tests.ttcn
+++ b/ccid/CCID_Tests.ttcn
@@ -629,6 +629,44 @@
        f_start_and_wait();
 }

+/* The SIM responds with 255 bytes. */
+private function f_TC_255_bytes_response() runs on CardemSlot_CT
+{
+       var octetstring req := c_UICC_GET_RESPONSE_BASE & 'FF'O;
+       var octetstring res := 
'000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e9000'O;
+       var CCID_PDU ccid_pdu;
+
+       f_cardem_manager();
+
+       f_ccid_power_on(CCID_PWRSEL_3V0);
+
+       /* Send a request towards reader. */
+       CCID.send(ts_CCID_XfrBlock(g_slot_nr, req, 0));
+       /* Receive the request by SIM. */
+       f_cardem_receive(tr_SIMTRACE_CEMU_RX_DATA(?, req));
+       /* Transmit the response by SIM. */
+       
f_cardem_transmit(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags(pb_and_tx := 
true, final := true),
+                                                  req[1] & res));
+       /* Receive the response from reader. */
+       ccid_pdu := f_ccid_receive(tr_CCID_DataBlock(g_slot_nr, ?, ?, ?));
+       if (ccid_pdu.u.DataBlock.abData != res) {
+               setverdict(fail, "Unexpected SW1/SW2");
+               mtc.stop;
+       }
+
+       /* Stop simtrace emulation, to prevent race condition. */
+       vc_Cardem.stop;
+       vc_Cardem.done;
+}
+testcase TC_255_bytes_response() runs on Test_CT
+{
+       f_init();
+
+       f_start_handler(refers(f_TC_255_bytes_response), mp_simtrace_slot, 
true);
+
+       f_start_and_wait();
+}
+


 /* TODO */
@@ -832,6 +870,7 @@
        execute( TC_successful_case_1() );
        execute( TC_successful_case_2_3() );
        execute( TC_simtrace_test() );
+       execute( TC_255_bytes_response() );

        /* error handling */
        execute( TC_inval_slot() );

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42800?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I298795d791f2964758bd4792e10131f92cf561bc
Gerrit-Change-Number: 42800
Gerrit-PatchSet: 5
Gerrit-Owner: jolly <[email protected]>
Gerrit-Reviewer: Hoernchen <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>

Reply via email to