X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=radsecproxy.h;h=08e98b2b7b4647567296237bc3fa363b3c5c8b6e;hb=aae44f48c768f74de245efe4ba277d355e2ebbb9;hp=9c61ca7de63d9a6f6fa14a6d576845adbf2d9983;hpb=772a55eacedd6a21e484d372c6436d9ef5138934;p=libradsec.git diff --git a/radsecproxy.h b/radsecproxy.h index 9c61ca7..08e98b2 100644 --- a/radsecproxy.h +++ b/radsecproxy.h @@ -1,16 +1,22 @@ /* - * Copyright (C) 2006-2008 Stig Venaas + * Copyright (C) 2006-2009 Stig Venaas + * Copyright (C) 2010,2011 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 3 +#define DEBUG_LEVEL 2 #define CONFIG_MAIN "/etc/radsecproxy.conf" @@ -32,6 +38,21 @@ #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 *logdestination; char *ttlattr; @@ -39,6 +60,9 @@ struct options { 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; }; struct commonprotoopts { @@ -79,8 +103,9 @@ struct clsrvconf { char *name; uint8_t type; /* RAD_UDP/RAD_TLS/RAD_TCP */ const struct protodefs *pdef; - char *host; - char *port; + char **hostsrc; + char *portsrc; + struct list *hostports; char *secret; char *tls; char *matchcertattr; @@ -97,14 +122,14 @@ struct clsrvconf { uint8_t dupinterval; uint8_t certnamecheck; uint8_t addttl; + uint8_t loopprevention; struct rewrite *rewritein; struct rewrite *rewriteout; - struct addrinfo *addrinfo; - uint8_t prefixlen; pthread_mutex_t *lock; /* only used for updating clients so far */ struct tls *tlsconf; struct list *clients; struct server *servers; + char *fticks_viscountry; }; #include "tlscommon.h" @@ -131,6 +156,7 @@ struct server { struct timeval lastreply; uint8_t connectionok; uint8_t lostrqs; + uint8_t dynstartup; char *dynamiclookuparg; int nextid; struct timeval lastrcv; @@ -209,3 +235,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); + +/* Local Variables: */ +/* c-file-style: "stroustrup" */ +/* End: */