summaryrefslogtreecommitdiff
path: root/lib/include/radsec
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
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')
-rw-r--r--lib/include/radsec/radsec-impl.h17
-rw-r--r--lib/include/radsec/radsec.h3
2 files changed, 14 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;
};
diff --git a/lib/include/radsec/radsec.h b/lib/include/radsec/radsec.h
index ee8c6a8..0a43f6f 100644
--- a/lib/include/radsec/radsec.h
+++ b/lib/include/radsec/radsec.h
@@ -208,6 +208,9 @@ int rs_context_set_alloc_scheme(struct rs_context *ctx,
accessed using \a rs_err_ctx_pop. */
int rs_context_read_config(struct rs_context *ctx, const char *config_file);
+int rs_context_print_config (struct rs_context *ctx, char **buf_out);
+
+
/****************/
/* Connection. */
/****************/