Kea 3.1.1
radius_parsers.h
Go to the documentation of this file.
1// Copyright (C) 2020-2025 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 <cc/data.h>
14#include <cc/simple_parser.h>
15#include <set>
16
17namespace isc {
18namespace radius {
19
22public:
23
29
31 static const std::set<std::string> RADIUS_KEYWORDS;
32
35
38};
39
42public:
43
49 void parse(const RadiusServicePtr& service,
50 const data::ConstElementPtr& srv_cfg);
51
53 static const std::set<std::string> SERVICE_KEYWORDS;
54
59 void checkAttributes(const RadiusServicePtr& service);
60};
61
64public:
65
71 void parse(const RadiusServicePtr& service,
72 const data::ConstElementPtr& srv_list);
73};
74
77public:
78
84 void parse(const RadiusServicePtr& service,
85 const data::ElementPtr& server);
86};
87
90public:
91
97 void parse(const RadiusServicePtr& service,
98 const data::ConstElementPtr& attr_list);
99};
100
103public:
104
110 void parse(const RadiusServicePtr& service, const data::ElementPtr& attr);
111
114};
115
116} // end of namespace isc::radius
117} // end of namespace isc
118
119#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:29
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:28
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.