]> git.stg.codes - stg.git/commitdiff
Множественные мелкие хаки для того чтобы rlm_stg собирался для FreeRADIUS-2.*
authorMaxim Mamontov <faust@faust-desktop.(none)>
Wed, 17 Nov 2010 17:00:09 +0000 (19:00 +0200)
committerMaxim Mamontov <faust@faust-desktop.(none)>
Wed, 17 Nov 2010 17:00:09 +0000 (19:00 +0200)
projects/rlm_stg/conffile.h
projects/rlm_stg/event.h
projects/rlm_stg/libradius.h
projects/rlm_stg/modules.h
projects/rlm_stg/radius.h [new file with mode: 0644]
projects/rlm_stg/radiusd.h
projects/rlm_stg/realms.h [deleted file]
projects/rlm_stg/rlm_stg.cpp
projects/rlm_stg/stats.h
projects/rlm_stg/token.h [new file with mode: 0644]

index e940e1156a3087f367aa110631efd06bc79408b7..8998c36dc0697aa36873f4122097130ab4da7bf7 100644 (file)
@@ -8,11 +8,12 @@
  *
  */
 
-#include <freeradius/ident.h>
-RCSIDH(conffile_h, "$Id: conffile.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
+//#include <freeradius/ident.h>
+//RCSIDH(conffile_h, "$Id: conffile.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 
 #include <stddef.h>
-#include <freeradius/token.h>
+//#include <freeradius/token.h>
+#include "libradius.h"
 
 /*
  * Export the minimum amount of information about these structs
index 704f13cc40e865143f41b7a879d7921204f991ea..83a72d012deeb1652ab44a7f34b5b8d70786fac2 100644 (file)
@@ -24,8 +24,8 @@
  * Copyright 2007 Alan DeKok <aland@deployingradius.com>
  */
 
-#include <freeradius/ident.h>
-RCSIDH(event_h, "$Id: event.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
+//#include <freeradius/ident.h>
+//RCSIDH(event_h, "$Id: event.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 
 typedef struct fr_event_list_t fr_event_list_t;
 typedef struct fr_event_t fr_event_t;
index b184a75a3567f44e06f7477d020560e79982f19e..ea35a2a76ecbd353736ed625ee679b5461e18e2f 100644 (file)
@@ -24,8 +24,8 @@
  * Copyright 1999,2000,2001,2002,2003,2004,2005,2006,2007,2008  The FreeRADIUS server project
  */
 
-#include <freeradius/ident.h>
-RCSIDH(libradius_h, "$Id: libradius.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
+//#include <freeradius/ident.h>
+//RCSIDH(libradius_h, "$Id: libradius.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 
 #include <errno.h>
 
@@ -37,9 +37,10 @@ RCSIDH(libradius_h, "$Id: libradius.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 #include <netinet/in.h>
 #include <sys/socket.h>
 
-#include <freeradius/radius.h>
-#include <freeradius/token.h>
-#include <freeradius/hash.h>
+/*#include <freeradius/radius.h>
+#include <freeradius/hash.h>*/
+
+#include "token.h"
 
 #ifdef SIZEOF_UNSIGNED_INT
 #if SIZEOF_UNSIGNED_INT != 4
@@ -50,8 +51,8 @@ RCSIDH(libradius_h, "$Id: libradius.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 /*
  *  Include for modules.
  */
-#include <freeradius/sha1.h>
-#include <freeradius/md4.h>
+/*#include <freeradius/sha1.h>
+#include <freeradius/md4.h>*/
 
 #define EAP_START               2
 
@@ -465,6 +466,6 @@ void *fr_fifo_pop(fr_fifo_t *fi);
 void *fr_fifo_peek(fr_fifo_t *fi);
 int fr_fifo_num_elements(fr_fifo_t *fi);
 
-#include <freeradius/packet.h>
+//#include <freeradius/packet.h>
 
 #endif /*LIBRADIUS_H*/
index e241ca80b3e4f5e91a774a7bd73158dd89316542..cb49f478ac24c42450e9ee15e28aeb7c51e6ef6c 100644 (file)
@@ -8,10 +8,11 @@
 #ifndef RADIUS_MODULES_H
 #define RADIUS_MODULES_H
 
-#include <freeradius/ident.h>
-RCSIDH(modules_h, "$Id: modules.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
+//#include <freeradius/ident.h>
+//RCSIDH(modules_h, "$Id: modules.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 
-#include "conffile.h"
+//#include "conffile.h"
+#include "radiusd.h"
 
 typedef int (*packetmethod)(void *instance, REQUEST *request);
 
diff --git a/projects/rlm_stg/radius.h b/projects/rlm_stg/radius.h
new file mode 100644 (file)
index 0000000..3cf5028
--- /dev/null
@@ -0,0 +1,346 @@
+/*
+ * radius.h    Constants of the radius protocol.
+ *
+ * Version:    $Id$
+ *
+ */
+
+
+#define PW_TYPE_STRING                 0
+#define PW_TYPE_INTEGER                        1
+#define PW_TYPE_IPADDR                 2
+#define PW_TYPE_DATE                   3
+#define PW_TYPE_ABINARY                        4
+#define PW_TYPE_OCTETS                 5
+#define PW_TYPE_IFID                   6
+#define PW_TYPE_IPV6ADDR               7
+#define PW_TYPE_IPV6PREFIX             8
+#define PW_TYPE_BYTE                   9
+#define PW_TYPE_SHORT                  10
+#define PW_TYPE_ETHERNET               11
+#define PW_TYPE_SIGNED                 12
+#define PW_TYPE_COMBO_IP               13
+#define PW_TYPE_TLV                    14
+
+#define        PW_AUTHENTICATION_REQUEST       1
+#define        PW_AUTHENTICATION_ACK           2
+#define        PW_AUTHENTICATION_REJECT        3
+#define        PW_ACCOUNTING_REQUEST           4
+#define        PW_ACCOUNTING_RESPONSE          5
+#define        PW_ACCOUNTING_STATUS            6
+#define PW_PASSWORD_REQUEST            7
+#define PW_PASSWORD_ACK                        8
+#define PW_PASSWORD_REJECT             9
+#define        PW_ACCOUNTING_MESSAGE           10
+#define PW_ACCESS_CHALLENGE            11
+#define PW_STATUS_SERVER               12
+#define PW_STATUS_CLIENT               13
+#define PW_DISCONNECT_REQUEST          40
+#define PW_DISCONNECT_ACK              41
+#define PW_DISCONNECT_NAK              42
+#define PW_COA_REQUEST                 43
+#define PW_COA_ACK                     44
+#define PW_COA_NAK                     45
+
+#define PW_AUTH_UDP_PORT                1812
+#define PW_ACCT_UDP_PORT                1813
+#define PW_POD_UDP_PORT                        1700
+#define PW_COA_UDP_PORT                        3799
+
+#define        PW_USER_NAME                    1
+#define        PW_USER_PASSWORD                2
+#define        PW_PASSWORD                     2
+#define        PW_CHAP_PASSWORD                3
+#define        PW_NAS_IP_ADDRESS               4
+#define        PW_NAS_PORT                     5
+#define        PW_SERVICE_TYPE                 6
+#define        PW_FRAMED_PROTOCOL              7
+#define        PW_FRAMED_IP_ADDRESS            8
+#define        PW_FRAMED_IP_NETMASK            9
+#define        PW_FRAMED_ROUTING               10
+#define        PW_FILTER_ID                    11
+#define        PW_FRAMED_MTU                   12
+#define        PW_FRAMED_COMPRESSION           13
+#define        PW_LOGIN_IP_HOST                14
+#define        PW_LOGIN_SERVICE                15
+#define        PW_LOGIN_TCP_PORT               16
+#define PW_OLD_PASSWORD                        17
+#define PW_REPLY_MESSAGE               18
+#define PW_CALLBACK_NUMBER             19
+#define PW_CALLBACK_ID                 20
+#if 0
+/*
+ *  Deprecated, and no longer used.
+ */
+#define PW_EXPIRATION                  21
+#endif
+#define PW_FRAMED_ROUTE                        22
+#define PW_FRAMED_IPXNET               23
+#define PW_STATE                       24
+#define PW_CLASS                       25
+#define PW_VENDOR_SPECIFIC             26
+#define PW_SESSION_TIMEOUT             27
+#define PW_IDLE_TIMEOUT                        28
+#define PW_CALLED_STATION_ID           30
+#define PW_CALLING_STATION_ID          31
+#define PW_NAS_IDENTIFIER              32
+#define PW_PROXY_STATE                 33
+
+#define PW_ACCT_STATUS_TYPE            40
+#define PW_ACCT_DELAY_TIME             41
+#define PW_ACCT_INPUT_OCTETS           42
+#define PW_ACCT_OUTPUT_OCTETS          43
+#define PW_ACCT_SESSION_ID             44
+#define PW_ACCT_AUTHENTIC              45
+#define PW_ACCT_SESSION_TIME           46
+#define PW_ACCT_INPUT_PACKETS          47
+#define PW_ACCT_OUTPUT_PACKETS         48
+#define PW_ACCT_TERMINATE_CAUSE                49
+
+#define PW_EVENT_TIMESTAMP             55
+
+#define PW_CHAP_CHALLENGE              60
+#define PW_NAS_PORT_TYPE               61
+#define PW_PORT_LIMIT                  62
+
+#define PW_ARAP_PASSWORD               70
+#define PW_ARAP_FEATURES               71
+#define PW_ARAP_ZONE_ACCESS            72
+#define PW_ARAP_SECURITY               73
+#define PW_ARAP_SECURITY_DATA          74
+#define PW_PASSWORD_RETRY              75
+#define PW_PROMPT                      76
+#define PW_CONNECT_INFO                        77
+#define PW_CONFIGURATION_TOKEN         78
+#define PW_EAP_MESSAGE                  79
+#define PW_MESSAGE_AUTHENTICATOR        80
+
+#define PW_ARAP_CHALLENGE_RESPONSE     84
+#define PW_NAS_PORT_ID_STRING                  87
+#define PW_FRAMED_POOL                 88
+#define PW_CHARGEABLE_USER_IDENTITY    89
+#define PW_NAS_IPV6_ADDRESS            95
+
+#define PW_EXTENDED_ATTRIBUTE          192
+
+#define PW_DIGEST_RESPONSE             206
+#define PW_DIGEST_ATTRIBUTES           207
+
+#define PW_FALL_THROUGH                        500
+#define PW_EXEC_PROGRAM                        502
+#define PW_EXEC_PROGRAM_WAIT           503
+
+#define PW_AUTH_TYPE                   1000
+#define PW_PREFIX                      1003
+#define PW_SUFFIX                      1004
+#define PW_GROUP                       1005
+#define PW_CRYPT_PASSWORD              1006
+#define PW_CONNECT_RATE                        1007
+#define PW_ADD_PREFIX                  1008
+#define PW_ADD_SUFFIX                  1009
+#define PW_EXPIRATION                  1010
+#define PW_AUTZ_TYPE                   1011
+#define PW_ACCT_TYPE                   1012
+#define PW_SESSION_TYPE                        1013
+#define PW_POST_AUTH_TYPE              1014
+#define PW_PRE_PROXY_TYPE              1015
+#define PW_POST_PROXY_TYPE             1016
+#define PW_PRE_ACCT_TYPE               1017
+#define PW_EAP_TYPE                    1018
+#define PW_EAP_TLS_REQUIRE_CLIENT_CERT 1019
+#define PW_CLIENT_SHORTNAME            1024
+#define PW_LOAD_BALANCE_KEY            1025
+#define PW_RAW_ATTRIBUTE               1026
+#define PW_TNC_VLAN_ACCESS             1027
+#define PW_TNC_VLAN_ISOLATE            1028
+#define PW_USER_CATEGORY               1029
+#define PW_GROUP_NAME                  1030
+#define PW_HUNTGROUP_NAME              1031
+#define PW_SIMULTANEOUS_USE            1034
+#define PW_STRIP_USER_NAME             1035
+#define PW_HINT                                1040
+#define PAM_AUTH_ATTR                  1041
+#define PW_LOGIN_TIME                  1042
+#define PW_STRIPPED_USER_NAME          1043
+#define PW_CURRENT_TIME                        1044
+#define PW_REALM                       1045
+#define PW_NO_SUCH_ATTRIBUTE           1046
+#define PW_PACKET_TYPE                 1047
+#define PW_PROXY_TO_REALM                      1048
+#define PW_REPLICATE_TO_REALM                  1049
+#define PW_ACCT_SESSION_START_TIME     1050
+#define PW_ACCT_UNIQUE_SESSION_ID      1051
+#define PW_CLIENT_IP_ADDRESS           1052
+#define PW_LDAP_USERDN                 1053
+#define PW_NS_MTA_MD5_PASSWORD         1054
+#define PW_SQL_USER_NAME               1055
+#define PW_LM_PASSWORD                 1057
+#define PW_NT_PASSWORD                 1058
+#define PW_SMB_ACCOUNT_CTRL            1059
+#define PW_SMB_ACCOUNT_CTRL_TEXT       1061
+#define PW_USER_PROFILE                        1062
+#define PW_DIGEST_REALM                        1063
+#define PW_DIGEST_NONCE                        1064
+#define PW_DIGEST_METHOD               1065
+#define PW_DIGEST_URI                  1066
+#define PW_DIGEST_QOP                  1067
+#define PW_DIGEST_ALGORITHM            1068
+#define PW_DIGEST_BODY_DIGEST          1069
+#define PW_DIGEST_CNONCE               1070
+#define PW_DIGEST_NONCE_COUNT          1071
+#define PW_DIGEST_USER_NAME            1072
+#define PW_POOL_NAME                   1073
+#define PW_LDAP_GROUP                  1074
+#define PW_MODULE_SUCCESS_MESSAGE      1075
+#define PW_MODULE_FAILURE_MESSAGE      1076
+#if 0 /* no longer used */
+#define PW_X99_FAST                    1077
+#endif
+#define PW_REWRITE_RULE                        1078
+#define PW_SQL_GROUP                   1079
+#define PW_RESPONSE_PACKET_TYPE                1080
+#define PW_DIGEST_HA1                  1081
+#define PW_MS_CHAP_USE_NTLM_AUTH       1082
+#define PW_MS_CHAP_USER_NAME           1083
+#define PW_PACKET_SRC_IP_ADDRESS       1084
+#define PW_PACKET_DST_IP_ADDRESS       1085
+#define PW_PACKET_SRC_PORT             1086
+#define PW_PACKET_DST_PORT             1087
+#define PW_PACKET_AUTHENTICATION_VECTOR        1088
+#define PW_TIME_OF_DAY                 1089
+#define PW_REQUEST_PROCESSING_STAGE    1090
+#define PW_CACHE_NO_CACHING            1091
+#define PW_CACHE_DELETE_CACHE          1092
+
+#define PW_SHA_PASSWORD                        1093
+#define PW_SSHA_PASSWORD               1094
+#define PW_MD5_PASSWORD                        1095
+#define PW_SMD5_PASSWORD               1096
+
+#define PW_PACKET_SRC_IPV6_ADDRESS     1097
+#define PW_PACKET_DST_IPV6_ADDRESS     1098
+#define PW_VIRTUAL_SERVER              1099
+#define PW_CLEARTEXT_PASSWORD          1100
+#define PW_PASSWORD_WITH_HEADER                1101
+#define PW_SEND_COA_REQUEST            1107
+#define PW_MODULE_RETURN_CODE          1108
+#define PW_PACKET_ORIGINAL_TIMESTAMP           1109
+#define PW_HOME_SERVER_POOL            1111
+#define PW_RECV_COA_TYPE               1131
+#define PW_SEND_COA_TYPE               1132
+#define PW_MSCHAP_PASSWORD             1133
+#define PW_PACKET_TRANSMIT_COUNTER             1134
+#define PW_CACHED_SESSION_POLICY       1135
+
+/*
+ *     Integer Translations
+ */
+
+/*     User Types      */
+
+#define        PW_LOGIN_USER                   1
+#define        PW_FRAMED_USER                  2
+#define        PW_CALLBACK_LOGIN_USER          3
+#define        PW_CALLBACK_FRAMED_USER         4
+#define PW_OUTBOUND_USER               5
+#define PW_ADMINISTRATIVE_USER         6
+#define PW_NAS_PROMPT_USER             7
+#define PW_AUTHENTICATE_ONLY           8
+#define PW_CALLBACK_NAS_PROMPT         9
+
+/*     Framed Protocols        */
+
+#define        PW_PPP                          1
+#define        PW_SLIP                         2
+
+/*     Framed Routing Values   */
+
+#define        PW_NONE                         0
+#define        PW_BROADCAST                    1
+#define        PW_LISTEN                       2
+#define        PW_BROADCAST_LISTEN             3
+
+/*     Framed Compression Types        */
+
+#define        PW_VAN_JACOBSEN_TCP_IP          1
+
+/*     Login Services  */
+
+#define        PW_TELNET                       0
+#define        PW_RLOGIN                       1
+#define        PW_TCP_CLEAR                    2
+#define        PW_PORTMASTER                   3
+
+/*     Authentication Level    */
+
+#define PW_AUTHTYPE_LOCAL              0
+#define PW_AUTHTYPE_SYSTEM             1
+#define PW_AUTHTYPE_SECURID            2
+#define PW_AUTHTYPE_CRYPT              3
+#define PW_AUTHTYPE_REJECT             4
+#define PW_AUTHTYPE_ACTIVCARD          5
+#define PW_AUTHTYPE_EAP                 6
+#define PW_AUTHTYPE_ACCEPT             254
+#define PW_AUTHTYPE_MS_CHAP            1028
+
+/*     Port Types              */
+
+#define PW_NAS_PORT_ASYNC              0
+#define PW_NAS_PORT_SYNC               1
+#define PW_NAS_PORT_ISDN               2
+#define PW_NAS_PORT_ISDN_V120          3
+#define PW_NAS_PORT_ISDN_V110          4
+
+/*     Status Types    */
+
+#define PW_STATUS_START                        1
+#define PW_STATUS_STOP                 2
+#define PW_STATUS_ALIVE                        3
+#define PW_STATUS_ACCOUNTING_ON                7
+#define PW_STATUS_ACCOUNTING_OFF       8
+
+/*
+ *  Vendor Private Enterprise Codes
+ */
+#define VENDORPEC_FREERADIUS   11344
+
+
+/*
+ * Vendor specific attributes
+ */
+#define PW_FREERADIUS_PROXIED_TO       ((VENDORPEC_FREERADIUS<<16)|1)
+
+/*
+ *  Microsoft has vendor code 311.
+ */
+#define PW_MSCHAP_RESPONSE     ((311 << 16) | 1)
+#define PW_MSCHAP_ERROR                ((311 << 16) | 2)
+#define PW_MSCHAP_CHALLENGE    ((311 << 16) | 11)
+#define PW_MSCHAP2_RESPONSE    ((311 << 16) | 25)
+#define PW_MSCHAP2_SUCCESS     ((311 << 16) | 26)
+
+
+/*
+ *  Old nonsense.  Will be deleted ASAP
+ */
+#define PW_AUTHTYPE                    1000
+#define PW_AUTZTYPE                    1011
+#define PW_ACCTTYPE                    1012
+#define PW_SESSTYPE                    1013
+#define PW_POSTAUTHTYPE                        1014
+
+/*
+ *     Cisco's VLAN Query Protocol.
+ */
+#define PW_VQP_PACKET_TYPE             0x2b00
+#define PW_VQP_ERROR_CODE              0x2b01
+#define PW_VQP_SEQUENCE_NUMBER         0x2b02
+
+#define PW_VQP_CLIENT_IP_ADDRESS        0x2c01
+#define PW_VQP_PORT_NAME               0x2c02
+#define PW_VQP_VLAN_NAME               0x2c03
+#define PW_VQP_DOMAIN_NAME             0x2c04
+#define PW_VQP_ETHERNET_FRAME          0x2c05
+#define PW_VQP_MAC                     0x2c06
+#define PW_VQP_UNKNOWN                 0x2c07
+#define PW_VQP_COOKIE                  0x2c08
index 2b93ee3acc136e8aace8696fa0558c8b57f75f05..16fab301b7becaa21cb6a7a15593fd0f4de32279 100644 (file)
  *
  */
 
-#include <freeradius/ident.h>
-RCSIDH(radiusd_h, "$Id: radiusd.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
+//#include <freeradius/ident.h>
+//RCSIDH(radiusd_h, "$Id: radiusd.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 
 #include "libradius.h"
-#include <freeradius/radpaths.h>
-#include "conf.h"
+//#include <freeradius/radpaths.h>
+//#include "conf.h"
 #include "conffile.h"
 #include "event.h"
 
@@ -100,7 +100,7 @@ typedef struct auth_req REQUEST;
 #endif
 
 #include "stats.h"
-#include "realms.h"
+/*#include "realms.h"*/
 
 
 /*
@@ -119,7 +119,7 @@ typedef struct radclient {
        char                    *login;
        char                    *password;
        char                    *server;
-       int                     number; /* internal use only */
+       int                     number;
        const CONF_SECTION      *cs;
 #ifdef WITH_STATS
        fr_stats_t              *auth;
@@ -130,7 +130,7 @@ typedef struct radclient {
 
 #ifdef WITH_DYNAMIC_CLIENTS
        int                     lifetime;
-       int                     dynamic; /* was dynamically defined */
+       int                     dynamic;
        time_t                  created;
        time_t                  last_new_client;
        char                    *client_server;
diff --git a/projects/rlm_stg/realms.h b/projects/rlm_stg/realms.h
deleted file mode 100644 (file)
index 6b03bcd..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifndef REALMS_H
-#define REALMS_H
-
-/*
- * realms.h    Structures, prototypes and global variables
- *             for realms
- *
- * Version:    $Id: realms.h,v 1.1 2010/08/14 04:13:52 faust Exp $
- *
- */
-
-#include <freeradius/ident.h>
-RCSIDH(realms_h, "$Id: realms.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
-
-#define HOME_TYPE_INVALID (0)
-#define HOME_TYPE_AUTH    (1)
-#define HOME_TYPE_ACCT    (2)
-#ifdef WITH_COA
-#define HOME_TYPE_COA     (3)
-#endif
-
-#define HOME_PING_CHECK_NONE           (0)
-#define HOME_PING_CHECK_STATUS_SERVER  (1)
-#define HOME_PING_CHECK_REQUEST                (2)
-
-#define HOME_STATE_ALIVE               (0)
-#define HOME_STATE_ZOMBIE              (1)
-#define HOME_STATE_IS_DEAD             (2)
-
-typedef struct home_server {
-       const char      *name;
-
-       const char      *hostname;
-       const char      *server; /* for internal proxying */
-
-       fr_ipaddr_t     ipaddr;
-
-       int             port;
-       int             type;           /* auth/acct */
-
-       /*
-        *      Maybe also have list of source IP/ports, && socket?
-        */
-
-       const char      *secret;
-
-       fr_event_t      *ev;
-       struct timeval  when;
-
-       int             response_window;
-       int             no_response_fail;
-       int             max_outstanding; /* don't overload it */
-       int             currently_outstanding;
-       int             message_authenticator;
-
-       struct timeval  revive_time;
-       struct timeval  zombie_period_start;
-       int             zombie_period; /* unresponsive for T, mark it dead */
-
-       int             state;
-
-       int             ping_check;
-       const char      *ping_user_name;
-       const char      *ping_user_password;
-
-       int             ping_interval;
-       int             num_pings_to_alive;
-       int             num_received_pings;
-       int             ping_timeout;
-
-       int             revive_interval; /* if it doesn't support pings */
-       CONF_SECTION    *cs;
-#ifdef WITH_COA
-       int                     coa_irt;
-       int                     coa_mrc;
-       int                     coa_mrt;
-       int                     coa_mrd;
-#endif
-#ifdef WITH_STATS
-       int             number;
-
-       fr_ipaddr_t     src_ipaddr; /* preferred source IP address */
-
-       fr_stats_t      stats;
-
-       fr_stats_ema_t  ema;
-#endif
-} home_server;
-
-
-typedef enum home_pool_type_t {
-       HOME_POOL_INVALID = 0,
-       HOME_POOL_LOAD_BALANCE,
-       HOME_POOL_FAIL_OVER,
-       HOME_POOL_CLIENT_BALANCE,
-       HOME_POOL_CLIENT_PORT_BALANCE,
-       HOME_POOL_KEYED_BALANCE
-} home_pool_type_t;
-
-
-typedef struct home_pool_t {
-       const char              *name;
-       home_pool_type_t        type;
-
-       int                     server_type;
-       CONF_SECTION            *cs;
-
-       const char              *virtual_server; /* for pre/post-proxy */
-       
-       home_server             *fallback;
-
-       int                     num_home_servers;
-       home_server             *servers[1];
-} home_pool_t;
-
-
-typedef struct _realm {
-       const char              *name;
-
-       int                     striprealm;
-
-       home_pool_t             *auth_pool;
-       home_pool_t             *acct_pool;
-} REALM;
-
-int realms_init(CONF_SECTION *config);
-void realms_free(void);
-REALM *realm_find(const char *name); /* name is from a packet */
-REALM *realm_find2(const char *name); /* ... with name taken from realm_find */
-
-home_server *home_server_ldb(const char *realmname, home_pool_t *pool, REQUEST *request);
-home_server *home_server_find(fr_ipaddr_t *ipaddr, int port);
-int    home_server_create_listeners(void *head);
-#ifdef WITH_COA
-home_server *home_server_byname(const char *name, int type);
-#endif
-#ifdef WITH_STATS
-home_server *home_server_bynumber(int number);
-#endif
-home_pool_t *home_pool_byname(const char *name, int type);
-
-#endif /* REALMS_H */
index f3860cf4d1ddb7e52e8c0b756b3f55648dce2de1..c5b5d7d92c1e29a98b7b0b1d331e8107140fcb26 100644 (file)
 #include <cstring>
 
 extern "C" {
-//#include <freeradius/libradius.h>
-#include "radiusd.h"
+#include "radius.h"
 #include "modules.h"
-//#include <freeradius/conffile.h>
 }
 
 #include "stg_client.h"
index f584cba64a80ba1c14fbb5ef3880bc6e64abd7d8..88ef17306e51b74cf37278fb90d20d4400f6df62 100644 (file)
@@ -23,8 +23,8 @@
  * Copyright 2005,2006,2007,2008  The FreeRADIUS server project
  */
 
-#include <freeradius/ident.h>
-RCSIDH(stats_h, "$Id: stats.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
+//#include <freeradius/ident.h>
+//RCSIDH(stats_h, "$Id: stats.h,v 1.1 2010/08/14 04:13:52 faust Exp $")
 
 #ifdef WITH_STATS_64BIT
 typedef uint64_t fr_uint_t;
diff --git a/projects/rlm_stg/token.h b/projects/rlm_stg/token.h
new file mode 100644 (file)
index 0000000..0f55378
--- /dev/null
@@ -0,0 +1,79 @@
+#ifndef FR_TOKEN_H
+#define FR_TOKEN_H
+
+/*
+ * token.h     Special tokens.
+ *
+ * $Id$
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ * Copyright 2001,2006  The FreeRADIUS server project
+ */
+
+//#include <freeradius-devel/ident.h>
+//RCSIDH(token_h, "$Id$")
+
+typedef enum fr_token_t {
+  T_OP_INVALID = 0,            /* invalid token */
+  T_EOL,                       /* end of line */
+  T_LCBRACE,                   /* { */
+  T_RCBRACE,                   /* } */
+  T_LBRACE,                    /* ( */
+  T_RBRACE,                    /* )             5 */
+  T_COMMA,                     /* , */
+  T_SEMICOLON,                 /* ; */
+
+  T_OP_ADD,                    /* += */
+  T_OP_SUB,                    /* -= */
+  T_OP_SET,                    /* :=           10 */
+  T_OP_EQ,                     /* = */
+  T_OP_NE,                     /* != */
+  T_OP_GE,                     /* >= */
+  T_OP_GT,                     /* > */
+  T_OP_LE,                     /* <=           15 */
+  T_OP_LT,                     /* < */
+  T_OP_REG_EQ,                 /* =~ */
+  T_OP_REG_NE,                 /* !~ */
+  T_OP_CMP_TRUE,                /* =* */
+  T_OP_CMP_FALSE,               /* !*          20 */
+  T_OP_CMP_EQ,                 /* == */
+  T_HASH,                      /* # */
+  T_BARE_WORD,                 /* bare word */
+  T_DOUBLE_QUOTED_STRING,      /* "foo" */
+  T_SINGLE_QUOTED_STRING,      /* 'foo'        25 */
+  T_BACK_QUOTED_STRING,                /* `foo` */
+  T_TOKEN_LAST
+} FR_TOKEN;
+
+#define T_EQSTART      T_OP_ADD
+#define        T_EQEND         (T_OP_CMP_EQ + 1)
+
+typedef struct FR_NAME_NUMBER {
+       const char      *name;
+       int             number;
+} FR_NAME_NUMBER;
+
+int fr_str2int(const FR_NAME_NUMBER *table, const char *name, int def);
+const char *fr_int2str(const FR_NAME_NUMBER *table, int number,
+                        const char *def);
+
+
+int            getword (const char **ptr, char *buf, int buflen);
+int            getbareword (const char **ptr, char *buf, int buflen);
+FR_TOKEN       gettoken(const char **ptr, char *buf, int buflen);
+FR_TOKEN       getstring(const char **ptr, char *buf, int buflen);
+
+#endif /* FR_TOKEN_H */