/* ==================================================================== * The Kannel Software License, Version 1.0 * * Copyright (c) 2001-2005 Kannel Group * Copyright (c) 1998-2001 WapIT Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Kannel Group (http://www.kannel.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Kannel" and "Kannel Group" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please * contact org@kannel.org. * * 5. Products derived from this software may not be called "Kannel", * nor may "Kannel" appear in their name, without prior written * permission of the Kannel Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Kannel Group. For more information on * the Kannel Group, please see . * * Portions of this software are based upon software originally written at * WapIT Ltd., Helsinki, Finland for the Kannel project. */ /* * RADIUS Attributes as defined by RFC2865, page 23 and RFC2866 */ #ifndef ATTRIBUTES #error Macro ATTRIBUTES not defined. #endif #ifndef ATTR #error Macro ATTR not defined. #endif #ifndef UNASSIGNED #error Macro UNASSIGNED not defined. #endif /* define the length of the undistinguised octets length */ #define UMAX 128 /* define type mappings for attribute types */ #define ATTR_INT(attr, string) \ ATTR(attr, t_int, string, 4, 4) #define ATTR_IPADDR(attr, string) \ ATTR(attr, t_ipaddr, string, 4, 4) #define ATTR_STR(attr, string, min, max) \ ATTR(attr, t_string, string, min, max) /* * defines the Attribute type, (see RFC2865, page 25 and on) * syntax: ATTR(, , , , ) */ ATTRIBUTES( ATTR_STR(1, "User-Name", 1, 64) ATTR_STR(2, "User-Password", 16, UMAX) ATTR_STR(3, "CHAP-Password", 16, 16) ATTR_IPADDR(4, "NAS-IP-Address") ATTR_INT(5, "NAS-Port") ATTR_INT(6, "Service-Type") ATTR_INT(7, "Framed-Protocol") ATTR_IPADDR(8, "Framed-IP-Address") ATTR_IPADDR(9, "Framed-IP-Netmask") ATTR_INT(10, "Framed-Routing") ATTR_STR(11, "Filter-Id", 1, UMAX) ATTR_INT(12, "Framed-MTU") ATTR_INT(13, "Framed-Compression") ATTR_IPADDR(14, "Login-IP-Host") ATTR_INT(15, "Login-Service") ATTR_INT(16, "Login-TCP-Port") UNASSIGNED(17) ATTR_STR(18, "Reply-Message", 1, UMAX) ATTR_STR(19, "Callback-Number", 1, UMAX) ATTR_STR(20, "Callback-Id", 1, UMAX) UNASSIGNED(21) ATTR_STR(22, "Framed-Route", 1, UMAX) ATTR_IPADDR(23, "Framed-IPX-Network") ATTR_STR(24, "State", 1, UMAX) ATTR_STR(25, "Class", 1, UMAX) ATTR_STR(26, "Vendor-Specific", 5, 256) ATTR_INT(27, "Session-Timeout") ATTR_INT(28, "Idle-Timeout") ATTR_INT(29, "Termination-Action") ATTR_STR(30, "Called-Station-Id", 1, UMAX) ATTR_STR(31, "Calling-Station-Id", 1, UMAX) ATTR_STR(32, "NAS-Identifier", 1, UMAX) ATTR_STR(33, "Proxy-State", 1, UMAX) ATTR_STR(34, "Login-LAT-Service", 1, UMAX) ATTR_STR(35, "Login-LAT-Node", 1, UMAX) ATTR_STR(36, "Login-LAT-Group", 32, 32) ATTR_INT(37, "Framed-AppleTalk-Link") ATTR_INT(38, "Framed-AppleTalk-Network") ATTR_STR(39, "Framed-AppleTalk-Zone", 1, UMAX) /* accounting types (RFC2866, page 10) */ ATTR_INT(40, "Acct-Status-Type") ATTR_INT(41, "Acct-Delay-Time") ATTR_INT(42, "Acct-Input-Octets") ATTR_INT(43, "Acct-Output-Octets") ATTR_STR(44, "Acct-Session-Id", 1, UMAX) ATTR_INT(45, "Acct-Authentic") ATTR_INT(46, "Acct-Session-Time") ATTR_INT(47, "Acct-Input-Packets") ATTR_INT(48, "Acct-Output-Packets") ATTR_INT(49, "Acct-Terminate-Cause") ATTR_STR(50, "Acct-Multi-Session-Id", 1, UMAX) ATTR_INT(51, "Acct-Link-Count") ATTR_STR(60, "CHAP-Challenge", 5, UMAX) ATTR_INT(61, "NAS-Port-Type") ATTR_INT(62, "Port-Limit") ATTR_STR(63, "Login-LAT-Port", 1, UMAX) ) #undef UMAX #undef ATTR_INT #undef ATTR_IPADDR #undef ATTR_STR #undef ATTR #undef UNASSIGNED #undef ATTRIBUTES