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)
- 
"Welcome to our mercurial repository"