[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
include
/
bind9
/
dns
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 acache.h
14,232 B
SET
[ EDIT ]
|
[ DEL ]
📄 acl.h
7,242 B
SET
[ EDIT ]
|
[ DEL ]
📄 adb.h
22,595 B
SET
[ EDIT ]
|
[ DEL ]
📄 badcache.h
3,369 B
SET
[ EDIT ]
|
[ DEL ]
📄 bit.h
807 B
SET
[ EDIT ]
|
[ DEL ]
📄 byaddr.h
4,002 B
SET
[ EDIT ]
|
[ DEL ]
📄 cache.h
8,643 B
SET
[ EDIT ]
|
[ DEL ]
📄 callbacks.h
2,271 B
SET
[ EDIT ]
|
[ DEL ]
📄 catz.h
11,833 B
SET
[ EDIT ]
|
[ DEL ]
📄 cert.h
1,466 B
SET
[ EDIT ]
|
[ DEL ]
📄 client.h
22,042 B
SET
[ EDIT ]
|
[ DEL ]
📄 clientinfo.h
2,006 B
SET
[ EDIT ]
|
[ DEL ]
📄 compress.h
6,646 B
SET
[ EDIT ]
|
[ DEL ]
📄 db.h
47,061 B
SET
[ EDIT ]
|
[ DEL ]
📄 dbiterator.h
7,422 B
SET
[ EDIT ]
|
[ DEL ]
📄 dbtable.h
3,165 B
SET
[ EDIT ]
|
[ DEL ]
📄 diff.h
6,980 B
SET
[ EDIT ]
|
[ DEL ]
📄 dispatch.h
16,427 B
SET
[ EDIT ]
|
[ DEL ]
📄 dlz.h
10,618 B
SET
[ EDIT ]
|
[ DEL ]
📄 dlz_dlopen.h
4,677 B
SET
[ EDIT ]
|
[ DEL ]
📄 dns64.h
5,635 B
SET
[ EDIT ]
|
[ DEL ]
📄 dnssec.h
12,115 B
SET
[ EDIT ]
|
[ DEL ]
📄 dnstap.h
9,364 B
SET
[ EDIT ]
|
[ DEL ]
📄 ds.h
1,225 B
SET
[ EDIT ]
|
[ DEL ]
📄 dsdigest.h
1,722 B
SET
[ EDIT ]
|
[ DEL ]
📄 dyndb.h
4,835 B
SET
[ EDIT ]
|
[ DEL ]
📄 ecdb.h
809 B
SET
[ EDIT ]
|
[ DEL ]
📄 edns.h
722 B
SET
[ EDIT ]
|
[ DEL ]
📄 enumclass.h
1,220 B
SET
[ EDIT ]
|
[ DEL ]
📄 enumtype.h
8,300 B
SET
[ EDIT ]
|
[ DEL ]
📄 events.h
4,059 B
SET
[ EDIT ]
|
[ DEL ]
📄 fixedname.h
1,663 B
SET
[ EDIT ]
|
[ DEL ]
📄 forward.h
3,452 B
SET
[ EDIT ]
|
[ DEL ]
📄 geoip.h
2,792 B
SET
[ EDIT ]
|
[ DEL ]
📄 ipkeylist.h
2,186 B
SET
[ EDIT ]
|
[ DEL ]
📄 iptable.h
1,621 B
SET
[ EDIT ]
|
[ DEL ]
📄 journal.h
8,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 keydata.h
1,059 B
SET
[ EDIT ]
|
[ DEL ]
📄 keyflags.h
1,278 B
SET
[ EDIT ]
|
[ DEL ]
📄 keytable.h
9,462 B
SET
[ EDIT ]
|
[ DEL ]
📄 keyvalues.h
4,159 B
SET
[ EDIT ]
|
[ DEL ]
📄 lib.h
1,192 B
SET
[ EDIT ]
|
[ DEL ]
📄 log.h
3,964 B
SET
[ EDIT ]
|
[ DEL ]
📄 lookup.h
2,924 B
SET
[ EDIT ]
|
[ DEL ]
📄 master.h
11,289 B
SET
[ EDIT ]
|
[ DEL ]
📄 masterdump.h
12,647 B
SET
[ EDIT ]
|
[ DEL ]
📄 message.h
39,023 B
SET
[ EDIT ]
|
[ DEL ]
📄 name.h
37,115 B
SET
[ EDIT ]
|
[ DEL ]
📄 ncache.h
4,929 B
SET
[ EDIT ]
|
[ DEL ]
📄 nsec.h
2,928 B
SET
[ EDIT ]
|
[ DEL ]
📄 nsec3.h
8,032 B
SET
[ EDIT ]
|
[ DEL ]
📄 nta.h
4,548 B
SET
[ EDIT ]
|
[ DEL ]
📄 opcode.h
1,007 B
SET
[ EDIT ]
|
[ DEL ]
📄 order.h
1,999 B
SET
[ EDIT ]
|
[ DEL ]
📄 peer.h
5,966 B
SET
[ EDIT ]
|
[ DEL ]
📄 portlist.h
2,101 B
SET
[ EDIT ]
|
[ DEL ]
📄 private.h
1,935 B
SET
[ EDIT ]
|
[ DEL ]
📄 rbt.h
40,618 B
SET
[ EDIT ]
|
[ DEL ]
📄 rcode.h
2,481 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdata.h
21,613 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdataclass.h
2,257 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdatalist.h
2,569 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdataset.h
21,536 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdatasetiter.h
3,926 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdataslab.h
4,502 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdatastruct.h
61,584 B
SET
[ EDIT ]
|
[ DEL ]
📄 rdatatype.h
2,298 B
SET
[ EDIT ]
|
[ DEL ]
📄 request.h
11,156 B
SET
[ EDIT ]
|
[ DEL ]
📄 resolver.h
20,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 result.h
9,284 B
SET
[ EDIT ]
|
[ DEL ]
📄 rootns.h
892 B
SET
[ EDIT ]
|
[ DEL ]
📄 rpz.h
10,335 B
SET
[ EDIT ]
|
[ DEL ]
📄 rriterator.h
4,230 B
SET
[ EDIT ]
|
[ DEL ]
📄 rrl.h
6,640 B
SET
[ EDIT ]
|
[ DEL ]
📄 sdb.h
7,224 B
SET
[ EDIT ]
|
[ DEL ]
📄 sdlz.h
14,214 B
SET
[ EDIT ]
|
[ DEL ]
📄 secalg.h
1,706 B
SET
[ EDIT ]
|
[ DEL ]
📄 secproto.h
1,557 B
SET
[ EDIT ]
|
[ DEL ]
📄 soa.h
2,186 B
SET
[ EDIT ]
|
[ DEL ]
📄 ssu.h
8,308 B
SET
[ EDIT ]
|
[ DEL ]
📄 stats.h
13,451 B
SET
[ EDIT ]
|
[ DEL ]
📄 tcpmsg.h
3,145 B
SET
[ EDIT ]
|
[ DEL ]
📄 time.h
1,695 B
SET
[ EDIT ]
|
[ DEL ]
📄 timer.h
1,051 B
SET
[ EDIT ]
|
[ DEL ]
📄 tkey.h
7,631 B
SET
[ EDIT ]
|
[ DEL ]
📄 tsec.h
2,949 B
SET
[ EDIT ]
|
[ DEL ]
📄 tsig.h
8,384 B
SET
[ EDIT ]
|
[ DEL ]
📄 ttl.h
1,945 B
SET
[ EDIT ]
|
[ DEL ]
📄 types.h
14,158 B
SET
[ EDIT ]
|
[ DEL ]
📄 update.h
1,653 B
SET
[ EDIT ]
|
[ DEL ]
📄 validator.h
7,161 B
SET
[ EDIT ]
|
[ DEL ]
📄 version.h
868 B
SET
[ EDIT ]
|
[ DEL ]
📄 view.h
35,274 B
SET
[ EDIT ]
|
[ DEL ]
📄 xfrin.h
2,924 B
SET
[ EDIT ]
|
[ DEL ]
📄 zone.h
60,864 B
SET
[ EDIT ]
|
[ DEL ]
📄 zonekey.h
777 B
SET
[ EDIT ]
|
[ DEL ]
📄 zt.h
5,562 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: sdlz.h
/* * Portions Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, you can obtain one at https://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ /* * Copyright (C) 2002 Stichting NLnet, Netherlands, stichting@nlnet.nl. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND STICHTING NLNET * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL * STICHTING NLNET BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE * USE OR PERFORMANCE OF THIS SOFTWARE. * * The development of Dynamically Loadable Zones (DLZ) for Bind 9 was * conceived and contributed by Rob Butler. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND ROB BUTLER * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL * ROB BUTLER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE * USE OR PERFORMANCE OF THIS SOFTWARE. */ /*! \file dns/sdlz.h */ #ifndef SDLZ_H #define SDLZ_H 1 #include <inttypes.h> #include <stdbool.h> #include <dns/clientinfo.h> #include <dns/dlz.h> ISC_LANG_BEGINDECLS #define DNS_SDLZFLAG_THREADSAFE 0x00000001U #define DNS_SDLZFLAG_RELATIVEOWNER 0x00000002U #define DNS_SDLZFLAG_RELATIVERDATA 0x00000004U /* A simple DLZ database. */ typedef struct dns_sdlz_db dns_sdlz_db_t; /* A simple DLZ database lookup in progress. */ typedef struct dns_sdlzlookup dns_sdlzlookup_t; /* A simple DLZ database traversal in progress. */ typedef struct dns_sdlzallnodes dns_sdlzallnodes_t; typedef isc_result_t (*dns_sdlzallnodesfunc_t)(const char *zone, void *driverarg, void *dbdata, dns_sdlzallnodes_t *allnodes); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply an all nodes method. This method is called when the DNS * server is performing a zone transfer query, after the allow zone * transfer method has been called. This method is only called if the * allow zone transfer method returned ISC_R_SUCCESS. This method and * the allow zone transfer method are both required for zone transfers * to be supported. If the driver generates data dynamically (instead * of searching in a database for it) it should not implement this * function as a zone transfer would be meaningless. A SDLZ driver * does not have to implement an all nodes method. */ typedef isc_result_t (*dns_sdlzallowzonexfr_t)(void *driverarg, void *dbdata, const char *name, const char *client); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply an allow zone transfer method. This method is called when * the DNS server is performing a zone transfer query, before the all * nodes method can be called. This method and the all node method * are both required for zone transfers to be supported. If the * driver generates data dynamically (instead of searching in a * database for it) it should not implement this function as a zone * transfer would be meaningless. A SDLZ driver does not have to * implement an allow zone transfer method. * * This method should return ISC_R_SUCCESS if the zone is supported by * the database and a zone transfer is allowed for the specified * client. If the zone is supported by the database, but zone * transfers are not allowed for the specified client this method * should return ISC_R_NOPERM.. Lastly the method should return * ISC_R_NOTFOUND if the zone is not supported by the database. If an * error occurs it should return a result code indicating the type of * error. */ typedef isc_result_t (*dns_sdlzauthorityfunc_t)(const char *zone, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply an authority method. This method is called when the DNS * server is performing a query, after both the find zone and lookup * methods have been called. This method is required if the lookup * function does not supply authority information for the dns * record. A SDLZ driver does not have to implement an authority * method. */ typedef isc_result_t (*dns_sdlzcreate_t)(const char *dlzname, unsigned int argc, char *argv[], void *driverarg, void **dbdata); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply a create method. This method is called when the DNS server * is starting up and creating drivers for use later. A SDLZ driver * does not have to implement a create method. */ typedef void (*dns_sdlzdestroy_t)(void *driverarg, void *dbdata); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply a destroy method. This method is called when the DNS server * is shutting down and no longer needs the driver. A SDLZ driver does * not have to implement a destroy method. */ typedef isc_result_t (*dns_sdlzfindzone_t)(void *driverarg, void *dbdata, const char *name, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); /*%< * Method prototype. Drivers implementing the SDLZ interface MUST * supply a find zone method. This method is called when the DNS * server is performing a query to to determine if 'name' is a * supported dns zone. The find zone method will be called with the * longest possible name first, and continue to be called with * successively shorter domain names, until any of the following * occur: * * \li 1) the function returns (ISC_R_SUCCESS) indicating a zone name * match. * * \li 2) a problem occurs, and the functions returns anything other than * (ISC_R_NOTFOUND) * * \li 3) we run out of domain name labels. I.E. we have tried the * shortest domain name * * \li 4) the number of labels in the domain name is less than min_labels * for dns_dlzfindzone * * The driver's find zone method should return ISC_R_SUCCESS if the * zone is supported by the database. Otherwise it should return * ISC_R_NOTFOUND, if the zone is not supported. If an error occurs * it should return a result code indicating the type of error. */ typedef isc_result_t (*dns_sdlzlookupfunc_t)(const char *zone, const char *name, void *driverarg, void *dbdata, dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); /*%< * Method prototype. Drivers implementing the SDLZ interface MUST * supply a lookup method. This method is called when the * DNS server is performing a query, after the find zone and before any * other methods have been called. This function returns DNS record * information using the dns_sdlz_putrr and dns_sdlz_putsoa functions. * If this function supplies authority information for the DNS record * the authority method is not required. If it does not, the * authority function is required. * * The 'methods' and 'clientinfo' args allow an SDLZ driver to retrieve * information about the querying client (such as source IP address) * from the caller. */ typedef isc_result_t (*dns_sdlznewversion_t)(const char *zone, void *driverarg, void *dbdata, void **versionp); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply a newversion method. This method is called to start a * write transaction on a zone and should only be implemented by * writeable backends. * When implemented, the driver should create a new transaction, and * fill *versionp with a pointer to the transaction state. The * closeversion function will be called to close the transaction. */ typedef void (*dns_sdlzcloseversion_t)(const char *zone, bool commit, void *driverarg, void *dbdata, void **versionp); /*%< * Method prototype. Drivers implementing the SDLZ interface must * supply a closeversion method if they supply a newversion method. * When implemented, the driver should close the given transaction, * committing changes if 'commit' is true. If 'commit' is not true * then all changes should be discarded and the database rolled back. * If the call is successful then *versionp should be set to NULL */ typedef isc_result_t (*dns_sdlzconfigure_t)(dns_view_t *view, dns_dlzdb_t *dlzdb, void *driverarg, void *dbdata); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply a configure method. When supplied, it will be called * immediately after the create method to give the driver a chance * to configure writeable zones */ typedef bool (*dns_sdlzssumatch_t)(const char *signer, const char *name, const char *tcpaddr, const char *type, const char *key, uint32_t keydatalen, unsigned char *keydata, void *driverarg, void *dbdata); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply a ssumatch method. If supplied, then ssumatch will be * called to authorize any zone updates. The driver should return * true to allow the update, and false to deny it. For a DLZ * controlled zone, this is the only access control on updates. */ typedef isc_result_t (*dns_sdlzmodrdataset_t)(const char *name, const char *rdatastr, void *driverarg, void *dbdata, void *version); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply addrdataset and subtractrdataset methods. If supplied, then these * will be called when rdatasets are added/subtracted during * updates. The version parameter comes from a call to the sdlz * newversion() method from the driver. The rdataset parameter is a * linearise string representation of the rdataset change. The format * is the same as used by dig when displaying records. The fields are * tab delimited. */ typedef isc_result_t (*dns_sdlzdelrdataset_t)(const char *name, const char *type, void *driverarg, void *dbdata, void *version); /*%< * Method prototype. Drivers implementing the SDLZ interface may * supply a delrdataset method. If supplied, then this * function will be called when rdatasets are deleted during * updates. The call should remove all rdatasets of the given type for * the specified name. */ typedef struct dns_sdlzmethods { dns_sdlzcreate_t create; dns_sdlzdestroy_t destroy; dns_sdlzfindzone_t findzone; dns_sdlzlookupfunc_t lookup; dns_sdlzauthorityfunc_t authority; dns_sdlzallnodesfunc_t allnodes; dns_sdlzallowzonexfr_t allowzonexfr; dns_sdlznewversion_t newversion; dns_sdlzcloseversion_t closeversion; dns_sdlzconfigure_t configure; dns_sdlzssumatch_t ssumatch; dns_sdlzmodrdataset_t addrdataset; dns_sdlzmodrdataset_t subtractrdataset; dns_sdlzdelrdataset_t delrdataset; } dns_sdlzmethods_t; isc_result_t dns_sdlzregister(const char *drivername, const dns_sdlzmethods_t *methods, void *driverarg, unsigned int flags, isc_mem_t *mctx, dns_sdlzimplementation_t **sdlzimp); /*%< * Register a dynamically loadable zones (dlz) driver for the database * type 'drivername', implemented by the functions in '*methods'. * * sdlzimp must point to a NULL dns_sdlzimplementation_t pointer. * That is, sdlzimp != NULL && *sdlzimp == NULL. It will be assigned * a value that will later be used to identify the driver when * deregistering it. */ void dns_sdlzunregister(dns_sdlzimplementation_t **sdlzimp); /*%< * Removes the sdlz driver from the list of registered sdlz drivers. * There must be no active sdlz drivers of this type when this * function is called. */ typedef isc_result_t dns_sdlz_putnamedrr_t(dns_sdlzallnodes_t *allnodes, const char *name, const char *type, dns_ttl_t ttl, const char *data); dns_sdlz_putnamedrr_t dns_sdlz_putnamedrr; /*%< * Add a single resource record to the allnodes structure to be later * parsed into a zone transfer response. */ typedef isc_result_t dns_sdlz_putrr_t(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t ttl, const char *data); dns_sdlz_putrr_t dns_sdlz_putrr; /*%< * Add a single resource record to the lookup structure to be later * parsed into a query response. */ typedef isc_result_t dns_sdlz_putsoa_t(dns_sdlzlookup_t *lookup, const char *mname, const char *rname, uint32_t serial); dns_sdlz_putsoa_t dns_sdlz_putsoa; /*%< * This function may optionally be called from the 'authority' * callback to simplify construction of the SOA record for 'zone'. It * will provide a SOA listing 'mname' as as the master server and * 'rname' as the responsible person mailbox. It is the * responsibility of the driver to increment the serial number between * responses if necessary. All other SOA fields will have reasonable * default values. */ typedef isc_result_t dns_sdlz_setdb_t(dns_dlzdb_t *dlzdatabase, dns_rdataclass_t rdclass, dns_name_t *name, dns_db_t **dbp); dns_sdlz_setdb_t dns_sdlz_setdb; /*%< * Create the database pointers for a writeable SDLZ zone */ ISC_LANG_ENDDECLS #endif /* SDLZ_H */