Mercurial > hg > freeDiameter
changeset 325:5133b45e3305
Updated documentation
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Thu, 20 May 2010 14:23:11 +0900 |
parents | 5cb46cbb8463 |
children | 230158150ac9 |
files | INSTALL INSTALL.Ubuntu README |
diffstat | 3 files changed, 81 insertions(+), 56 deletions(-) [+] |
line wrap: on
line diff
--- a/INSTALL Wed May 19 15:37:27 2010 +0900 +++ b/INSTALL Thu May 20 14:23:11 2010 +0900 @@ -7,32 +7,20 @@ # cmake ../ # make -Note: instead of passing options on the command line, you can use a CMake front-end (for example ccmake or cmake-gui) -or edit the CCmakeCache.txt file directly. If your cmake installation is recent, you can also do: +You can pass options to instruct cmake about which components to compile on the command-line. +You can also use a CMake front-end (for example ccmake or cmake-gui) or edit the CCmakeCache.txt file directly. +If your cmake installation is recent, the edit_cache target is a good help as well: # mkdir build # cd build # cmake ../ +# make help # make edit_cache # make - -You can enable the unary tests by doing: +You can enable the unit tests by doing: # cmake -DSKIP_TESTS:BOOL=OFF ../ # make # make tests Note that there are dependencies on external tools that may not be enforced by the configure script. -See the specific INSTALL.distro files matching your situation. - -You can configure which extensions to build with CMake: -IGNORE_ALL_EXTENSIONS:BOOL=OFF (or the following are ignored) -BUILD_SAMPLE:BOOL=ON -BUILD_DICT_NASREQ:BOOL=ON -BUILD_APP_RADGW:BOOL=ON -... - -You can change the default configuration file pathname: -DEFAULT_CONF_FILE:STRING=/path/to/some/freeDiameter.conf - -Build binary with symbols, for debug: -CMAKE_BUILD_TYPE:STRING=Debug +See the specific INSTALL.* files for additional information.
--- a/INSTALL.Ubuntu Wed May 19 15:37:27 2010 +0900 +++ b/INSTALL.Ubuntu Thu May 20 14:23:11 2010 +0900 @@ -1,6 +1,10 @@ See INSTALL file for general instructions on building freeDiameter. -On Ubuntu / Debian, the following packages are required (aptitude install ...): + +freeDiameter has native support for Debian packaging. All related files +are in the directory "debian" of the distribution. + +The following packages are required to compile freeDiameter from source: cmake make gcc flex bison libsctp1 libsctp-dev libgnutls-dev libgcrypt-dev Additionnaly, these ones may be useful: @@ -8,21 +12,53 @@ In order to build app_acct extension, you will also need the package libpq-dev. -Tested not working: Ubuntu Hardy (too old). -Tested working: Ubuntu Intrepid, Jaunty, Karmic, Lucid. Debian Lenny. + +If your debhelper environment is recent, the following commands should +generate the freeDiameter packages for you: + +# Install the dependencies for building the source: +sudo apt-get -y install mercurial cmake make gcc bison flex libsctp-dev libgnutls-dev libgcrypt-dev libpq-dev ssl-cert debhelper fakeroot + +# Retrieve the latest version of the source package +cd +hg clone http://aaa.koganei.wide.ad.jp/hg/freeDiameter +cd freeDiameter + +# Build the packages +fakeroot dh binary + +# Install the packages +cd .. +sudo dpkg -i *.deb + + +# The following lines may help you getting started.... (execute as root) +ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/freeDiameter.pem +ln -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/freeDiameter.key +zcat /usr/share/doc/freediameter-daemon/examples/freediameter.conf.sample.gz > /etc/freeDiameter/freeDiameter.conf +echo "Identity=\"localhost.localdomain\";" >> /etc/freeDiameter/freeDiameter.conf +freeDiameterd + +=========================================== + +freeDiameter has been tested on the following distributions: +Ubuntu Intrepid, Jaunty, Karmic, Lucid. +Debian Lenny. + +(Ubuntu Hardy support is broken) ===========================================- -Step by step instructions (with no prerequisite): +Step by step instructions without using the debhelper tools: 1) Install all packages dependencies -# apt-get install mercurial cmake make gcc bison flex libsctp-dev libgnutls-dev libgcrypt-dev +# sudo apt-get install mercurial cmake make gcc bison flex libsctp-dev libgnutls-dev libgcrypt-dev 2) (OPTION) If you will compile modules that require postgresql, also install: -# apt-get install libpq-dev +# sudo apt-get install libpq-dev 3) (OPTION) If you want a more user-friendly interface, install this: -# apt-get install cmake-curses-gui +# sudo apt-get install cmake-curses-gui 4) Retrieve the source files # hg clone http://aaa.koganei.wide.ad.jp/hg/freeDiameter @@ -32,40 +68,21 @@ # cd fDbuild 6) Configure and generate the Makefiles - a) If you did not install ccmake in step 3: # cmake ../freeDiameter - - b) If you did install ccmake: -# ccmake ../freeDiameter -- press 'c' (configure) -- toggle the values as needed (ex: BUILD_APP_RADGW=ON, ...) -- press 'c' again. New items may appear, iterate the process -- press 'c' and 'g' to complete the process +# make edit_cache 7) Compile all files: # make -8) See available targets: +8) (OPTION) See available targets: # make help 9) (OPTION) Check the software has a correct basic behavior on your environment. -- only if you did not disable the tests in step 6 # make test +10) Install the software in configured locations: +# sudo make install + =========================================== -# You can alternatively do: -apt-get -y install mercurial cmake make gcc bison flex libsctp-dev libgnutls-dev libgcrypt-dev libpq-dev ssl-cert debhelper -cd /usr/src -hg clone http://aaa.koganei.wide.ad.jp/hg/freeDiameter -cd freeDiameter -dh binary - -cd .. -dpkg -i *.deb - -ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/freeDiameter.pem -ln -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/freeDiameter.key -zcat /usr/share/doc/freediameter-daemon/examples/freediameter.conf.sample.gz > /etc/freeDiameter/freeDiameter.conf -echo "Identity=\"localhost.localdomain\";" >> /etc/freeDiameter/freeDiameter.conf -freeDiameterd
--- a/README Wed May 19 15:37:27 2010 +0900 +++ b/README Thu May 20 14:23:11 2010 +0900 @@ -1,6 +1,31 @@ -The freeDiameter daemon implements the Diameter base protocol. -Loadable extensions add the logic of Diameter applications and advanced use of the daemon. +freeDiameter is an implementation of Diameter. + +Diameter is a protocol designed to carry Authentication, Authorization and +Accounting (AAA) payload. It is an evolution of the RADIUS protocol (as the +name suggests). + +Diameter is an extensible protocol. RFC3588 (currently under revision) defines the +Base Protocol that all Diameter nodes must support, while other documents define +the additional protocol support for specific applications. Such applications include +for example Network Access Servers (RFC4005), EAP (RFC4072), ... + + +The implementation consists in several components: + - libfreeDiameter : the shared library provides the functions to manipulate Diameter + messages and dictionary. This library is meant to be re-used for other projects + that would require parsing or manipulating Diameter messages. + + - freeDiameterd : the daemon establishes the network connections with other Diameter + peers and performs the tasks described in Diameter Base Protocol, such as + watchdogs, basic routing, ... + + - extensions : the extensions provide the mean to augment the features of the + freeDiameterd daemon. Extensions can provide the handling of a Diameter + application, but also advanced routing features, peer management, etc. + + See http://aaa.koganei.wide.ad.jp/ for more information on the project. + freeDiameter was previously known as the "waaad" project (WIDE AAA Daemon) This project is not related to the "freediameter" project from Sun on sourceforge. @@ -10,8 +35,3 @@ See LICENSE file for legal information on this software. See INSTALL for information on building and using this software. - --------------- -Known possible bugs: - - management of the Host-IP-Address values in CER/CEA may be strange (for TCP and SCTP) -