@@ -15,40 +15,40 @@ TEST(ReplayProtection, OutOfOrderFrames)
15
15
oc_replay_add_client (6 , kid, kid_ctx);
16
16
17
17
// receive some valid frames, shifting the window
18
- EXPECT_TRUE (oc_replay_check_client (7 , kid, kid_ctx));
19
- EXPECT_TRUE (oc_replay_check_client (8 , kid, kid_ctx));
18
+ EXPECT_TRUE (oc_replay_check_client (7 , kid, kid_ctx, false ));
19
+ EXPECT_TRUE (oc_replay_check_client (8 , kid, kid_ctx, false ));
20
20
21
21
// replay the frames
22
- EXPECT_FALSE (oc_replay_check_client (6 , kid, kid_ctx));
23
- EXPECT_FALSE (oc_replay_check_client (7 , kid, kid_ctx));
24
- EXPECT_FALSE (oc_replay_check_client (8 , kid, kid_ctx));
22
+ EXPECT_FALSE (oc_replay_check_client (6 , kid, kid_ctx, false ));
23
+ EXPECT_FALSE (oc_replay_check_client (7 , kid, kid_ctx, false ));
24
+ EXPECT_FALSE (oc_replay_check_client (8 , kid, kid_ctx, false ));
25
25
26
26
// receive some valid frames out of order
27
- EXPECT_TRUE (oc_replay_check_client (4 , kid, kid_ctx));
28
- EXPECT_TRUE (oc_replay_check_client (2 , kid, kid_ctx));
29
- EXPECT_TRUE (oc_replay_check_client (5 , kid, kid_ctx));
30
- EXPECT_TRUE (oc_replay_check_client (3 , kid, kid_ctx));
27
+ EXPECT_TRUE (oc_replay_check_client (4 , kid, kid_ctx, false ));
28
+ EXPECT_TRUE (oc_replay_check_client (2 , kid, kid_ctx, false ));
29
+ EXPECT_TRUE (oc_replay_check_client (5 , kid, kid_ctx, false ));
30
+ EXPECT_TRUE (oc_replay_check_client (3 , kid, kid_ctx, false ));
31
31
32
32
// replay the frames some more
33
- EXPECT_FALSE (oc_replay_check_client (6 , kid, kid_ctx));
34
- EXPECT_FALSE (oc_replay_check_client (7 , kid, kid_ctx));
35
- EXPECT_FALSE (oc_replay_check_client (8 , kid, kid_ctx));
36
- EXPECT_FALSE (oc_replay_check_client (2 , kid, kid_ctx));
37
- EXPECT_FALSE (oc_replay_check_client (3 , kid, kid_ctx));
38
- EXPECT_FALSE (oc_replay_check_client (4 , kid, kid_ctx));
33
+ EXPECT_FALSE (oc_replay_check_client (6 , kid, kid_ctx, false ));
34
+ EXPECT_FALSE (oc_replay_check_client (7 , kid, kid_ctx, false ));
35
+ EXPECT_FALSE (oc_replay_check_client (8 , kid, kid_ctx, false ));
36
+ EXPECT_FALSE (oc_replay_check_client (2 , kid, kid_ctx, false ));
37
+ EXPECT_FALSE (oc_replay_check_client (3 , kid, kid_ctx, false ));
38
+ EXPECT_FALSE (oc_replay_check_client (4 , kid, kid_ctx, false ));
39
39
40
40
// shift the window by a lot
41
- EXPECT_TRUE (oc_replay_check_client (20 , kid, kid_ctx));
41
+ EXPECT_TRUE (oc_replay_check_client (20 , kid, kid_ctx, false ));
42
42
43
43
// replays should still be detected
44
- EXPECT_FALSE (oc_replay_check_client (6 , kid, kid_ctx));
45
- EXPECT_FALSE (oc_replay_check_client (7 , kid, kid_ctx));
46
- EXPECT_FALSE (oc_replay_check_client (8 , kid, kid_ctx));
44
+ EXPECT_FALSE (oc_replay_check_client (6 , kid, kid_ctx, false ));
45
+ EXPECT_FALSE (oc_replay_check_client (7 , kid, kid_ctx, false ));
46
+ EXPECT_FALSE (oc_replay_check_client (8 , kid, kid_ctx, false ));
47
47
48
48
// some more valid out-of-order frames
49
- EXPECT_TRUE (oc_replay_check_client (17 , kid, kid_ctx));
50
- EXPECT_TRUE (oc_replay_check_client (18 , kid, kid_ctx));
51
- EXPECT_TRUE (oc_replay_check_client (19 , kid, kid_ctx));
49
+ EXPECT_TRUE (oc_replay_check_client (17 , kid, kid_ctx, false ));
50
+ EXPECT_TRUE (oc_replay_check_client (18 , kid, kid_ctx, false ));
51
+ EXPECT_TRUE (oc_replay_check_client (19 , kid, kid_ctx, false ));
52
52
}
53
53
54
54
TEST (ReplayProtection, MultipleClients)
@@ -78,20 +78,20 @@ TEST(ReplayProtection, MultipleClients)
78
78
79
79
// for every added client, test out a new valid packet & a replayed packet
80
80
81
- EXPECT_FALSE (oc_replay_check_client (5 , kid1, empty));
82
- EXPECT_TRUE (oc_replay_check_client (6 , kid1, empty));
83
- EXPECT_FALSE (oc_replay_check_client (5 , kid2, empty));
84
- EXPECT_TRUE (oc_replay_check_client (6 , kid2, empty));
81
+ EXPECT_FALSE (oc_replay_check_client (5 , kid1, empty, false ));
82
+ EXPECT_TRUE (oc_replay_check_client (6 , kid1, empty, false ));
83
+ EXPECT_FALSE (oc_replay_check_client (5 , kid2, empty, false ));
84
+ EXPECT_TRUE (oc_replay_check_client (6 , kid2, empty, false ));
85
85
86
- EXPECT_FALSE (oc_replay_check_client (5 , kid1, con1));
87
- EXPECT_TRUE (oc_replay_check_client (6 , kid1, con1));
88
- EXPECT_FALSE (oc_replay_check_client (5 , kid1, con2));
89
- EXPECT_TRUE (oc_replay_check_client (6 , kid1, con2));
86
+ EXPECT_FALSE (oc_replay_check_client (5 , kid1, con1, false ));
87
+ EXPECT_TRUE (oc_replay_check_client (6 , kid1, con1, false ));
88
+ EXPECT_FALSE (oc_replay_check_client (5 , kid1, con2, false ));
89
+ EXPECT_TRUE (oc_replay_check_client (6 , kid1, con2, false ));
90
90
91
- EXPECT_FALSE (oc_replay_check_client (5 , kid3, con2));
92
- EXPECT_TRUE (oc_replay_check_client (6 , kid3, con2));
93
- EXPECT_FALSE (oc_replay_check_client (5 , kid4, con2));
94
- EXPECT_TRUE (oc_replay_check_client (6 , kid4, con2));
91
+ EXPECT_FALSE (oc_replay_check_client (5 , kid3, con2, false ));
92
+ EXPECT_TRUE (oc_replay_check_client (6 , kid3, con2, false ));
93
+ EXPECT_FALSE (oc_replay_check_client (5 , kid4, con2, false ));
94
+ EXPECT_TRUE (oc_replay_check_client (6 , kid4, con2, false ));
95
95
}
96
96
97
97
TEST (ReplayProtection, TimeBasedFree)
@@ -110,7 +110,7 @@ TEST(ReplayProtection, TimeBasedFree)
110
110
// check 20 most recently added values - should still be readable
111
111
for (int i = 20 ; i < 30 ; ++i) {
112
112
(*oc_string (kid))--;
113
- EXPECT_TRUE (oc_replay_check_client (6 , kid, empty));
113
+ EXPECT_TRUE (oc_replay_check_client (6 , kid, empty, false ));
114
114
}
115
115
}
116
116
@@ -125,8 +125,8 @@ TEST(ReplayProtection, RplWdo)
125
125
126
126
oc_replay_add_client (5 , kid, empty);
127
127
// outside the upper bound of the replay window
128
- EXPECT_FALSE (oc_replay_check_client (55 , kid, empty));
128
+ EXPECT_FALSE (oc_replay_check_client (55 , kid, empty, false ));
129
129
// fake an update to the replay window upper bound
130
130
g_oscore_replaywindow = 64 ;
131
- EXPECT_TRUE (oc_replay_check_client (55 , kid, empty));
131
+ EXPECT_TRUE (oc_replay_check_client (55 , kid, empty, false ));
132
132
}
0 commit comments