![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
RADIUS handler for TCP. More...
#include <netdb.h>#include <freeradius-devel/server/protocol.h>#include <freeradius-devel/radius/tcp.h>#include <freeradius-devel/util/trie.h>#include <freeradius-devel/radius/radius.h>#include <freeradius-devel/io/application.h>#include <freeradius-devel/io/listen.h>#include <freeradius-devel/io/schedule.h>#include "proto_radius.h"
Include dependency graph for proto_radius_tcp.c:Go to the source code of this file.
Data Structures | |
| struct | proto_radius_tcp_t |
| struct | proto_radius_tcp_thread_t |
Functions | |
| static fr_client_t * | mod_client_find (fr_listen_t *li, fr_ipaddr_t const *ipaddr, int ipproto) |
| static int | mod_connection_set (fr_listen_t *li, fr_io_address_t *connection) |
| static int | mod_fd_set (fr_listen_t *li, int fd) |
| Set the file descriptor for this socket. | |
| static void | mod_hexdump_set (fr_listen_t *li, void *data) |
| static int | mod_instantiate (module_inst_ctx_t const *mctx) |
| static char const * | mod_name (fr_listen_t *li) |
| static void | mod_network_get (int *ipproto, bool *dynamic_clients, fr_trie_t const **trie, void *instance) |
| static int | mod_open (fr_listen_t *li) |
| Open a TCP listener for RADIUS. | |
| static ssize_t | mod_read (fr_listen_t *li, UNUSED void **packet_ctx, fr_time_t *recv_time_p, uint8_t *buffer, size_t buffer_len, size_t *leftover) |
| static int | mod_track_compare (UNUSED void const *instance, UNUSED void *thread_instance, UNUSED fr_client_t *client, void const *one, void const *two) |
| static ssize_t | mod_write (fr_listen_t *li, void *packet_ctx, UNUSED fr_time_t request_time, uint8_t *buffer, size_t buffer_len, size_t written) |
Variables | |
| static const conf_parser_t | networks_config [] |
| fr_app_io_t | proto_radius_tcp |
| static const conf_parser_t | tcp_listen_config [] |
RADIUS handler for TCP.
Definition in file proto_radius_tcp.c.
| struct proto_radius_tcp_t |
Definition at line 46 of file proto_radius_tcp.c.
Collaboration diagram for proto_radius_tcp_t:| Data Fields | ||
|---|---|---|
| fr_ipaddr_t * | allow | allowed networks for dynamic clients |
| fr_client_list_t * | clients | local clients |
| CONF_SECTION * | cs | our configuration |
| fr_ipaddr_t * | deny | denied networks for dynamic clients |
| bool | dynamic_clients | whether we have dynamic clients |
| char const * | interface | Interface to bind to. |
| fr_ipaddr_t | ipaddr | IP address to listen on. |
| uint32_t | max_attributes | Limit maximum decodable attributes. |
| uint32_t | max_packet_size | for message ring buffer. |
| uint16_t | port | Port to listen on. |
| char const * | port_name | Name of the port for getservent(). |
| bool | read_hexdump | Do we debug hexdump read packets. |
| uint32_t | recv_buff | How big the kernel's receive buffer should be. |
| bool | recv_buff_is_set | Whether we were provided with a recv_buff. |
| fr_trie_t * | trie | for parsed networks |
| bool | write_hexdump | Do we debug hexdump write packets. |
| struct proto_radius_tcp_thread_t |
Definition at line 37 of file proto_radius_tcp.c.
Collaboration diagram for proto_radius_tcp_thread_t:| Data Fields | ||
|---|---|---|
| fr_io_address_t * | connection | for connected sockets. |
| char const * | name | socket name |
| int | sockfd | |
| fr_stats_t | stats | statistics for this socket |
|
static |
|
static |
Definition at line 315 of file proto_radius_tcp.c.
|
static |
Set the file descriptor for this socket.
Definition at line 384 of file proto_radius_tcp.c.
Here is the call graph for this function:
|
static |
Definition at line 427 of file proto_radius_tcp.c.
|
static |
|
static |
Definition at line 420 of file proto_radius_tcp.c.
|
static |
Definition at line 324 of file proto_radius_tcp.c.
|
static |
Open a TCP listener for RADIUS.
Definition at line 337 of file proto_radius_tcp.c.
Here is the call graph for this function:
|
static |
Definition at line 399 of file proto_radius_tcp.c.
|
static |
Definition at line 243 of file proto_radius_tcp.c.
|
static |
Definition at line 75 of file proto_radius_tcp.c.
| fr_app_io_t proto_radius_tcp |
Definition at line 663 of file proto_radius_tcp.c.
|
static |
Definition at line 83 of file proto_radius_tcp.c.
1.9.8