GRAYBYTE WORDPRESS FILE MANAGER2130

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/include/bind9/dns/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


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

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
February 21 2025 08:48:18
root / root
0755
acache.h
13.898 KB
February 20 2025 09:05:25
root / root
0644
acl.h
7.072 KB
February 20 2025 09:05:25
root / root
0644
adb.h
22.065 KB
February 20 2025 09:05:25
root / root
0644
badcache.h
3.29 KB
February 20 2025 09:05:25
root / root
0644
bit.h
0.788 KB
February 20 2025 09:05:25
root / root
0644
byaddr.h
3.908 KB
February 20 2025 09:05:25
root / root
0644
cache.h
8.44 KB
February 20 2025 09:05:25
root / root
0644
callbacks.h
2.218 KB
February 20 2025 09:05:25
root / root
0644
catz.h
11.556 KB
February 20 2025 09:05:25
root / root
0644
cert.h
1.432 KB
February 20 2025 09:05:25
root / root
0644
client.h
21.525 KB
February 20 2025 09:05:25
root / root
0644
clientinfo.h
1.959 KB
February 20 2025 09:05:25
root / root
0644
compress.h
6.49 KB
February 20 2025 09:05:25
root / root
0644
db.h
45.476 KB
February 20 2025 09:05:25
root / root
0644
dbiterator.h
7.248 KB
February 20 2025 09:05:25
root / root
0644
dbtable.h
3.091 KB
February 20 2025 09:05:25
root / root
0644
diff.h
6.816 KB
February 20 2025 09:05:25
root / root
0644
dispatch.h
16.042 KB
February 20 2025 09:05:25
root / root
0644
dlz.h
10.369 KB
February 20 2025 09:05:25
root / root
0644
dlz_dlopen.h
4.567 KB
February 20 2025 09:05:25
root / root
0644
dns64.h
5.503 KB
February 20 2025 09:05:25
root / root
0644
dnssec.h
11.831 KB
February 20 2025 09:05:25
root / root
0644
dnstap.h
9.145 KB
February 20 2025 09:05:25
root / root
0644
ds.h
1.196 KB
February 20 2025 09:05:25
root / root
0644
dsdigest.h
1.682 KB
February 20 2025 09:05:25
root / root
0644
dyndb.h
4.722 KB
February 20 2025 09:05:25
root / root
0644
ecdb.h
0.79 KB
February 20 2025 09:05:25
root / root
0644
edns.h
0.705 KB
February 20 2025 09:05:25
root / root
0644
enumclass.h
1.191 KB
February 20 2025 09:05:25
root / root
0644
enumtype.h
8.105 KB
February 20 2025 09:05:25
root / root
0644
events.h
3.964 KB
February 20 2025 09:05:25
root / root
0644
fixedname.h
1.624 KB
February 20 2025 09:05:25
root / root
0644
forward.h
3.371 KB
February 20 2025 09:05:25
root / root
0644
geoip.h
2.727 KB
February 20 2025 09:05:25
root / root
0644
ipkeylist.h
2.135 KB
February 20 2025 09:05:25
root / root
0644
iptable.h
1.583 KB
February 20 2025 09:05:25
root / root
0644
journal.h
8.034 KB
February 20 2025 09:05:25
root / root
0644
keydata.h
1.034 KB
February 20 2025 09:05:25
root / root
0644
keyflags.h
1.248 KB
February 20 2025 09:05:25
root / root
0644
keytable.h
9.24 KB
February 20 2025 09:05:25
root / root
0644
keyvalues.h
4.062 KB
February 20 2025 09:05:25
root / root
0644
lib.h
1.164 KB
February 20 2025 09:05:25
root / root
0644
log.h
3.871 KB
February 20 2025 09:05:25
root / root
0644
lookup.h
2.855 KB
February 20 2025 09:05:25
root / root
0644
master.h
11.024 KB
February 20 2025 09:05:25
root / root
0644
masterdump.h
12.351 KB
February 20 2025 09:05:25
root / root
0644
message.h
37.922 KB
February 20 2025 09:05:25
root / root
0644
name.h
36.245 KB
February 20 2025 09:05:25
root / root
0644
ncache.h
4.813 KB
February 20 2025 09:05:25
root / root
0644
nsec.h
2.859 KB
February 20 2025 09:05:25
root / root
0644
nsec3.h
7.844 KB
February 20 2025 09:05:25
root / root
0644
nta.h
4.441 KB
February 20 2025 09:05:25
root / root
0644
opcode.h
0.983 KB
February 20 2025 09:05:25
root / root
0644
order.h
1.952 KB
February 20 2025 09:05:25
root / root
0644
peer.h
5.826 KB
February 20 2025 09:05:25
root / root
0644
portlist.h
2.052 KB
February 20 2025 09:05:25
root / root
0644
private.h
1.89 KB
February 20 2025 09:05:25
root / root
0644
rbt.h
39.666 KB
February 20 2025 09:05:25
root / root
0644
rcode.h
2.423 KB
February 20 2025 09:05:25
root / root
0644
rdata.h
21.106 KB
February 20 2025 09:05:25
root / root
0644
rdataclass.h
2.204 KB
February 20 2025 09:05:25
root / root
0644
rdatalist.h
2.509 KB
February 20 2025 09:05:25
root / root
0644
rdataset.h
21.031 KB
February 20 2025 09:05:25
root / root
0644
rdatasetiter.h
3.834 KB
February 20 2025 09:05:25
root / root
0644
rdataslab.h
4.281 KB
February 20 2025 09:05:25
root / root
0644
rdatastruct.h
60.141 KB
February 20 2025 09:05:25
root / root
0644
rdatatype.h
2.244 KB
February 20 2025 09:05:25
root / root
0644
request.h
10.895 KB
February 20 2025 09:05:25
root / root
0644
resolver.h
19.753 KB
February 20 2025 09:05:25
root / root
0644
result.h
9.066 KB
February 20 2025 09:05:25
root / root
0644
rootns.h
0.871 KB
February 20 2025 09:05:25
root / root
0644
rpz.h
10.093 KB
February 20 2025 09:05:25
root / root
0644
rriterator.h
4.131 KB
February 20 2025 09:05:25
root / root
0644
rrl.h
6.484 KB
February 20 2025 09:05:25
root / root
0644
sdb.h
7.055 KB
February 20 2025 09:05:25
root / root
0644
sdlz.h
13.881 KB
February 20 2025 09:05:25
root / root
0644
secalg.h
1.666 KB
February 20 2025 09:05:25
root / root
0644
secproto.h
1.521 KB
February 20 2025 09:05:25
root / root
0644
soa.h
2.135 KB
February 20 2025 09:05:25
root / root
0644
ssu.h
8.113 KB
February 20 2025 09:05:25
root / root
0644
stats.h
13.136 KB
February 20 2025 09:05:25
root / root
0644
tcpmsg.h
3.071 KB
February 20 2025 09:05:25
root / root
0644
time.h
1.655 KB
February 20 2025 09:05:25
root / root
0644
timer.h
1.026 KB
February 20 2025 09:05:25
root / root
0644
tkey.h
7.452 KB
February 20 2025 09:05:25
root / root
0644
tsec.h
2.88 KB
February 20 2025 09:05:25
root / root
0644
tsig.h
8.188 KB
February 20 2025 09:05:25
root / root
0644
ttl.h
1.899 KB
February 20 2025 09:05:25
root / root
0644
types.h
13.826 KB
February 20 2025 09:05:25
root / root
0644
update.h
1.614 KB
February 20 2025 09:05:25
root / root
0644
validator.h
6.993 KB
February 20 2025 09:05:25
root / root
0644
version.h
0.848 KB
February 20 2025 09:05:25
root / root
0644
view.h
34.447 KB
February 20 2025 09:05:25
root / root
0644
xfrin.h
2.855 KB
February 20 2025 09:05:25
root / root
0644
zone.h
59.438 KB
February 20 2025 09:05:25
root / root
0644
zonekey.h
0.759 KB
February 20 2025 09:05:25
root / root
0644
zt.h
5.432 KB
February 20 2025 09:05:25
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF