using debug() in getconfig()
[radsecproxy.git] / radsecproxy.h
index e3fc1cd..8ab3455 100644 (file)
                             sizeof(struct sockaddr_in) : \
                             sizeof(struct sockaddr_in6))
 
-#define MAX_PEERS 256
-/* MAX_REQUESTS is 256 due to Radius' 8 bit ID field */
+#define DEBUG_LEVEL DBG_INFO
+
+#define CONFIG_MAIN "/etc/radsecproxy/radsecproxy.conf"
+#define CONFIG_SERVERS "/etc/radsecproxy/servers.conf"
+#define CONFIG_CLIENTS "/etc/radsecproxy/clients.conf"
+
+/* MAX_REQUESTS must be 256 due to Radius' 8 bit ID field */
 #define MAX_REQUESTS 256
 #define DEFAULT_TLS_SECRET "mysecret"
 #define DEFAULT_UDP_PORT "1812"
 #define DEFAULT_TLS_PORT "2083"
-#define REQUEST_TIMEOUT 5
-
+#define REQUEST_EXPIRY 20
+#define REQUEST_RETRIES 3
+#define MAX_CERT_DEPTH 5
+#define STATUS_SERVER_PERIOD 25
 #define RAD_Access_Request 1
 #define RAD_Access_Accept 2
 #define RAD_Access_Reject 3
 #define RAD_Attr_Length 1
 #define RAD_Attr_Value 2
 
-/* requests that a client will send */
+struct options {
+    char *tlscacertificatefile;
+    char *tlscacertificatepath;
+    char *tlscertificatefile;
+    char *tlscertificatekeyfile;
+    char *tlscertificatekeypassword;
+    char *listenudp;
+    char *listentcp;
+    uint8_t statusserver;
+};
+
+/* requests that our client will send */
 struct request {
     unsigned char *buf;
     uint8_t tries;
     uint8_t received;
     struct timeval expiry;
     struct client *from;
-    char *messageauthattrval;
+    unsigned char *messageauthattrval;
     uint8_t origid; /* used by servwr */
     char origauth[16]; /* used by servwr */
     struct sockaddr_storage fromsa; /* used by udpservwr */
@@ -81,9 +99,6 @@ struct peer {
 struct client {
     struct peer peer;
     struct replyq *replyq;
-    int replycount;
-    pthread_mutex_t replycount_mutex;
-    pthread_cond_t replycount_cond;
 };
 
 struct server {
@@ -95,6 +110,7 @@ struct server {
     pthread_t clientth;
     struct timeval lastconnecttry;
     uint8_t connectionok;
+    int nextid;
     struct request *requests;
     uint8_t newrq;
     pthread_mutex_t newrq_mutex;
@@ -103,6 +119,7 @@ struct server {
 
 void errx(char *format, ...);
 void err(char *format, ...);
+char *stringcopy(char *s, int len);
 char *addr2string(struct sockaddr *addr, socklen_t len);
 int bindport(int type, char *port);
 int connectport(int type, char *host, char *port);