radsecproxy-1.6.5.
[radsecproxy.git] / radsecproxy.h
index 184231b..bbb9b58 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2006-2009 Stig Venaas <venaas@uninett.no>
- * Copyright (C) 2010,2011 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
@@ -18,7 +18,7 @@
 
 #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
@@ -28,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"
@@ -54,6 +55,7 @@ enum rsp_fticks_mac_type {
 };
 
 struct options {
+    char *pidfile;
     char *logdestination;
     char *ftickssyslogfacility;
     char *ttlattr;
@@ -64,6 +66,8 @@ struct options {
     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 {
@@ -105,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;
@@ -159,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;
@@ -238,6 +247,7 @@ 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" */