mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2025-10-19 10:23:17 +00:00

As libfreshclam links in libshared.a, we don't need to link it again into freshclam. Presently we do and as a consequence the global variables in libshared.a cannot be reliably set in freshclam/libfreshlam and be expected to have the correct values within libshared.so calls. Specifically, users observed freshclam failing to use syslog even though syslog was enabled. The reason was that the libshared.a logg() function will only write to syslog() if the logg_syslog global is non-zero. When libshared.a is linked twice (first into libfreshclam and again into freshclam) then setting the logg_syslog global might not set the same variable that the logg() function depends on. To address this issue this patch stops linking libshared.a into freshclam and instead exports the required libshared.a symbols from libfreshclam.so (using libfreshclam.map) so that freshclam can still use those functions.
44 lines
805 B
Text
44 lines
805 B
Text
FRESHCLAM_PUBLIC {
|
|
global:
|
|
fc_strerror;
|
|
fc_initialize;
|
|
fc_cleanup;
|
|
fc_prune_database_directory;
|
|
fc_test_database;
|
|
fc_dns_query_update_info;
|
|
fc_download_url_database;
|
|
fc_download_url_databases;
|
|
fc_update_database;
|
|
fc_update_databases;
|
|
fc_set_fccb_download_complete;
|
|
logg;
|
|
logg_close;
|
|
mprintf;
|
|
logg_verbose;
|
|
logg_nowarn;
|
|
logg_time;
|
|
logg_rotate;
|
|
logg_size;
|
|
logg_file;
|
|
mprintf_verbose;
|
|
mprintf_quiet;
|
|
mprintf_nowarn;
|
|
mprintf_stdout;
|
|
mprintf_progress;
|
|
mprintf_disabled;
|
|
};
|
|
FRESHCLAM_PRIVATE {
|
|
global:
|
|
optparse;
|
|
optget;
|
|
optfree;
|
|
get_version;
|
|
print_version;
|
|
check_flevel;
|
|
drop_privileges;
|
|
daemonize_parent_wait;
|
|
daemonize_signal_parent;
|
|
sendln;
|
|
local:
|
|
*;
|
|
};
|