...
|
...
|
@@ -903,7 +903,7 @@ static int cli_loadndb(FILE *fs, struct cl_engine *engine, unsigned int *signo,
|
903
|
903
|
if(engine->ignored && cli_chkign(engine->ignored, virname, buffer_cpy))
|
904
|
904
|
continue;
|
905
|
905
|
|
906
|
|
- if(engine->cb_sigload && engine->cb_sigload("ndb", virname, engine->cb_sigload_ctx)) {
|
|
906
|
+ if(!sdb && engine->cb_sigload && engine->cb_sigload("ndb", virname, engine->cb_sigload_ctx)) {
|
907
|
907
|
cli_dbgmsg("cli_loadndb: skipping %s due to callback\n", virname);
|
908
|
908
|
continue;
|
909
|
909
|
}
|
...
|
...
|
@@ -1213,6 +1213,7 @@ static int load_oneldb(char *buffer, int chkpua, int chkign, struct cl_engine *e
|
1213
|
1213
|
|
1214
|
1214
|
if(engine->cb_sigload && engine->cb_sigload("ldb", virname, engine->cb_sigload_ctx)) {
|
1215
|
1215
|
cli_dbgmsg("cli_loadldb: skipping %s due to callback\n", virname);
|
|
1216
|
+ (*sigs)--;
|
1216
|
1217
|
return CL_SUCCESS;
|
1217
|
1218
|
}
|
1218
|
1219
|
|
...
|
...
|
@@ -1417,6 +1418,12 @@ static int cli_loadcbc(FILE *fs, struct cl_engine *engine, unsigned int *signo,
|
1417
|
1417
|
if(!(engine->dconf->bytecode & BYTECODE_ENGINE_MASK)) {
|
1418
|
1418
|
return CL_SUCCESS;
|
1419
|
1419
|
}
|
|
1420
|
+
|
|
1421
|
+ if(engine->cb_sigload && engine->cb_sigload("cbc", dbname, engine->cb_sigload_ctx)) {
|
|
1422
|
+ cli_dbgmsg("cli_loadcbc: skipping %s due to callback\n", dbname);
|
|
1423
|
+ return CL_SUCCESS;
|
|
1424
|
+ }
|
|
1425
|
+
|
1420
|
1426
|
#ifndef CL_BCUNSIGNED
|
1421
|
1427
|
if (!(options & CL_DB_SIGNED)) {
|
1422
|
1428
|
cli_warnmsg("Only loading signed bytecode, skipping load of unsigned bytecode!\n");
|
...
|
...
|
@@ -1931,9 +1938,16 @@ static int cli_loadmd5(FILE *fs, struct cl_engine *engine, unsigned int *signo,
|
1931
|
1931
|
if(engine->ignored && cli_chkign(engine->ignored, pt, buffer_cpy))
|
1932
|
1932
|
continue;
|
1933
|
1933
|
|
1934
|
|
- if(engine->cb_sigload && engine->cb_sigload("md5", pt, engine->cb_sigload_ctx)) {
|
1935
|
|
- cli_dbgmsg("cli_loadmd5: skipping %s due to callback\n", pt);
|
1936
|
|
- continue;
|
|
1934
|
+ if(engine->cb_sigload) {
|
|
1935
|
+ const char *dot = strchr(dbname, '.');
|
|
1936
|
+ if(!dot)
|
|
1937
|
+ dot = dbname;
|
|
1938
|
+ else
|
|
1939
|
+ dot++;
|
|
1940
|
+ if(engine->cb_sigload(dot, pt, engine->cb_sigload_ctx)) {
|
|
1941
|
+ cli_dbgmsg("cli_loadmd5: skipping %s due to callback\n", pt);
|
|
1942
|
+ continue;
|
|
1943
|
+ }
|
1937
|
1944
|
}
|
1938
|
1945
|
|
1939
|
1946
|
new = (struct cli_md5m_patt *) mpool_calloc(engine->mempool, 1, sizeof(struct cli_md5m_patt));
|