Kea 3.1.9
radius_parsers.h
Go to the documentation of this file.
1// Copyright (C) 2020-2026 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef RADIUS_PARSER_H
8#define RADIUS_PARSER_H
9
10#include <radius.h>
11#include <radius_access.h>
12#include <radius_accounting.h>
13#include <radius_tls.h>
14#include <cc/data.h>
15#include <cc/simple_parser.h>
16#include <set>
17
18namespace isc {
19namespace radius {
20
23public:
24
30
32 static const std::set<std::string> RADIUS_KEYWORDS;
33
36
39};
40
43public:
44
50 void parse(const RadiusServicePtr& service,
51 const data::ConstElementPtr& srv_cfg);
52
54 static const std::set<std::string> SERVICE_KEYWORDS;
55
60 void checkAttributes(const RadiusServicePtr& service);
61};
62
65public:
66
72 void parse(const RadiusServicePtr& service,
73 const data::ConstElementPtr& srv_list);
74};
75
78public:
79
85 void parse(const RadiusServicePtr& service,
86 const data::ElementPtr& server);
87};
88
91public:
92
98 void parse(const RadiusServicePtr& service,
99 const data::ConstElementPtr& attr_list);
100};
101
104public:
105
111 void parse(const RadiusServicePtr& service, const data::ElementPtr& attr);
112
115};
116
117} // end of namespace isc::radius
118} // end of namespace isc
119
120#endif
Attribute list parser for Radius.
void parse(const RadiusServicePtr &service, const data::ConstElementPtr &attr_list)
Parses Radius list of attribute configurations.
Attribute configuration parser for Radius.
static const data::SimpleDefaults ATTRIBUTE_DEFAULTS
Defaults for Radius attribute configuration.
void parse(const RadiusServicePtr &service, const data::ElementPtr &attr)
Parses Radius attribute configuration.
Configuration parser for Radius.
static const std::set< std::string > RADIUS_KEYWORDS
Keywords (aka global configuration entry names).
void parse(data::ElementPtr &config)
Parses Radius configuration.
static const data::SimpleDefaults RADIUS_DEFAULTS
Defaults for Radius configuration.
static const AttrDefList USED_STANDARD_ATTR_DEFS
Needed standard attributes definitions.
Server list parser for Radius.
void parse(const RadiusServicePtr &service, const data::ConstElementPtr &srv_list)
Parses Radius server list.
Server parser for Radius.
void parse(const RadiusServicePtr &service, const data::ElementPtr &server)
Parses Radius server.
Service parser for Radius.
static const std::set< std::string > SERVICE_KEYWORDS
Keywords (aka service configuration entry names).
void checkAttributes(const RadiusServicePtr &service)
Check Radius attributes.
void parse(const RadiusServicePtr &service, const data::ConstElementPtr &srv_cfg)
Parses Radius service.
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:30
std::vector< SimpleDefault > SimpleDefaults
This specifies all default values in a given scope (e.g. a subnet).
boost::shared_ptr< Element > ElementPtr
Definition data.h:29
std::list< AttrDef > AttrDefList
List of Attribute definitions.
boost::shared_ptr< RadiusService > RadiusServicePtr
Type of pointers to Radius service.
Defines the logger used by the top-level component of kea-lfc.