[Momonga-devel.ja:00383] help wanted: libnet and laptop-net


さくです。

いくつかの日記で紹介されている、イーサネットのハートビートを検知して自動的に
ネットワーク設定を切り替えるツール laptop-net をパッケージングしようとしてい
ます。

せっかくなので最新版にしようと思ったのですが、一次サイトには最新版がないので、
Debian のミラーから laptop-net 2.8 を拾ってきました。これをコンパイルしようと
すると、libnet という別ライブラリが必要だということです。

それではと libnet のサイトを見ると、Debian で使っている 1.0.2a は deprecated
になっており、1.1.0 という新しいバージョンがありました。この新しいほうをまず
パッケージングして、laptop-netをコンパイルしようとしたところ、libnet の API
が派手に変更になっていてまともにコンパイルできません。そこで、現在は、
laptop-net (の arp-discovery.c) を libnet 1.1.0 対応にすべく作業しています。

ひとまずコンパイルは通るようになったのですが、受けとった arp リプライをプログ
ラム中でダンプさせてみると、アドレス部分に綺麗に 0 が並んでいて、まともな状態
ではありません。同時に ethereal でパケットをキャプチャしてみるとそれなりのリ
プライが返ってきているようなので、私の改造のどこかで受け取る処理を間違えてし
まったのだろうと思うのですが、あまり知識がないこともあり、解決できずにいます。

というわけで、ひとまず commit しましたので、興味のある方は覗いてみてください。

なお、libnet 1.0 系列から 1.1 系列への移行については、%doc にある MIGRATION
というファイルと、sample/arp.c を参考にしました。

-- 
OZAWA -Crouton- Sakuro                         VERBA VOLANT, SCRIPTA MANENT

Mail: mailto:crouton@xxxxxxxxxxxxxxxx       GnuPG: 1C1A 4C26 32E2 A911 7B62
 Web: http://www.weatherlight.org/~crouton/        E194 37C0 8725 F1D8 F388