Example #1
0
static int
verify_tth_update(const void *data, size_t size)
{
	if G_UNLIKELY(NULL == verify_tth.context)
		return -1;

	tt_update(verify_tth.context, data, size);
	return 0;
}
Example #2
0
static G_GNUC_COLD void
tt_check_digest(const char * const expected, const void *data, size_t size)
{
	char digest[TTH_BASE32_SIZE + 1];
	struct tth hash;
	TTH_CONTEXT ctx;

	tt_init(&ctx, size);
	tt_update(&ctx, data, size);
	tt_digest(&ctx, &hash);

	ZERO(&digest);
	base32_encode(digest, sizeof digest, hash.data, sizeof hash.data);
	digest[G_N_ELEMENTS(digest) - 1] = '\0';

	if (0 != strcmp(expected, digest)) {
		g_warning("tt_check_digest:\nExpected: \"%s\"\nGot:      \"%s\"",
			expected, digest);
		g_error("Tigertree implementation is defective.");
	}
}
Example #3
0
static int
verify_tth_update(const void *data, size_t size)
{
	tt_update(verify_tth.context, data, size);
	return 0;
}