X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=radsecproxy.h;h=bbb9b588a79bfadb44fe8acc55f37d612384324c;hb=refs%2Fheads%2Fmaint-1.6;hp=be57c56f757b0669e52db30c257861e8f66a8fa5;hpb=3088a78b402246481118226f0344f79bbc7fb353;p=libradsec.git diff --git a/radsecproxy.h b/radsecproxy.h index be57c56..bbb9b58 100644 --- a/radsecproxy.h +++ b/radsecproxy.h @@ -1,19 +1,24 @@ /* * Copyright (C) 2006-2009 Stig Venaas - * Copyright (C) 2010 NORDUnet A/S + * Copyright (C) 2010,2011,2012 NORDUnet A/S * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. */ +#include +#include +#include +#include +#include "list.h" #include "tlv11.h" #include "radmsg.h" #include "gconfig.h" #define DEBUG_LEVEL 2 -#define CONFIG_MAIN "/etc/radsecproxy.conf" +#define CONFIG_MAIN SYSCONFDIR"/radsecproxy.conf" /* MAX_REQUESTS must be 256 due to Radius' 8 bit ID field */ #define MAX_REQUESTS 256 @@ -23,6 +28,7 @@ #define MAX_CERT_DEPTH 5 #define STATUS_SERVER_PERIOD 25 #define IDLE_TIMEOUT 300 +#define PTHREAD_STACK_SIZE 32768 /* 27262 is vendor DANTE Ltd. */ #define DEFAULT_TTL_ATTR "27262:1" @@ -33,13 +39,35 @@ #define RAD_DTLS 3 #define RAD_PROTOCOUNT 4 +enum rsp_fticks_reporting_type { + RSP_FTICKS_REPORTING_NONE = 0, /* Default. */ + RSP_FTICKS_REPORTING_BASIC, + RSP_FTICKS_REPORTING_FULL +}; + +enum rsp_fticks_mac_type { + RSP_FTICKS_MAC_STATIC = 0, + RSP_FTICKS_MAC_ORIGINAL, + RSP_FTICKS_MAC_VENDOR_HASHED, + RSP_FTICKS_MAC_VENDOR_KEY_HASHED, /* Default. */ + RSP_FTICKS_MAC_FULLY_HASHED, + RSP_FTICKS_MAC_FULLY_KEY_HASHED +}; + struct options { + char *pidfile; char *logdestination; + char *ftickssyslogfacility; char *ttlattr; uint32_t ttlattrtype[2]; uint8_t addttl; uint8_t loglevel; uint8_t loopprevention; + enum rsp_fticks_reporting_type fticks_reporting; + enum rsp_fticks_mac_type fticks_mac; + uint8_t *fticks_key; + uint8_t ipv4only; + uint8_t ipv6only; }; struct commonprotoopts { @@ -81,6 +109,7 @@ struct clsrvconf { uint8_t type; /* RAD_UDP/RAD_TLS/RAD_TCP */ const struct protodefs *pdef; char **hostsrc; + int hostaf; char *portsrc; struct list *hostports; char *secret; @@ -106,6 +135,8 @@ struct clsrvconf { struct tls *tlsconf; struct list *clients; struct server *servers; + char *fticks_viscountry; + char *fticks_visinst; }; #include "tlscommon.h" @@ -133,6 +164,10 @@ struct server { uint8_t connectionok; uint8_t lostrqs; uint8_t dynstartup; + uint8_t dynfailing; +#if defined ENABLE_EXPERIMENTAL_DYNDISC + uint8_t in_use; +#endif char *dynamiclookuparg; int nextid; struct timeval lastrcv; @@ -211,6 +246,8 @@ void freerq(struct request *rq); int radsrv(struct request *rq); void replyh(struct server *server, unsigned char *buf); struct addrinfo *resolve_hostport_addrinfo(uint8_t type, char *hostport); +uint8_t *radattr2ascii(struct tlv *attr); +pthread_attr_t pthread_attr; /* Local Variables: */ /* c-file-style: "stroustrup" */