Lines Matching refs:dctx
350 dst_context_t *dctx;
364 dctx = isc_mem_get(mctx, sizeof(dst_context_t));
365 if (dctx == NULL)
367 memset(dctx, 0, sizeof(*dctx));
368 dst_key_attach(key, &dctx->key);
369 isc_mem_attach(mctx, &dctx->mctx);
370 dctx->category = category;
372 dctx->use = DO_SIGN;
374 dctx->use = DO_VERIFY;
376 result = key->func->createctx2(key, maxbits, dctx);
378 result = key->func->createctx(key, dctx);
380 if (dctx->key != NULL)
381 dst_key_free(&dctx->key);
382 isc_mem_putanddetach(&dctx->mctx, dctx, sizeof(dst_context_t));
385 dctx->magic = CTX_MAGIC;
386 *dctxp = dctx;
392 dst_context_t *dctx;
396 dctx = *dctxp;
397 INSIST(dctx->key->func->destroyctx != NULL);
398 dctx->key->func->destroyctx(dctx);
399 if (dctx->key != NULL)
400 dst_key_free(&dctx->key);
401 dctx->magic = 0;
402 isc_mem_putanddetach(&dctx->mctx, dctx, sizeof(dst_context_t));
407 dst_context_adddata(dst_context_t *dctx, const isc_region_t *data) {
408 REQUIRE(VALID_CTX(dctx));
410 INSIST(dctx->key->func->adddata != NULL);
412 return (dctx->key->func->adddata(dctx, data));
416 dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig) {
419 REQUIRE(VALID_CTX(dctx));
422 key = dctx->key;
433 return (key->func->sign(dctx, sig));
437 dst_context_verify(dst_context_t *dctx, isc_region_t *sig) {
438 REQUIRE(VALID_CTX(dctx));
441 CHECKALG(dctx->key->key_alg);
442 if (dctx->key->keydata.generic == NULL)
444 if (dctx->key->func->verify == NULL)
447 return (dctx->key->func->verify(dctx, sig));
451 dst_context_verify2(dst_context_t *dctx, unsigned int maxbits,
454 REQUIRE(VALID_CTX(dctx));
457 CHECKALG(dctx->key->key_alg);
458 if (dctx->key->keydata.generic == NULL)
460 if (dctx->key->func->verify == NULL &&
461 dctx->key->func->verify2 == NULL)
464 return (dctx->key->func->verify2 != NULL ?
465 dctx->key->func->verify2(dctx, maxbits, sig) :
466 dctx->key->func->verify(dctx, sig));