Commit d229a3b7 authored by venaas's avatar venaas Committed by venaas
Browse files

started on dtls support

git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@333 e88ac4ed-0b26-0410-9574-a7f39faa03bf
parent 0265871b
......@@ -140,6 +140,20 @@ static const struct protodefs protodefs[] = {
tcpclientrd, /* clientreader */
clientradputtcp /* clientradput */
},
{ "dtls", /* DTLS, assuming RAD_DTLS defined as 3 */
NULL, /* secretdefault */
SOCK_DGRAM, /* socktype */
"1812", /* portdefault */
REQUEST_RETRY_COUNT, /* retrycountdefault */
10, /* retrycountmax */
REQUEST_RETRY_INTERVAL, /* retryintervaldefault */
60, /* retryintervalmax */
udpserverrd, /* listener */
&options.sourceudp, /* srcaddrport */
NULL, /* connecter */
udpclientrd, /* clientreader */
clientradputudp /* clientradput */
},
{ NULL
}
};
......@@ -615,6 +629,7 @@ void freeserver(struct server *server, uint8_t destroymutex) {
int addserver(struct clsrvconf *conf) {
struct clsrvconf *res;
uint8_t type;
if (conf->servers) {
debug(DBG_ERR, "addserver: currently works with just one server per conf");
......@@ -628,14 +643,18 @@ int addserver(struct clsrvconf *conf) {
memset(conf->servers, 0, sizeof(struct server));
conf->servers->conf = conf;
if (!srcprotores[conf->type]) {
res = resolve_hostport(conf->type, *conf->pdef->srcaddrport, NULL);
srcprotores[conf->type] = res->addrinfo;
type = conf->type;
if (type == RAD_DTLS)
type = RAD_UDP;
if (!srcprotores[type]) {
res = resolve_hostport(type, *conf->pdef->srcaddrport, NULL);
srcprotores[type] = res->addrinfo;
res->addrinfo = NULL;
freeclsrvres(res);
}
if (conf->type == RAD_UDP) {
if (type == RAD_UDP) {
switch (conf->addrinfo->ai_family) {
case AF_INET:
if (udp_client4_sock < 0) {
......
......@@ -29,6 +29,7 @@
#define RAD_UDP 0
#define RAD_TLS 1
#define RAD_TCP 2
#define RAD_DTLS 3
#define RAD_Attr_User_Name 1
#define RAD_Attr_User_Password 2
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment