pmacct: -fno-common fix from upstream
This commit is contained in:
parent
1753e62c02
commit
22e02cdd8c
@ -1,9 +1,9 @@
|
||||
# $OpenBSD: Makefile,v 1.32 2021/01/19 17:46:19 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.33 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
COMMENT= passive IP network monitoring tools: traffic accounting, etc
|
||||
|
||||
DISTNAME= pmacct-1.7.5
|
||||
REVISION= 1
|
||||
REVISION= 2
|
||||
CATEGORIES= net
|
||||
|
||||
HOMEPAGE= http://www.pmacct.net/
|
||||
|
72
net/pmacct/patches/patch-src_mysql_plugin_c
Normal file
72
net/pmacct/patches/patch-src_mysql_plugin_c
Normal file
@ -0,0 +1,72 @@
|
||||
$OpenBSD: patch-src_mysql_plugin_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/mysql_plugin.c
|
||||
--- src/mysql_plugin.c.orig
|
||||
+++ src/mysql_plugin.c
|
||||
@@ -170,7 +170,7 @@ void mysql_plugin(int pipe_fd, struct configuration *c
|
||||
|
||||
/* lazy sql refresh handling */
|
||||
if (idata.now > refresh_deadline) {
|
||||
- if (qq_ptr) sql_cache_flush(sql_queries_queue, qq_ptr, &idata, FALSE);
|
||||
+ if (sql_qq_ptr) sql_cache_flush(sql_queries_queue, sql_qq_ptr, &idata, FALSE);
|
||||
sql_cache_handle_flush_event(&idata, &refresh_deadline, &pt);
|
||||
}
|
||||
else {
|
||||
@@ -272,7 +272,7 @@ void mysql_plugin(int pipe_fd, struct configuration *c
|
||||
}
|
||||
|
||||
prim_ptrs.data = data;
|
||||
- (*insert_func)(&prim_ptrs, &idata);
|
||||
+ (*sql_insert_func)(&prim_ptrs, &idata);
|
||||
|
||||
((struct ch_buf_hdr *)pipebuf)->num--;
|
||||
if (((struct ch_buf_hdr *)pipebuf)->num) {
|
||||
@@ -469,7 +469,7 @@ void MY_cache_purge(struct db_cache *queue[], int inde
|
||||
|
||||
/* re-using pending queries queue stuff from parent and saving clauses */
|
||||
memcpy(sql_pending_queries_queue, queue, index*sizeof(struct db_cache *));
|
||||
- pqq_ptr = index;
|
||||
+ sql_pqq_ptr = index;
|
||||
|
||||
strlcpy(orig_insert_clause, insert_clause, LONGSRVBUFLEN);
|
||||
strlcpy(orig_update_clause, update_clause, LONGSRVBUFLEN);
|
||||
@@ -477,9 +477,9 @@ void MY_cache_purge(struct db_cache *queue[], int inde
|
||||
|
||||
start:
|
||||
memset(&idata->mv, 0, sizeof(struct multi_values));
|
||||
- memcpy(queue, sql_pending_queries_queue, pqq_ptr*sizeof(struct db_cache *));
|
||||
- memset(sql_pending_queries_queue, 0, pqq_ptr*sizeof(struct db_cache *));
|
||||
- index = pqq_ptr; pqq_ptr = 0;
|
||||
+ memcpy(queue, sql_pending_queries_queue, sql_pqq_ptr*sizeof(struct db_cache *));
|
||||
+ memset(sql_pending_queries_queue, 0, sql_pqq_ptr*sizeof(struct db_cache *));
|
||||
+ index = sql_pqq_ptr; sql_pqq_ptr = 0;
|
||||
|
||||
/* We check for variable substitution in SQL table */
|
||||
if (idata->dyn_table) {
|
||||
@@ -526,9 +526,9 @@ void MY_cache_purge(struct db_cache *queue[], int inde
|
||||
pm_strftime_same(tmptable, LONGSRVBUFLEN, tmpbuf, &stamp, config.timestamps_utc);
|
||||
|
||||
if (strncmp(idata->dyn_table_name, tmptable, SRVBUFLEN)) {
|
||||
- sql_pending_queries_queue[pqq_ptr] = queue[idata->current_queue_elem];
|
||||
+ sql_pending_queries_queue[sql_pqq_ptr] = queue[idata->current_queue_elem];
|
||||
|
||||
- pqq_ptr++;
|
||||
+ sql_pqq_ptr++;
|
||||
go_to_pending = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -553,7 +553,7 @@ void MY_cache_purge(struct db_cache *queue[], int inde
|
||||
if (b.fail) Log(LOG_ALERT, "ALERT ( %s/%s ): recovery for MySQL daemon failed.\n", config.name, config.type);
|
||||
|
||||
/* If we have pending queries then start again */
|
||||
- if (pqq_ptr) goto start;
|
||||
+ if (sql_pqq_ptr) goto start;
|
||||
|
||||
idata->elap_time = time(NULL)-start;
|
||||
Log(LOG_INFO, "INFO ( %s/%s ): *** Purging cache - END (PID: %u, QN: %u/%u, ET: %lu) ***\n",
|
19
net/pmacct/patches/patch-src_nfacctd_c
Normal file
19
net/pmacct/patches/patch-src_nfacctd_c
Normal file
@ -0,0 +1,19 @@
|
||||
$OpenBSD: patch-src_nfacctd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/nfacctd.c
|
||||
--- src/nfacctd.c.orig
|
||||
+++ src/nfacctd.c
|
||||
@@ -49,7 +49,6 @@ struct template_cache tpl_cache;
|
||||
struct host_addr debug_a;
|
||||
char debug_agent_addr[50];
|
||||
u_int16_t debug_agent_port;
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
|
||||
/* Functions */
|
||||
void usage_daemon(char *prog_name)
|
72
net/pmacct/patches/patch-src_pgsql_plugin_c
Normal file
72
net/pmacct/patches/patch-src_pgsql_plugin_c
Normal file
@ -0,0 +1,72 @@
|
||||
$OpenBSD: patch-src_pgsql_plugin_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/pgsql_plugin.c
|
||||
--- src/pgsql_plugin.c.orig
|
||||
+++ src/pgsql_plugin.c
|
||||
@@ -178,7 +178,7 @@ void pgsql_plugin(int pipe_fd, struct configuration *c
|
||||
}
|
||||
|
||||
if (idata.now > refresh_deadline) {
|
||||
- if (qq_ptr) sql_cache_flush(sql_queries_queue, qq_ptr, &idata, FALSE);
|
||||
+ if (sql_qq_ptr) sql_cache_flush(sql_queries_queue, sql_qq_ptr, &idata, FALSE);
|
||||
sql_cache_handle_flush_event(&idata, &refresh_deadline, &pt);
|
||||
}
|
||||
else {
|
||||
@@ -281,7 +281,7 @@ void pgsql_plugin(int pipe_fd, struct configuration *c
|
||||
}
|
||||
|
||||
prim_ptrs.data = data;
|
||||
- (*insert_func)(&prim_ptrs, &idata);
|
||||
+ (*sql_insert_func)(&prim_ptrs, &idata);
|
||||
|
||||
((struct ch_buf_hdr *)pipebuf)->num--;
|
||||
if (((struct ch_buf_hdr *)pipebuf)->num) {
|
||||
@@ -473,7 +473,7 @@ void PG_cache_purge(struct db_cache *queue[], int inde
|
||||
|
||||
/* re-using pending queries queue stuff from parent and saving clauses */
|
||||
memcpy(sql_pending_queries_queue, queue, index*sizeof(struct db_cache *));
|
||||
- pqq_ptr = index;
|
||||
+ sql_pqq_ptr = index;
|
||||
|
||||
strlcpy(orig_copy_clause, copy_clause, LONGSRVBUFLEN);
|
||||
strlcpy(orig_insert_clause, insert_clause, LONGSRVBUFLEN);
|
||||
@@ -481,9 +481,9 @@ void PG_cache_purge(struct db_cache *queue[], int inde
|
||||
strlcpy(orig_lock_clause, lock_clause, LONGSRVBUFLEN);
|
||||
|
||||
start:
|
||||
- memcpy(queue, sql_pending_queries_queue, pqq_ptr*sizeof(struct db_cache *));
|
||||
- memset(sql_pending_queries_queue, 0, pqq_ptr*sizeof(struct db_cache *));
|
||||
- index = pqq_ptr; pqq_ptr = 0;
|
||||
+ memcpy(queue, sql_pending_queries_queue, sql_pqq_ptr*sizeof(struct db_cache *));
|
||||
+ memset(sql_pending_queries_queue, 0, sql_pqq_ptr*sizeof(struct db_cache *));
|
||||
+ index = sql_pqq_ptr; sql_pqq_ptr = 0;
|
||||
|
||||
/* We check for variable substitution in SQL table */
|
||||
if (idata->dyn_table) {
|
||||
@@ -544,9 +544,9 @@ void PG_cache_purge(struct db_cache *queue[], int inde
|
||||
pm_strftime_same(tmptable, LONGSRVBUFLEN, tmpbuf, &stamp, config.timestamps_utc);
|
||||
|
||||
if (strncmp(idata->dyn_table_name, tmptable, SRVBUFLEN)) {
|
||||
- sql_pending_queries_queue[pqq_ptr] = queue[idata->current_queue_elem];
|
||||
+ sql_pending_queries_queue[sql_pqq_ptr] = queue[idata->current_queue_elem];
|
||||
|
||||
- pqq_ptr++;
|
||||
+ sql_pqq_ptr++;
|
||||
go_to_pending = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -608,7 +608,7 @@ void PG_cache_purge(struct db_cache *queue[], int inde
|
||||
}
|
||||
|
||||
/* If we have pending queries then start again */
|
||||
- if (pqq_ptr) goto start;
|
||||
+ if (sql_pqq_ptr) goto start;
|
||||
|
||||
idata->elap_time = time(NULL)-start;
|
||||
Log(LOG_INFO, "INFO ( %s/%s ): *** Purging cache - END (PID: %u, QN: %u/%u, ET: %lu) ***\n",
|
21
net/pmacct/patches/patch-src_pmacctd_c
Normal file
21
net/pmacct/patches/patch-src_pmacctd_c
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-src_pmacctd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/pmacctd.c
|
||||
--- src/pmacctd.c.orig
|
||||
+++ src/pmacctd.c
|
||||
@@ -40,9 +40,6 @@
|
||||
#endif
|
||||
#include "jhash.h"
|
||||
|
||||
-/* variables to be exported away */
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
-
|
||||
/* Functions */
|
||||
void usage_daemon(char *prog_name)
|
||||
{
|
21
net/pmacct/patches/patch-src_pmbgpd_c
Normal file
21
net/pmacct/patches/patch-src_pmbgpd_c
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-src_pmbgpd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/pmbgpd.c
|
||||
--- src/pmbgpd.c.orig
|
||||
+++ src/pmbgpd.c
|
||||
@@ -34,9 +34,6 @@
|
||||
#include "net_aggr.h"
|
||||
#include "thread_pool.h"
|
||||
|
||||
-/* global var */
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
-
|
||||
/* Functions */
|
||||
void usage_daemon(char *prog_name)
|
||||
{
|
21
net/pmacct/patches/patch-src_pmbmpd_c
Normal file
21
net/pmacct/patches/patch-src_pmbmpd_c
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-src_pmbmpd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/pmbmpd.c
|
||||
--- src/pmbmpd.c.orig
|
||||
+++ src/pmbmpd.c
|
||||
@@ -32,9 +32,6 @@
|
||||
#include "classifier.h"
|
||||
#include "net_aggr.h"
|
||||
|
||||
-/* global var */
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
-
|
||||
/* Functions */
|
||||
void usage_daemon(char *prog_name)
|
||||
{
|
21
net/pmacct/patches/patch-src_pmtelemetryd_c
Normal file
21
net/pmacct/patches/patch-src_pmtelemetryd_c
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-src_pmtelemetryd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/pmtelemetryd.c
|
||||
--- src/pmtelemetryd.c.orig
|
||||
+++ src/pmtelemetryd.c
|
||||
@@ -32,9 +32,6 @@
|
||||
#include "classifier.h"
|
||||
#include "net_aggr.h"
|
||||
|
||||
-/* global var */
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
-
|
||||
/* Functions */
|
||||
void usage_daemon(char *prog_name)
|
||||
{
|
19
net/pmacct/patches/patch-src_sfacctd_c
Normal file
19
net/pmacct/patches/patch-src_sfacctd_c
Normal file
@ -0,0 +1,19 @@
|
||||
$OpenBSD: patch-src_sfacctd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/sfacctd.c
|
||||
--- src/sfacctd.c.orig
|
||||
+++ src/sfacctd.c
|
||||
@@ -50,7 +50,6 @@
|
||||
#endif
|
||||
|
||||
/* variables to be exported away */
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
int sfacctd_counter_backend_methods;
|
||||
struct bgp_misc_structs *sf_cnt_misc_db;
|
||||
struct host_addr debug_a;
|
290
net/pmacct/patches/patch-src_sql_common_c
Normal file
290
net/pmacct/patches/patch-src_sql_common_c
Normal file
@ -0,0 +1,290 @@
|
||||
$OpenBSD: patch-src_sql_common_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/sql_common.c
|
||||
--- src/sql_common.c.orig
|
||||
+++ src/sql_common.c
|
||||
@@ -45,8 +45,8 @@ unsigned char *pipebuf;
|
||||
struct db_cache *sql_cache;
|
||||
struct db_cache **sql_queries_queue, **sql_pending_queries_queue;
|
||||
struct db_cache *collision_queue;
|
||||
-int cq_ptr, qq_ptr, qq_size, pp_size, pb_size, pn_size, pm_size, pt_size;
|
||||
-int pc_size, dbc_size, cq_size, pqq_ptr;
|
||||
+int cq_ptr, sql_qq_ptr, qq_size, sql_pp_size, sql_pb_size, sql_pn_size, sql_pm_size, sql_pt_size;
|
||||
+int sql_pc_size, sql_dbc_size, cq_size, sql_pqq_ptr;
|
||||
struct db_cache lru_head, *lru_tail;
|
||||
struct frags where[N_PRIMITIVES+2];
|
||||
struct frags values[N_PRIMITIVES+2];
|
||||
@@ -61,7 +61,7 @@ int glob_dyn_table, glob_dyn_table_time_only; /* last
|
||||
int glob_timeslot; /* last resort for sql handlers */
|
||||
|
||||
struct sqlfunc_cb_registry sqlfunc_cbr;
|
||||
-void (*insert_func)(struct primitives_ptrs *, struct insert_data *);
|
||||
+void (*sql_insert_func)(struct primitives_ptrs *, struct insert_data *);
|
||||
struct DBdesc p;
|
||||
struct DBdesc b;
|
||||
struct BE_descs bed;
|
||||
@@ -82,13 +82,13 @@ void sql_set_signals()
|
||||
void sql_set_insert_func()
|
||||
{
|
||||
if (config.what_to_count & (COUNT_SUM_HOST|COUNT_SUM_NET))
|
||||
- insert_func = sql_sum_host_insert;
|
||||
- else if (config.what_to_count & COUNT_SUM_PORT) insert_func = sql_sum_port_insert;
|
||||
- else if (config.what_to_count & COUNT_SUM_AS) insert_func = sql_sum_as_insert;
|
||||
+ sql_insert_func = sql_sum_host_insert;
|
||||
+ else if (config.what_to_count & COUNT_SUM_PORT) sql_insert_func = sql_sum_port_insert;
|
||||
+ else if (config.what_to_count & COUNT_SUM_AS) sql_insert_func = sql_sum_as_insert;
|
||||
#if defined (HAVE_L2)
|
||||
- else if (config.what_to_count & COUNT_SUM_MAC) insert_func = sql_sum_mac_insert;
|
||||
+ else if (config.what_to_count & COUNT_SUM_MAC) sql_insert_func = sql_sum_mac_insert;
|
||||
#endif
|
||||
- else insert_func = sql_cache_insert;
|
||||
+ else sql_insert_func = sql_cache_insert;
|
||||
}
|
||||
|
||||
void sql_init_maps(struct extra_primitives *extras, struct primitives_ptrs *prim_ptrs,
|
||||
@@ -195,16 +195,16 @@ void sql_init_default_values(struct extra_primitives *
|
||||
}
|
||||
}
|
||||
|
||||
- qq_ptr = 0;
|
||||
- pqq_ptr = 0;
|
||||
+ sql_qq_ptr = 0;
|
||||
+ sql_pqq_ptr = 0;
|
||||
qq_size = config.sql_cache_entries+(config.sql_refresh_time*REASONABLE_NUMBER);
|
||||
- pp_size = sizeof(struct pkt_primitives);
|
||||
- pb_size = sizeof(struct pkt_bgp_primitives);
|
||||
- pn_size = sizeof(struct pkt_nat_primitives);
|
||||
- pm_size = sizeof(struct pkt_mpls_primitives);
|
||||
- pt_size = sizeof(struct pkt_tunnel_primitives);
|
||||
- pc_size = config.cpptrs.len;
|
||||
- dbc_size = sizeof(struct db_cache);
|
||||
+ sql_pp_size = sizeof(struct pkt_primitives);
|
||||
+ sql_pb_size = sizeof(struct pkt_bgp_primitives);
|
||||
+ sql_pn_size = sizeof(struct pkt_nat_primitives);
|
||||
+ sql_pm_size = sizeof(struct pkt_mpls_primitives);
|
||||
+ sql_pt_size = sizeof(struct pkt_tunnel_primitives);
|
||||
+ sql_pc_size = config.cpptrs.len;
|
||||
+ sql_dbc_size = sizeof(struct db_cache);
|
||||
|
||||
/* handling purge preprocessor */
|
||||
set_preprocess_funcs(config.sql_preprocess, &prep, PREP_DICT_SQL);
|
||||
@@ -327,12 +327,12 @@ void sql_cache_modulo(struct primitives_ptrs *prim_ptr
|
||||
u_char *pcust = prim_ptrs->pcust;
|
||||
struct pkt_vlen_hdr_primitives *pvlen = prim_ptrs->pvlen;
|
||||
|
||||
- idata->hash = cache_crc32((unsigned char *)srcdst, pp_size);
|
||||
- if (pbgp) idata->hash ^= cache_crc32((unsigned char *)pbgp, pb_size);
|
||||
- if (pnat) idata->hash ^= cache_crc32((unsigned char *)pnat, pn_size);
|
||||
- if (pmpls) idata->hash ^= cache_crc32((unsigned char *)pmpls, pm_size);
|
||||
- if (ptun) idata->hash ^= cache_crc32((unsigned char *)ptun, pt_size);
|
||||
- if (pcust) idata->hash ^= cache_crc32((unsigned char *)pcust, pc_size);
|
||||
+ idata->hash = cache_crc32((unsigned char *)srcdst, sql_pp_size);
|
||||
+ if (pbgp) idata->hash ^= cache_crc32((unsigned char *)pbgp, sql_pb_size);
|
||||
+ if (pnat) idata->hash ^= cache_crc32((unsigned char *)pnat, sql_pn_size);
|
||||
+ if (pmpls) idata->hash ^= cache_crc32((unsigned char *)pmpls, sql_pm_size);
|
||||
+ if (ptun) idata->hash ^= cache_crc32((unsigned char *)ptun, sql_pt_size);
|
||||
+ if (pcust) idata->hash ^= cache_crc32((unsigned char *)pcust, sql_pc_size);
|
||||
if (pvlen) idata->hash ^= cache_crc32((unsigned char *)pvlen, (PvhdrSz + pvlen->tot_len));
|
||||
|
||||
idata->modulo = idata->hash % config.sql_cache_entries;
|
||||
@@ -360,14 +360,14 @@ int sql_cache_flush(struct db_cache *queue[], int inde
|
||||
else idata->committed_basetime = idata->basetime;
|
||||
|
||||
if (!exiting) {
|
||||
- for (j = 0, pqq_ptr = 0; j < index; j++) {
|
||||
+ for (j = 0, sql_pqq_ptr = 0; j < index; j++) {
|
||||
if (new_basetime && queue[j]->basetime+delay >= idata->basetime) {
|
||||
- sql_pending_queries_queue[pqq_ptr] = queue[j];
|
||||
- pqq_ptr++;
|
||||
+ sql_pending_queries_queue[sql_pqq_ptr] = queue[j];
|
||||
+ sql_pqq_ptr++;
|
||||
}
|
||||
else if (!new_basetime && queue[j]->basetime+delay > idata->basetime) {
|
||||
- sql_pending_queries_queue[pqq_ptr] = queue[j];
|
||||
- pqq_ptr++;
|
||||
+ sql_pending_queries_queue[sql_pqq_ptr] = queue[j];
|
||||
+ sql_pqq_ptr++;
|
||||
}
|
||||
else queue[j]->valid = SQL_CACHE_COMMITTED;
|
||||
}
|
||||
@@ -456,7 +456,7 @@ void sql_cache_handle_flush_event(struct insert_data *
|
||||
pm_setproctitle("%s %s [%s]", config.type, "Plugin -- DB Writer", config.name);
|
||||
config.is_forked = TRUE;
|
||||
|
||||
- if (qq_ptr) {
|
||||
+ if (sql_qq_ptr) {
|
||||
if (dump_writers_get_flags() == CHLD_WARNING) sql_db_fail(&p);
|
||||
if (!strcmp(config.type, "mysql"))
|
||||
(*sqlfunc_cbr.connect)(&p, config.sql_host);
|
||||
@@ -464,10 +464,10 @@ void sql_cache_handle_flush_event(struct insert_data *
|
||||
(*sqlfunc_cbr.connect)(&p, NULL);
|
||||
}
|
||||
|
||||
- /* qq_ptr check inside purge function along with a Log() call */
|
||||
- (*sqlfunc_cbr.purge)(sql_queries_queue, qq_ptr, idata);
|
||||
+ /* sql_qq_ptr check inside purge function along with a Log() call */
|
||||
+ (*sqlfunc_cbr.purge)(sql_queries_queue, sql_qq_ptr, idata);
|
||||
|
||||
- if (qq_ptr) (*sqlfunc_cbr.close)(&bed);
|
||||
+ if (sql_qq_ptr) (*sqlfunc_cbr.close)(&bed);
|
||||
|
||||
if (config.sql_trigger_exec) {
|
||||
if (idata->now > idata->triggertime) sql_trigger_exec(config.sql_trigger_exec);
|
||||
@@ -483,7 +483,7 @@ void sql_cache_handle_flush_event(struct insert_data *
|
||||
}
|
||||
else Log(LOG_WARNING, "WARN ( %s/%s ): Maximum number of writer processes reached (%d).\n", config.name, config.type, dump_writers_get_active());
|
||||
|
||||
- if (pqq_ptr) sql_cache_flush_pending(sql_pending_queries_queue, pqq_ptr, idata);
|
||||
+ if (sql_pqq_ptr) sql_cache_flush_pending(sql_pending_queries_queue, sql_pqq_ptr, idata);
|
||||
gettimeofday(&idata->flushtime, NULL);
|
||||
while (idata->now > *refresh_deadline)
|
||||
*refresh_deadline += config.sql_refresh_time;
|
||||
@@ -495,8 +495,8 @@ void sql_cache_handle_flush_event(struct insert_data *
|
||||
|
||||
idata->new_basetime = FALSE;
|
||||
glob_new_basetime = FALSE;
|
||||
- qq_ptr = pqq_ptr;
|
||||
- memcpy(sql_queries_queue, sql_pending_queries_queue, qq_ptr*sizeof(struct db_cache *));
|
||||
+ sql_qq_ptr = sql_pqq_ptr;
|
||||
+ memcpy(sql_queries_queue, sql_pending_queries_queue, sql_qq_ptr*sizeof(struct db_cache *));
|
||||
|
||||
if (reload_map) {
|
||||
load_networks(config.networks_file, &nt, &nc);
|
||||
@@ -773,9 +773,9 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
}
|
||||
|
||||
if (insert_status == SQL_INSERT_INSERT) {
|
||||
- if (qq_ptr < qq_size) {
|
||||
- sql_queries_queue[qq_ptr] = Cursor;
|
||||
- qq_ptr++;
|
||||
+ if (sql_qq_ptr < qq_size) {
|
||||
+ sql_queries_queue[sql_qq_ptr] = Cursor;
|
||||
+ sql_qq_ptr++;
|
||||
}
|
||||
else SafePtr = Cursor;
|
||||
|
||||
@@ -784,10 +784,10 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
|
||||
if (pbgp) {
|
||||
if (!Cursor->pbgp) {
|
||||
- Cursor->pbgp = (struct pkt_bgp_primitives *) malloc(pb_size);
|
||||
+ Cursor->pbgp = (struct pkt_bgp_primitives *) malloc(sql_pb_size);
|
||||
if (!Cursor->pbgp) goto safe_action;
|
||||
}
|
||||
- memcpy(Cursor->pbgp, pbgp, pb_size);
|
||||
+ memcpy(Cursor->pbgp, pbgp, sql_pb_size);
|
||||
}
|
||||
else {
|
||||
if (Cursor->pbgp) free(Cursor->pbgp);
|
||||
@@ -796,10 +796,10 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
|
||||
if (pnat) {
|
||||
if (!Cursor->pnat) {
|
||||
- Cursor->pnat = (struct pkt_nat_primitives *) malloc(pn_size);
|
||||
+ Cursor->pnat = (struct pkt_nat_primitives *) malloc(sql_pn_size);
|
||||
if (!Cursor->pnat) goto safe_action;
|
||||
}
|
||||
- memcpy(Cursor->pnat, pnat, pn_size);
|
||||
+ memcpy(Cursor->pnat, pnat, sql_pn_size);
|
||||
}
|
||||
else {
|
||||
if (Cursor->pnat) free(Cursor->pnat);
|
||||
@@ -808,10 +808,10 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
|
||||
if (pmpls) {
|
||||
if (!Cursor->pmpls) {
|
||||
- Cursor->pmpls = (struct pkt_mpls_primitives *) malloc(pm_size);
|
||||
+ Cursor->pmpls = (struct pkt_mpls_primitives *) malloc(sql_pm_size);
|
||||
if (!Cursor->pmpls) goto safe_action;
|
||||
}
|
||||
- memcpy(Cursor->pmpls, pmpls, pm_size);
|
||||
+ memcpy(Cursor->pmpls, pmpls, sql_pm_size);
|
||||
}
|
||||
else {
|
||||
if (Cursor->pmpls) free(Cursor->pmpls);
|
||||
@@ -820,10 +820,10 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
|
||||
if (ptun) {
|
||||
if (!Cursor->ptun) {
|
||||
- Cursor->ptun = (struct pkt_tunnel_primitives *) malloc(pt_size);
|
||||
+ Cursor->ptun = (struct pkt_tunnel_primitives *) malloc(sql_pt_size);
|
||||
if (!Cursor->ptun) goto safe_action;
|
||||
}
|
||||
- memcpy(Cursor->ptun, ptun, pt_size);
|
||||
+ memcpy(Cursor->ptun, ptun, sql_pt_size);
|
||||
}
|
||||
else {
|
||||
if (Cursor->ptun) free(Cursor->ptun);
|
||||
@@ -832,10 +832,10 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
|
||||
if (pcust) {
|
||||
if (!Cursor->pcust) {
|
||||
- Cursor->pcust = malloc(pc_size);
|
||||
+ Cursor->pcust = malloc(sql_pc_size);
|
||||
if (!Cursor->pcust) goto safe_action;
|
||||
}
|
||||
- memcpy(Cursor->pcust, pcust, pc_size);
|
||||
+ memcpy(Cursor->pcust, pcust, sql_pc_size);
|
||||
}
|
||||
else {
|
||||
if (Cursor->pcust) free(Cursor->pcust);
|
||||
@@ -948,7 +948,7 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
|
||||
Log(LOG_INFO, "INFO ( %s/%s ): Finished cache entries (ie. sql_cache_entries). Purging.\n", config.name, config.type);
|
||||
|
||||
- if (qq_ptr) sql_cache_flush(sql_queries_queue, qq_ptr, idata, FALSE);
|
||||
+ if (sql_qq_ptr) sql_cache_flush(sql_queries_queue, sql_qq_ptr, idata, FALSE);
|
||||
|
||||
dump_writers_count();
|
||||
if (dump_writers_get_flags() != CHLD_ALERT) {
|
||||
@@ -959,10 +959,10 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
pm_setproctitle("%s [%s]", "SQL Plugin -- DB Writer (urgent)", config.name);
|
||||
config.is_forked = TRUE;
|
||||
|
||||
- if (qq_ptr) {
|
||||
+ if (sql_qq_ptr) {
|
||||
if (dump_writers_get_flags() == CHLD_WARNING) sql_db_fail(&p);
|
||||
(*sqlfunc_cbr.connect)(&p, config.sql_host);
|
||||
- (*sqlfunc_cbr.purge)(sql_queries_queue, qq_ptr, idata);
|
||||
+ (*sqlfunc_cbr.purge)(sql_queries_queue, sql_qq_ptr, idata);
|
||||
(*sqlfunc_cbr.close)(&bed);
|
||||
}
|
||||
|
||||
@@ -976,12 +976,12 @@ void sql_cache_insert(struct primitives_ptrs *prim_ptr
|
||||
}
|
||||
else Log(LOG_WARNING, "WARN ( %s/%s ): Maximum number of writer processes reached (%d).\n", config.name, config.type, dump_writers_get_active());
|
||||
|
||||
- qq_ptr = pqq_ptr;
|
||||
+ sql_qq_ptr = sql_pqq_ptr;
|
||||
memcpy(sql_queries_queue, sql_pending_queries_queue, sizeof(*sql_queries_queue));
|
||||
|
||||
if (SafePtr) {
|
||||
- sql_queries_queue[qq_ptr] = Cursor;
|
||||
- qq_ptr++;
|
||||
+ sql_queries_queue[sql_qq_ptr] = Cursor;
|
||||
+ sql_qq_ptr++;
|
||||
}
|
||||
else {
|
||||
Cursor = &sql_cache[idata->modulo];
|
||||
@@ -1105,13 +1105,13 @@ void sql_exit_gracefully(int signum)
|
||||
if (config.sql_backup_host) idata.recover = TRUE;
|
||||
if (config.sql_locking_style) idata.locks = sql_select_locking_style(config.sql_locking_style);
|
||||
|
||||
- sql_cache_flush(sql_queries_queue, qq_ptr, &idata, TRUE);
|
||||
+ sql_cache_flush(sql_queries_queue, sql_qq_ptr, &idata, TRUE);
|
||||
|
||||
dump_writers_count();
|
||||
if (dump_writers_get_flags() != CHLD_ALERT) {
|
||||
if (dump_writers_get_flags() == CHLD_WARNING) sql_db_fail(&p);
|
||||
(*sqlfunc_cbr.connect)(&p, config.sql_host);
|
||||
- (*sqlfunc_cbr.purge)(sql_queries_queue, qq_ptr, &idata);
|
||||
+ (*sqlfunc_cbr.purge)(sql_queries_queue, sql_qq_ptr, &idata);
|
||||
(*sqlfunc_cbr.close)(&bed);
|
||||
}
|
||||
else Log(LOG_WARNING, "WARN ( %s/%s ): Maximum number of writer processes reached (%d).\n", config.name, config.type, dump_writers_get_active());
|
39
net/pmacct/patches/patch-src_sql_common_h
Normal file
39
net/pmacct/patches/patch-src_sql_common_h
Normal file
@ -0,0 +1,39 @@
|
||||
$OpenBSD: patch-src_sql_common_h,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/sql_common.h
|
||||
--- src/sql_common.h.orig
|
||||
+++ src/sql_common.h
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
pmacct (Promiscuous mode IP Accounting package)
|
||||
- pmacct is Copyright (C) 2003-2019 by Paolo Lucente
|
||||
+ pmacct is Copyright (C) 2003-2020 by Paolo Lucente
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -374,8 +374,8 @@ extern unsigned char *pipebuf;
|
||||
extern struct db_cache *sql_cache;
|
||||
extern struct db_cache **sql_queries_queue, **sql_pending_queries_queue;
|
||||
extern struct db_cache *collision_queue;
|
||||
-extern int cq_ptr, qq_ptr, qq_size, pp_size, pb_size, pn_size, pm_size, pt_size;
|
||||
-extern int pc_size, dbc_size, cq_size, pqq_ptr;
|
||||
+extern int cq_ptr, sql_qq_ptr, qq_size, sql_pp_size, sql_pb_size, sql_pn_size, sql_pm_size, sql_pt_size;
|
||||
+extern int sql_pc_size, sql_dbc_size, cq_size, sql_pqq_ptr;
|
||||
extern struct db_cache lru_head, *lru_tail;
|
||||
extern struct frags where[N_PRIMITIVES+2];
|
||||
extern struct frags values[N_PRIMITIVES+2];
|
||||
@@ -390,7 +390,7 @@ extern int glob_dyn_table, glob_dyn_table_time_only; /
|
||||
extern int glob_timeslot; /* last resort for sql handlers */
|
||||
|
||||
extern struct sqlfunc_cb_registry sqlfunc_cbr;
|
||||
-extern void (*insert_func)(struct primitives_ptrs *, struct insert_data *);
|
||||
+extern void (*sql_insert_func)(struct primitives_ptrs *, struct insert_data *);
|
||||
extern struct DBdesc p;
|
||||
extern struct DBdesc b;
|
||||
extern struct BE_descs bed;
|
72
net/pmacct/patches/patch-src_sqlite3_plugin_c
Normal file
72
net/pmacct/patches/patch-src_sqlite3_plugin_c
Normal file
@ -0,0 +1,72 @@
|
||||
$OpenBSD: patch-src_sqlite3_plugin_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/sqlite3_plugin.c
|
||||
--- src/sqlite3_plugin.c.orig
|
||||
+++ src/sqlite3_plugin.c
|
||||
@@ -164,7 +164,7 @@ void sqlite3_plugin(int pipe_fd, struct configuration
|
||||
}
|
||||
|
||||
if (idata.now > refresh_deadline) {
|
||||
- if (qq_ptr) sql_cache_flush(sql_queries_queue, qq_ptr, &idata, FALSE);
|
||||
+ if (sql_qq_ptr) sql_cache_flush(sql_queries_queue, sql_qq_ptr, &idata, FALSE);
|
||||
sql_cache_handle_flush_event(&idata, &refresh_deadline, &pt);
|
||||
}
|
||||
else {
|
||||
@@ -266,7 +266,7 @@ void sqlite3_plugin(int pipe_fd, struct configuration
|
||||
}
|
||||
|
||||
prim_ptrs.data = data;
|
||||
- (*insert_func)(&prim_ptrs, &idata);
|
||||
+ (*sql_insert_func)(&prim_ptrs, &idata);
|
||||
|
||||
((struct ch_buf_hdr *)pipebuf)->num--;
|
||||
if (((struct ch_buf_hdr *)pipebuf)->num) {
|
||||
@@ -449,7 +449,7 @@ void SQLI_cache_purge(struct db_cache *queue[], int in
|
||||
|
||||
/* re-using pending queries queue stuff from parent and saving clauses */
|
||||
memcpy(sql_pending_queries_queue, queue, index*sizeof(struct db_cache *));
|
||||
- pqq_ptr = index;
|
||||
+ sql_pqq_ptr = index;
|
||||
|
||||
strlcpy(orig_insert_clause, insert_clause, LONGSRVBUFLEN);
|
||||
strlcpy(orig_update_clause, update_clause, LONGSRVBUFLEN);
|
||||
@@ -457,9 +457,9 @@ void SQLI_cache_purge(struct db_cache *queue[], int in
|
||||
|
||||
start:
|
||||
memset(&idata->mv, 0, sizeof(struct multi_values));
|
||||
- memcpy(queue, sql_pending_queries_queue, pqq_ptr*sizeof(struct db_cache *));
|
||||
- memset(sql_pending_queries_queue, 0, pqq_ptr*sizeof(struct db_cache *));
|
||||
- index = pqq_ptr; pqq_ptr = 0;
|
||||
+ memcpy(queue, sql_pending_queries_queue, sql_pqq_ptr*sizeof(struct db_cache *));
|
||||
+ memset(sql_pending_queries_queue, 0, sql_pqq_ptr*sizeof(struct db_cache *));
|
||||
+ index = sql_pqq_ptr; sql_pqq_ptr = 0;
|
||||
|
||||
/* We check for variable substitution in SQL table */
|
||||
if (idata->dyn_table) {
|
||||
@@ -507,9 +507,9 @@ void SQLI_cache_purge(struct db_cache *queue[], int in
|
||||
pm_strftime_same(tmptable, LONGSRVBUFLEN, tmpbuf, &stamp, config.timestamps_utc);
|
||||
|
||||
if (strncmp(idata->dyn_table_name, tmptable, SRVBUFLEN)) {
|
||||
- sql_pending_queries_queue[pqq_ptr] = queue[idata->current_queue_elem];
|
||||
+ sql_pending_queries_queue[sql_pqq_ptr] = queue[idata->current_queue_elem];
|
||||
|
||||
- pqq_ptr++;
|
||||
+ sql_pqq_ptr++;
|
||||
go_to_pending = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -534,7 +534,7 @@ void SQLI_cache_purge(struct db_cache *queue[], int in
|
||||
if (b.fail) Log(LOG_ALERT, "ALERT ( %s/%s ): recovery for SQLite3 daemon failed.\n", config.name, config.type);
|
||||
|
||||
/* If we have pending queries then start again */
|
||||
- if (pqq_ptr) goto start;
|
||||
+ if (sql_pqq_ptr) goto start;
|
||||
|
||||
idata->elap_time = time(NULL)-start;
|
||||
Log(LOG_INFO, "INFO ( %s/%s ): *** Purging cache - END (PID: %u, QN: %u/%u, ET: %lu) ***\n",
|
21
net/pmacct/patches/patch-src_uacctd_c
Normal file
21
net/pmacct/patches/patch-src_uacctd_c
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-src_uacctd_c,v 1.1 2021/02/03 23:14:18 sthen Exp $
|
||||
|
||||
From abc6a2fd647aa97707acd7ae3e44785de3aea4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Lucente <pl+github@pmacct.net>
|
||||
Date: Mon, 18 May 2020 11:56:46 +0000
|
||||
Subject: [PATCH] * fix, renamed some variables and unified declaration of
|
||||
others in order to be more gcc10 friendly. Related to Issue #394
|
||||
|
||||
Index: src/uacctd.c
|
||||
--- src/uacctd.c.orig
|
||||
+++ src/uacctd.c
|
||||
@@ -41,9 +41,6 @@
|
||||
#include "ndpi/ndpi.h"
|
||||
#endif
|
||||
|
||||
-/* variables to be exported away */
|
||||
-struct channels_list_entry channels_list[MAX_N_PLUGINS]; /* communication channels: core <-> plugins */
|
||||
-
|
||||
/* Functions */
|
||||
static int nflog_incoming(struct nflog_g_handle *gh, struct nfgenmsg *nfmsg,
|
||||
struct nflog_data *nfa, void *p)
|
Loading…
Reference in New Issue
Block a user