Skip to content

Commit

Permalink
Merge pull request #2 from ilmanzo/ch_class
Browse files Browse the repository at this point in the history
support for CH class
  • Loading branch information
636f7374 committed Mar 9, 2020
2 parents a8cf2d6 + 34e4579 commit 0a6b82a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
20 changes: 20 additions & 0 deletions examples/chaos_class_resolve.cr
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#query local bind server version using CH class, TXT record

require "../src/durian.cr"

buffer = uninitialized UInt8[4096_i32]

request = Durian::Packet::Request.new

request.queries << Durian::Section::Question.new Durian::RecordFlag::TXT, "version.bind", Durian::Cls::CH

_request = IO::Memory.new request.to_slice
puts [:Request, Durian::Packet::Request.from_io _request]

udp_socket = UDPSocket.new
udp_socket.connect Socket::IPAddress.new "127.0.0.1", 53_i32
udp_socket.send _request.to_slice
length, ip_address = udp_socket.receive buffer.to_slice

_response = IO::Memory.new buffer.to_slice[0_i32, length]
puts [:Response, Durian::Packet::Response.from_io _response]
2 changes: 2 additions & 0 deletions src/durian/durian.cr
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ module Durian

enum Cls : UInt16
IN = 1_u16
CH = 3_u16 # rfc 2929
HS = 4_u16
end

class MalformedPacket < Exception
Expand Down

0 comments on commit 0a6b82a

Please sign in to comment.