| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/1/root/proc/thread-self/root/usr/include/spf2/ |
Upload File : |
/* * 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