diff --git a/src/module_util.cc b/src/module_util.cc index d9aa1af645..d5817a7d7a 100644 --- a/src/module_util.cc +++ b/src/module_util.cc @@ -52,7 +52,12 @@ string make_full_var_name(const char* module_name, const char* var_name) { if ( ! module_name || streq(module_name, GLOBAL_MODULE_NAME) || strstr(var_name, "::") ) + { + if ( streq(GLOBAL_MODULE_NAME, extract_module_name(var_name).c_str()) ) + return extract_var_name(var_name); + return string(var_name); + } string full_name = normalized_module_name(module_name); full_name += "::"; diff --git a/testing/btest/Baseline/language.no-module/out b/testing/btest/Baseline/language.no-module/out index 5b011543b5..e7a3607e96 100644 --- a/testing/btest/Baseline/language.no-module/out +++ b/testing/btest/Baseline/language.no-module/out @@ -1,4 +1,5 @@ function (PASS) global variable (PASS) +fully qualified global variable (PASS) const (PASS) event (PASS) diff --git a/testing/btest/language/no-module.bro b/testing/btest/language/no-module.bro index 24795df0fb..fff55d3854 100644 --- a/testing/btest/language/no-module.bro +++ b/testing/btest/language/no-module.bro @@ -27,6 +27,7 @@ event bro_init() { test_case( "function", T ); test_case( "global variable", num == 123 ); + test_case( "fully qualified global variable", GLOBAL::num == 123 ); # test for BIT-1758 : GLOBAL scope ID discovery bug test_case( "const", daysperyear == 365 ); event testevent( "foo" ); }