progress of development pdns-mrubybackend 1.4
こんばんは。
夏休みの宿題としてpdns-mrubybackend の PowerDNS 4.0.1 対応やってます。
この記事はメモと独り言です。
どのソースのどこの事だとかきちんと書いてません。ごめんなさい。
やってるんですが、3.x系PowerDNSと4.x系PowerDNSでDNSBackend::lookup
メソッドの引数の型が変更されたようで
思ってたより時間喰っております。
1 | /* 3.4.9 */ |
qdomain
は問い合わせ対象のFQDNが入り従来は文字列でしたが4系ではDNSNameに変更されています。
.toString()
してしまえばこれまでと同じように文字列が得られるのですが toString()
すると、
ナニカコレマデトチョトチガウ。
そう、qdomain.toString()
すると example.jp.
のように Trailing Dotがつくんですね。
これは同じrubyのバックエンドコードを使うと挙動が変わってしまう。
さてはて。同じにする方法は無いものか。DNSName
のtoString
は以下のように定義されてました。
1 | std::string toString(const std::string& separator=".", const bool trailing=true) const; |
ほほーん。
おまけに以下のようなメソッドも用意されていたり。
1 | std::string toStringNoDot() const { return toString(".", false); } |
ひとまず、confで.
の有無を選べるようなオプションを追加しようと思います。
さ、続きを頑張るぞ。