DHCPV6 master protocol handler.  
More...
#include <freeradius-devel/io/listen.h>
#include <freeradius-devel/server/module_rlm.h>
#include <freeradius-devel/util/debug.h>
#include "proto_dns.h"
Go to the source code of this file.
|  | 
| static int | mod_decode (UNUSED void const *instance, request_t *request, uint8_t *const data, size_t data_len) | 
|  | Decode the packet. 
 | 
|  | 
| static ssize_t | mod_encode (UNUSED void const *instance, request_t *request, uint8_t *buffer, size_t buffer_len) | 
|  | 
| static int | mod_instantiate (module_inst_ctx_t const *mctx) | 
|  | Instantiate the application. 
 | 
|  | 
| static int | mod_load (void) | 
|  | 
| static int | mod_open (void *instance, fr_schedule_t *sc, UNUSED CONF_SECTION *conf) | 
|  | Open listen sockets/connect to external event source. 
 | 
|  | 
| static int | mod_priority_set (void const *instance, uint8_t const *buffer, size_t buflen) | 
|  | 
| static void | mod_unload (void) | 
|  | 
| static int | transport_parse (TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule) | 
|  | 
| static int | type_parse (TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule) | 
|  | 
| static int | type_parse (UNUSED TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, UNUSED conf_parser_t const *rule) | 
|  | Translates the packet-type into a submodule name. 
 | 
|  | 
DHCPV6 master protocol handler. 
- Id
- 66723faddf989376859d4a43fa819ef3654c9734 
- Copyright
- 2020 Network RADIUS SAS (legal.nosp@m.@net.nosp@m.workr.nosp@m.adiu.nosp@m.s.com) 
Definition in file proto_dns.c.
◆ LOG_PREFIX
      
        
          | #define LOG_PREFIX   "proto_dns" | 
      
 
 
◆ mod_decode()
◆ mod_encode()
◆ mod_instantiate()
Instantiate the application. 
Instantiate I/O and type submodules.
- Returns
- 
- 0 on success.
- -1 on failure. 
 
Definition at line 305 of file proto_dns.c.
 
 
◆ mod_load()
  
  | 
        
          | static int mod_load | ( | void |  | ) |  |  | static | 
 
 
◆ mod_open()
Open listen sockets/connect to external event source. 
- Parameters
- 
  
    | [in] | instance | Ctx data for this application. |  | [in] | sc | to add our file descriptor to. |  | [in] | conf | Listen section parsed to give us instance. |  
 
- Returns
- 
- 0 on success.
- -1 on failure. 
 
Definition at line 286 of file proto_dns.c.
 
 
◆ mod_priority_set()
  
  | 
        
          | static int mod_priority_set | ( | void const * | instance, |  
          |  |  | uint8_t const * | buffer, |  
          |  |  | size_t | buflen |  
          |  | ) |  |  |  | static | 
 
 
◆ mod_unload()
  
  | 
        
          | static void mod_unload | ( | void |  | ) |  |  | static | 
 
 
◆ transport_parse()
  
  | 
        
          | static int transport_parse | ( | TALLOC_CTX * | ctx, |  
          |  |  | void * | out, |  
          |  |  | void * | parent, |  
          |  |  | CONF_ITEM * | ci, |  
          |  |  | conf_parser_t const * | rule |  
          |  | ) |  |  |  | static | 
 
 
◆ type_parse() [1/2]
  
  | 
        
          | static int type_parse | ( | TALLOC_CTX * | ctx, |  
          |  |  | void * | out, |  
          |  |  | void * | parent, |  
          |  |  | CONF_ITEM * | ci, |  
          |  |  | conf_parser_t const * | rule |  
          |  | ) |  |  |  | static | 
 
 
◆ type_parse() [2/2]
Translates the packet-type into a submodule name. 
- Parameters
- 
  
    | [in] | ctx | to allocate data in (instance of proto_dns). |  | [out] | out | Where to write a module_instance_t containing the module handle and instance. |  | [in] | parent | Base structure address. |  | [in] | ci | CONF_PAIR specifying the name of the type module. |  | [in] | rule | unused. |  
 
- Returns
- 
- 0 on success.
- -1 on failure. 
 
Definition at line 97 of file proto_dns.c.
 
 
◆ attr_packet_type
◆ dict_dns
◆ limit_config
Initial value:= {
 
 
        
 
}
#define CONF_PARSER_TERMINATOR
#define FR_CONF_OFFSET(_name, _struct, _field)
conf_parser_t which parses a single CONF_PAIR, writing the result to a field in a struct
#define FR_CONF_POINTER(_name, _type, _flags, _res_p)
conf_parser_t which parses a single CONF_PAIR producing a single global result
@ CONF_FLAG_SUBSECTION
Instead of putting the information into a configuration structure, the configuration file routines MA...
static const conf_parser_t priority_config[]
An instance of a proto_dns listen section.
Definition at line 42 of file proto_dns.c.
 
 
◆ priority_config
Initial value:= {
}
int cf_table_parse_int(UNUSED TALLOC_CTX *ctx, void *out, UNUSED void *parent, CONF_ITEM *ci, conf_parser_t const *rule)
Generic function for parsing conf pair values as int.
#define FR_CONF_OFFSET_TYPE_FLAGS(_name, _type, _flags, _struct, _field)
conf_parser_t which parses a single CONF_PAIR, writing the result to a field in a struct
size_t channel_packet_priority_len
fr_table_num_sorted_t const channel_packet_priority[]
Definition at line 35 of file proto_dns.c.
 
 
◆ proto_dns
Initial value:= {
        .common = {
                .name                   = "dns",
 
        },
}
#define MODULE_MAGIC_INIT
Stop people using different module/library/server versions together.
static int mod_load(void)
static ssize_t mod_encode(UNUSED void const *instance, request_t *request, uint8_t *buffer, size_t buffer_len)
static void mod_unload(void)
static conf_parser_t const proto_dns_config[]
How to parse a DNS listen section.
static int mod_decode(UNUSED void const *instance, request_t *request, uint8_t *const data, size_t data_len)
Decode the packet.
static fr_dict_t const  * dict_dns
static int mod_instantiate(module_inst_ctx_t const *mctx)
Instantiate the application.
static int mod_open(void *instance, fr_schedule_t *sc, UNUSED CONF_SECTION *conf)
Open listen sockets/connect to external event source.
static int mod_priority_set(void const *instance, uint8_t const *buffer, size_t buflen)
Definition at line 380 of file proto_dns.c.
 
 
◆ proto_dns_config
Initial value:= {
 
 
}
#define FR_CONF_OFFSET_FLAGS(_name, _flags, _struct, _field)
conf_parser_t which parses a single CONF_PAIR, writing the result to a field in a struct
@ CONF_FLAG_NOT_EMPTY
CONF_PAIR is required to have a non zero length value.
static conf_parser_t const limit_config[]
static int type_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule)
static int transport_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule)
How to parse a DNS listen section. 
Definition at line 60 of file proto_dns.c.
 
 
◆ proto_dns_dict
Initial value:= {
}
#define DICT_AUTOLOAD_TERMINATOR
Definition at line 73 of file proto_dns.c.
 
 
◆ proto_dns_dict_attr
Initial value:= {
}
@ FR_TYPE_UINT32
32 Bit unsigned integer.
static fr_dict_attr_t const  * attr_packet_type
Definition at line 81 of file proto_dns.c.