freshclam is using private symbol that changed proto (bb #2187).

Change name to prevent crash with 0.96.1 freshclam and 0.96.2 libclamav.
You'll get a missing symbol error.
This commit is contained in:
Török Edvin
2010-08-11 13:39:49 +03:00
parent b4d33ebcf7
commit 540fc128a0
9 changed files with 12 additions and 8 deletions

View File

@@ -1,3 +1,7 @@
Wed Aug 11 13:39:11 EEST 2010 (edwin)
-------------------------------------
* freshclam: uses private symbol which changed proto, change name to prevent crash (bb #2187)
Wed Aug 11 12:32:37 CEST 2010 (acab)
------------------------------------
* libclamav: fix callback_sigload

View File

@@ -339,7 +339,7 @@ int main(int argc, char *argv[])
optfree(opts);
exit(4);
}
rc = cli_bytecode_prepare(engine, &bcs, BYTECODE_ENGINE_MASK);
rc = cli_bytecode_prepare2(engine, &bcs, BYTECODE_ENGINE_MASK);
if (rc != CL_SUCCESS) {
fprintf(stderr,"Unable to prepare bytecode: %s\n", cl_strerror(rc));
optfree(opts);

View File

@@ -1768,7 +1768,7 @@ static int updatedb(const char *dbname, const char *hostname, char *ip, int *sig
cl_engine_free(engine);
return 55;
}
if(optget(opts, "Bytecode")->enabled && (ret = cli_bytecode_prepare(engine, &engine->bcs, engine->dconf->bytecode/*FIXME: dconf has no sense here*/))) {
if(optget(opts, "Bytecode")->enabled && (ret = cli_bytecode_prepare2(engine, &engine->bcs, engine->dconf->bytecode/*FIXME: dconf has no sense here*/))) {
logg("!Failed to compile/load bytecode: %s\n", cl_strerror(ret));
unlink(newfile);
free(newfile);

View File

@@ -2248,7 +2248,7 @@ static int run_builtin_or_loaded(struct cli_all_bc *bcs, uint8_t kind, const cha
return rc;
}
int cli_bytecode_prepare(struct cl_engine *engine, struct cli_all_bc *bcs, unsigned dconfmask)
int cli_bytecode_prepare2(struct cl_engine *engine, struct cli_all_bc *bcs, unsigned dconfmask)
{
unsigned i, interp = 0, jitok = 0, jitcount=0;
int rc;

View File

@@ -108,7 +108,7 @@ extern int have_clamjit;
#endif
int cli_bytecode_init(struct cli_all_bc *allbc);
int cli_bytecode_load(struct cli_bc *bc, FILE *f, struct cli_dbio *dbio, int security);
int cli_bytecode_prepare(struct cl_engine *engine, struct cli_all_bc *allbc, unsigned dconfmask);
int cli_bytecode_prepare2(struct cl_engine *engine, struct cli_all_bc *allbc, unsigned dconfmask);
int cli_bytecode_run(const struct cli_all_bc *bcs, const struct cli_bc *bc, struct cli_bc_ctx *ctx);
void cli_bytecode_destroy(struct cli_bc *bc);
int cli_bytecode_done(struct cli_all_bc *allbc);

View File

@@ -157,7 +157,7 @@ CLAMAV_PRIVATE {
have_rar;
have_clamjit;
cli_bytecode_load;
cli_bytecode_prepare;
cli_bytecode_prepare2;
cli_bytecode_run;
cli_bytecode_destroy;
cli_bytecode_context_alloc;

View File

@@ -3107,7 +3107,7 @@ int cl_engine_compile(struct cl_engine *engine)
mpool_flush(engine->mempool);
/* Compile bytecode */
if((ret = cli_bytecode_prepare(engine, &engine->bcs, engine->dconf->bytecode))) {
if((ret = cli_bytecode_prepare2(engine, &engine->bcs, engine->dconf->bytecode))) {
cli_errmsg("Unable to compile/load bytecode: %s\n", cl_strerror(ret));
return ret;
}

View File

@@ -87,7 +87,7 @@ static void runtest(const char *file, uint64_t expected, int fail, int nojit,
if (testmode)
engine->bytecode_mode = CL_BYTECODE_MODE_TEST;
rc = cli_bytecode_prepare(engine, &bcs, BYTECODE_ENGINE_MASK);
rc = cli_bytecode_prepare2(engine, &bcs, BYTECODE_ENGINE_MASK);
fail_unless(rc == CL_SUCCESS, "cli_bytecode_prepare failed");
if (have_clamjit && !nojit && nojit != -1) {

View File

@@ -92,7 +92,7 @@ EXPORTS cli_bytecode_context_setparam_int @44232 NONAME
EXPORTS cli_bytecode_context_setfuncid @44233 NONAME
EXPORTS cli_bytecode_context_set_trace @44234 NONAME
EXPORTS cli_bytecode_context_alloc @44235 NONAME
EXPORTS cli_bytecode_prepare @44236 NONAME
EXPORTS cli_bytecode_prepare2 @44236 NONAME
EXPORTS cli_bytecode_load @44237 NONAME
EXPORTS cli_bytecode_init @44238 NONAME
EXPORTS cli_bytecode_debug @44239 NONAME