]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
dns: replace usage of rs_dns_tx_get_query_name with SCDnsTxGetQueryName
authorJason Ish <jason.ish@oisf.net>
Wed, 15 Nov 2023 18:31:12 +0000 (12:31 -0600)
committerVictor Julien <victor@inliniac.net>
Wed, 13 Dec 2023 18:17:17 +0000 (19:17 +0100)
SCDnsTxGetQueryName was introduced to allow for getting the query name
in responses as well as requests, so covers the functionality of
rs_dns_tx_get_query_name.

rust/src/dns/dns.rs
src/detect-dns-query.c

index e8558828d5d0ff70349676c1140b9552567649b2..57f66c0f73df42cb24542211a5ff16b077cbda95 100644 (file)
@@ -853,23 +853,6 @@ pub unsafe extern "C" fn rs_dns_state_get_tx_data(
 
 export_state_data_get!(rs_dns_get_state_data, DNSState);
 
-#[no_mangle]
-pub unsafe extern "C" fn rs_dns_tx_get_query_name(
-    tx: &mut DNSTransaction, i: u32, buf: *mut *const u8, len: *mut u32,
-) -> u8 {
-    if let Some(request) = &tx.request {
-        if (i as usize) < request.queries.len() {
-            let query = &request.queries[i as usize];
-            if !query.name.is_empty() {
-                *len = query.name.len() as u32;
-                *buf = query.name.as_ptr();
-                return 1;
-            }
-        }
-    }
-    return 0;
-}
-
 /// Get the DNS query name at index i.
 #[no_mangle]
 pub unsafe extern "C" fn SCDnsTxGetQueryName(
index ebdc7088e78ec069be87223f81a65cf31feabd5b..3225f126f2df5d42cf5dc44a29c3b4940c7589c5 100644 (file)
@@ -87,7 +87,7 @@ static InspectionBuffer *DnsQueryGetData(DetectEngineThreadCtx *det_ctx,
 
     const uint8_t *data;
     uint32_t data_len;
-    if (rs_dns_tx_get_query_name(cbdata->txv, cbdata->local_id, &data, &data_len) == 0) {
+    if (SCDnsTxGetQueryName(cbdata->txv, false, cbdata->local_id, &data, &data_len) == 0) {
         InspectionBufferSetupMultiEmpty(buffer);
         return NULL;
     }