mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Tidy initialisation in hash_questions.c
This commit is contained in:
@@ -390,8 +390,8 @@ int main (int argc, char **argv)
|
|||||||
if (daemon->port != 0)
|
if (daemon->port != 0)
|
||||||
{
|
{
|
||||||
cache_init();
|
cache_init();
|
||||||
|
|
||||||
blockdata_init();
|
blockdata_init();
|
||||||
|
hash_questions_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_INOTIFY
|
#ifdef HAVE_INOTIFY
|
||||||
|
|||||||
@@ -1261,6 +1261,7 @@ size_t filter_rrsigs(struct dns_header *header, size_t plen);
|
|||||||
int setup_timestamp(void);
|
int setup_timestamp(void);
|
||||||
|
|
||||||
/* hash_questions.c */
|
/* hash_questions.c */
|
||||||
|
void hash_questions_init(void);
|
||||||
unsigned char *hash_questions(struct dns_header *header, size_t plen, char *name);
|
unsigned char *hash_questions(struct dns_header *header, size_t plen, char *name);
|
||||||
|
|
||||||
/* crypto.c */
|
/* crypto.c */
|
||||||
|
|||||||
@@ -29,27 +29,24 @@
|
|||||||
#include "dnsmasq.h"
|
#include "dnsmasq.h"
|
||||||
|
|
||||||
#if defined(HAVE_DNSSEC) || defined(HAVE_NETTLEHASH)
|
#if defined(HAVE_DNSSEC) || defined(HAVE_NETTLEHASH)
|
||||||
|
|
||||||
|
static const struct nettle_hash *hash;
|
||||||
|
static void *ctx;
|
||||||
|
static unsigned char *digest;
|
||||||
|
|
||||||
|
void hash_questions_init(void)
|
||||||
|
{
|
||||||
|
if (!(hash = hash_find("sha256")) || !hash_init(hash, &ctx, &digest))
|
||||||
|
die(_("Failed to create SHA-256 hash object"), NULL, EC_MISC);
|
||||||
|
}
|
||||||
|
|
||||||
unsigned char *hash_questions(struct dns_header *header, size_t plen, char *name)
|
unsigned char *hash_questions(struct dns_header *header, size_t plen, char *name)
|
||||||
{
|
{
|
||||||
int q;
|
int q;
|
||||||
unsigned char *p = (unsigned char *)(header+1);
|
unsigned char *p = (unsigned char *)(header+1);
|
||||||
const struct nettle_hash *hash;
|
|
||||||
void *ctx;
|
|
||||||
unsigned char *digest;
|
|
||||||
|
|
||||||
if (!(hash = hash_find("sha256")) || !hash_init(hash, &ctx, &digest))
|
|
||||||
{
|
|
||||||
/* don't think this can ever happen. */
|
|
||||||
static unsigned char dummy[HASH_SIZE];
|
|
||||||
static int warned = 0;
|
|
||||||
|
|
||||||
if (!warned)
|
hash->init(ctx);
|
||||||
my_syslog(LOG_ERR, _("Failed to create SHA-256 hash object"));
|
|
||||||
warned = 1;
|
|
||||||
|
|
||||||
return dummy;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (q = ntohs(header->qdcount); q != 0; q--)
|
for (q = ntohs(header->qdcount); q != 0; q--)
|
||||||
{
|
{
|
||||||
char *cp, c;
|
char *cp, c;
|
||||||
@@ -91,6 +88,9 @@ static void sha256_init(SHA256_CTX *ctx);
|
|||||||
static void sha256_update(SHA256_CTX *ctx, const BYTE data[], size_t len);
|
static void sha256_update(SHA256_CTX *ctx, const BYTE data[], size_t len);
|
||||||
static void sha256_final(SHA256_CTX *ctx, BYTE hash[]);
|
static void sha256_final(SHA256_CTX *ctx, BYTE hash[]);
|
||||||
|
|
||||||
|
void hash_questions_init(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
unsigned char *hash_questions(struct dns_header *header, size_t plen, char *name)
|
unsigned char *hash_questions(struct dns_header *header, size_t plen, char *name)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user