Menu

Tree [1f7997] master /
 History

HTTPS access


File Date Author Commit
 build-aux 2009-06-01 David M. Syzdek David M. Syzdek [d410b3] Adding build-aux scripts to list of ignored files
 data 2009-06-01 David M. Syzdek David M. Syzdek [a1333f] Changing filenames of test data to simpler names.
 doc 2009-06-07 David M. Syzdek David M. Syzdek [9fe1fb] Adding the manpage clamavc.3
 lib 2009-06-07 David M. Syzdek David M. Syzdek [1904ab] Adding clamavc_error() to library.
 m4 2009-06-01 David M. Syzdek David M. Syzdek [63f9df] Adding m4 files to list of files to ignore
 src 2009-06-07 David M. Syzdek David M. Syzdek [7c339a] Adding ability to scan from STDIN with utility.
 tests 2009-06-05 David M. Syzdek David M. Syzdek [eb9b18] Adding check for all idsession functions.
 .gitignore 2009-06-01 David M. Syzdek David M. Syzdek [1eee5a] Creating list of files to ignore
 AUTHORS 2009-05-20 David M. Syzdek David M. Syzdek [bafbd7] Adding autotools source files.
 COPYING 2009-05-20 David M. Syzdek David M. Syzdek [b12267] Creating initial library framework.
 ChangeLog 2009-05-20 David M. Syzdek David M. Syzdek [bafbd7] Adding autotools source files.
 INSTALL 2009-05-20 David M. Syzdek David M. Syzdek [bafbd7] Adding autotools source files.
 Makefile.am 2009-06-07 David M. Syzdek David M. Syzdek [1f7997] Adding man pages to automake DIST_EXTRA list.
 NEWS 2009-05-24 David M. Syzdek David M. Syzdek [3a8e28] Adding news line.
 README 2009-06-07 David M. Syzdek David M. Syzdek [b315d0] Updating git clone URL in README.
 acinclude.m4 2009-05-23 David M. Syzdek David M. Syzdek [29dce6] Adding checks for compiler warnings to configur...
 configure.ac 2009-06-07 David M. Syzdek David M. Syzdek [318ba6] Updating contact e-mail address.

Read Me

Clam Antivirus Client Library
Copyright (C) 2009 Alaska Communications Systems Group, Inc

@ACS_LICENSE_HEADER_START@

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

@ACS_LICENSE_HEADER_END@


Table of Contents
=================

1 About
  1.1 Supported systems
2 Obtaining Source Code
3 TODO List
4 Submitting Patches
  5.1 Commits
  5.2 Developer's Certificate of Origin
  5.3 Patches
5 Additional Resources


1 About
=======

Clam AntiVirus Client Library provides a simple API to the ClamAV daemon.
ClamAVC does not require ClamAV to be installed. ClamAVC communicates with
clamd using clamd's documented protocol using either TCP or a local Unix
domain socket.



1.1 Supported Systems
---------------------

ClamAVC has been tested on the following platforms:

 * OS X 10.5.8
 * FreeBSD 6.2
 * Slackware 12.1.0


2 Obtaining Source Code
=======================

Downloading source code from Git requires the following software:

 * Git >= 1.6.0
 * GNU Autoconf >= 2.61
 * GNU Automake >= 1.10
 * GNU Libtool >= 1.5.6
 * GNU Make >= 3.80

Downloading source code:

 $ git clone git://clamavc.git.sourceforge.net/gitroot/clamavc

Preparing the source for compiling:

 $ cd clamavc
 $ libtoolize -c
 $ aclocal
 $ autoheader
 $ autoconf
 $ automake -c -a


2. TODO List
============

 * write man pages for the functions.
 * document the API in texinfo.
 * let bake in production setting
 * create release package.
 * submit to ClamAV as contribware.


4. Submitting Patches
=====================

Submit patches to clamavc-devs@lists.sourceforge.net. Please use the same
guidelines for submitting patches to the Git project:

http://repo.or.cz/w/git.git/Documentation/SubmittingPatches?a=blob;h=76fc8;hb=HEAD

A copy of the short version is included below.


5.1 Commits
-----------

 * make commits of logical units
 * check for unnecessary whitespace with "git diff --check" before committing
 * do not check in commented out code or unneeded files
 * the first line of the commit message should be a short and should skip the
   full stop
 * the body should provide a meaningful commit message, which:
   - uses the imperative, present tense: "change", not "changed" or "changes".
   - includes motivation for the change, and contrasts its implementation
     with previous behaviour
 * if you want your work included in git.git, add a "Signed-off-by: Your Name
   <you@example.com>" line to the commit message (or just use the option "-s"
   when committing) to confirm that you agree to the Developer's Certificate
   of Origin
 * make sure that you have tests for the bug you are fixing
 * make sure that the test suite passes after your commit


5.2 Developer's Certificate of Origin
-------------------------------------

        Developer's Certificate of Origin 1.1

        By making a contribution to this project, I certify that:

        (a) The contribution was created in whole or in part by me and I
            have the right to submit it under the open source license
            indicated in the file; or

        (b) The contribution is based upon previous work that, to the best
            of my knowledge, is covered under an appropriate open source
            license and I have the right under that license to submit that
            work with modifications, whether created in whole or in part
            by me, under the same open source license (unless I am
            permitted to submit under a different license), as indicated
            in the file; or

        (c) The contribution was provided directly to me by some other
            person who certified (a), (b) or (c) and I have not modified
            it.

        (d) I understand and agree that this project and the contribution
            are public and that a record of the contribution (including all
            personal information I submit with it, including my sign-off) is
            maintained indefinitely and may be redistributed consistent with
            this project or the open source license(s) involved.


5.3 Patches
-----------

 * use "git format-patch -M" to create the patch
 * do not PGP sign your patch
 * do not attach your patch, but read in the mail body, unless you cannot
   teach your mailer to leave the formatting of the patch alone.
 * be careful doing cut & paste into your mailer, not to corrupt whitespaces.
 * provide additional information (which is unsuitable for the commit message)
   between the "---" and the diffstat
 * if you change, add, or remove a command line option or make some other user
   interface change, the associated documentation should be updated as well.
 * if your name is not writable in ASCII, make sure that you send off a
   message in the correct encoding.
 * send the patch to the list (clamavc-devs@lists.sourceforge.net) and the
   maintainer (david@syzdek.net) if (and only if) the patch is ready for
   inclusion. If you use git-send-email(1), please test it first by sending
   email to yourself.


5. Additional Resources
=======================

ClamAV Client Library source code:
   http://github.com/syzdek/clamavc/tree

ClamAV Client Library Developers' List:
   clamavc-devs@lists.sourceforge.net

ClamAV:
   http://www.clamav.net/

Clamd documentation:
   http://www.clamav.net/doc/latest/html/node26.html

Potential Sourceforge page:
   http://sourceforge.net/projects/clamavc/