From b57d32279119fba89eaf986e6c5eac7e5e60a240 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Thu, 8 May 2025 22:00:55 +0200 Subject: [PATCH] detect: fix SCTime_t -Wshorten-64-to-32 warnings Ticket: #6186 SCTime_t has seconds defined as 44 bits of a u64, so we use u64 for everything in seconds now. --- src/detect-engine-threshold.c | 2 +- src/detect-tag.h | 4 ++-- src/host-bit.c | 10 +++++----- src/host-bit.h | 8 ++++---- src/ippair-bit.c | 10 +++++----- src/ippair-bit.h | 8 ++++---- src/runmode-unix-socket.c | 4 ++-- src/util-var.h | 2 +- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/detect-engine-threshold.c b/src/detect-engine-threshold.c index 5fd80d305d1f..50ee7ed1890b 100644 --- a/src/detect-engine-threshold.c +++ b/src/detect-engine-threshold.c @@ -82,7 +82,7 @@ void ThresholdDestroy(void) typedef struct ThresholdEntry_ { uint32_t key[5]; - uint32_t tv_timeout; /**< Timeout for new_action (for rate_filter) + uint64_t tv_timeout; /**< Timeout for new_action (for rate_filter) its not "seconds", that define the time interval */ uint32_t seconds; /**< Event seconds */ uint32_t current_count; /**< Var for count control */ diff --git a/src/detect-tag.h b/src/detect-tag.h index fa0c3aa4aa52..1993df8b923c 100644 --- a/src/detect-tag.h +++ b/src/detect-tag.h @@ -79,8 +79,8 @@ typedef struct DetectTagDataEntry_ { uint32_t packets; /**< number of packets (metric packets) */ uint32_t bytes; /**< number of bytes (metric bytes) */ }; - uint32_t first_ts; /**< First time seen (for metric = seconds) */ - uint32_t last_ts; /**< Last time seen (to prune old sessions) */ + uint64_t first_ts; /**< First time seen (for metric = seconds) */ + uint64_t last_ts; /**< Last time seen (to prune old sessions) */ #if __WORDSIZE == 64 uint32_t pad1; #endif diff --git a/src/host-bit.c b/src/host-bit.c index 3b03d50efe8e..e801b5f6f963 100644 --- a/src/host-bit.c +++ b/src/host-bit.c @@ -91,7 +91,7 @@ static XBit *HostBitGet(Host *h, uint32_t idx) } /* add a flowbit to the flow */ -static void HostBitAdd(Host *h, uint32_t idx, uint32_t expire) +static void HostBitAdd(Host *h, uint32_t idx, uint64_t expire) { XBit *fb = HostBitGet(h, idx); if (fb == NULL) { @@ -128,7 +128,7 @@ static void HostBitRemove(Host *h, uint32_t idx) } } -void HostBitSet(Host *h, uint32_t idx, uint32_t expire) +void HostBitSet(Host *h, uint32_t idx, uint64_t expire) { XBit *fb = HostBitGet(h, idx); if (fb == NULL) { @@ -144,7 +144,7 @@ void HostBitUnset(Host *h, uint32_t idx) } } -void HostBitToggle(Host *h, uint32_t idx, uint32_t expire) +void HostBitToggle(Host *h, uint32_t idx, uint64_t expire) { XBit *fb = HostBitGet(h, idx); if (fb != NULL) { @@ -154,7 +154,7 @@ void HostBitToggle(Host *h, uint32_t idx, uint32_t expire) } } -int HostBitIsset(Host *h, uint32_t idx, uint32_t ts) +int HostBitIsset(Host *h, uint32_t idx, uint64_t ts) { XBit *fb = HostBitGet(h, idx); if (fb != NULL) { @@ -167,7 +167,7 @@ int HostBitIsset(Host *h, uint32_t idx, uint32_t ts) return 0; } -int HostBitIsnotset(Host *h, uint32_t idx, uint32_t ts) +int HostBitIsnotset(Host *h, uint32_t idx, uint64_t ts) { XBit *fb = HostBitGet(h, idx); if (fb == NULL) { diff --git a/src/host-bit.h b/src/host-bit.h index 2c57660d509c..5e7c8246246e 100644 --- a/src/host-bit.h +++ b/src/host-bit.h @@ -33,11 +33,11 @@ void HostBitRegisterTests(void); int HostHasHostBits(Host *host); int HostBitsTimedoutCheck(Host *h, SCTime_t ts); -void HostBitSet(Host *, uint32_t, uint32_t); +void HostBitSet(Host *, uint32_t, uint64_t); void HostBitUnset(Host *, uint32_t); -void HostBitToggle(Host *, uint32_t, uint32_t); -int HostBitIsset(Host *, uint32_t, uint32_t); -int HostBitIsnotset(Host *, uint32_t, uint32_t); +void HostBitToggle(Host *, uint32_t, uint64_t); +int HostBitIsset(Host *, uint32_t, uint64_t); +int HostBitIsnotset(Host *, uint32_t, uint64_t); int HostBitList(Host *, XBit **); #endif /* SURICATA_HOST_BIT_H */ diff --git a/src/ippair-bit.c b/src/ippair-bit.c index 1d3d8fa9bbd2..61718e13f04e 100644 --- a/src/ippair-bit.c +++ b/src/ippair-bit.c @@ -91,7 +91,7 @@ static XBit *IPPairBitGet(IPPair *h, uint32_t idx) } /* add a flowbit to the flow */ -static void IPPairBitAdd(IPPair *h, uint32_t idx, uint32_t expire) +static void IPPairBitAdd(IPPair *h, uint32_t idx, uint64_t expire) { XBit *fb = IPPairBitGet(h, idx); if (fb == NULL) { @@ -128,7 +128,7 @@ static void IPPairBitRemove(IPPair *h, uint32_t idx) } } -void IPPairBitSet(IPPair *h, uint32_t idx, uint32_t expire) +void IPPairBitSet(IPPair *h, uint32_t idx, uint64_t expire) { XBit *fb = IPPairBitGet(h, idx); if (fb == NULL) { @@ -144,7 +144,7 @@ void IPPairBitUnset(IPPair *h, uint32_t idx) } } -void IPPairBitToggle(IPPair *h, uint32_t idx, uint32_t expire) +void IPPairBitToggle(IPPair *h, uint32_t idx, uint64_t expire) { XBit *fb = IPPairBitGet(h, idx); if (fb != NULL) { @@ -154,7 +154,7 @@ void IPPairBitToggle(IPPair *h, uint32_t idx, uint32_t expire) } } -int IPPairBitIsset(IPPair *h, uint32_t idx, uint32_t ts) +int IPPairBitIsset(IPPair *h, uint32_t idx, uint64_t ts) { XBit *fb = IPPairBitGet(h, idx); if (fb != NULL) { @@ -168,7 +168,7 @@ int IPPairBitIsset(IPPair *h, uint32_t idx, uint32_t ts) return 0; } -int IPPairBitIsnotset(IPPair *h, uint32_t idx, uint32_t ts) +int IPPairBitIsnotset(IPPair *h, uint32_t idx, uint64_t ts) { XBit *fb = IPPairBitGet(h, idx); if (fb == NULL) { diff --git a/src/ippair-bit.h b/src/ippair-bit.h index 4f363eecadb2..2ddaa9065f45 100644 --- a/src/ippair-bit.h +++ b/src/ippair-bit.h @@ -32,10 +32,10 @@ void IPPairBitRegisterTests(void); int IPPairHasBits(IPPair *host); int IPPairBitsTimedoutCheck(IPPair *h, SCTime_t ts); -void IPPairBitSet(IPPair *, uint32_t, uint32_t); +void IPPairBitSet(IPPair *, uint32_t, uint64_t); void IPPairBitUnset(IPPair *, uint32_t); -void IPPairBitToggle(IPPair *, uint32_t, uint32_t); -int IPPairBitIsset(IPPair *, uint32_t, uint32_t); -int IPPairBitIsnotset(IPPair *, uint32_t, uint32_t); +void IPPairBitToggle(IPPair *, uint32_t, uint64_t); +int IPPairBitIsset(IPPair *, uint32_t, uint64_t); +int IPPairBitIsnotset(IPPair *, uint32_t, uint64_t); #endif /* SURICATA_IPPAIR_BIT_H */ diff --git a/src/runmode-unix-socket.c b/src/runmode-unix-socket.c index c07a2a475d51..2e987b687f9d 100644 --- a/src/runmode-unix-socket.c +++ b/src/runmode-unix-socket.c @@ -1428,7 +1428,7 @@ TmEcode UnixSocketHostbitList(json_t *cmd, json_t* answer, void *data_unused) struct Bit { uint32_t id; - uint32_t expire; + uint64_t expire; } bits[256]; memset(&bits, 0, sizeof(bits)); int i = 0, use = 0; @@ -1463,7 +1463,7 @@ TmEcode UnixSocketHostbitList(json_t *cmd, json_t* answer, void *data_unused) json_t *bitobject = json_object(); if (bitobject == NULL) continue; - uint32_t expire = 0; + uint64_t expire = 0; if ((uint32_t)SCTIME_SECS(ts) < bits[i].expire) expire = bits[i].expire - (uint32_t)SCTIME_SECS(ts); diff --git a/src/util-var.h b/src/util-var.h index a67730045fdb..6d3c393cccdc 100644 --- a/src/util-var.h +++ b/src/util-var.h @@ -60,7 +60,7 @@ typedef struct XBit_ { uint8_t pad[2]; uint32_t idx; /* name idx */ GenericVar *next; - uint32_t expire; + uint64_t expire; } XBit; void XBitFree(XBit *);