-/*
- * Copyright (C) 2006-2009 Stig Venaas <venaas@uninett.no>
- * Copyright (C) 2010 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.
- */
-
+/* Copyright (c) 2006-2010, UNINETT AS.
+ * Copyright (c) 2010, UNINETT AS, NORDUnet A/S.
+ * Copyright (c) 2010-2012, NORDUnet A/S. */
+/* See LICENSE for licensing information. */
+
+#include <sys/time.h>
+#include <stdint.h>
+#include <pthread.h>
+#include <regex.h>
+#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
#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 {
uint8_t type; /* RAD_UDP/RAD_TLS/RAD_TCP */
const struct protodefs *pdef;
char **hostsrc;
+ int hostaf;
char *portsrc;
struct list *hostports;
char *secret;
struct tls *tlsconf;
struct list *clients;
struct server *servers;
+ char *fticks_viscountry;
+ char *fticks_visinst;
};
#include "tlscommon.h"
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;
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" */