Giter VIP home page Giter VIP logo

armadito-av's Introduction

Armadito core

Join the chat at https://gitter.im/armadito/armadito-av Build Status Coverity Scan Build Status

Armadito is an open-source antivirus.

This repository contains Armadito core library, daemon and service.

Copyright (C) Teclib', 2015, 2016

Project home : http://www.teclib-edition.com/teclib-products/armadito-antivirus

See Online documentation at : http://armadito-av.readthedocs.io/en/latest/

License : LGPLv3 https://www.gnu.org/licenses/license-list.html#LGPLv3

IRC channel on freenode.net: #armadito

Mailing list: [email protected]

Follow @ArmaditoAV on twitter

Forum Armadito: https://forum.armadito.org/

armadito-av's People

Contributors

fdechelle avatar fdshell avatar g-bougard avatar gitter-badger avatar trasher avatar vhamon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

armadito-av's Issues

Make a test suite for on-access

  • set of files including malware and clean files
  • set of operations that can be automated
  • check that the malware files are blocked and the clean not
  • MEASURE PERFORMANCE
  • make a portable test suite

Reduce clamav memory footprint

http://www.gossamer-threads.com/lists/clamav/users/61463

http://www.gossamer-threads.com/lists/clamav/users/59413

One way you can reduce the amount of memory that clamav uses is to specify 
the "--disable-llvm" flag to clamav configuration line. This flag tells 
clamav not to compile the packaged llvm project into libclamav library and 
will use up less space with libclamav is loaded into memory. Note that this 
means bytecode signatures will be run on the internal interpreter instead 
of compiled to JIT using llvm. 

The downside is that bytecode signatures with run slightly slower on the 
clamav interpreter than with llvm JIT. However, bytecodes make up a fairly 
small amount of clamav's signatures and, if JIT is desired with a smaller 
memory footprint in clamav, you can configure clamav with 
"--with-system-llvm" to use the system's native llvm. 

-Kevin 

Strdup memory leaks

==26609== 11 bytes in 1 blocks are definitely lost in loss record 60 of 1,366
==26609==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26609==    by 0x5A1D839: strdup (strdup.c:42)
==26609==    by 0x4E3DF97: free_and_set (confparser.c:383)
==26609==    by 0x4E3E069: r_section_name (confparser.c:414)
==26609==    by 0x4E3E018: r_section (confparser.c:405)
==26609==    by 0x4E3DFE1: r_section_list (confparser.c:396)
==26609==    by 0x4E3DFED: r_section_list (confparser.c:397)
==26609==    by 0x4E3DFED: r_section_list (confparser.c:397)
==26609==    by 0x4E3DFBB: r_configuration (confparser.c:389)
==26609==    by 0x4E3E423: a6o_conf_parser_parse (confparser.c:534)
==26609==    by 0x4E3C96B: a6o_conf_load_file (conf.c:261)
==26609==    by 0x4032A0: load_conf (main.c:186)

Configuration changes for IHM

Current configuration does to allow:

  • to modify and save configuration
  • to store/load configuration from registry for windows

Changes to do:

  • change API to something similar to glib ini parser
  • create a struct a6o_conf
  • pass a pointer to this structure to a6o_open()
  • implement conf_load(), conf_save()
  • change modules configuration (may imply to merge _init and _post_init ?)

Configuration file does not change, we keep the .INI syntax.

When inserting into the registry, each "section" of the conf file become a sub-key of "ArmaditoAV", like "ArmaditoAV\quarantine".

Improve scan callbacks

Calling the scan callbacks inside a6o_scan_context does not work for the quarantine on windows:

  • moving the file requires that the driver has received the answer
  • but the answer is returned after calling the callbacks
    so moving a file in the quarantine is not feasible in a callback with the current code

Change:

  • separate scanning from calling the callbacks
  • pass a report * to scan_simple and use it
  • move call to a6o_scan_call_callbacks() outside scan_context()

Shared lib calls exit()

Hi,

Checking QA on builded RPMs on my Fedora system, I got the following warning:

armadito.x86_64: W: shared-lib-calls-exit /usr/lib64/libarmadito.so.0.0.0 exit@GLIBC_2.2.5
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.

DriverVer error when building ArmaditoGuard Package

Signability test failed.
22.9.6 : DriverVer missing or in incorrect format in \armaditoguard.inf
Setting DriverVer variable in ArmaditoGuard.inf temporarily fixes the problem :
DriverVer=06/14/2016,1.0.0.0

It does not work the same on each system.

Won't compile on RHEL-6

Hi guys,

I'm trying to get armadito compiled on a CentOS6 host, but it fails; as far as I understand because fanotify is not available on this platform:

response.h:25:28: error: linux/fanotify.h: No such file or directory
In file included from famonitor.c:28:
response.h:38: error: expected declaration specifiers or '...' before '__u32'
famonitor.c:37:26: error: sys/fanotify.h: No such file or directory
[...]

You'll find the full build.log in the attached file.

Thank you!
armadito-el6-build.log.zip

Submit Armadito into FSF Directory webpage

We would like to list all free software programs in the Free Software Directory, including all programs licensed under the GPL (any version). Please see the Directory web page for information and an online submission form.

Create macro for a6o_log

define

a6o_dgb_svc

a6o_dbg_lib

a6o_dbg_mod

a6o_warn_svc

a6o_warn_lib

a6o_warn_mod

a6o_err_svc

a6o_err_lib

a6o_err_mod

Scan tab not refreshed while switching between tabs

Armadito 0.10.0 installed on windows 7.

After a scan is started, you can switch between tabs but tabs are not updated immediately. For example, while coming back on scan tab while Armadito is scanning a really big file shows 0/0/0 on scanned/found/suspect numbers until the current file is scanned. Also the last threat found text is removed even if the found count is right after such a switch.

I expect at least to see the same stuffs I had before the tab switch.

I guess the last known tab state should be saved between switchs.

Notification icon named nwjs, not Armadito

Windows client 0.10.0 installed on windows 7:

  • wanting to see notification icon all the time: looks to change state using standard icon tray feature and it appears to be named nwjs

Add fanotify watch on USB keys that are already mounted when daemon starts

Current solution uses D-Bus notification to add on the fly fanotify watch on the mounted USB key. But this does not work for USB keys that are already mounted when the daemon starts (or restarts).

Solution: use udev to enumerate mounted USB keys, find their mount points and add them to fanotify

Problem: udev has no documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.