fix: populate ldns submodule and add autotools to LDNS build stage
- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled ldns C library source (including Changelog and configure.ac) is present - Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage so libtoolize + autoreconf can generate ldns/configure during make Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
112
zonemaster-ldns/ldns/masterdont/zinfo.h
Normal file
112
zonemaster-ldns/ldns/masterdont/zinfo.h
Normal file
@@ -0,0 +1,112 @@
|
||||
/* zinfo.h - zone info */
|
||||
|
||||
#ifndef ZINFO_H
|
||||
#define ZINFO_H
|
||||
struct zone_entry_t;
|
||||
|
||||
/**
|
||||
* Store zone content information
|
||||
* zone identity is stored in zone_entry_t.
|
||||
*/
|
||||
struct zinfo_t {
|
||||
/**
|
||||
* directory to use for disk storage
|
||||
* o zone.<name>.index -- oldest SOA number in dir
|
||||
* o zone.<name>.ixfr.<soa> -- text format ixfr to next version.
|
||||
* o zone.<name>.full.<soa> -- text format full zone file.
|
||||
* The full file may be omitted for many versions. At least one.
|
||||
*/
|
||||
char* dir;
|
||||
|
||||
/** is the zone present at all (or empty, no data) */
|
||||
int is_present;
|
||||
/** latest serial number */
|
||||
uint32_t last_serial;
|
||||
/** latest SOA (also present in complete zone) plus rrsigs */
|
||||
ldns_rr_list* last_soa;
|
||||
|
||||
/** tree of versions, sorted by serial and contains IXFRs.
|
||||
* the last serial number is not in here, but kept as complete zone. */
|
||||
ldns_rbtree_t vs;
|
||||
|
||||
/** for last version, the complete zone. zdomain_t sorted by name */
|
||||
ldns_rbtree_t zone;
|
||||
};
|
||||
|
||||
/**
|
||||
* A zone version
|
||||
*/
|
||||
struct zversion_t {
|
||||
/** rbtree node, sorted by serial */
|
||||
ldns_rbnode_t node;
|
||||
/** serial number */
|
||||
uint32_t serial;
|
||||
/** next serial number */
|
||||
uint32_t next_serial;
|
||||
/** ixfr contents */
|
||||
ldns_rr_list* ixfr;
|
||||
};
|
||||
|
||||
/**
|
||||
* A domain name in the complete zone tree
|
||||
*/
|
||||
struct zdomain_t {
|
||||
/** rbtree node */
|
||||
ldns_rbnode_t node;
|
||||
/** rdf name */
|
||||
ldns_rdf* name;
|
||||
/** the rrsets present, sorted by type */
|
||||
ldns_rbtree_t rrsets;
|
||||
};
|
||||
|
||||
/**
|
||||
* An rrset at a name in the complete zone tree
|
||||
*/
|
||||
struct zrrset_t {
|
||||
/** rbtree node */
|
||||
ldns_rbnode_t node;
|
||||
/** rr set */
|
||||
ldns_rr_list* list;
|
||||
};
|
||||
|
||||
/**
|
||||
* Create a zinfo. No data, empty.
|
||||
*/
|
||||
struct zinfo_t* zinfo_create(void);
|
||||
|
||||
/**
|
||||
* Delete a zinfo
|
||||
*/
|
||||
void zinfo_delete(struct zinfo_t* zinfo);
|
||||
|
||||
/**
|
||||
* Read zone info from stable storage (disk)
|
||||
*/
|
||||
int zinfo_read(struct zone_entry_t* entry);
|
||||
|
||||
/** Get a pointer to a static buffer with filename */
|
||||
const char* zinfo_index_name(struct zone_entry_t* entry);
|
||||
/** Get a pointer to a static buffer with filename */
|
||||
const char* zinfo_ixfr_name(struct zone_entry_t* entry, uint32_t soa);
|
||||
/** Get a pointer to a static buffer with filename */
|
||||
const char* zinfo_full_name(struct zone_entry_t* entry, uint32_t soa);
|
||||
|
||||
int zinfo_get_zone_diff(struct zone_entry_t* entry, uint32_t serial_from,
|
||||
uint32_t serial_to, ldns_rr_list** rr_remove, ldns_rr_list** rr_add,
|
||||
ldns_rr** soa_from, ldns_rr** soa_to);
|
||||
|
||||
void zinfo_get_zone_full(struct zone_entry_t* entry, uint32_t serial,
|
||||
ldns_zone** z);
|
||||
|
||||
/* ----------------------- zversion ---------------------- */
|
||||
void zversion_delete(struct zversion_t* v);
|
||||
struct zversion_t* zversion_read(struct zone_entry_t* entry, uint32_t serial);
|
||||
|
||||
/* ----------------------- zdomain ---------------------- */
|
||||
void zdomain_delete(struct zdomain_t* d);
|
||||
int zfull_read(struct zone_entry_t* entry, uint32_t serial);
|
||||
|
||||
/* ----------------------- zrrset ---------------------- */
|
||||
void zrrset_delete(struct zrrset_t* r);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user