"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/dnsmasq.h" between
dnsmasq-2.83.tar.xz and dnsmasq-2.84.tar.xz

About: Dnsmasq is a lightweight caching DNS forwarder and DHCP server.

dnsmasq.h  (dnsmasq-2.83.tar.xz):dnsmasq.h  (dnsmasq-2.84.tar.xz)
/* dnsmasq is Copyright (c) 2000-2020 Simon Kelley /* dnsmasq is Copyright (c) 2000-2021 Simon Kelley
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 dated June, 1991, or the Free Software Foundation; version 2 dated June, 1991, or
(at your option) version 3 dated 29 June, 2007. (at your option) version 3 dated 29 June, 2007.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#define COPYRIGHT "Copyright (c) 2000-2020 Simon Kelley" #define COPYRIGHT "Copyright (c) 2000-2021 Simon Kelley"
/* We do defines that influence behavior of stdio.h, so complain /* We do defines that influence behavior of stdio.h, so complain
if included too early. */ if included too early. */
#ifdef _STDIO_H #ifdef _STDIO_H
# error "Header file stdio.h included too early!" # error "Header file stdio.h included too early!"
#endif #endif
#ifndef NO_LARGEFILE #ifndef NO_LARGEFILE
/* Ensure we can use files >2GB (log files may grow this big) */ /* Ensure we can use files >2GB (log files may grow this big) */
# define _LARGEFILE_SOURCE 1 # define _LARGEFILE_SOURCE 1
skipping to change at line 160 skipping to change at line 160
extern int capget(cap_user_header_t header, cap_user_data_t data); extern int capget(cap_user_header_t header, cap_user_data_t data);
#define LINUX_CAPABILITY_VERSION_1 0x19980330 #define LINUX_CAPABILITY_VERSION_1 0x19980330
#define LINUX_CAPABILITY_VERSION_2 0x20071026 #define LINUX_CAPABILITY_VERSION_2 0x20071026
#define LINUX_CAPABILITY_VERSION_3 0x20080522 #define LINUX_CAPABILITY_VERSION_3 0x20080522
#include <sys/prctl.h> #include <sys/prctl.h>
#elif defined(HAVE_SOLARIS_NETWORK) #elif defined(HAVE_SOLARIS_NETWORK)
#include <priv.h> #include <priv.h>
#endif #endif
#if defined(HAVE_DNSSEC) || defined(HAVE_NETTLEHASH) /* Backwards compat with 2.83 */
#if defined(HAVE_NETTLEHASH)
# define HAVE_CRYPTOHASH
#endif
#if defined(HAVE_DNSSEC) || defined(HAVE_CRYPTOHASH)
# include <nettle/nettle-meta.h> # include <nettle/nettle-meta.h>
#endif #endif
/* daemon is function in the C library.... */ /* daemon is function in the C library.... */
#define daemon dnsmasq_daemon #define daemon dnsmasq_daemon
#define ADDRSTRLEN INET6_ADDRSTRLEN #define ADDRSTRLEN INET6_ADDRSTRLEN
/* Async event queue */ /* Async event queue */
struct event_desc { struct event_desc {
skipping to change at line 663 skipping to change at line 667
#define FREC_HAS_PHEADER 1024 #define FREC_HAS_PHEADER 1024
#define FREC_NO_CACHE 2048 #define FREC_NO_CACHE 2048
#define HASH_SIZE 32 /* SHA-256 digest size */ #define HASH_SIZE 32 /* SHA-256 digest size */
struct frec { struct frec {
struct frec_src { struct frec_src {
union mysockaddr source; union mysockaddr source;
union all_addr dest; union all_addr dest;
unsigned int iface, log_id; unsigned int iface, log_id;
int fd;
unsigned short orig_id; unsigned short orig_id;
struct frec_src *next; struct frec_src *next;
} frec_src; } frec_src;
struct server *sentto; /* NULL means free */ struct server *sentto; /* NULL means free */
struct randfd *rfd4; struct randfd *rfd4;
struct randfd *rfd6; struct randfd *rfd6;
unsigned short new_id; unsigned short new_id;
int fd, forwardall, flags; int forwardall, flags;
time_t time; time_t time;
unsigned char *hash[HASH_SIZE]; unsigned char *hash[HASH_SIZE];
#ifdef HAVE_DNSSEC #ifdef HAVE_DNSSEC
int class, work_counter; int class, work_counter;
struct blockdata *stash; /* Saved reply, whilst we validate */ struct blockdata *stash; /* Saved reply, whilst we validate */
size_t stash_len; size_t stash_len;
struct frec *dependent; /* Query awaiting internally-generated DNSKEY or DS qu ery */ struct frec *dependent; /* Query awaiting internally-generated DNSKEY or DS qu ery */
struct frec *blocking_query; /* Query which is blocking us. */ struct frec *blocking_query; /* Query which is blocking us. */
#endif #endif
struct frec *next; struct frec *next;
skipping to change at line 1259 skipping to change at line 1264
size_t dnssec_generate_query(struct dns_header *header, unsigned char *end, char *name, int class, int type, int edns_pktsz); size_t dnssec_generate_query(struct dns_header *header, unsigned char *end, char *name, int class, int type, int edns_pktsz);
int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch ar *name, char *keyname, int class); int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch ar *name, char *keyname, int class);
int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class); int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class);
int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch ar *name, char *keyname, int *class, int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch ar *name, char *keyname, int *class,
int check_unsigned, int *neganswer, int *nons, int *nse c_ttl); int check_unsigned, int *neganswer, int *nons, int *nse c_ttl);
int dnskey_keytag(int alg, int flags, unsigned char *key, int keylen); int dnskey_keytag(int alg, int flags, unsigned char *key, int keylen);
size_t filter_rrsigs(struct dns_header *header, size_t plen); 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 */
const struct nettle_hash *hash_find(char *name); const struct nettle_hash *hash_find(char *name);
int hash_init(const struct nettle_hash *hash, void **ctxp, unsigned char **diges tp); int hash_init(const struct nettle_hash *hash, void **ctxp, unsigned char **diges tp);
int verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len, int verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, size_t sig_len,
unsigned char *digest, size_t digest_len, int algo); unsigned char *digest, size_t digest_len, int algo);
char *ds_digest_name(int digest); char *ds_digest_name(int digest);
char *algo_digest_name(int algo); char *algo_digest_name(int algo);
char *nsec3_digest_name(int digest); char *nsec3_digest_name(int digest);
 End of changes. 6 change blocks. 
4 lines changed or deleted 10 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)