bitz-server
0.1.6
|
An ICAP server implementation in C++
Copyright (C) 2012-2013 Uditha Atukorala.
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 3 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.
The main goal of this project is to create an ICAP server (RFC 3507) implementation in C++ to use the power of object oriented programming.
Starting from scratch, the server is developed with a modular architecture in mind. The server core (written in C++) will handle the client requests, manage workers (child processes) etc. and will provide basic handlers to serve ICAP requests.
To extend this core functionality the idea is to have pluggable modules (like apache server modules). These modules will provide features like content filtering, anti-virus scanning etc. and to make it easier to write (and faster to implement) such modules there is hope to exploit python programming language.
You can download the source distributions from http://packages.geniusse.com/source/bitz-server/.
First you should add the repository key to avoid warning.
$ wget -q -O - http://packages.geniusse.com/debian/packman.gpg.key | sudo apt-key add -
Then add the following to your /etc/apt/sources.list
;
$ deb http://packages.geniusse.com/debian/ [release] main
where the [release]
being wheezy, jessie, sid etc.
Finally update your package list and install bitz-server;
$ sudo aptitude update $ sudo aptitude install bitz-server
Please report all bugs and feature requests here under the bitz-server project. Known issues can be found here.
0.1.6 - 28th September 2013
0.1.5 - 11th August 2013
0.1.4 - 01st August 2013
0.1.3 - 29th July 2013
0.1.2 - 07th July 2013
0.1.1 - 06th March 2013
0.1.0 - 03rd March 2013
0.0.1 - 24th February 2013
First you need to initialise the autotools
$ libtoolize (glibtoolize in OS X) $ aclocal $ autoheader $ autoconf $ automake --add-missing --foreign
Or you can grab the latest source distribution tar from CI artifacts.
After that you can use the usual ./configure && make
This is the (long awaited) python interface module. It provides a template for any other python interface module implementations either as C++ module template or as a C++ interface for python modules.
Use the following to create the binaries with debug symbols
$ ./configure CXXFLAGS="-g -O0"
The default config file location is /etc/bitz/bitz-server.conf
but this can changed using the --with-config
option when you run configure
.
e.g.
$ ./configure --with-config=/[path to source code]/conf/bitz-server.conf
$ valgrind --leak-check=full --read-var-info=yes --trace-children=yes --suppressions=test/valgrind.supp --log-file=valgrind.log ./src/bitz-server --debug