diff --git a/src/utils/common/exec.c b/src/utils/common/exec.c index 595c8c8d68fcd3003c9249eccbf8bdde858a1ede..edc1ea52d3730fffa95eb7ca4a0e7bb62aa723b0 100644 --- a/src/utils/common/exec.c +++ b/src/utils/common/exec.c @@ -22,7 +22,7 @@ #include <arpa/inet.h> // inet_ntop #include <sys/socket.h> // AF_INET - #include <netinet/in.h> +#include <netinet/in.h> // sockaddr_in (BSD) #include "common/lists.h" // list #include "common/errcode.h" // KNOT_EOK @@ -31,10 +31,9 @@ #include "libknot/packet/query.h" // knot_query_init #include "utils/common/msg.h" // WARN -#include "utils/common/resolv.h" // server_t #include "utils/common/params.h" // params_t #include "utils/common/netio.h" // send_msg -#include "utils/common/rr-serialize.h" +#include "utils/common/rr-serialize.h" // rrset_write_mem static knot_packet_t* create_query_packet(const params_t *params, const query_t *query, @@ -193,7 +192,7 @@ static knot_lookup_table_t rtypes[] = { static void print_header(const knot_packet_t *packet) { - char flags[64] = {0}; + char flags[64] = ""; uint8_t rcode_id, opcode_id; knot_lookup_table_t *rcode, *opcode; diff --git a/src/utils/common/netio.c b/src/utils/common/netio.c index a07efe069bb8d33df2ac9e0da79000596a0eac4f..79d3acba4e03f1f1ed971e7b0bed0fff56af85bf 100644 --- a/src/utils/common/netio.c +++ b/src/utils/common/netio.c @@ -16,17 +16,42 @@ #include "utils/common/netio.h" -//#include <stdlib.h> +#include <stdlib.h> // free #include <netdb.h> // addrinfo #include <poll.h> // poll -#include <sys/socket.h> // AF_INET (BSD) -#include <netinet/in.h> // ntohl (BSD) #include <fcntl.h> // fcntl +#include <sys/socket.h> // AF_INET (BSD) +#include <netinet/in.h> // ntohl (BSD) #include "utils/common/msg.h" // WARN #include "libknot/util/descriptor.h" // KNOT_CLASS_IN #include "common/errcode.h" // KNOT_E +server_t* server_create(const char *name, const char *service) +{ + // Create output structure. + server_t *server = calloc(1, sizeof(server_t)); + + // Check output. + if (server == NULL) { + return NULL; + } + + // Fill output. + server->name = strdup(name); + server->service = strdup(service); + + // Return result. + return server; +} + +void server_free(server_t *server) +{ + free(server->name); + free(server->service); + free(server); +} + int get_socktype(const params_t *params, const uint16_t type) { if (params == NULL) { @@ -197,7 +222,7 @@ int receive_msg(const params_t *params, total += ret; } - + return total; } else { // Wait for datagram data. diff --git a/src/utils/common/netio.h b/src/utils/common/netio.h index 9839efa27ab8622b317671ca889c868acbdf3139..19f7ffa14f2787b94152feedbcd558ecfd153af1 100644 --- a/src/utils/common/netio.h +++ b/src/utils/common/netio.h @@ -27,10 +27,24 @@ #ifndef _UTILS__NETIO_H_ #define _UTILS__NETIO_H_ -#include <stdint.h> // uint16_t +#include <stdint.h> // uint_t +#include "common/lists.h" // node #include "utils/common/params.h" // params_t -#include "utils/common/resolv.h" // server_t + +/*! \brief Structure containing server information. */ +typedef struct { + /*!< List node (for list container). */ + node n; + /*!< Name or address of the server. */ + char *name; + /*!< Name or number of the service. */ + char *service; +} server_t; + +server_t* server_create(const char *name, const char *service); + +void server_free(server_t *server); int get_socktype(const params_t *params, const uint16_t type); diff --git a/src/utils/common/params.c b/src/utils/common/params.c index bc6b3e5543c8645d07b020fe1c831c3c6f5889f8..cb0eb5f50ed5bebdf83b5657415016abf850c3aa 100644 --- a/src/utils/common/params.c +++ b/src/utils/common/params.c @@ -18,13 +18,12 @@ #include <stdlib.h> // free #include <netinet/in.h> // in_addr -#include <arpa/inet.h> -#include <sys/socket.h> +#include <arpa/inet.h> // inet_pton +#include <sys/socket.h> // AF_INET (BSD) #include "common/errcode.h" // KNOT_EOK #include "libknot/util/descriptor.h" // KNOT_RRTYPE #include "utils/common/msg.h" // WARN -#include "utils/common/netio.h" #define IPV4_REVERSE_DOMAIN "in-addr.arpa." #define IPV6_REVERSE_DOMAIN "ip6.arpa." diff --git a/src/utils/common/params.h b/src/utils/common/params.h index b5076db3071be2594e728a568b035ff6a0beae5c..2fc0dc754bf9d04469a16a3292f40dd99d4efecb 100644 --- a/src/utils/common/params.h +++ b/src/utils/common/params.h @@ -32,11 +32,15 @@ #include "common/lists.h" // node -#define DEFAULT_PORT 53 -#define DEFAULT_UDP_SIZE 512 -#define MAX_PACKET_SIZE 65535 +#define DEFAULT_IPV4_NAME "127.0.0.1" +#define DEFAULT_IPV6_NAME "::1" +#define DEFAULT_DNS_PORT "53" +#define DEFAULT_UDP_SIZE 512 +#define MAX_PACKET_SIZE 65535 #define DEFAULT_WAIT_INTERVAL 1 +#define SEP_CHARS "\n\t " + /*! \brief Structure containing basic parameters for DNS query. */ typedef struct { /*!< List node (for list container). */ diff --git a/src/utils/common/resolv.c b/src/utils/common/resolv.c index 49fb01c119ff1a538ba8f7aa592249f62bce5cfb..46dd4508694bab94c1cc2dff32da7752589edc83 100644 --- a/src/utils/common/resolv.c +++ b/src/utils/common/resolv.c @@ -19,28 +19,11 @@ #include <stdio.h> // fopen #include <stdlib.h> // free -#include "common/errcode.h" // KNOT_ENOENT #include "common/lists.h" // list +#include "common/errcode.h" // KNOT_ENOENT +#include "utils/common/params.h" // DEFAULT_DNS_PORT -#define RESOLV_FILE "/etc/resolv.conf" - -server_t* server_create(const char *name, const char *service) -{ - // Create output structure. - server_t *server = calloc(1, sizeof(server_t)); - - // Check output. - if (server == NULL) { - return NULL; - } - - // Fill output. - server->name = strdup(name); - server->service = strdup(service); - - // Return result. - return server; -} +#define RESOLV_FILE "/etc/resolv.conf" server_t* parse_nameserver(const char *nameserver) { @@ -171,24 +154,17 @@ int get_nameservers(list *servers) // Add default ipv6 nameservers. server = server_create(DEFAULT_IPV6_NAME, DEFAULT_DNS_PORT); - if (server != NULL) { - add_tail(servers, (node *)server); + if (server != NULL) { + add_tail(servers, (node *)server); } // Add default ipv4 nameservers. server = server_create(DEFAULT_IPV4_NAME, DEFAULT_DNS_PORT); - if (server != NULL) { - add_tail(servers, (node *)server); + if (server != NULL) { + add_tail(servers, (node *)server); } return list_size(servers); } } - -void server_free(server_t *server) -{ - free(server->name); - free(server->service); - free(server); -} diff --git a/src/utils/common/resolv.h b/src/utils/common/resolv.h index 06ee309cfd9f3bd56ab19d27849e78903ef07cc2..64def44aaf4409f31cd592f667a2664df639da70 100644 --- a/src/utils/common/resolv.h +++ b/src/utils/common/resolv.h @@ -27,26 +27,8 @@ #ifndef _UTILS__RESOLV_H_ #define _UTILS__RESOLV_H_ -#include "common/lists.h" // node - -#define DEFAULT_IPV4_NAME "127.0.0.1" -#define DEFAULT_IPV6_NAME "::1" -#define DEFAULT_DNS_PORT "53" -#define SEP_CHARS "\n\t " - -/*! \brief Structure containing nameserver information. */ -typedef struct { - /*!< List node (for list container). */ - node n; - /*!< Name or address of the server. */ - char *name; - /*!< Name or numbers of the service. */ - char *service; -} server_t; - -server_t* server_create(const char *name, const char *service); - -void server_free(server_t *server); +#include "common/lists.h" // list +#include "utils/common/netio.h" // server_t server_t* parse_nameserver(const char *nameserver); diff --git a/src/utils/nsupdate/nsupdate_exec.c b/src/utils/nsupdate/nsupdate_exec.c index 02d36a5e44ef03093ac8eb7d0b48bc0a75d920e6..52e2e39322b2aab5a8da1e001061a45923a6bf09 100644 --- a/src/utils/nsupdate/nsupdate_exec.c +++ b/src/utils/nsupdate/nsupdate_exec.c @@ -29,7 +29,6 @@ #include "utils/nsupdate/nsupdate_exec.h" #include "utils/common/msg.h" #include "utils/common/exec.h" -#include "utils/common/resolv.h" #include "utils/common/netio.h" #include "common/errcode.h" #include "common/mempattern.h" @@ -38,6 +37,7 @@ #include "libknot/packet/response.h" #include "libknot/util/debug.h" #include "libknot/consts.h" +#include "libknot/packet/query.h" /* Declarations of cmd parse functions. */ typedef int (*cmd_handle_f)(const char *lp, params_t *params); diff --git a/src/utils/nsupdate/nsupdate_params.c b/src/utils/nsupdate/nsupdate_params.c index 830443c49d50cc5d7b938755dbcc3dd08e3255dc..600db40c9ee71c063c6d14e80da53655585d3528 100644 --- a/src/utils/nsupdate/nsupdate_params.c +++ b/src/utils/nsupdate/nsupdate_params.c @@ -22,9 +22,10 @@ #include "utils/nsupdate/nsupdate_params.h" #include "utils/common/msg.h" -#include "utils/common/resolv.h" +#include "utils/common/netio.h" #include "libknot/util/descriptor.h" #include "common/errcode.h" +#include "libknot/packet/packet.h" #define DEFAULT_RETRIES 3 diff --git a/src/utils/nsupdate/nsupdate_params.h b/src/utils/nsupdate/nsupdate_params.h index 669563f52ce5368294a8594c955d5c45d146cab3..e8d6084e18c93522fd79b309c80f7e5b28ab7714 100644 --- a/src/utils/nsupdate/nsupdate_params.h +++ b/src/utils/nsupdate/nsupdate_params.h @@ -31,8 +31,8 @@ #include "common/lists.h" // list #include "utils/common/params.h" // protocol_t -#include "libknot/packet/query.h" -#include "zscanner/scanner.h" +#include "zscanner/scanner.h" // scanner_t +#include "libknot/packet/packet.h" // knot_packet_t /*! Parser init string. */ #define PARSER_INIT_STR "$ORIGIN %s\n$TTL %u\n"