Note recent changes
[freeradius.git] / doc / README
index cc09996..4df784e 100644 (file)
@@ -1,10 +1,9 @@
-
 1. INTRO
 
-  All code in this server was written from scratch.
+  All code in this server was written for this project.
 
   The server is mostly compatible with livingston radiusd-2.01
-  (no menus or s/key support though) but with more feautures, such as:
+  (no menus or s/key support though) but with more features, such as:
 
     o Can limit the maximum number of simultaneous logins on a per-user basis!
     o Multiple DEFAULT entries, that can optionally fall-through.
   it will result in Prefix and Suffix probably not working in the "users"
   file if you already stripped them off in the "hints" file.
 
-2. COMPILE
-
-  Ignore this section (2) if you have a pre-installed binary package.
-
-  Radiusd now has autoconf support. This means you have to run
-  ./configure --flags, then run make. You can set the following flags:
-
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]  optimize for fast installation [default=yes]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --with-logdir=DIR       Directory for logfiles [LOCALSTATEDIR/log] 
-  --with-radacctdir=PATH  Directory for detail files [LOGDIR/radacct] 
-  --with-raddbdir=DIR     Directory for config files [SYSCONFDIR/raddb] 
-  --with-dict-nocase      Make dictionary case-independant (default=yes)
-  --with-ascend-binary    Include support for Ascend binary filter attributes (default=yes)
-  --with-threads          Use threads, if available.  (default=yes) 
-  --with-snmp             Compile in SNMP support. (default=yes)
-  --disable-ltdl-install  Do not install libltdl
-  --with-static-modules=QUOTED-MODULE-LIST
-  --with-experimental-modules      Use experimental and unstable modules. (default=no) 
-  --enable-developer      Turns on super-duper-extra-compile-warnings
-                              when using gcc.
-
-  To get the defaults that Cistron Radius used up to 1.5.4.3-beta18, use:
-
-       ./configure --localstatedir=/var --sysconfdir=/etc
-
-  That means binaries will get installed in /usr/local/{bin,sbin},
-  manpages in /usr/local/man, configuration files in /etc/raddb,
-  and logfiles in /var/log and /var/log/radacct.
-
-  Now type "make". The binaries will be compiled.
-
-  Then you do a "make install". That will install the binaries, the 'man'
-  pages, and MAY install the configuration files.  If you have not
-  installed a RADIUS server before, then the configuration files for
-  FreeRADIUS will be installed.  If you already have a RADIUS server
-  installed, then FreeRADIUS WILL NOT over-write your current
-  configuration.  It will warn you about the files it could not install.
-
-  o Copy the examples in raddb to /etc/raddb and edit+rename the sample files.
-  o Start radiusd (using /etc/init.d/radiusd start if applicable).
-
-  If the server builds and installs, but doesn't run correctly, then
-  use debugging mode to figure out the problem.  (radiusd -X).  This
-  is your BEST HOPE for understanding the problem.  Read ALL of the
-  messages which are printed to the screen, the answer to your problem
-  will often be in a warning or error message.
-
-  We really can't emphasize that enough.  Configuring a RADIUS server
-  for complex local installations isn't a trivial task.  Your ONLY
-  method for debugging it is to read the debug messages, where the
-  server tells you exactly what it's doing, and why.  You should then
-  compare its behaviour to what you intended, and then edit the
-  configuration files as appropriate.
-
-  If you don't use debugging mode, then you will look like an idiot
-  when you ask questions on the 'freeradius-users' list, and the final
-  answer turns out to have been sitting in front of you all along.
-  Since the main developers of FreeRADIUS use debugging mode to track
-  down their configuration problems with the server, it's probably a
-  good idea for you to use it, too.
+2. INSTALLATION
+
+   See the INSTALL file, in the parent directory.
 
 3. CONFIGURATION FILES
 
   With the original RADIUS server, every user had to be defined in this
   file. There could be one default entry, where you could for example
   define that a user not in the radius file would be checked agains the
-  UNIX password file and on succesfull login would get a PPP connection.
+  UNIX password file and on successful login would get a PPP connection.
 
   In the new style file, you can define multiple DEFAULT entries. All
   entries are processed in the order as they appear in the users file.
   ----                 ----            ------
   Simultaneous-Use     integer         Max. number of concurrent logins
   Fall-Through         integer         Yes/No
-  Exec-Program         string          program to execute after authentication
-  Exec-Program-Wait    string          ditto, but wait for program to finish
-                                       before sending back auth. reply
   Login-Time           string          Defines when user may login.
   Current-Time         string          Allows you to perform time-based
                                        checks when a request is received.
 
-  Exec-Program can take arguments. You can use variables in the
-  arguments, which are automatically expanded by the server.  See
-  'doc/variables.txt' for more information.
-
-  For example, use the following entry for someone who has BSMTP (queued
-  SMTP) service. "brunq" is the program that runs the SMTP queue.
-
-  robert       Service-Type = Framed-User
-               Exec-Program = "/usr/local/sbin/brunq -h %f delta",
-               Fall-Through = 1
-
-  The output from Exec-Program-Wait is parsed by the radius server. If
-  it looks like Attribute/Value pairs, they are decoded and added to the
-  reply sent to the NAS. This way, you can for example set Session-Timeout.
-
-  For backwards compatibility, if the output doesn't look like valid
-  radius A/V pairs, the output is taken as a message and added to the
-  reply sent to the NAS as Port-Message.
-
-  If Exec-Program-Wait returns a non-zero exit status, access will be
-  denied to the user. With a zero-exit status, access is granted.
-
   Login-Time defines the time span a user may login to the system. The
   format of a so-called time string is like the format used by UUCP.
   A time string may be a list of simple time strings separated by "|" or ",".
   There are two GNU Mailman mailing lists hosted by Cistron Internet Services:
   a 'users' list, at:
 
-       http://lists.cistron.nl/archives/freeradius-users/
+       http://lists.freeradius.org/pipermail/freeradius-users/
 
   and a 'developers only' list, at
 
-       http://lists.cistron.nl/archives/freeradius-devel/
+       http://lists.freeradius.org/pipermail/freeradius-devel/
+
+6.  OTHER INFORMATION
+
+  The files in other directories are:
+
+  debian/      Files to build a "freeradius" Debian Linux package.
+
+  dialup_admin/        A PHP web front-end to manage an SQL database associated
+               with the server.
+
+  doc/         Various snippets of documentation
+  doc/rfc/     Copies of the RFC's.  If you have Perl, do a 'make' in
+               that directory, and look at the HTML output.
+
+  libltdl/     Libtool platform independent library system.
+
+  man/         Unix Manual pages for the server, configuration files,
+               and associated utilities.
+
+  mibs/                SNMP Mibs for the server.
+
+  raddb/       Sample configuration files for the server.
+
+  redhat/      Additional files for a RedHat Linux system.
+
+  scripts/     Sample scripts for startup and maintenance.
+
+  src/         Source code
+  src/main     source code for the daemon and associated utilities
+  src/lib      source code for the RADIUS library
+  src/include  header files
+  src/modules  dynamic plug-in modules
+
+  src/billing  Some scripts and configuration files to assist in billing,
+               Currently mostly VoIP related.
+
+  suse/                Aditional files for a SuSE (UnitedLinux) system.
+
+  todo/                TODO list and assorted files.
+
+
+  If you have ANY problems, concerns, or surprises when running the
+server, then run it in debugging mode, as root, from the command line:
+
+$ radiusd -X
+
+It will produce a large number of messages.  The answers to many
+questions, and the solution to many problems, can usually be found in
+these messages.
+
+  For further details, see:
+
+  http://www.freeradius.org/faq/
+
+  and the 'bugs' file, in this directory.
 
 $Date$
-originally by Miquel van Smoorenburg <miquels@cistron.nl>  21-Aug-1999