[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b

Török Edvin edwin at clamav.net
Sun Apr 4 01:25:38 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit b26d43809add9d2dbd5ecda31bd1f3774bf174bf
Author: Török Edvin <edwin at clamav.net>
Date:   Wed Mar 24 12:46:34 2010 +0200

    Add matchwithread.cbc to unit tests.

diff --git a/shared/optparser.c b/shared/optparser.c
index 0e15aee..bbf17b3 100644
--- a/shared/optparser.c
+++ b/shared/optparser.c
@@ -125,7 +125,7 @@ const struct clam_option __clam_options[] = {
     { NULL, "bytecode-trust-all", 't', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMSCAN, "Trust loaded bytecode (default: only if signed)", ""},
     { NULL, "info", 'i', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMBC, "Load and print bytecode information without executing", ""},
     { NULL, "printsrc", 'p', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMBC, "Print source code of bytecode", ""},
-    { NULL, "input", 'i', TYPE_STRING, NULL, -1, NULL, 0, OPT_CLAMBC, "Input file to run the bytecode n", ""},
+    { NULL, "input", 'r', TYPE_STRING, NULL, -1, NULL, 0, OPT_CLAMBC, "Input file to run the bytecode n", ""},
     { NULL, "trace", 't', TYPE_NUMBER, MATCH_NUMBER, 7, NULL, 0, OPT_CLAMBC, "bytecode trace level",""},
     { NULL, "no-trace-showsource", 's', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMBC, "Don't show source line during tracing",""},
 
diff --git a/unit_tests/check_bytecode.c b/unit_tests/check_bytecode.c
index dd86fe4..e3ade23 100644
--- a/unit_tests/check_bytecode.c
+++ b/unit_tests/check_bytecode.c
@@ -29,23 +29,31 @@
 #include <limits.h>
 #include <string.h>
 #include <check.h>
+#include <fcntl.h>
 #include "../libclamav/clamav.h"
 #include "../libclamav/others.h"
 #include "../libclamav/bytecode.h"
 #include "checks.h"
 #include "../libclamav/dconf.h"
 #include "../libclamav/bytecode_priv.h"
+#include "../libclamav/pe.h"
 
-static void runtest(const char *file, uint64_t expected, int fail, int nojit)
+static void runtest(const char *file, uint64_t expected, int fail, int nojit,
+		    const char *infile, struct cli_pe_hook_data *pedata,
+		    struct cli_exe_section *sections, const char *expectedvirname)
 {
+    fmap_t *map = NULL;
     int rc;
     int fd = open_testfile(file);
     FILE *f;
     struct cli_bc bc;
+    cli_ctx cctx;
     struct cli_bc_ctx *ctx;
     struct cli_all_bc bcs;
     uint64_t v;
 
+    memset(&cctx, 0, sizeof(cctx));
+
     fail_unless(fd >= 0, "retmagic open failed");
     f = fdopen(fd, "r");
     fail_unless(!!f, "retmagic fdopen failed");
@@ -78,6 +86,18 @@ static void runtest(const char *file, uint64_t expected, int fail, int nojit)
     ctx->bytecode_timeout = 10;
     fail_unless(!!ctx, "cli_bytecode_context_alloc failed");
 
+    if (infile) {
+	int fdin = open(infile, O_RDONLY);
+	fail_unless(fdin >= 0, "failed to open infile");
+	map = fmap(fdin, 0, 0);
+	fail_unless(!!map, "unable to fmap infile");
+	ctx->ctx = &cctx;
+	if (pedata)
+	    ctx->hooks.pedata = pedata;
+	ctx->sections = sections;
+	cli_bytecode_context_setfile(ctx, map);
+    }
+
     cli_bytecode_context_setfuncid(ctx, &bc, 0);
     rc = cli_bytecode_run(&bcs, &bc, ctx);
     fail_unless_fmt(rc == fail, "cli_bytecode_run failed, expected: %u, have: %u\n",
@@ -88,7 +108,14 @@ static void runtest(const char *file, uint64_t expected, int fail, int nojit)
 	fail_unless_fmt(v == expected, "Invalid return value from bytecode run, expected: %llx, have: %llx\n",
 			expected, v);
     }
+    if (infile && expectedvirname) {
+	fail_unless(ctx->virname &&
+		    !strcmp(ctx->virname, expectedvirname),
+		    "Invalid virname, expected: %s\n", expectedvirname);
+    }
     cli_bytecode_context_destroy(ctx);
+    if (map)
+	funmap(map);
     cli_bytecode_destroy(&bc);
     cli_bytecode_done(&bcs);
 }
@@ -96,32 +123,32 @@ static void runtest(const char *file, uint64_t expected, int fail, int nojit)
 START_TEST (test_retmagic)
 {
     cl_init(CL_INIT_DEFAULT);
-    runtest("input/retmagic.cbc", 0x1234f00d, CL_SUCCESS, 0);
-    runtest("input/retmagic.cbc", 0x1234f00d, CL_SUCCESS, 1);
+    runtest("input/retmagic.cbc", 0x1234f00d, CL_SUCCESS, 0, NULL, NULL, NULL, NULL);
+    runtest("input/retmagic.cbc", 0x1234f00d, CL_SUCCESS, 1, NULL, NULL, NULL, NULL);
 }
 END_TEST
 
 START_TEST (test_arith)
 {
     cl_init(CL_INIT_DEFAULT);
-    runtest("input/arith.cbc", 0xd5555555, CL_SUCCESS, 0);
-    runtest("input/arith.cbc", 0xd5555555, CL_SUCCESS, 1);
+    runtest("input/arith.cbc", 0xd5555555, CL_SUCCESS, 0, NULL, NULL, NULL, NULL);
+    runtest("input/arith.cbc", 0xd5555555, CL_SUCCESS, 1, NULL, NULL, NULL, NULL);
 }
 END_TEST
 
 START_TEST (test_apicalls)
 {
     cl_init(CL_INIT_DEFAULT);
-    runtest("input/apicalls.cbc", 0xf00d, CL_SUCCESS, 0);
-    runtest("input/apicalls.cbc", 0xf00d, CL_SUCCESS, 1);
+    runtest("input/apicalls.cbc", 0xf00d, CL_SUCCESS, 0, NULL, NULL, NULL, NULL);
+    runtest("input/apicalls.cbc", 0xf00d, CL_SUCCESS, 1, NULL, NULL, NULL, NULL);
 }
 END_TEST
 
 START_TEST (test_apicalls2)
 {
     cl_init(CL_INIT_DEFAULT);
-    runtest("input/apicalls2.cbc", 0xf00d, CL_SUCCESS, 0);
-    runtest("input/apicalls2.cbc", 0xf00d, CL_SUCCESS, 1); 
+    runtest("input/apicalls2.cbc", 0xf00d, CL_SUCCESS, 0, NULL, NULL, NULL, NULL);
+    runtest("input/apicalls2.cbc", 0xf00d, CL_SUCCESS, 1, NULL, NULL, NULL, NULL);
 }
 END_TEST
 
@@ -129,24 +156,49 @@ START_TEST (test_div0)
 {
     cl_init(CL_INIT_DEFAULT);
     /* must not crash on div#0 but catch it */
-    runtest("input/div0.cbc", 0, CL_EBYTECODE, 0);
-    runtest("input/div0.cbc", 0, CL_EBYTECODE, 1);
+    runtest("input/div0.cbc", 0, CL_EBYTECODE, 0, NULL, NULL, NULL, NULL);
+    runtest("input/div0.cbc", 0, CL_EBYTECODE, 1, NULL, NULL, NULL, NULL);
 }
 END_TEST
 
 START_TEST (test_lsig)
 {
     cl_init(CL_INIT_DEFAULT);
-    runtest("input/lsig.cbc", 0, 0, 0);
-    runtest("input/lsig.cbc", 0, 0, 1);
+    runtest("input/lsig.cbc", 0, 0, 0, NULL, NULL, NULL, NULL);
+    runtest("input/lsig.cbc", 0, 0, 1, NULL, NULL, NULL, NULL);
 }
 END_TEST
 
 START_TEST (test_inf)
 {
     cl_init(CL_INIT_DEFAULT);
-    runtest("input/inf.cbc", 0, CL_ETIMEOUT, 0);
-    runtest("input/inf.cbc", 0, CL_ETIMEOUT, 1);
+    runtest("input/inf.cbc", 0, CL_ETIMEOUT, 0, NULL, NULL, NULL, NULL);
+    runtest("input/inf.cbc", 0, CL_ETIMEOUT, 1, NULL, NULL, NULL, NULL);
+}
+END_TEST
+
+START_TEST (test_matchwithread)
+{
+    struct cli_exe_section sect;
+    struct cli_pe_hook_data pedata;
+    cl_init(CL_INIT_DEFAULT);
+    memset(&pedata, 0, sizeof(pedata));
+    pedata.ep = 64;
+    pedata.opt32.ImageBase = 0x400000;
+    pedata.hdr_size = 0x400;
+    pedata.nsections = 1;
+    sect.rva = 4096;
+    sect.vsz = 4096;
+    sect.raw = 0;
+    sect.rsz = 512;
+    sect.urva = 4096;
+    sect.uvsz = 4096;
+    sect.uraw = 1;
+    sect.ursz = 512;
+    runtest("input/matchwithread.cbc", 0, 0, 0, "../test/clam.exe", &pedata,
+	    &sect, "ClamAV-Test-File-detected-via-bytecode");
+    runtest("input/matchwithread.cbc", 0, 0, 1, "../test/clam.exe", &pedata,
+	    &sect, "ClamAV-Test-File-detected-via-bytecode");
 }
 END_TEST
 
@@ -163,5 +215,6 @@ Suite *test_bytecode_suite(void)
     tcase_add_test(tc_cli_arith, test_div0);
     tcase_add_test(tc_cli_arith, test_lsig);
     tcase_add_test(tc_cli_arith, test_inf);
+    tcase_add_test(tc_cli_arith, test_matchwithread);
     return s;
 }
diff --git a/unit_tests/input/matchwithread.cbc b/unit_tests/input/matchwithread.cbc
new file mode 100644
index 0000000..4a31e21
--- /dev/null
+++ b/unit_tests/input/matchwithread.cbc
@@ -0,0 +1,49 @@
+ClamBCafhheb`ajkd|afefdfggifnf```ca`a```|alcflfafmfbfcfmb`cnb`ccc``becabp`clamcoincidencejb:1443
+BC.foomatchwithread.{ClamAV-Test-File-detected-via-bytecode};Target:1;(2&1&0);0:4d5a50000200000004000f00ffff0000;EOF-544:4d5a50000200000004000f00ffff0000;S0+0:4d5a50000200000004000f00ffff0000
+Tedebdgebcgebbgebageb`gebofebheebnfebmfeblfebffebefebdfebcfebieebbfeb`febadebcddaeahdakahaaaaaaaa`aabb`bb`baacb`bbadb`baacb`bb`bb`baadb`bbadbadb`bcafahbafahbafahbafcaab`bdb`db`bdbgaahdbccahdbfaahcakb`bb`bb`abgfbhfbifbjfb`bb`bb`bb`bcahb`bb`ab`ab`bb`bb`bb`ab`acboab`aahahb`bb`bb`bb`bb`bb`bb`bb`bb`bb`ab`ab`ab`ab`ab`ab`bb`bb`bb`bb`ab`ab`bb`bb`bb`bb`bb`bbjfcbnab`aahahb`bb`bb`bb`bb`bb`db`bb`bb`ab`ab`ab`ab`ab`ab`bb`bb`bb`bb`ab`ab`db`db`db`db`bb`bbjfdb`abkfcabb`bb`bdbeaahdbnbahdbkaahdbfbahdbibahdbcbahdaabaddbgbahdbdaah
+Eaoafagble|baadfefbfeggfoe`gbgifnfdgoeegifnfdg``aoble|ak`gefoebgafggafdfdfbg``afbme|b`adfefbfeggfoe`gbgifnfdgoecgdgbg``abbme|aebgefafdf``adbne|aecgefefkf``aebme|amcgefdgfgifbgegcgnfafmfef``
+Gdc``hbgb`@`bdgBbdBcdBnbBffBofBofBmfBafBdgBcfBhfBggBifBdgBhfBbgBefBafBdf@`bcgBcdBlfBafBmfBadBfeBmbBdeBefBcgBdgBmbBfdBifBlfBefBmbBdfBefBdgBefBcfBdgBefBdfBmbBfgBifBafBmbBbfBigBdgBefBcfBofBdfBef@`bbg at Ab`b`aAa`bagB`cBjcBdcBdfBecBafBecB`cB`cB`cB`cBbcB`cB`cB`cB`cB`cB`cB`cBdcB`cB`cB`cBffB`cB`cBffBffBffBffB`cB`cB`cB`c@`b`gBedBodBfdBmbBecBdcBdcBjcBdcBdfBecBafBecB`cB`cB`cB`cBbcB`cB`cB`cB`cB`cB`cB`cBdcB`cB`cB`cBffB`cB`cBffBffBffBffB`cB`cB`cB`c@`bofBceB`cBkbB`cBjcBdcBdfBecBafBecB`cB`cB`cB`cBbcB`cB`cB`cB`cB`cB`cB`cBdcB`cB`cB`cBffB`cB`cBffBffBffBffB`cB`cB`cB`c@`b`aCa`a`bheBedB`eBjcB`b@`bnfBcdBofBegBlfBdfBnfBgbBdgB`bBbgBefBafBdfB`bBecB`bBbfBigBdgBefBcgB`bB`dBedB`eAj@`bmfBndBofB`bBgbBmfBofBfgB`bBefBbfBhgBlbB`bBcfBigB`gBhfBefBbgBdgBefBhgBdgBgbB`bBffBofBegBnfBdfB`bBafBdgB`bBefBnfBdgBbgBigB`gBofBifBnfBdgAj@`blfBfeBadB`bBofBffB`bBcfBigB`gBhfBefBbgBdgBefBhgBdgB`bBifBcgB`b@`befBbeBfeBadB`bBofBffB`bBcfBigB`gBhfBefBbgBdgBefBhgBdgB`bBifBcgB`b@`bdfBcdBafBnfBgbBdgB`bBlfBofBcfBafBdgBefB`bBdgBhfBefB`bB`gBhfBifBcgBifBcfBafBlfB`bBofBffBffBcgBefBdgB`bBofBffB`bBdgBhfBefB`bBcfBigB`gBhfBefBbgBdgBefBhgBdg@`befBcdBigB`gBhfBefBbgBdgBefBhgBdgB`bBcgBdgBafBbgBdgBcgB`bBafBdgB`b@`bcfBcdBafBnfBgbBdgB`bBbgBefBafBdfB`bBcfBigB`gBhfBefBbgBdgBefBhgBdgAj@`bieBhdBedBldBldBodB`bBgeBodBbeBmd@`b`f@@@Aa at Ab`bad at Ab`bad at Ae`bad at Af`bad at Ag`bad at Ai`bad at Aj`bad at Ak`bad at Al`bad at Dc``h`bcdB`dDc``h`bcdAdDc``h`bad at Am`bad at An`bad at Ao`bad at B`a`bad at Baa`bad at D```h`bcdAhD```h`bcdAdD```h`bcd at D```h`
+A`b`bLbjeb`babheabieab`b`b`b`b`b`b`b`bad`b`b`aa`b`b`ah`aa`b`b`bad`b`b`aa`````b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`aa`b`b`b`b`b`b`b`b`bad`b`b`aa`b`b`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```bad`ah`ah`ah```b`b`aa`bad```b`b`b`b`Fbdfam
+Bb`bacgbBma`b`badabbafBga`@db`baeabaagacb`bafabbadac at dbadagdbbkdaa@db`bahabbabagAedaaaieab`bahAedTaaaiabaa
+Bb`bajabbafBha`@dTcab`b at d
+BahakgbagaaaleaahakBkkaTaaaladac
+Bb`bamabbafBia`@dTcab`b at d
+BbadandbbkdaaAadb`baogbanaab`alb``bbao`Taab`aaeaf
+Bb`b`obaoTbaaf
+Bb`bbcabb`bcab`bbdaabbafBja`@db`bbeaabaagbcab`bbfagbBla`b`bbgab`bcabfab`bbhaabbafBna`@db`bbiaabaagbgab`bbjaabaaobgaaabkaeab`bbjaHoooooooodTaabkaagah
+Bb`bblaabbafBoa`@dTcab`b at d
+Bb`bbmaabbafB`b`@db`bbnaabaagbjab`bboaabbadbja at dbadb`bdbbceab at db`bbababbabb`bAjdaabbbeab`bbabAjdTaabbbajai
+Bb`bbcbabbafBab`@dTcab`b at d
+Bahbdbgbb`bahbebm`bdbBjba``fbbebb`bbadbgbdbbceabAadahbhba`bebAaaahbibgbbgbahbjbm`bhbbib``fbbjbbgbbadblbdbbceabAbdahbmba`bjbAaaahbnbgbblbahbobm`bmbbnb``fbbobblbbadbacdbbceabAcdahbbca`bobAaaahbccgbbacahbdcm`bbcbcc``fbbdcbacbadbfcdbbceabAddahbgca`bdcAaaahbhcgbbfcahbicm`bgcbhc``fbbicbfcbadbkcdbbceabAedahblca`bicAaaahbmcgbbkcahbncm`blcbmc``fbbncbkcbadb`ddbbceabAfdahbada`bncAaaahbbdgbb`dahbcdm`badbbd``fbbcdb`dbadbeddbbceabAgdahbfda`bcdAaaahbgdgbbedahbhdm`bfdbgd``fbbhdbedbadbjddbbceabAhdahbkda`bhdAaaahbldgbbjdahbmdm`bkdbld``fbbmdbjdbadboddbbceabAidahb`ea`bmdAaaahbaegbbodahbbem`b`ebae``fbbbebodb`bbdekbb`bBbb`Ajdaabeeeab`bbde at dTaabeeakal
+BbadbfedbbceabAjd``fb at abfeb`bbheabbafb`b at db`bbieabbaeBca`@dTcab`b at d
+BTcab`b at dE
+A`aaLahb`b`b`b`b`b`aa`aa`aa`aa`aa`Faiaa
+Bb`b`gbBfb`b`baagbBeb`b`babgbBdb`aaacfab`bab at daaadfab`baa at daaaefab`b`@daaafk`adaeaaagk`afacTcaaaagE
+Sfeidbeeecendadmdedoe`ebeedfdidhehb`bbbbdcdnbffofofmfafdgcfhfggifdghfbgefafdfbb`bibSfeidbeeecendadmdedcehbbbcdlfafmfadfembdeefcgdgmbfdiflfefmbdfefdgefcfdgefdfmbfgifafmbbfigdgefcfofdfefbbib
+deadbegdeddehbacibSobjb`bdehfifcg`bifcg`baflflf`bdfegmfmfig`bcgdgegffff`bjbobSceidgdndaddeeebeedceoeddedcdldoebdedgdidndSddedcdldadbeedoeceidgdndaddeeebeedhbmdjeffbgofmfbdodfdib
+ddedcdldadbeedoeceidgdndaddeeebeedhbmdjeffbgofmfedodfdibSddedcdldadbeedoeceidgdndaddeeebeedhbmdjeffbgofmfce`cibSceidgdndaddeeebeedceoeddedcdldoeedndddSceidgdndaddeeebeedceoeddedfdoebdedgdidnd
+ddedfdidndedoeceidgdndaddeeebeedhbmdjeffbgofmfbdodfdlb`b`b`b`b`b`b`bbb`cjcdcdfecafec`c`c`c`cbc`c`c`c`c`c`c`cdc`c`c`cff`c`cffffffff`c`c`c`cbbibSddedfdidndedoeceidgdndaddeeebeedhbmdjeffbgofmfedodfdlb`bbbedodfdmbecdcdcjcdcdfecafec`c`c`c`cbc`c`c`c`c`c`c`cdc`c`c`cff`c`cffffffff`c`c`c`cbbib
+ddedfdidndedoeceidgdndaddeeebeedhbmdjeffbgofmfce`clb`b`b`b`b`bbbce`ckb`cjcdcdfecafec`c`c`c`cbc`c`c`c`c`c`c`cdc`c`c`cff`c`cffffffff`c`c`c`cbbibSceidgdndaddeeebeedceoeednddd
+`eedoeeend`eadcdkdedbeoeddedcdldadbeedSbfofoflf`blfofgfifcfaflfoedgbgifgfgfefbghbfgofifdfibSkgSbgefdgegbgnf`bmfafdgcfhfefcghbceifgfnfafdgegbgefcgnbmdjeffbgofmfbdodfdib`bfbfb`bmfafdgcfhfefcghbceifgfnfafdgegbgefcgnbmdjeffbgofmfedodfdib`bfbfb`bmfafdgcfhfefcghbceifgfnfafdgegbgefcgnbmdjeffbgofmfce`cibkc
+mgSobjb`bddegmfmfig`bcgdgegffff`befnfdfcg`bhfefbgef`bjbobSifnfdg`befnfdgbgig`gofifnfdghbib`bkgSobob`bgdefdg`bdghfef`befnfdgbgig`b`gofifnfdg`bodfdfdceeddeSegifnfdgccbcoedg`bef`g`bmc`bgfefdgednfdgbgig`eofifnfdghbibkc
+dfefbfeggfhbbbed`ejc`bbbibkc`bdfefbfeggfhbef`gibkcSobob`bmdoffgef`bdgof`bdghfef`befnfdgbgig`b`gofifnfdg`bofffffcgefdg`bifnf`bdghfef`bffiflfefScgefefkfhbef`glb`bceededkdoeceeddeibkc
+objb`bhdefbgef`bggef`blfofofkf`bffofbg`bmfoffg`befbfhglb`bfgaflfegefSdehfef`bdfifcgafcgcgefmfbflfefbg`bifcg`bhfofggeffgefbg`bnfofdg`bigefdg`bifnfdgefgfbgafdgefdf`bifnf`bdghfef`bbfcf`bcgof`bffofbg`bnfofgg`bggef`bcfhfefcfkf
+mfafnfegaflflfig`bifff`bifdggbcg`baf`bmfoffgnb`bidnf`bhfefhg`bifdg`bcghfofeglfdf`bbfef`bbfbfccccbcbcacac`c`c`bffofbg`bmfoffg`befbfhglb`b`c`cacacbcbccccc`bSdghfafdg`bifcg`bec`bbfigdgefcg`boffgefbgaflflfnb
+jbobSobob`bmdafkfef`bbgofofmf`bffofbg`bdghfef`bec`bbfigdgefcg`bdgof`bbfef`bbgefafdfSegifnfdghcoedg`bffifbgcgdgoeof`gkeecmekcSobob`bbeefafdf`bec`bbfigdgefcgSifffhbbgefafdfhbffifbgcgdgoeof`glb`becibabmcecib`bkg
+dfefbfeggfhbbbcdofeglfdfnfgbdg`bbgefafdf`bec`bbfigdgefcg`b`ded`elenfbbibkcSbgefdgegbgnf`b`ckcSmgSobob`bcdhfefcfkf`bifff`bdghfef`bffifbgcgdg`bbfigdgef`bhbafkfaf`bffifbgcgdgoeof`gke`cmeib`bifcg`bbfbf
+ifffhbffifbgcgdgoeof`gke`cme`babmc`b`chgbfbfib`bkgSdfefbfeggfhbbbndof`bgbmfoffg`befbfhglb`bcfig`ghfefbgdgefhgdggb`bffofegnfdf`bafdg`befnfdgbgig`gofifnfdglenfbbibkc
+bgefdgegbgnf`b`ckcSmgSobob`bdeafkfef`bdghfef`bafbggfegmfefnfdg`bofff`bmfoffg`befbfhglb`bnbnbnb`bgghfifcfhf`bifcg`bdghfef`bfead`bofff`bdghfef`bcfig`ghfefbgdgefhgdg
+egifnfdgccbcoedg`bfgafoeofffoecfig`ghfefbgdgefhgdg`bmc`bcflfifoebgefafdfifnfdgccbchbhbegifnfdgccbcoedg`bjbibhbffifbgcgdgoeof`gkbacibibkcSdfefbfeggfhbbbfead`bofff`bcfig`ghfefbgdgefhgdg`bifcg`bbbibkcdfefbfeggfhbfgafoeofffoecfig`ghfefbgdgefhgdgibkc
+obob`bmdafkfef`bdghfef`bfead`bafnf`bbefead`bmb`bdghfafdg`bifcg`bcgegbfdgbgafcfdg`bdghfef`bifmfafgfefbfafcgef`bffbgofmf`bifdgSegifnfdgccbcoedg`bbgfgafoeofffoecfig`ghfefbgdgefhgdg`bmc`bfgafoeofffoecfig`ghfefbgdgefhgdg`bmb`b`boeoecflfafmfbfcfoe`gefdfafdgafnbof`gdgccbcnbidmfafgfefbdafcgefkc
+dfefbfeggfhbbbbefead`bofff`bcfig`ghfefbgdgefhgdg`bifcg`bbbibkcdfefbfeggfhbbgfgafoeofffoecfig`ghfefbgdgefhgdgibkcSobob`bdeegbgnf`bdghfef`bbefead`bofff`bdghfef`bcfig`ghfefbgdgefhgdg`bifnfdgof`baf`bffiflfef`bhbbgafggib`bofffffcgefdg
+egifnfdgccbcoedg`bofffffcgefdgoeofffoecfig`ghfefbgdgefhgdg`bmc`b`gefoebgafggafdfdfbghbbgfgafoeofffoecfig`ghfefbgdgefhgdgibkcSobob`bidff`bdghfef`bofffffcgefdg`bifcg`bbfafdflb`bbfafiflf`bofegdg
+ifffhbofffffcgefdgoeofffoecfig`ghfefbgdgefhgdg`bmcmc`b`eedoeidndfeadldidddoebefeadib`bkgSdfefbfeggfhbbbcdafnfgbdg`blfofcfafdgef`bdghfef`b`ghfifcgifcfaflf`bofffffcgefdg`bofff`bdghfef`bcfig`ghfefbgdgefhgdgbbibkc
+bgefdgegbgnf`b`ckcSmgSdfefbfeggfhbbbcdig`ghfefbgdgefhgdg`bcgdgafbgdgcg`bafdg`bbbibkcdfefbfeggfhbofffffcgefdgoeofffoecfig`ghfefbgdgefhgdgibkcSobob`bmdoffgef`bdgof`bdghfef`bcfig`ghfefbgdgefhgdg`bifnf`bdghfef`bffiflfef
+cgefefkfhbofffffcgefdgoeofffoecfig`ghfefbgdgefhgdglb`bceededkdoeceeddeibkcSobob`bmdafkfef`bbgofofmf`bffofbg`bdghfef`bcfig`ghfefbgdgefhgdg`bdgof`bbfef`bbgefafdf`bmb`bac`c`bbfigdgefcg`bdghfafdg`bifcg`bbbhdedldldod`bgeodbemdbb`b`glfegcg`bofnfef`bbfigdgef`bffofbg`bdghfef`bdgefbgmfifnfafdgofbg
+egifnfdghcoedg`bcfig`ghfefbgdgefhgdgkeacacmekcSobob`bbeefafdf`bdghfef`bcfig`ghfefbgdgefhgdg`bffbgofmf`bffiflfef`bifnfdgof`bbbcfig`ghfefbgdgefhgdgbbSifffhbbgefafdfhbcfig`ghfefbgdgefhgdglb`bac`cibabmcac`cib`bkg
+dfefbfeggfhbbbcdafnfgbdg`bbgefafdf`bcfig`ghfefbgdgefhgdglenfbbibkcSbgefdgegbgnf`b`ckcSmgSobob`bdehfef`bbbdfefcfbgig`gdgifofnfbb`blfofof`g`bmb`bdgegbgnfcg`bdghfef`bcfig`ghfefbgdgefhgdg`bifnfdgof`b`glfafigifnfdgefhgdg
+egifnfdghcoedg`bcfegbgbgefnfdgoe`gofcgifdgifofnflb`bkfefig`bmc`b`chgbcickcSffofbghbcfegbgbgefnfdgoe`gofcgifdgifofnfmc`ckc`bcfegbgbgefnfdgoe`gofcgifdgifofnflcac`ckc`bcfegbgbgefnfdgoe`gofcgifdgifofnfkbkbib`bkg
+kfefigkbkbkcScfig`ghfefbgdgefhgdgkecfegbgbgefnfdgoe`gofcgifdgifofnfme`bnemc`bkfefigkcSkfefig`bmc`bcfig`ghfefbgdgefhgdgkecfegbgbgefnfdgoe`gofcgifdgifofnfmekcSmgSobob`bcdofmf`gafbgef`bdghfef`bhbnfofggib`b`glfafifnfdgefhgdg`bggifdghf`bdghfef`bbgefffefbgefnfcfef`bhbbbhdedldldod`bgeodbemdbbib
+ifffhbabmfefmfcfmf`ghbcfig`ghfefbgdgefhgdglb`bbbhdedldldod`bgeodbemdbblb`bac`cibib`bkgScfig`ghfefbgdgefhgdgkeac`cme`bmc`b`ckc`bobob`baddfdf`baf`bcgdgbgifnfgf`bdgefbgmfifnfafdgofbg
+dfefbfeggfhbhbcfhfafbg`bjbibcfig`ghfefbgdgefhgdgibkc`bobob`b`ebgifnfdg`bifdglb`bjfegcgdg`bffofbg`bffegnfSffofegnfdffeifbgegcghbbbcdlfafmfadfembdeefcgdgmbfdiflfefmbdfefdgefcfdgefdfmbfgifafmbbfigdgefcfofdfefbbibkc`bobob`bceefdg`bdghfef`bfgifbgegcg`bnfafmfefab
+mgSbgefdgegbgnf`b`ckcSmgSS
\ No newline at end of file

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list