Add support for parsing DNS TXT queries.
parent
51bfb5532d
commit
46fa62ce25
|
|
@ -6,7 +6,7 @@ io io.binary io.encodings.binary io.encodings.string
|
||||||
io.encodings.utf8 io.sockets io.sockets.private
|
io.encodings.utf8 io.sockets io.sockets.private
|
||||||
io.streams.byte-array io.timeouts kernel make math math.bitwise
|
io.streams.byte-array io.timeouts kernel make math math.bitwise
|
||||||
math.parser namespaces nested-comments random sequences
|
math.parser namespaces nested-comments random sequences
|
||||||
slots.syntax splitting system vectors vocabs.loader ;
|
slots.syntax splitting system vectors vocabs.loader strings ;
|
||||||
IN: dns
|
IN: dns
|
||||||
|
|
||||||
: with-input-seek ( n seek-type quot -- )
|
: with-input-seek ( n seek-type quot -- )
|
||||||
|
|
@ -286,6 +286,9 @@ M: SOA rdata>byte-array
|
||||||
} cleave
|
} cleave
|
||||||
] B{ } append-outputs-as ;
|
] B{ } append-outputs-as ;
|
||||||
|
|
||||||
|
M: TXT rdata>byte-array
|
||||||
|
drop ;
|
||||||
|
|
||||||
: rr>byte-array ( rr -- byte-array )
|
: rr>byte-array ( rr -- byte-array )
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -333,6 +336,26 @@ M: SOA rdata>byte-array
|
||||||
: dns-AAAA-query ( domain -- message ) AAAA IN <query> dns-query ;
|
: dns-AAAA-query ( domain -- message ) AAAA IN <query> dns-query ;
|
||||||
: dns-MX-query ( domain -- message ) MX IN <query> dns-query ;
|
: dns-MX-query ( domain -- message ) MX IN <query> dns-query ;
|
||||||
: dns-NS-query ( domain -- message ) NS IN <query> dns-query ;
|
: dns-NS-query ( domain -- message ) NS IN <query> dns-query ;
|
||||||
|
: dns-TXT-query ( domain -- message ) TXT IN <query> dns-query ;
|
||||||
|
|
||||||
|
: TXT-message>strings ( message -- strings )
|
||||||
|
answer-section>>
|
||||||
|
[ rdata>>
|
||||||
|
[
|
||||||
|
binary <byte-reader> [
|
||||||
|
[
|
||||||
|
read1 [
|
||||||
|
read , t
|
||||||
|
] [
|
||||||
|
f
|
||||||
|
] if*
|
||||||
|
] loop
|
||||||
|
] with-input-stream
|
||||||
|
] { } make [ >string ] map
|
||||||
|
] map ;
|
||||||
|
|
||||||
|
: TXT. ( domain -- )
|
||||||
|
dns-TXT-query TXT-message>strings [ [ print ] each ] each ;
|
||||||
|
|
||||||
: reverse-lookup ( reversed-ip -- message )
|
: reverse-lookup ( reversed-ip -- message )
|
||||||
PTR IN <query> dns-query ;
|
PTR IN <query> dns-query ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue