というわけで、かんたんに。

query を受け、その結果をDNSサーバ(tinydns)が、stdoutに吐きます。
通常だとtinydnsの場合、daemontools経由でmultilogというプログラムにパイプされて、
システムログとしてとられてゆくわけですが、
ここで簡単なプログラムを間にはさんで、トカゲプログラムにも出力を横流しするようにしています。

トカゲプログラムをそのままの形で起動するとユーザの権限が変わってしまうので、
setuidgidを使って、トカゲのユーザID/グループIDで起動するように設定してあります。

より具体的には、daemontoolsのlog/runを、

#!/bin/sh
exec setuidgid dnslog multilog t ./main

とかから、

exec 横取りプログラム

とかに変更して、
横取りプログラムの子供としてトカゲプログラム(トカゲユーザの権限)と
従来のmultilog(ログをとるユーザの権限)を呼ぶようにしていると。