X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/16060c9b46a9a84f18629b0234d09144ba68a746..dabab7c78d2a621f1a6c22b14ec29b7fa7f4ad6e:/projects/rlm_stg/realms.h diff --git a/projects/rlm_stg/realms.h b/projects/rlm_stg/realms.h deleted file mode 100644 index 6b03bcd5..00000000 --- a/projects/rlm_stg/realms.h +++ /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 -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 */