home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / radi116c.zip / radius116c / readme.os2 < prev   
Text File  |  1999-01-21  |  8KB  |  214 lines

  1. Os/2 Port Of RADIUS - Package version 1.16A
  2. ----------------------------------------------
  3.  
  4. Author: Mike Nice
  5.         niceman@worldnet.att.net
  6.  
  7.         Copyright (c) Mike Nice, 1999
  8.  
  9.         This program may be freely used and modified for your own use, 
  10.         providing this notice remains intact.
  11.         - There are no expressed or implied warranties with this software.
  12.         - All liabilities in the use of this software rest with the user.
  13.  
  14. Purpose:
  15.   Provide a robust RADIUS server under OS/2 with additional features.
  16.     o Multithreaded
  17.     o Written in IBM VisualAge C++
  18.     o Limit number of concurrent sessions a user can be on.
  19.     o Compact USERS file so more users can be handled with the ASCII 
  20.       file before requiring a database format.
  21.  
  22. Associated Utilties:
  23.     o WhosOn utility lets you view users online through a CGI program 
  24.       or PowerWeb add-in
  25.     o RUNSTATS utility monitors number of users to anticipate the 
  26.       next phone line expansion.
  27.     o REXX stub example to update active users file.
  28.     o PROTREN - protected rename utility renames the file 'users'
  29.       with semaphore protection so no authentications are missed due
  30.       to an access conflict.
  31.  
  32.  
  33.  
  34. Limitations of current version:
  35. ----------------------------------
  36.  - Does not support Ascend accounting records.
  37.  - No link to external user database
  38.  
  39.  (If you add any neat features, please send them to me!)
  40.  
  41.  
  42. HISTORY
  43. -------
  44. 1.16b  1-05-99 - Bug fix when checking for multiple logins
  45. 1.16c  1-21-99 - Correction multiple logins code
  46.                  Added Runstats output to MRTG.
  47.  
  48.  
  49. What is Radius?
  50. ----------------------------------------------
  51.  
  52. For an introduction, refer to:
  53. http://www.livingston.com:80/Tech/Technotes/500/510015.html
  54.  
  55. Here is some additional information on how the RADIUS server
  56. interacts with the USERS file.  RADIUS works on a transaction 
  57. basis, with the client and server exchanging a list of 
  58. attribute/value pairs.  Conceptually, the client sends the 
  59. server a "message" similar to this:
  60.  
  61.     Query
  62.     Client-Id = "205.157.137.10"
  63.     Client-Port-Id = 15
  64.     User-Name = "joe"
  65.     Password = "mypass"
  66.  
  67. This is the IP address of the RADIUS client, the port, and the name and 
  68. password given by the guy trying to log on.  The RADIUS server looks at 
  69. this and decides if the caller should be given access.  The server then 
  70. decides and sends back either something like this:
  71.  
  72.     Reject
  73.     Port-Message = "Your account has expired"
  74.  
  75. or something like this:
  76.  
  77.     Accept
  78.     User-Service-Type = Framed-User
  79.     Framed-Protocol = PPP    
  80.     et cetera
  81.  
  82. In addition, having this whole attribute/value pair system with a whole 
  83. mechanism for encoding and decoding these things (which is what the 
  84. dictionary file is for), they use the same idea for encoding everything 
  85. in the users file.  This means that you have query values (which you 
  86. never see -- they are what the client sends to the server), check values, 
  87. and return values.
  88.  
  89. So what does this mean to you?  Hopefully it helps in understanding the 
  90. structure of the users file.  The users file consists of a series of 
  91. entries, one for each user.  An entry consists of exactly one 
  92. non-indented line followed by zero or more indented lines.  The one 
  93. non-indented line consists of a user name, followed by some space, 
  94. followed by a series of check values.  All of the indented lines consist 
  95. of one or more return values.
  96.  
  97. To simplify even further, the line with the user name contains the check 
  98. values.  The indented lines contain the return values.
  99.  
  100. Check values are only used internally within the RADIUS daemon to make 
  101. go/no go decisions on whether or not to allow the caller to log on.  This 
  102. includes stuff like the password that must have been given, and when the 
  103. caller's account expires.
  104.  
  105. Return values are not used by the RADIUS server in any way.  They are 
  106. sent to the client (Terminal Server, etc) to tell it how to handle the 
  107. caller.
  108.  
  109.  
  110. Files included
  111. ----------------------------------
  112.  
  113. radius116a\FILE_ID.DIZ  Overall package description file
  114. radius116a\readme.os2   This file
  115. radius116a\radius\clients.example   RADIUS - sample setup file
  116. radius116a\radius\dictionary        RADIUS - runtime protocol definition
  117. radius116a\radius\radiusd.exe       RADIUS - Main executable
  118. radius116a\radius\runrad.cmd        RADIUS - Command file to start RADIUS
  119. radius116a\radius\users.example     RADIUS - sample user accounts file
  120.  
  121. radius116a\runstats\runstats.exe    Program to sample # of users logged on
  122. radius116a\runstats\userhist.cmd    Summarize results of runstats
  123.  
  124. radius116a\runstats\whosonMRTG.cfg  Sample configuration file to use with MRTG
  125. radius116a\runstats\getWhosOn.cmd   Called by MRTG (via whosonMRTG.cfg)
  126.     NOTE: MRTG is not required if all you need is a text summary from userhist.cmd
  127.  
  128. radius116a\useredit\protren.exe     Protected rename utility
  129. radius116a\useredit\raduser.cmd     USERS file edit; calls PROTREN.EXE
  130.  
  131. radius116a\whoson\readme.htm      WHOSON documentation
  132. radius116a\whoson\whoson.dll      Executable; PowerWeb version
  133. radius116a\whoson\whoson.exe      Executable; CGI version
  134.  
  135. radius116a\src\radius   Source code for RADIUSD.EXE in IBM Visual Age C++
  136. radius116a\src\runstats Source code for RUNSTATS.EXE in IBM Visual Age C++
  137. radius116a\src\whoson   Source code for WHOSON.* in IBM Visual Age C++
  138.  
  139.  
  140.  
  141. Installation:
  142. ----------------------------------
  143. (There's no installation utility because it's free!)
  144.  
  145. Must be installed on an HPFS partition.
  146.  
  147. Create a directory called radius and unzip the archive there.
  148.  
  149. Find out where environment variable ETC points to and create subdirectories 
  150. radacct and raddb.
  151.  
  152. %ETC%
  153.   |
  154.   |-- radacct
  155.   |-- raddb
  156.           dictionary
  157.       clients
  158.       users
  159.  
  160. In the raddb directory copy clients.example from the radius directory 
  161. and name it clients and edit it. Also copy users.example and rename it 
  162. to users and edit it.  Copy the dictionary file there also. Errors are
  163. logged to a file called logfile in this directory.
  164.  
  165. In the radacct subdirectory, a directory for each server will be created
  166. by radius and a file called detail will be full of accounting info.
  167.  
  168. Also edit your %etc%\services file and add the following lines:
  169. radius          1645/udp radiusd
  170. radacct         1646/udp
  171.  
  172. Execution
  173.  
  174. The example REXX program RUNRAD.CMD provides a good starting point.  It
  175. contains the command line options to pass to the program as well
  176. as making sure it restarts after a crash.
  177.  
  178. Command line options:
  179.  
  180.  -a [account dir]
  181.    Stores accounting files in specified directory.
  182.  
  183.  -d [radius directory]
  184.    Use specified directory for operations files
  185.    
  186.  -n 
  187.    Log names to STDOUT.  Useful for seeing activity at a glance.
  188.    
  189.  -p
  190.    Log password failures to LOGFILE.  Useful for debug purposes to
  191.    assist in user troubleshooting.  This is a potential security risk
  192.    because near passwords are leaked.
  193.    
  194.  -v
  195.    Display version as program starts up.
  196.    
  197.  -x
  198.    Run in Debug mode.  Display additional user messages for 
  199.    debug assistance.
  200.  
  201.  
  202.  
  203. Livingston Info:
  204. -----------------
  205.  *    Permission to use, copy, modify, and distribute this software for any
  206.  *    purpose and without fee is hereby granted, provided that this
  207.  *    copyright and permission notice appear on all copies and supporting
  208.  *    documentation, the name of Livingston Enterprises, Inc. not be used
  209.  *    in advertising or publicity pertaining to distribution of the
  210.  *    program without specific prior permission, and notice be given
  211.  *    in supporting documentation that copying and distribution is by
  212.  *    permission of Livingston Enterprises, Inc.   
  213.  
  214.