EDGESEC
0.1.0-alpha.0+sha.ca29a8277b72f80785649ea9ef9cd7edf642d939
Secure router - reference implementation
|
File containing the implementation of mDNS service structures. More...
#include <stdint.h>
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
#include <inttypes.h>
#include <pthread.h>
#include <signal.h>
#include <string.h>
#include <sys/ioctl.h>
#include <syslog.h>
#include <unistd.h>
#include <eloop.h>
#include <uthash.h>
#include "../capture/middlewares/header_middleware/mdns_decoder.h"
#include "../capture/middlewares/header_middleware/packet_queue.h"
#include "../capture/pcap_service.h"
#include "../supervisor/cmd_processor.h"
#include "../supervisor/supervisor_config.h"
#include "../utils/hashmap.h"
#include "../utils/iface_mapper.h"
#include "../utils/ifaceu.h"
#include "../utils/log.h"
#include "../utils/net.h"
#include "../utils/sockctl.h"
#include "../utils/squeue.h"
#include "mcast.h"
#include "mdns_service.h"
Macros | |
#define | MDNS_PORT 5353 |
#define | MDNS_ADDR4 (uint32_t)0xE00000FB /* 224.0.0.251 */ |
#define | MDNS_ADDR6_INIT |
#define | MDNS_PCAP_BUFFER_TIMEOUT 10 |
Functions | |
int | sockaddr2str (struct sockaddr_storage *sa, char *buffer, uint16_t *port) |
void | close_reflector_if (struct reflection_list *rif) |
int | forward_reflector_if6 (uint8_t *send_buf, size_t len, struct reflection_list *rif) |
int | forward_reflector_if4 (uint8_t *send_buf, size_t len, struct reflection_list *rif) |
void | eloop_reflector_handler (int sock, void *eloop_ctx, void *sock_ctx) |
int | register_reflector_if6 (struct eloop_data *eloop, struct mdns_context *context) |
int | register_reflector_if4 (struct eloop_data *eloop, struct mdns_context *context) |
int | init_reflections (hmap_vlan_conn **vlan_mapper, struct mdns_context *context) |
int | close_mdns (struct mdns_context *context) |
Closes mDNS service. More... | |
int | create_domain_command (char *src_ip, char *dst_ip, char **out) |
int | send_bridge_command (struct mdns_context *context, struct tuple_packet *tp) |
void | mdns_pcap_callback (const void *ctx, const void *pcap_ctx, char *ltype, struct pcap_pkthdr *header, uint8_t *packet) |
void | eloop_read_mdns_fd_handler (int sock, void *eloop_ctx, void *sock_ctx) |
int | run_mdns_capture (struct eloop_data *eloop, struct mdns_context *context) |
int | run_mdns (struct mdns_context *context) |
Runs the mDNS forwarder service. More... | |
void | free_mdns_context (struct mdns_context *context) |
int | init_mdns_context (struct mdns_conf *mdns_config, char *supervisor_control_path, hmap_vlan_conn *vlan_mapper, struct mdns_context *context) |
void * | mdns_thread (void *arg) |
int | run_mdns_thread (struct mdns_conf *mdns_config, char *supervisor_control_path, hmap_vlan_conn *vlan_mapper, pthread_t *id) |
Runs the mDNS forwarder service thread. More... | |
File containing the implementation of mDNS service structures.
#define MDNS_ADDR4 (uint32_t)0xE00000FB /* 224.0.0.251 */ |
#define MDNS_ADDR6_INIT |
#define MDNS_PCAP_BUFFER_TIMEOUT 10 |
#define MDNS_PORT 5353 |
int close_mdns | ( | struct mdns_context * | context | ) |
Closes mDNS service.
context | The mDNS context structure |
void close_reflector_if | ( | struct reflection_list * | rif | ) |
int create_domain_command | ( | char * | src_ip, |
char * | dst_ip, | ||
char ** | out | ||
) |
void eloop_read_mdns_fd_handler | ( | int | sock, |
void * | eloop_ctx, | ||
void * | sock_ctx | ||
) |
void eloop_reflector_handler | ( | int | sock, |
void * | eloop_ctx, | ||
void * | sock_ctx | ||
) |
int forward_reflector_if4 | ( | uint8_t * | send_buf, |
size_t | len, | ||
struct reflection_list * | rif | ||
) |
int forward_reflector_if6 | ( | uint8_t * | send_buf, |
size_t | len, | ||
struct reflection_list * | rif | ||
) |
void free_mdns_context | ( | struct mdns_context * | context | ) |
int init_mdns_context | ( | struct mdns_conf * | mdns_config, |
char * | supervisor_control_path, | ||
hmap_vlan_conn * | vlan_mapper, | ||
struct mdns_context * | context | ||
) |
int init_reflections | ( | hmap_vlan_conn ** | vlan_mapper, |
struct mdns_context * | context | ||
) |
void mdns_pcap_callback | ( | const void * | ctx, |
const void * | pcap_ctx, | ||
char * | ltype, | ||
struct pcap_pkthdr * | header, | ||
uint8_t * | packet | ||
) |
void* mdns_thread | ( | void * | arg | ) |
int register_reflector_if4 | ( | struct eloop_data * | eloop, |
struct mdns_context * | context | ||
) |
int register_reflector_if6 | ( | struct eloop_data * | eloop, |
struct mdns_context * | context | ||
) |
int run_mdns | ( | struct mdns_context * | context | ) |
Runs the mDNS forwarder service.
context | The mDNS context structure. |
int run_mdns_capture | ( | struct eloop_data * | eloop, |
struct mdns_context * | context | ||
) |
int run_mdns_thread | ( | struct mdns_conf * | mdns_config, |
char * | supervisor_control_path, | ||
hmap_vlan_conn * | vlan_mapper, | ||
pthread_t * | id | ||
) |
Runs the mDNS forwarder service thread.
mdns_config | The mDNS config structure |
supervisor_control_path | The UNIX domain supervisor control path |
vlan_mapper | The VLAN mapper object |
id | The returned thread id |
int send_bridge_command | ( | struct mdns_context * | context, |
struct tuple_packet * | tp | ||
) |
int sockaddr2str | ( | struct sockaddr_storage * | sa, |
char * | buffer, | ||
uint16_t * | port | ||
) |