2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 05:28:00 +00:00

Change dns_tsigkey_identity from macro to a function and const argument and result

This commit is contained in:
Ondřej Surý 2019-09-27 09:39:02 +02:00
parent 4d2697b31c
commit 2e304b0b7f
3 changed files with 28 additions and 5 deletions

View File

@ -86,13 +86,21 @@ struct dns_tsigkey {
ISC_LINK(dns_tsigkey_t) link; ISC_LINK(dns_tsigkey_t) link;
}; };
#define dns_tsigkey_identity(tsigkey) \
((tsigkey) == NULL ? NULL : \
(tsigkey)->generated ? ((tsigkey)->creator) : \
(&((tsigkey)->name)))
ISC_LANG_BEGINDECLS ISC_LANG_BEGINDECLS
const dns_name_t *
dns_tsigkey_identity(const dns_tsigkey_t *tsigkey);
/*%<
* Returns the identity of the provided TSIG key.
*
* Requires:
*\li 'tsigkey' is a valid TSIG key or NULL
*
* Returns:
*\li NULL if 'tsigkey' was NULL
*\li identity of the provided TSIG key
*/
isc_result_t isc_result_t
dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm, dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm,
unsigned char *secret, int length, bool generated, unsigned char *secret, int length, bool generated,

View File

@ -643,6 +643,20 @@ dns_tsigkeyring_dumpanddetach(dns_tsig_keyring_t **ringp, FILE *fp) {
return (result); return (result);
} }
const dns_name_t *
dns_tsigkey_identity(const dns_tsigkey_t *tsigkey) {
REQUIRE(tsigkey == NULL || VALID_TSIG_KEY(tsigkey));
if (tsigkey == NULL) {
return (NULL);
}
if (tsigkey->generated) {
return (tsigkey->creator);
} else {
return (&tsigkey->name);
}
}
isc_result_t isc_result_t
dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm, dns_tsigkey_create(const dns_name_t *name, const dns_name_t *algorithm,
unsigned char *secret, int length, bool generated, unsigned char *secret, int length, bool generated,

View File

@ -1021,6 +1021,7 @@ dns_tsigkey_create
dns_tsigkey_createfromkey dns_tsigkey_createfromkey
dns_tsigkey_detach dns_tsigkey_detach
dns_tsigkey_find dns_tsigkey_find
dns_tsigkey_identity
dns_tsigkey_setdeleted dns_tsigkey_setdeleted
dns_tsigkeyring_add dns_tsigkeyring_add
dns_tsigkeyring_attach dns_tsigkeyring_attach