[Freewnn-users 317] Re: [freewnn] #38482: .dic files vary across builds

Back to archive index

ishikawa ishik****@yk*****
2018年 8月 20日 (月) 15:37:03 JST


皆様:

石川(千秋)と申します。

言及されたスライドを拝見しました。

3ページに書かれている「今でも利用者はわずかに存在する」に属する生きた化石です。

Reproducible build はセキュリティの点からとても重要だとはおもうのです。

が、辞書の
ctimeってひょっとするとサーバーが辞書の更新を知るために見てたりしないのですかね?
辞書の更新時にどうするのだったか記憶がはっきりしないのですが、更新された辞書のタイムスタンプを定期的に確認して自分で再度よみにいくのか、
はてまた SIGUSR1かなにかで指令されたりする時に読むのか?

もしctime
フィールドがこういう目的で変更があったかどうかに使われているとすると、reproducible
buildのためには次のようにするのがよいかも。
作成時に埋め込むctime フィールドは直接 ctime()とか呼ばずに、
Makefile で指定した固定の暫定の過去の日時たとえば、2011年
11月11日11時11分11秒
とかを埋め込めることができるようなオプションを辞書作成ツールに追加するのがよいとおもいました。
hostname とか build 時の current time も同様に reproducible build
の為には、固定の暫定の値を埋め込むのがreproducible build にはよいかと。
(デバイス番号とかinode# はダミーで固定していいんじゃないかと。)

大昔 非常に粗いレベルでのreproducible build のチェックとして、gcc
が自分自身をコンパイルして、そのバイナリでさらにもう一度自分自身をコンパイルして
同じバイナリになるかどうか確かめていました。正しいコンパイラならば同じバイナリになるはずであると。
そのときにオブジェクトファイル、実行ファイルの先頭にはいっているタイムスタンプを省いて
unix/posix  のcmp を呼んで比較していました。
opensuseでの同一比較が辞書全体のhash の比較をしているとしたら、昔の gcc
の場合のように先頭のヘッダー部分をスキップしてhashをつくって比較するようにするという逃げ方もないではないでしょう。ですが、上のようにMakefile
で指定する固定暫定値を埋め込めるようにしておいた方が汎用性はありますね。

石川


On 2018年08月20日 09:27, Tomoko Yoshida wrote:
> 中野様、皆様
>
> 大変にごぶさたしています。よしだです。
>> この件を昨日2018年8月18日に
>> 「LILO&東海道らぐオフラインミーティング 」でお話させていただきました。
>>  <https://lilo.connpass.com/event/95172/>
>>  <https://www.slideshare.net/MitsutoshiNakano/freewnn-patch/MitsutoshiNakano/freewnn-patch>
>>  <https://speakerdeck.com/mitsutoshinakano/freewnn-ni-patch-gasong-raretekita-dousiyou>
> スライドを見せていただきました。
>
> 18日に「LILO&東海道らぐオフラインミーティング」
> に来られていた方は、どのような反応でしたでしたか?
>
> オムロンソフトウェアは、Wnnでのビジネスを続けているようですが
> (以下にWebによると)、
>
> https://www.omronsoft.co.jp/products/product_text/
>
> 会社としての協力は難しいだろうと思います。
>
> 2013年に一度、オムロンの山野さんに個人的に声をかけたことがありましたね
> (以下がその時の話)。
>
> https://www.ospn.jp/osc2013-kyoto/pdf/osc2013kyoto_kyotolocal.pdf
>
>
> 発展性のないメールで、申し訳ございません。よしだともこ
>
>
> On 2018/08/19 7:50, Mitsutoshi NAKANO wrote:
>> 2018年8月12日(日) 12:09 Mitsutoshi NAKANO <itsan****@gmail*****>:
>>> 2018年8月12日(日) 8:43 Mitsutoshi NAKANO <itsan****@gmail*****>:
>>>> 8月9日に #38482 .dic files vary across builds
>>>> というticketが切られました。
>>>>  <https://osdn.net/projects/freewnn/ticket/38482>
>>>> パッチの中で説明されている
>>>>  <https://reproducible-builds.org/>
>>>> のコンテンツを読むと、なるほどなと思います。
>>>> 対応したほうが良いと中野は考えます。
>>>>
>>>> 対処する方向で考えて、影響を調査しようと思います。
>>>>
>>>> パッチ <http://rb.zq1.de/patches/fwnn.patch> を確認しましたが、
>>>> 2ファイルを変更しています。
>>>>
>>>> 前半の Wnn/etc/bdic.c の変更の方ですが、
>>>> ヘッダ部の
>>>> 1. ホスト名
>>>> 2. デバイスNumber
>>>> 3. i-node number
>>>> 4. ctime
>>>> の情報を殺してしまっています。
>>>>
>>>> この機能、単純に殺してしまって良いんでしたっけ?
>>> 動作確認してみました。
>>> 辞書のreadに失敗するようになりますね。
>>> このままでは駄目だとチケットには書いておきます。
>>> FreeWnnを正しくreproducible-buildsにするためには何をすればよいか
>>> 調べておきます。
>> この件を昨日2018年8月18日に
>> 「LILO&東海道らぐオフラインミーティング 」でお話させていただきました。
>>  <https://lilo.connpass.com/event/95172/>
>>  <https://www.slideshare.net/MitsutoshiNakano/freewnn-patch/MitsutoshiNakano/freewnn-patch>
>>  <https://speakerdeck.com/mitsutoshinakano/freewnn-ni-patch-gasong-raretekita-dousiyou>
>>
> _______________________________________________
> freewnn-users mailing list
> freew****@lists*****
> https://lists.osdn.me/mailman/listinfo/freewnn-users
>




freewnn-users メーリングリストの案内
Back to archive index