aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/snmp/packet-snmp-template.c1
-rw-r--r--docbook/wsug_src/WSUG_chapter_customize.xml10
-rw-r--r--epan/dfilter/dfilter-macro.c1
-rw-r--r--epan/dissectors/packet-k12.c1
-rw-r--r--epan/dissectors/packet-sccp.c1
-rw-r--r--epan/dissectors/packet-snmp.c1
-rw-r--r--epan/dissectors/packet-user_encap.c1
-rw-r--r--epan/oids.c2
-rw-r--r--epan/uat-int.h1
-rw-r--r--epan/uat.c11
-rw-r--r--epan/uat.h1
11 files changed, 18 insertions, 13 deletions
diff --git a/asn1/snmp/packet-snmp-template.c b/asn1/snmp/packet-snmp-template.c
index 828bad9c3d..7291926552 100644
--- a/asn1/snmp/packet-snmp-template.c
+++ b/asn1/snmp/packet-snmp-template.c
@@ -1932,6 +1932,7 @@ void proto_register_snmp(void) {
assocs_uat = uat_new("SNMP Users",
sizeof(snmp_ue_assoc_t),
"snmp_users",
+ TRUE,
(void**)&ueas,
&num_ueas,
UAT_CAT_CRYPTO,
diff --git a/docbook/wsug_src/WSUG_chapter_customize.xml b/docbook/wsug_src/WSUG_chapter_customize.xml
index eb67d7a769..5304693657 100644
--- a/docbook/wsug_src/WSUG_chapter_customize.xml
+++ b/docbook/wsug_src/WSUG_chapter_customize.xml
@@ -997,16 +997,6 @@ standard libpcap format.
</listitem>
<listitem>
<para>
- SMI Modules (smi_modules)
- </para>
- </listitem>
- <listitem>
- <para>
- SMI Paths (smi_paths)
- </para>
- </listitem>
- <listitem>
- <para>
SNMP Users (snmp_users)
</para>
</listitem>
diff --git a/epan/dfilter/dfilter-macro.c b/epan/dfilter/dfilter-macro.c
index c27baf4864..179a5f00a3 100644
--- a/epan/dfilter/dfilter-macro.c
+++ b/epan/dfilter/dfilter-macro.c
@@ -603,6 +603,7 @@ void dfilter_macro_init(void) {
dfilter_macro_uat = uat_new("Display Filter Macros",
sizeof(dfilter_macro_t),
DFILTER_MACRO_FILENAME,
+ TRUE,
(void*) &macros,
&num_macros,
NULL,
diff --git a/epan/dissectors/packet-k12.c b/epan/dissectors/packet-k12.c
index e46ea0d482..c0c0a0f583 100644
--- a/epan/dissectors/packet-k12.c
+++ b/epan/dissectors/packet-k12.c
@@ -452,6 +452,7 @@ proto_register_k12(void)
k12_uat = uat_new("K12 Protocols",
sizeof(k12_handles_t),
"k12_protos",
+ TRUE,
(void**) &k12_handles,
&nk12_handles,
UAT_CAT_FFMT,
diff --git a/epan/dissectors/packet-sccp.c b/epan/dissectors/packet-sccp.c
index 5b2f00a2cc..c6e9f9b40d 100644
--- a/epan/dissectors/packet-sccp.c
+++ b/epan/dissectors/packet-sccp.c
@@ -3190,6 +3190,7 @@ proto_register_sccp(void)
uat_t* users_uat = uat_new("SCCP Users Table",
sizeof(sccp_user_t),
"sccp_users",
+ TRUE,
(void**) &sccp_users,
&num_sccp_users,
UAT_CAT_PORTS,
diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c
index 91e250ae8e..1ea8a09fc6 100644
--- a/epan/dissectors/packet-snmp.c
+++ b/epan/dissectors/packet-snmp.c
@@ -3387,6 +3387,7 @@ void proto_register_snmp(void) {
assocs_uat = uat_new("SNMP Users",
sizeof(snmp_ue_assoc_t),
"snmp_users",
+ TRUE,
(void**)&ueas,
&num_ueas,
UAT_CAT_CRYPTO,
diff --git a/epan/dissectors/packet-user_encap.c b/epan/dissectors/packet-user_encap.c
index 00c4b9fe33..341584ad8b 100644
--- a/epan/dissectors/packet-user_encap.c
+++ b/epan/dissectors/packet-user_encap.c
@@ -173,6 +173,7 @@ void proto_register_user_encap(void)
encaps_uat = uat_new("User DLTs Table",
sizeof(user_encap_t),
"user_dlts",
+ TRUE,
(void**) &encaps,
&num_encaps,
UAT_CAT_FFMT,
diff --git a/epan/oids.c b/epan/oids.c
index b724e27796..2881096728 100644
--- a/epan/oids.c
+++ b/epan/oids.c
@@ -480,6 +480,7 @@ void register_mibs(void) {
smi_modules_uat = uat_new("SMI Modules",
sizeof(smi_module_t),
"smi_modules",
+ FALSE,
(void*)&smi_modules,
&num_smi_modules,
UAT_CAT_GENERAL,
@@ -492,6 +493,7 @@ void register_mibs(void) {
smi_paths_uat = uat_new("SMI Paths",
sizeof(smi_module_t),
"smi_paths",
+ FALSE,
(void*)&smi_paths,
&num_smi_paths,
UAT_CAT_GENERAL,
diff --git a/epan/uat-int.h b/epan/uat-int.h
index 1dd8c947e6..bf6e9baaf3 100644
--- a/epan/uat-int.h
+++ b/epan/uat-int.h
@@ -49,6 +49,7 @@ struct _uat_t {
const char* name;
size_t record_size;
const char* filename;
+ gboolean from_profile;
const char* help;
const char* category;
void** user_ptr;
diff --git a/epan/uat.c b/epan/uat.c
index cf891685ae..1d97aa1fd1 100644
--- a/epan/uat.c
+++ b/epan/uat.c
@@ -56,6 +56,7 @@ void uat_init(void) {
uat_t* uat_new(const char* name,
size_t size,
const char* filename,
+ gboolean from_profile,
void** data_ptr,
guint* numitems_ptr,
const char* category,
@@ -77,6 +78,7 @@ uat_t* uat_new(const char* name,
uat->name = g_strdup(name);
uat->record_size = size;
uat->filename = g_strdup(filename);
+ uat->from_profile = from_profile;
uat->user_ptr = data_ptr;
uat->nrows_p = numitems_ptr;
uat->copy_cb = copy_cb;
@@ -157,7 +159,7 @@ void uat_remove_record_idx(uat_t* uat, guint idx) {
/* The returned filename was g_malloc()'d so the caller must free it */
gchar* uat_get_actual_filename(uat_t* uat, gboolean for_writing) {
- gchar* pers_fname = get_persconffile_path(uat->filename, TRUE, for_writing);
+ gchar* pers_fname = get_persconffile_path(uat->filename, uat->from_profile, for_writing);
if (! for_writing ) {
gchar* data_fname = get_datafile_path(uat->filename);
@@ -322,8 +324,11 @@ void uat_unload_all(void) {
for (i=0; i < all_uats->len; i++) {
uat_t* u = g_ptr_array_index(all_uats,i);
- uat_clear(u);
- u->loaded = FALSE;
+ /* Do not unload if not in profile */
+ if (u->from_profile) {
+ uat_clear(u);
+ u->loaded = FALSE;
+ }
}
}
diff --git a/epan/uat.h b/epan/uat.h
index bc4f5495e7..0b7f2f5ab0 100644
--- a/epan/uat.h
+++ b/epan/uat.h
@@ -223,6 +223,7 @@ typedef struct _uat_field_t {
uat_t* uat_new(const char* name,
size_t size,
const char* filename,
+ gboolean from_profile,
void** data_ptr,
guint* num_items,
const char* category,