cachedump.c File Reference
#include "config.h"
#include <openssl/ssl.h>
#include "daemon/cachedump.h"
#include "daemon/remote.h"
#include "daemon/worker.h"
#include "services/cache/rrset.h"
#include "services/cache/dns.h"
#include "services/cache/infra.h"
#include "services/outside_network.h"
#include "util/data/msgreply.h"
#include "util/regional.h"
#include "util/net_help.h"
#include "util/data/dname.h"
#include "util/config_file.h"
#include "iterator/iterator.h"
#include "iterator/iter_delegpt.h"
#include "iterator/iter_utils.h"
#include "iterator/iter_fwd.h"
#include "iterator/iter_hints.h"
#include "sldns/sbuffer.h"
#include "sldns/wire2str.h"
#include "sldns/str2wire.h"


static int dump_rrset_line (RES *ssl, struct ub_packed_rrset_key *k, time_t now, size_t i)
 dump one rrset zonefile line
static int dump_rrset (RES *ssl, struct ub_packed_rrset_key *k, struct packed_rrset_data *d, time_t now)
 dump rrset key and data info
static int dump_rrset_lruhash (RES *ssl, struct lruhash *h, time_t now)
 dump lruhash rrset cache
static int dump_rrset_cache (RES *ssl, struct worker *worker)
 dump rrset cache
static int dump_msg_ref (RES *ssl, struct ub_packed_rrset_key *k)
 dump message to rrset reference
static int dump_msg (RES *ssl, struct query_info *k, struct reply_info *d, time_t now)
 dump message entry
static int copy_msg (struct regional *region, struct lruhash_entry *e, struct query_info **k, struct reply_info **d)
 copy msg to worker pad
static int dump_msg_lruhash (RES *ssl, struct worker *worker, struct lruhash *h)
 dump lruhash msg cache
static int dump_msg_cache (RES *ssl, struct worker *worker)
 dump msg cache
int dump_cache (RES *ssl, struct worker *worker)
 Dump cache(s) to text. More...
static int ssl_read_buf (RES *ssl, sldns_buffer *buf)
 read a line from ssl into buffer
static int read_fixed (RES *ssl, sldns_buffer *buf, const char *str)
 check fixed text on line
static int load_rr (RES *ssl, sldns_buffer *buf, struct regional *region, struct ub_packed_rrset_key *rk, struct packed_rrset_data *d, unsigned int i, int is_rrsig, int *go_on, time_t now)
 load an RR into rrset
static int move_into_cache (struct ub_packed_rrset_key *k, struct packed_rrset_data *d, struct worker *worker)
 move entry into cache
static int load_rrset (RES *ssl, sldns_buffer *buf, struct worker *worker)
 load an rrset entry
static int load_rrset_cache (RES *ssl, struct worker *worker)
 load rrset cache
static char * load_qinfo (char *str, struct query_info *qinfo, struct regional *region)
 read qinfo from next three words
static int load_ref (RES *ssl, sldns_buffer *buf, struct worker *worker, struct regional *region, struct ub_packed_rrset_key **rrset, int *go_on)
 load a msg rrset reference
static int load_msg (RES *ssl, sldns_buffer *buf, struct worker *worker)
 load a msg entry
static int load_msg_cache (RES *ssl, struct worker *worker)
 load msg cache
int load_cache (RES *ssl, struct worker *worker)
 Load cache(s) from text. More...
static void print_dp_details (RES *ssl, struct worker *worker, struct delegpt *dp)
 print details on a delegation point
static void print_dp_main (RES *ssl, struct delegpt *dp, struct dns_msg *msg)
 print main dp info
int print_deleg_lookup (RES *ssl, struct worker *worker, uint8_t *nm, size_t nmlen, int ATTR_UNUSED(nmlabs))

Detailed Description

This file contains functions to read and write the cache(s) to text format.

Function Documentation

◆ dump_cache()

int dump_cache ( RES ssl,
struct worker worker 

Dump cache(s) to text.

sslto print to
workerworker that is available (buffers, etc) and has ptrs to the caches.
false on ssl print error.

References dump_msg_cache(), dump_rrset_cache(), and ssl_printf().

Referenced by execute_cmd().

◆ load_cache()

int load_cache ( RES ssl,
struct worker worker 

Load cache(s) from text.

sslto read from
workerworker that is available (buffers, etc) and has ptrs to the caches.
false on ssl error.

References worker::env, load_msg_cache(), load_rrset_cache(), read_fixed(), and module_env::scratch_buffer.

Referenced by execute_cmd().