Main Page | Namespace List | Alphabetical List | Class List | File List | Class Members | File Members

radius.h

Go to the documentation of this file.
00001 /*
00002  *  RadiusClass -- An C++-Library for radius authentication 
00003  *                                      and accounting.
00004  * 
00005  *  Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben <ralfluebben@gmx.de>
00006  *
00007  *  This program is free software; you can redistribute it and/or modify
00008  *  it under the terms of the GNU General Public License version 2
00009  *  as published by the Free Software Foundation.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *  GNU General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU General Public License
00017  *  along with this program (see the file COPYING included with this
00018  *  distribution); if not, write to the Free Software Foundation, Inc.,
00019  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020  */
00021  
00022 #ifndef _RADIUS_H_
00023 #define _RADIUS_H_
00024 
00025 
00026 #include <stdio.h>
00027 
00028 #include <stdlib.h>
00029 #include <string.h>
00030 #include <sys/types.h>
00031 #include <sys/socket.h>
00032 #include <netinet/in.h>
00033 #include <arpa/inet.h>
00034 #include <netdb.h>
00035 #include <errno.h>
00036 #include <unistd.h>
00037 #include <fcntl.h>
00038 #include <sys/select.h>
00039 
00041 typedef unsigned char   Octet;
00042 
00044 #define RADIUS_PACKET_AUTHENTICATOR_LEN 16
00045 #define RADIUS_MAX_PACKET_LEN                   4096
00046 #define RADIUS_PACKET_IDENTIFIER_LEN    1
00047 //#define MD5_DIGEST_LENGTH 16
00048 
00051 #define ACCESS_REQUEST          1
00052 #define ACCESS_ACCEPT           2
00053 #define ACCESS_REJECT           3
00054 #define ACCOUNTING_REQUEST      4
00055 #define ACCOUNTING_RESPONSE     5
00056 #define ACCESS_CHALLENGE        11
00057 #define STATUS_SERVER           12      
00058 #define STATUS_CLIENT           13      
00059 #define RESERVED                        255     
00060 
00063 #define ATTRIB_User_Name                                1 //string
00064 #define ATTRIB_User_Password                    2 //string
00065 #define ATTRIB_CHAP_Password                    3 //string
00066 #define ATTRIB_NAS_IP_Address                   4 //ipaddr
00067 #define ATTRIB_NAS_Port                                 5 //integer
00068 #define ATTRIB_Service_Type                             6 //enum
00069 #define ATTRIB_Framed_Protocol                  7 //enum
00070 #define ATTRIB_Framed_IP_Address                8 //ipaddr
00071 #define ATTRIB_Framed_IP_Netmask                9 //ipaddr
00072 #define ATTRIB_Framed_Routing                   10 //enum
00073 #define ATTRIB_Filter_Id                                11 //string
00074 #define ATTRIB_Framed_MTU                               12 //integer
00075 #define ATTRIB_Framed_Compression               13 //enum
00076 #define ATTRIB_Login_IP_Host                    14 //ipaddr
00077 #define ATTRIB_Login_Service                    15 //enum
00078 #define ATTRIB_Login_TCP_Port                   16 //integer
00079 #define ATTRIB_Reply_Message                    18 //string
00080 #define ATTRIB_Callback_Number                  19 //string
00081 #define ATTRIB_Callback_Id                              20 //string
00082 #define ATTRIB_Framed_Route                             22 //string
00083 #define ATTRIB_Framed_IPX_Network               23 //integer
00084 #define ATTRIB_State                                    24 //string
00085 #define ATTRIB_Class                                    25 //string
00086 #define ATTRIB_Vendor_Specific                  26 //string -> vendor
00087 #define ATTRIB_Session_Timeout                  27 //integer
00088 #define ATTRIB_Idle_Timeout                             28 //enum
00089 #define ATTRIB_Termination_Action               29 //enum
00090 #define ATTRIB_Called_Station_Id                30 //string
00091 #define ATTRIB_Calling_Station_Id               31 //string
00092 #define ATTRIB_NAS_Identifier                   32 //string
00093 #define ATTRIB_Proxy_State                              33 //string
00094 #define ATTRIB_Login_LAT_Service                34 //string
00095 #define ATTRIB_Login_LAT_Node                   35 //string
00096 #define ATTRIB_Login_LAT_Group                  36 //string
00097 #define ATTRIB_Framed_AppleTalk_Link    37 //integer
00098 #define ATTRIB_Framed_AppleTalk_Network 38 //integer
00099 #define ATTRIB_Framed_AppleTalk_Zone    39 //string
00100 #define ATTRIB_Acct_Status_Type                 40 //enum
00101 #define ATTRIB_Acct_Delay                               41 //integer
00102 #define ATTRIB_Acct_Input_Octets        42 //integer
00103 #define ATTRIB_Acct_Output_Octets               43 //integer
00104 #define ATTRIB_Acct_Session_ID                  44 //string
00105 #define ATTRIB_Acct_Authentic                   45 //enum
00106 #define ATTRIB_Acct_Session_Time                46 //integer
00107 #define ATTRIB_Acct_Input_Packets               47 //integer
00108 #define ATTRIB_Acct_Output_Packets              48 //integer
00109 #define ATTRIB_Acct_Terminate_Cause             49 //enum
00110 #define ATTRIB_Acct_Multi_Session_ID    50 //string
00111 #define ATTRIB_Acct_Link_Count                  51 //interger
00112 
00113 #define ATTRIB_Acct_Input_Gigawords             52 //integer
00114 #define ATTRIB_Acct_Output_Gigawords    53 //integer
00115 #define ATTRIB_Event_Timestamp          55 //date
00116 
00117 
00118 #define ATTRIB_CHAP_Challenge                   60 //string
00119 #define ATTRIB_NAS_Port_Type                    61 //enum
00120 #define ATTRIB_Port_Limit                               62 //interger
00121 #define ATTRIB_Login_LAT_Port                   63 //enum
00122 
00123 #define ATTRIB_Acct_Tunnel_Connection   68 //string
00124 
00125 #define ATTRIB_ARAP_Password            70 //  string
00126 #define ATTRIB_ARAP_Features            71 //string
00127 #define ATTRIB_ARAP_Zone_Access         72 //integer
00128 #define ATTRIB_ARAP_Security            73 //integer
00129 #define ATTRIB_ARAP_Security_Data       74 //string
00130 #define ATTRIB_Password_Retry           75 //integer
00131 #define ATTRIB_Prompt                   76 //integer
00132 #define ATTRIB_Connect_Info                             77 //string
00133 #define ATTRIB_Configuration_Token              78 //string
00134 #define ATTRIB_EAP_Message                              79 //octets
00135 #define ATTRIB_Message_Authenticator    80 //octets
00136 #define ATTRIB_ARAP_Challenge_Response  84 //string     # 10 octets
00137 #define ATTRIB_Acct_Interim_Interval    85 //integer
00138 #define ATTRIB_NAS_Port_Id                              87 //string
00139 #define ATTRIB_Framed_Pool                              88 //string
00140 #define ATTRIB_NAS_IPv6_Address                 95 //ipv6addr
00141 #define ATTRIB_Framed_Interface_Id              96 //ifid
00142 #define ATTRIB_Framed_IPv6_Prefix               97 //octets # ipv6prefix
00143 #define ATTRIB_Login_IPv6_Host                  98 //ipv6addr
00144 #define ATTRIB_Framed_IPv6_Route                99 //string
00145 #define ATTRIB_Framed_IPv6_Pool                 100//string
00146 
00147 
00148 #define VALUE_Service_Type_Call_Check   "10"
00149 #define VALUE_Service_Type_Framed_User  "2"
00150 
00151 
00152 
00153 
00154 
00155 #endif //_RADIUS_H_

Generated on Sun Nov 27 20:19:12 2005 for RadiusClass by  doxygen 1.4.2