/* mainpage.h -- Doxygen main page - only to be used by doxygen * * GPLv2 only - Copyright (C) 2008 - 2012 * David Sommerseth * * 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; version 2 * of the License. * * 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. * */ /** * @mainpage eurephia v1.0 developers reference * @section overview Overview of the source tree * eurephia is built up in a modular way and code reuse is an important element. The source * tree is divided into several smaller parts where each part or module is located. * * The project is written strictly in C, but the administration utility makes use of XSLT * as a template engine to display reports. * * - common/ * - This is where all source code used by all modules should be expected to reside * * - database/ * - Everything connected to the database API is found here. The generic database modules * will also be located in the root of this directory. Each database driver must reside * in a separate directory * * - database/sqlite/ * - The SQLite3 database driver (edb-sqlite.so) is located here * - @ref edb-sqlite.c * * - eurephiadm/ * - Everything connected to the eurephiadm, the console based administration utility. * - @ref eurephiadm.c * * - eurephia/command/ * - eurephiadm is built up by a set of commands. Each command is found in separate * files here. * * - plugin/ * - The OpenVPN plug-in (eurephia-auth.so) is located in this directory * - @ref eurephia-auth.c * * - plugin/firewall/ * - The generic parts for the firewall integration of the plug-in * * - plugin/firewall/iptables/ * - The iptables "driver" (efw-iptables.so) for the firewall integration * - @ref efw-iptables.c * * - utils/ * - Utilities which is not installed during make install. The eurephia_init program * resides here together with saltdecode. eurephia_init is used to configure a new * eurephia database, while saltdecode is used for debugging and will decode * the password salt hashing information. * - @ref eurephia_init.c eurephia_saltdecode.c * *
* @section build Building eurephia and installing * Run the ./configure script to prepare the build. This script requires * CMake (at least version 2.6) to be installed. The configure * script will require some parameters, depending on which features being prepared in the build. * For a complete overview of all parameters, see ./configure --help * * Then run make to do the build. * * To install eurephia, Run make install. *
* @section patches How to contribute * Contributions to the source code will be very much appreciated. Patches should be based * on the master branch in the git tree. Patches should be uploaded to the project web site * on sourceforge.net * * http://sourceforge.net/tracker/?group_id=236344&atid=1099762 * * Contributed patches should be prepared by using the * git format-patch * command. * *
* @section locations Locations * - Website * - http://www.eurephia.net/ * * - Community places * - http://sourceforge.net/projects/eurephia * - IRC: irc.freenode.net, @#eurephia * * - Trackers * - Bugs: http://sourceforge.net/tracker/?group_id=236344&atid=1099760 * - Patches: http://sourceforge.net/tracker/?group_id=236344&atid=1099762 * * - Source code * - git repository: git://eurephia.git.sourceforge.net/gitroot/eurephia/eurephia * - Browse the source code: http://eurephia.git.sourceforge.net/git/gitweb-index.cgi * *
* @section contact Contact * - David Sommerseth (irc: dazo) * *
* @section requirements Requirements * * Generic requirements for building eurephia * - CMake * * The following header files and libraries is required to build eurephia: * * - eurephia-auth - OpenVPN authentication plug-in * - SQLite3 * - OpenVPN source tree * * - eurephia administration utility (eurephiadm and eurephia_init) * - SQLite3 * - libxml2 * - libxslt2 * */