detect/multi-tenant: Make tenant_id 32 bits everywhere

Issue: 6047

This commit ensures that the tenant id is contained in a unsigned 32 bit
container.
pull/9244/head
Jeff Lucovsky 2 years ago committed by Victor Julien
parent 3286c3b912
commit 9fd77c737f

@ -3084,7 +3084,7 @@ static TmEcode DetectEngineThreadCtxInitForMT(ThreadVars *tv, DetectEngineThread
DetectEngineTenantMapping *map_array = NULL; DetectEngineTenantMapping *map_array = NULL;
uint32_t map_array_size = 0; uint32_t map_array_size = 0;
uint32_t map_cnt = 0; uint32_t map_cnt = 0;
int max_tenant_id = 0; uint32_t max_tenant_id = 0;
DetectEngineCtx *list = master->list; DetectEngineCtx *list = master->list;
HashTable *mt_det_ctxs_hash = NULL; HashTable *mt_det_ctxs_hash = NULL;
@ -4433,7 +4433,7 @@ static uint32_t DetectEngineTenantGetIdFromPcap(const void *ctx, const Packet *p
return p->pcap_v.tenant_id; return p->pcap_v.tenant_id;
} }
DetectEngineCtx *DetectEngineGetByTenantId(int tenant_id) DetectEngineCtx *DetectEngineGetByTenantId(uint32_t tenant_id)
{ {
DetectEngineMasterCtx *master = &g_master_de_ctx; DetectEngineMasterCtx *master = &g_master_de_ctx;
SCMutexLock(&master->lock); SCMutexLock(&master->lock);

@ -111,7 +111,7 @@ uint32_t DetectEngineGetVersion(void);
void DetectEngineBumpVersion(void); void DetectEngineBumpVersion(void);
int DetectEngineAddToMaster(DetectEngineCtx *de_ctx); int DetectEngineAddToMaster(DetectEngineCtx *de_ctx);
DetectEngineCtx *DetectEngineGetCurrent(void); DetectEngineCtx *DetectEngineGetCurrent(void);
DetectEngineCtx *DetectEngineGetByTenantId(int tenant_id); DetectEngineCtx *DetectEngineGetByTenantId(uint32_t tenant_id);
void DetectEnginePruneFreeList(void); void DetectEnginePruneFreeList(void);
int DetectEngineMoveToFreeList(DetectEngineCtx *de_ctx); int DetectEngineMoveToFreeList(DetectEngineCtx *de_ctx);
DetectEngineCtx *DetectEngineReference(DetectEngineCtx *); DetectEngineCtx *DetectEngineReference(DetectEngineCtx *);

@ -829,7 +829,7 @@ typedef struct DetectEngineCtx_ {
uint8_t mpm_matcher; /**< mpm matcher this ctx uses */ uint8_t mpm_matcher; /**< mpm matcher this ctx uses */
uint8_t spm_matcher; /**< spm matcher this ctx uses */ uint8_t spm_matcher; /**< spm matcher this ctx uses */
int tenant_id; uint32_t tenant_id;
Signature *sig_list; Signature *sig_list;
uint32_t sig_cnt; uint32_t sig_cnt;

@ -59,7 +59,7 @@ int unix_socket_mode_is_running = 0;
typedef struct PcapFiles_ { typedef struct PcapFiles_ {
char *filename; char *filename;
char *output_dir; char *output_dir;
int tenant_id; uint32_t tenant_id;
time_t delay; time_t delay;
time_t poll_interval; time_t poll_interval;
bool continuous; bool continuous;
@ -265,16 +265,8 @@ static void PcapFilesFree(PcapFiles *cfile)
* *
* \retval 0 in case of error, 1 in case of success * \retval 0 in case of error, 1 in case of success
*/ */
static TmEcode UnixListAddFile( static TmEcode UnixListAddFile(PcapCommand *this, const char *filename, const char *output_dir,
PcapCommand *this, uint32_t tenant_id, bool continuous, bool should_delete, time_t delay, time_t poll_interval)
const char *filename,
const char *output_dir,
int tenant_id,
bool continuous,
bool should_delete,
time_t delay,
time_t poll_interval
)
{ {
PcapFiles *cfile = NULL; PcapFiles *cfile = NULL;
if (filename == NULL || this == NULL) if (filename == NULL || this == NULL)
@ -327,7 +319,7 @@ static TmEcode UnixSocketAddPcapFileImpl(json_t *cmd, json_t* answer, void *data
PcapCommand *this = (PcapCommand *) data; PcapCommand *this = (PcapCommand *) data;
const char *filename; const char *filename;
const char *output_dir; const char *output_dir;
int tenant_id = 0; uint32_t tenant_id = 0;
bool should_delete = false; bool should_delete = false;
time_t delay = 30; time_t delay = 30;
time_t poll_interval = 5; time_t poll_interval = 5;
@ -876,7 +868,7 @@ TmEcode UnixSocketRegisterTenantHandler(json_t *cmd, json_t* answer, void *data)
json_object_set_new(answer, "message", json_string("id is not an integer")); json_object_set_new(answer, "message", json_string("id is not an integer"));
return TM_ECODE_FAILED; return TM_ECODE_FAILED;
} }
int tenant_id = json_integer_value(jarg); uint32_t tenant_id = json_integer_value(jarg);
/* 2 get tenant handler type */ /* 2 get tenant handler type */
jarg = json_object_get(cmd, "htype"); jarg = json_object_get(cmd, "htype");
@ -957,7 +949,7 @@ TmEcode UnixSocketUnregisterTenantHandler(json_t *cmd, json_t* answer, void *dat
json_object_set_new(answer, "message", json_string("id is not an integer")); json_object_set_new(answer, "message", json_string("id is not an integer"));
return TM_ECODE_FAILED; return TM_ECODE_FAILED;
} }
int tenant_id = json_integer_value(jarg); uint32_t tenant_id = json_integer_value(jarg);
/* 2 get tenant handler type */ /* 2 get tenant handler type */
jarg = json_object_get(cmd, "htype"); jarg = json_object_get(cmd, "htype");
@ -1042,7 +1034,7 @@ TmEcode UnixSocketRegisterTenant(json_t *cmd, json_t* answer, void *data)
json_object_set_new(answer, "message", json_string("id is not an integer")); json_object_set_new(answer, "message", json_string("id is not an integer"));
return TM_ECODE_FAILED; return TM_ECODE_FAILED;
} }
int tenant_id = json_integer_value(jarg); uint32_t tenant_id = json_integer_value(jarg);
/* 2 get tenant yaml */ /* 2 get tenant yaml */
jarg = json_object_get(cmd, "filename"); jarg = json_object_get(cmd, "filename");
@ -1118,7 +1110,7 @@ TmEcode UnixSocketReloadTenant(json_t *cmd, json_t* answer, void *data)
json_object_set_new(answer, "message", json_string("id is not an integer")); json_object_set_new(answer, "message", json_string("id is not an integer"));
return TM_ECODE_FAILED; return TM_ECODE_FAILED;
} }
int tenant_id = json_integer_value(jarg); uint32_t tenant_id = json_integer_value(jarg);
/* 2 get tenant yaml */ /* 2 get tenant yaml */
jarg = json_object_get(cmd, "filename"); jarg = json_object_get(cmd, "filename");
@ -1188,7 +1180,7 @@ TmEcode UnixSocketUnregisterTenant(json_t *cmd, json_t* answer, void *data)
json_object_set_new(answer, "message", json_string("id is not an integer")); json_object_set_new(answer, "message", json_string("id is not an integer"));
return TM_ECODE_FAILED; return TM_ECODE_FAILED;
} }
int tenant_id = json_integer_value(jarg); uint32_t tenant_id = json_integer_value(jarg);
SCLogInfo("remove-tenant: removing tenant %d", tenant_id); SCLogInfo("remove-tenant: removing tenant %d", tenant_id);

Loading…
Cancel
Save