/usr/include/spf2/spf_dns_zone.h is in libspf2-dev 1.2.10-7build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | /*
* This program is free software; you can redistribute it and/or modify
* it under the terms of either:
*
* a) The GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1, or (at your option) any
* later version,
*
* OR
*
* b) The two-clause BSD license.
*
* These licenses can be found with the distribution in the file LICENSES
*/
#ifndef INC_SPF_DNS_ZONE
#define INC_SPF_DNS_ZONE
/**
* @file
* @brief A local DNS zone layer.
*
* The zone DNS layer allows you to create DNS zone information from
* scratch, without calling some sort of external DNS resolver.
*
* The primary use is to either override real DNS information, or to
* provide fallbacks when no DNS information is available. The zone
* will override the real DNS information if it is above the resolving
* DNS layer in the stack. It will provide a fallback if it is
* layered below.
*
* The zone DNS layer supports wildcard domain names, but not in the
* way that wilcards are supported in real DNS zones. Unlike real DNS
* zones, a wildcard in the zone layer will match even if there are
* other records of a different RR type in the same zone. This makes
* wildcarding much more useful, but could cause confusion.
*
* When using wildcards, it is important to add the most specific DNS
* zone data first, and the most general data last. Otherwise, the
* more general information will always be returned. This should
* probably be considered a bug and may be fixed in the future.
*
* For example, if you want to add entries with the same RR type for
* "foo.foo.example.com", "*.foo.example.com" and "*.example.com", you
* should add them in this order.
*
* You can also add entries with the RR type of ns_t_any, which will
* match any type of RR query. This is most useful when you want to
* wildcard HOST_NOT_FOUND entries to prevent queries of any type from
* being fetched from a lower DNS layer.
*
*
* For an overview of the DNS layer system, see spf_dns.h
*/
/**
* These routines take care of creating/destroying/etc. the objects
* that hold the DNS layer configuration. SPF_dns_server_t objects contain
* malloc'ed data, so they must be destroyed when you are finished
* with them, or you will leak memory.
*
* The "name" will be used when displaying debugging information so
* that you can tell which zone layer in the stack of DNS layers
* generated the output.
*/
SPF_dns_server_t *SPF_dns_zone_new(SPF_dns_server_t *layer_below,
const char *name, int debug);
/**
* Adds an entry to a DNS zone.
*
* If a given domain name has multiple records of a given RR type, you
* can call the add routine multiple times to add to the RR set.
*/
SPF_errcode_t SPF_dns_zone_add_str(SPF_dns_server_t *spf_dns_server,
const char *domain, ns_type rr_type,
SPF_dns_stat_t herrno, const char *data);
#endif
|