Bug #1894
closedRe: [ruby-cvs:31633] Ruby:r24415 (trunk): * ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an
Description
=begin
こんにちは、なかむら(う)です。
下記のcommitの結果、VCではビルドができません。
(1) BYTE_ORDERマクロ等の定義が必要なら、extconf.rbで有無を確
認して、なければ定義するかビルド対象から除外してください。
(2) have_headerマクロでヘッダの存在をチェックしているなら、
ない時は#includeしないでください。
In message "[ruby-cvs:31633] Ruby:r24415 (trunk): * ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an"
on Aug.06,2009 01:40:40, knu@ruby-lang.org wrote:
knu 2009-08-06 01:40:33 +0900 (Thu, 06 Aug 2009)
New Revision: 24415
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24415
Log:
* ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an
off-by-one bug in SHA-256 hashing. Reduce differences from
the original while at it. [Bug #1799]Modified files:
trunk/ChangeLog
trunk/ext/digest/sha2/sha2.c
trunk/ext/digest/sha2/sha2.h
それでは。¶
U.Nakamura usa@garbagecollect.jp
=end
Updated by knu (Akinori MUSHA) over 15 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r24426.
=end
Updated by usa (Usaku NAKAMURA) over 15 years ago
=begin
こんにちは、なかむら(う)です。
In message "[ruby-dev:39030] Re: [bug:trunk] Re: [ruby-cvs:31633] Ruby:r24415 (trunk): * ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an"
on Aug.06,2009 19:51:37, knu@iDaemons.org wrote:
(2) have_headerマクロでヘッダの存在をチェックしているなら、
ない時は#includeしないでください。どれのことかにわかにはわからなかったので上記だけ直しました。
なぜか指が滑って「マクロ」と書いてしまいましたがそこは間違い
でした。
extconf.rbの中でhave_headerを使ってsys/types.h・inttypes.h・
unistd.hの存在を確認していますが、sha2.h内で無条件にsys/types.h
とinttypes.hを#includeしています。
また、unistd.hは結局#includeしていません。
で、続きなのですが、
(3) 割と下らないバグが入っていて静的または動的リンクが不可能
になっていたので、r24427で勝手に直しておきました。
ご確認ください。
(4) テストを実行してみたらsha2.so絡みのテストが一切実行されな
くてなんだかおかしいと思ったら、sha2.rbが邪魔をして単純に
はsha2.soがロードされなくなっていました。
r24428で勝手に直しておきましたのでご確認ください。
これは他のブランチにもバックポートが必要だと思います。
(5) sha2.c内でULL接尾辞を使って64bit整数リテラルを使用してい
ますが、ULLはC99で追加されたものなので古いコンパイラでは
コンパイルエラーになります(VCだとUI64という接尾辞が存在し
ます)。
どう直すのがよいか判断できていないのですが、ここでrubyの
ビルドが止まっちゃうので何とかなんないでしょうか。
単に「ULL」を全部削除するだけだと他のコンパイラで問題が出
たりしますかね?
それでは。¶
U.Nakamura usa@garbagecollect.jp
=end
Updated by usa (Usaku NAKAMURA) over 15 years ago
- Category set to ext
- Status changed from Closed to Open
- Assignee set to knu (Akinori MUSHA)
- Priority changed from 3 to 5
- Target version set to 1.9.2
- ruby -v set to ruby 1.9.2dev (2009-08-06 trunk 24425) [i386-mswin32]
=begin
=end