/** @file libradsec-impl.h
@brief Libraray internal header file for libradsec. */
-/* See the file COPYING for licensing information. */
+/* See LICENSE for licensing information. */
+
+#ifndef _RADSEC_RADSEC_IMPL_H_
+#define _RADSEC_RADSEC_IMPL_H_ 1
-#include <freeradius/libradius.h>
#include <event2/util.h>
#include <confuse.h>
#if defined(RS_ENABLE_TLS)
struct rs_peer {
struct rs_connection *conn;
struct rs_realm *realm;
- struct evutil_addrinfo *addr;
+ char *hostname;
+ char *service;
char *secret; /* RADIUS secret. */
+ struct evutil_addrinfo *addr_cache;
struct rs_peer *next;
};
/** Top configuration object. */
struct rs_config {
- char *dictionary;
struct rs_realm *realms;
cfg_t *cfg;
};
struct rs_config *config;
struct rs_alloc_scheme alloc_scheme;
struct rs_error *err;
- fr_randctx fr_randctx;
};
struct rs_connection {
/* UDP transport specifics. */
struct event *wev; /* Write event (for UDP). */
struct event *rev; /* Read event (for UDP). */
- struct rs_packet *out_queue; /* Queue for outgoing UDP packets. */
+ struct rs_message *out_queue; /* Queue for outgoing UDP packets. */
#if defined(RS_ENABLE_TLS)
/* TLS specifics. */
SSL_CTX *tls_ctx;
#endif
};
-enum rs_packet_flags {
- rs_packet_hdr_read_flag,
- rs_packet_received_flag,
- rs_packet_sent_flag,
+enum rs_message_flags {
+ RS_MESSAGE_HEADER_READ,
+ RS_MESSAGE_RECEIVED,
+ RS_MESSAGE_SENT,
};
-struct rs_packet {
+struct radius_packet;
+
+struct rs_message {
struct rs_connection *conn;
unsigned int flags;
uint8_t hdr[RS_HEADER_LEN];
- RADIUS_PACKET *rpkt; /* FreeRADIUS object. */
- struct rs_packet *next; /* Used for UDP output queue. */
+ struct radius_packet *rpkt; /* FreeRADIUS object. */
+ struct rs_message *next; /* Used for UDP output queue. */
};
-/* Nonpublic functions (in radsec.c -- FIXME: move?). */
-struct rs_error *rs_resolv (struct evutil_addrinfo **addr,
- rs_conn_type_t type,
- const char *hostname,
- const char *service);
#if defined (__cplusplus)
}
#endif
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
+#endif /* _RADSEC_RADSEC_IMPL_H_ */
+
/* Local Variables: */
/* c-file-style: "stroustrup" */
/* End: */