SILENT KILLERPanel

Current Path: > > usr > > > include > bind9 > dns


Operation   : Linux premium88.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Software     : Apache
Server IP    : 185.61.154.216 | Your IP: 216.73.216.44
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr///include/bind9/dns

NameTypeSizeLast ModifiedActions
acache.h File 14232 bytes February 20 2025 09:05:25.
acl.h File 7242 bytes February 20 2025 09:05:25.
adb.h File 22595 bytes February 20 2025 09:05:25.
badcache.h File 3369 bytes February 20 2025 09:05:25.
bit.h File 807 bytes February 20 2025 09:05:25.
byaddr.h File 4002 bytes February 20 2025 09:05:25.
cache.h File 8643 bytes February 20 2025 09:05:25.
callbacks.h File 2271 bytes February 20 2025 09:05:25.
catz.h File 11833 bytes February 20 2025 09:05:25.
cert.h File 1466 bytes February 20 2025 09:05:25.
client.h File 22042 bytes February 20 2025 09:05:25.
clientinfo.h File 2006 bytes February 20 2025 09:05:25.
compress.h File 6646 bytes February 20 2025 09:05:25.
db.h File 46567 bytes February 20 2025 09:05:25.
dbiterator.h File 7422 bytes February 20 2025 09:05:25.
dbtable.h File 3165 bytes February 20 2025 09:05:25.
diff.h File 6980 bytes February 20 2025 09:05:25.
dispatch.h File 16427 bytes February 20 2025 09:05:25.
dlz.h File 10618 bytes February 20 2025 09:05:25.
dlz_dlopen.h File 4677 bytes February 20 2025 09:05:25.
dns64.h File 5635 bytes February 20 2025 09:05:25.
dnssec.h File 12115 bytes February 20 2025 09:05:25.
dnstap.h File 9364 bytes February 20 2025 09:05:25.
ds.h File 1225 bytes February 20 2025 09:05:25.
dsdigest.h File 1722 bytes February 20 2025 09:05:25.
dyndb.h File 4835 bytes February 20 2025 09:05:25.
ecdb.h File 809 bytes February 20 2025 09:05:25.
edns.h File 722 bytes February 20 2025 09:05:25.
enumclass.h File 1220 bytes February 20 2025 09:05:25.
enumtype.h File 8300 bytes February 20 2025 09:05:25.
events.h File 4059 bytes February 20 2025 09:05:25.
fixedname.h File 1663 bytes February 20 2025 09:05:25.
forward.h File 3452 bytes February 20 2025 09:05:25.
geoip.h File 2792 bytes February 20 2025 09:05:25.
ipkeylist.h File 2186 bytes February 20 2025 09:05:25.
iptable.h File 1621 bytes February 20 2025 09:05:25.
journal.h File 8227 bytes February 20 2025 09:05:25.
keydata.h File 1059 bytes February 20 2025 09:05:25.
keyflags.h File 1278 bytes February 20 2025 09:05:25.
keytable.h File 9462 bytes February 20 2025 09:05:25.
keyvalues.h File 4159 bytes February 20 2025 09:05:25.
lib.h File 1192 bytes February 20 2025 09:05:25.
log.h File 3964 bytes February 20 2025 09:05:25.
lookup.h File 2924 bytes February 20 2025 09:05:25.
master.h File 11289 bytes February 20 2025 09:05:25.
masterdump.h File 12647 bytes February 20 2025 09:05:25.
message.h File 38832 bytes February 20 2025 09:05:25.
name.h File 37115 bytes February 20 2025 09:05:25.
ncache.h File 4929 bytes February 20 2025 09:05:25.
nsec.h File 2928 bytes February 20 2025 09:05:25.
nsec3.h File 8032 bytes February 20 2025 09:05:25.
nta.h File 4548 bytes February 20 2025 09:05:25.
opcode.h File 1007 bytes February 20 2025 09:05:25.
order.h File 1999 bytes February 20 2025 09:05:25.
peer.h File 5966 bytes February 20 2025 09:05:25.
portlist.h File 2101 bytes February 20 2025 09:05:25.
private.h File 1935 bytes February 20 2025 09:05:25.
rbt.h File 40618 bytes February 20 2025 09:05:25.
rcode.h File 2481 bytes February 20 2025 09:05:25.
rdata.h File 21613 bytes February 20 2025 09:05:25.
rdataclass.h File 2257 bytes February 20 2025 09:05:25.
rdatalist.h File 2569 bytes February 20 2025 09:05:25.
rdataset.h File 21536 bytes February 20 2025 09:05:25.
rdatasetiter.h File 3926 bytes February 20 2025 09:05:25.
rdataslab.h File 4384 bytes February 20 2025 09:05:25.
rdatastruct.h File 61584 bytes February 20 2025 09:05:25.
rdatatype.h File 2298 bytes February 20 2025 09:05:25.
request.h File 11156 bytes February 20 2025 09:05:25.
resolver.h File 20227 bytes February 20 2025 09:05:25.
result.h File 9284 bytes February 20 2025 09:05:25.
rootns.h File 892 bytes February 20 2025 09:05:25.
rpz.h File 10335 bytes February 20 2025 09:05:25.
rriterator.h File 4230 bytes February 20 2025 09:05:25.
rrl.h File 6640 bytes February 20 2025 09:05:25.
sdb.h File 7224 bytes February 20 2025 09:05:25.
sdlz.h File 14214 bytes February 20 2025 09:05:25.
secalg.h File 1706 bytes February 20 2025 09:05:25.
secproto.h File 1557 bytes February 20 2025 09:05:25.
soa.h File 2186 bytes February 20 2025 09:05:25.
ssu.h File 8308 bytes February 20 2025 09:05:25.
stats.h File 13451 bytes February 20 2025 09:05:25.
tcpmsg.h File 3145 bytes February 20 2025 09:05:25.
time.h File 1695 bytes February 20 2025 09:05:25.
timer.h File 1051 bytes February 20 2025 09:05:25.
tkey.h File 7631 bytes February 20 2025 09:05:25.
tsec.h File 2949 bytes February 20 2025 09:05:25.
tsig.h File 8384 bytes February 20 2025 09:05:25.
ttl.h File 1945 bytes February 20 2025 09:05:25.
types.h File 14158 bytes February 20 2025 09:05:25.
update.h File 1653 bytes February 20 2025 09:05:25.
validator.h File 7161 bytes February 20 2025 09:05:25.
version.h File 868 bytes February 20 2025 09:05:25.
view.h File 35274 bytes February 20 2025 09:05:25.
xfrin.h File 2924 bytes February 20 2025 09:05:25.
zone.h File 60864 bytes February 20 2025 09:05:25.
zonekey.h File 777 bytes February 20 2025 09:05:25.
zt.h File 5562 bytes February 20 2025 09:05:25.

Reading File: //usr///include/bind9/dns/tkey.h

/*
 * 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.
 */


#ifndef DNS_TKEY_H
#define DNS_TKEY_H 1

/*! \file dns/tkey.h */

#include <inttypes.h>
#include <stdbool.h>

#include <isc/lang.h>

#include <dns/types.h>

#include <dst/dst.h>
#include <dst/gssapi.h>

ISC_LANG_BEGINDECLS

/* Key agreement modes */
#define DNS_TKEYMODE_SERVERASSIGNED		1
#define DNS_TKEYMODE_DIFFIEHELLMAN		2
#define DNS_TKEYMODE_GSSAPI			3
#define DNS_TKEYMODE_RESOLVERASSIGNED		4
#define DNS_TKEYMODE_DELETE			5

struct dns_tkeyctx {
	dst_key_t *dhkey;
	dns_name_t *domain;
	gss_cred_id_t gsscred;
	isc_mem_t *mctx;
	isc_entropy_t *ectx;
	char *gssapi_keytab;
};

isc_result_t
dns_tkeyctx_create(isc_mem_t *mctx, isc_entropy_t *ectx,
		   dns_tkeyctx_t **tctxp);
/*%<
 *	Create an empty TKEY context.
 *
 * 	Requires:
 *\li		'mctx' is not NULL
 *\li		'tctx' is not NULL
 *\li		'*tctx' is NULL
 *
 *	Returns
 *\li		#ISC_R_SUCCESS
 *\li		#ISC_R_NOMEMORY
 *\li		return codes from dns_name_fromtext()
 */

void
dns_tkeyctx_destroy(dns_tkeyctx_t **tctxp);
/*%<
 *      Frees all data associated with the TKEY context
 *
 * 	Requires:
 *\li		'tctx' is not NULL
 *\li		'*tctx' is not NULL
 */

isc_result_t
dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t *tctx,
		      dns_tsig_keyring_t *ring);
/*%<
 *	Processes a query containing a TKEY record, adding or deleting TSIG
 *	keys if necessary, and modifies the message to contain the response.
 *
 *	Requires:
 *\li		'msg' is a valid message
 *\li		'tctx' is a valid TKEY context
 *\li		'ring' is a valid TSIG keyring
 *
 *	Returns
 *\li		#ISC_R_SUCCESS	msg was updated (the TKEY operation succeeded,
 *				or msg now includes a TKEY with an error set)
 *		DNS_R_FORMERR	the packet was malformed (missing a TKEY
 *				or KEY).
 *\li		other		An error occurred while processing the message
 */

isc_result_t
dns_tkey_builddhquery(dns_message_t *msg, dst_key_t *key, dns_name_t *name,
		      dns_name_t *algorithm, isc_buffer_t *nonce,
		      uint32_t lifetime);
/*%<
 *	Builds a query containing a TKEY that will generate a shared
 *	secret using a Diffie-Hellman key exchange.  The shared key
 *	will be of the specified algorithm (only DNS_TSIG_HMACMD5_NAME
 *	is supported), and will be named either 'name',
 *	'name' + server chosen domain, or random data + server chosen domain
 *	if 'name' == dns_rootname.  If nonce is not NULL, it supplies
 *	random data used in the shared secret computation.  The key is
 *	requested to have the specified lifetime (in seconds)
 *
 *
 *	Requires:
 *\li		'msg' is a valid message
 *\li		'key' is a valid Diffie Hellman dst key
 *\li		'name' is a valid name
 *\li		'algorithm' is a valid name
 *
 *	Returns:
 *\li		#ISC_R_SUCCESS	msg was successfully updated to include the
 *				query to be sent
 *\li		other		an error occurred while building the message
 */

isc_result_t
dns_tkey_buildgssquery(dns_message_t *msg, dns_name_t *name, dns_name_t *gname,
		       isc_buffer_t *intoken, uint32_t lifetime,
		       gss_ctx_id_t *context, bool win2k,
		       isc_mem_t *mctx, char **err_message);
/*%<
 *	Builds a query containing a TKEY that will generate a GSSAPI context.
 *	The key is requested to have the specified lifetime (in seconds).
 *
 *	Requires:
 *\li		'msg'	  is a valid message
 *\li		'name'	  is a valid name
 *\li		'gname'	  is a valid name
 *\li		'context' is a pointer to a valid gss_ctx_id_t
 *			  (which may have the value GSS_C_NO_CONTEXT)
 *\li		'win2k'   when true says to turn on some hacks to work
 *			  with the non-standard GSS-TSIG of Windows 2000
 *
 *	Returns:
 *\li		ISC_R_SUCCESS	msg was successfully updated to include the
 *				query to be sent
 *\li		other		an error occurred while building the message
 *\li		*err_message	optional error message
 */


isc_result_t
dns_tkey_builddeletequery(dns_message_t *msg, dns_tsigkey_t *key);
/*%<
 *	Builds a query containing a TKEY record that will delete the
 *	specified shared secret from the server.
 *
 *	Requires:
 *\li		'msg' is a valid message
 *\li		'key' is a valid TSIG key
 *
 *	Returns:
 *\li		#ISC_R_SUCCESS	msg was successfully updated to include the
 *				query to be sent
 *\li		other		an error occurred while building the message
 */

isc_result_t
dns_tkey_processdhresponse(dns_message_t *qmsg, dns_message_t *rmsg,
			   dst_key_t *key, isc_buffer_t *nonce,
			   dns_tsigkey_t **outkey, dns_tsig_keyring_t *ring);
/*%<
 *	Processes a response to a query containing a TKEY that was
 *	designed to generate a shared secret using a Diffie-Hellman key
 *	exchange.  If the query was successful, a new shared key
 *	is created and added to the list of shared keys.
 *
 *	Requires:
 *\li		'qmsg' is a valid message (the query)
 *\li		'rmsg' is a valid message (the response)
 *\li		'key' is a valid Diffie Hellman dst key
 *\li		'outkey' is either NULL or a pointer to NULL
 *\li		'ring' is a valid keyring or NULL
 *
 *	Returns:
 *\li		#ISC_R_SUCCESS	the shared key was successfully added
 *\li		#ISC_R_NOTFOUND	an error occurred while looking for a
 *				component of the query or response
 */

isc_result_t
dns_tkey_processgssresponse(dns_message_t *qmsg, dns_message_t *rmsg,
			    dns_name_t *gname, gss_ctx_id_t *context,
			    isc_buffer_t *outtoken, dns_tsigkey_t **outkey,
			    dns_tsig_keyring_t *ring, char **err_message);
/*%<
 * XXX
 */

isc_result_t
dns_tkey_processdeleteresponse(dns_message_t *qmsg, dns_message_t *rmsg,
			       dns_tsig_keyring_t *ring);
/*%<
 *	Processes a response to a query containing a TKEY that was
 *	designed to delete a shared secret.  If the query was successful,
 *	the shared key is deleted from the list of shared keys.
 *
 *	Requires:
 *\li		'qmsg' is a valid message (the query)
 *\li		'rmsg' is a valid message (the response)
 *\li		'ring' is not NULL
 *
 *	Returns:
 *\li		#ISC_R_SUCCESS	the shared key was successfully deleted
 *\li		#ISC_R_NOTFOUND	an error occurred while looking for a
 *				component of the query or response
 */

isc_result_t
dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t *rmsg,
		      dns_name_t *server, gss_ctx_id_t *context,
		      dns_tsigkey_t **outkey, dns_tsig_keyring_t *ring,
		      bool win2k, char **err_message);

/*
 *	Client side negotiation of GSS-TSIG.  Process the response
 *	to a TKEY, and establish a TSIG key if negotiation was successful.
 *	Build a response to the input TKEY message.  Can take multiple
 *	calls to successfully establish the context.
 *
 *	Requires:
 *		'qmsg'    is a valid message, the original TKEY request;
 *			     it will be filled with the new message to send
 *		'rmsg'    is a valid message, the incoming TKEY message
 *		'server'  is the server name
 *		'context' is the input context handle
 *		'outkey'  receives the established key, if non-NULL;
 *			      if non-NULL must point to NULL
 *		'ring'	  is the keyring in which to establish the key,
 *			      or NULL
 *		'win2k'   when true says to turn on some hacks to work
 *			      with the non-standard GSS-TSIG of Windows 2000
 *
 *	Returns:
 *		ISC_R_SUCCESS	context was successfully established
 *		ISC_R_NOTFOUND  couldn't find a needed part of the query
 *					or response
 *		DNS_R_CONTINUE  additional context negotiation is required;
 *					send the new qmsg to the server
 */

ISC_LANG_ENDDECLS

#endif /* DNS_TKEY_H */

SILENT KILLER Tool