sync with HEAD
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: keycreate.c,v 1.7 2001/04/16 17:23:34 gson Exp $ */
|
||||
/* $Id: keycreate.c,v 1.7.12.1 2003/10/15 05:32:24 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -65,6 +65,7 @@ static dns_tsig_keyring_t *ring;
|
||||
static unsigned char noncedata[16];
|
||||
static isc_buffer_t nonce;
|
||||
static dns_requestmgr_t *requestmgr;
|
||||
static const char *ownername_str = ".";
|
||||
|
||||
static void
|
||||
recvquery(isc_task_t *task, isc_event_t *event) {
|
||||
@@ -132,6 +133,7 @@ sendquery(isc_task_t *task, isc_event_t *event) {
|
||||
isc_region_t r;
|
||||
isc_result_t result;
|
||||
dns_fixedname_t keyname;
|
||||
dns_fixedname_t ownername;
|
||||
isc_buffer_t namestr, keybuf;
|
||||
unsigned char keydata[9];
|
||||
dns_message_t *query;
|
||||
@@ -150,6 +152,13 @@ sendquery(isc_task_t *task, isc_event_t *event) {
|
||||
NULL, ISC_FALSE, NULL);
|
||||
CHECK("dns_name_fromtext", result);
|
||||
|
||||
dns_fixedname_init(&ownername);
|
||||
isc_buffer_init(&namestr, ownername_str, strlen(ownername_str));
|
||||
isc_buffer_add(&namestr, strlen(ownername_str));
|
||||
result = dns_name_fromtext(dns_fixedname_name(&ownername), &namestr,
|
||||
NULL, ISC_FALSE, NULL);
|
||||
CHECK("dns_name_fromtext", result);
|
||||
|
||||
isc_buffer_init(&keybuf, keydata, 9);
|
||||
result = isc_base64_decodestring(keystr, &keybuf);
|
||||
CHECK("isc_base64_decodestring", result);
|
||||
@@ -169,7 +178,8 @@ sendquery(isc_task_t *task, isc_event_t *event) {
|
||||
result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
|
||||
CHECK("dns_message_create", result);
|
||||
|
||||
result = dns_tkey_builddhquery(query, ourkey, dns_rootname,
|
||||
result = dns_tkey_builddhquery(query, ourkey,
|
||||
dns_fixedname_name(&ownername),
|
||||
DNS_TSIG_HMACMD5_NAME, &nonce, 3600);
|
||||
CHECK("dns_tkey_builddhquery", result);
|
||||
|
||||
@@ -207,6 +217,9 @@ main(int argc, char *argv[]) {
|
||||
}
|
||||
ourkeyname = argv[1];
|
||||
|
||||
if (argc >= 3)
|
||||
ownername_str = argv[2];
|
||||
|
||||
dns_result_register();
|
||||
|
||||
mctx = NULL;
|
||||
|
||||
Reference in New Issue
Block a user