@@ -152,6 +152,50 @@ TEST(SyscallExit, recvfromX_ipv4_tcp_message_not_truncated_fullcapture_port)
152
152
evt_test->assert_num_params_pushed (3 );
153
153
}
154
154
155
+ TEST (SyscallExit, recvfromX_ipv4_tcp_message_not_truncated_DNS_snaplen)
156
+ {
157
+ auto evt_test = get_syscall_event_test (__NR_recvfrom, EXIT_EVENT);
158
+
159
+ evt_test->set_do_dynamic_snaplen (true );
160
+
161
+ evt_test->enable_capture ();
162
+
163
+ /* =============================== TRIGGER SYSCALL ===========================*/
164
+
165
+ evt_test->client_to_server_ipv4_tcp (send_data{.syscall_num = __NR_sendto, .greater_snaplen = true },
166
+ recv_data{.syscall_num = __NR_recvfrom}, IP_PORT_DNS, IP_PORT_SERVER);
167
+
168
+ /* =============================== TRIGGER SYSCALL ===========================*/
169
+
170
+ evt_test->disable_capture ();
171
+
172
+ evt_test->set_do_dynamic_snaplen (false );
173
+
174
+ evt_test->assert_event_presence ();
175
+
176
+ if (HasFatalFailure ())
177
+ {
178
+ return ;
179
+ }
180
+
181
+ evt_test->parse_event ();
182
+
183
+ evt_test->assert_header ();
184
+
185
+ /* =============================== ASSERT PARAMETERS ===========================*/
186
+
187
+ /* Parameter 1: res (type: PT_ERRNO) */
188
+ evt_test->assert_numeric_param (1 , (int64_t )MAX_RECV_BUF_SIZE);
189
+
190
+ /* Parameter 2: data (type: PT_BYTEBUF) */
191
+ // Since the client port matches the fullcapture port range we should see the full message.
192
+ evt_test->assert_bytebuf_param (2 , LONG_MESSAGE, MAX_RECV_BUF_SIZE);
193
+
194
+ /* =============================== ASSERT PARAMETERS ===========================*/
195
+
196
+ evt_test->assert_num_params_pushed (3 );
197
+ }
198
+
155
199
TEST (SyscallExit, recvfromX_ipv6_tcp_message_not_truncated_fullcapture_port)
156
200
{
157
201
auto evt_test = get_syscall_event_test (__NR_recvfrom, EXIT_EVENT);
0 commit comments