summaryrefslogtreecommitdiff
path: root/lib/include/radsec/radsec-impl.h
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2013-02-11 16:41:47 +0100
committerLinus Nordberg <linus@nordberg.se>2013-02-11 16:41:47 +0100
commitd640207c74e0aaf5b4a3faf61c38e17796bf76a2 (patch)
treed79a0eabf66503525f4bf1a3495e00ed50f7d207 /lib/include/radsec/radsec-impl.h
parent8d113bba795b1b8cf4ab55b362108f2c819e039d (diff)
Add support for configuring client connections too.
We're moving x509 and psk config from rs_realm to rs_peer while allowing these to be configured on the realm level and overriden at peer level. Also, add support for printing the read configuration, for debugging.
Diffstat (limited to 'lib/include/radsec/radsec-impl.h')
-rw-r--r--lib/include/radsec/radsec-impl.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/include/radsec/radsec-impl.h b/lib/include/radsec/radsec-impl.h
index 9f8ebbb..ef01d70 100644
--- a/lib/include/radsec/radsec-impl.h
+++ b/lib/include/radsec/radsec-impl.h
@@ -40,7 +40,6 @@ struct rs_credentials {
char *identity;
char *secret;
enum rs_key_encoding secret_encoding;
- unsigned int secret_len;
};
struct rs_error {
@@ -48,14 +47,25 @@ struct rs_error {
char buf[1024];
};
+enum rs_peer_type {
+ RS_PEER_TYPE_CLIENT = 1,
+ RS_PEER_TYPE_SERVER = 2
+};
+
/** Configuration object for a connection. */
struct rs_peer {
+ enum rs_peer_type type;
struct rs_connection *conn;
struct rs_realm *realm;
char *hostname;
char *service;
char *secret; /* RADIUS secret. */
struct evutil_addrinfo *addr_cache;
+ char *cacertfile;
+ char *cacertpath;
+ char *certfile;
+ char *certkeyfile;
+ struct rs_credentials *transport_cred;
struct rs_peer *next;
};
@@ -65,11 +75,6 @@ struct rs_realm {
enum rs_conn_type type;
int timeout;
int retries;
- char *cacertfile;
- char *cacertpath;
- char *certfile;
- char *certkeyfile;
- struct rs_credentials *transport_cred;
struct rs_peer *peers;
struct rs_realm *next;
};