I attach to you two files concerning tcp packets from the client,
heavily based on the existing work on libcli/dns and dns_server.
tstream_read_pdu_blob_send() and tstream_read_pdu_blob_recv() don't
appear to be defined in tsocket, I went on to use
tstream_readv_pdu_send()/recv() instead to handle the request, though
there are some things I need clarification on (see 85, 127 in dns_tcp.c).