Project

General

Profile

Bug #1894

Re: [ruby-cvs:31633] Ruby:r24415 (trunk): * ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an

Added by usa (Usaku NAKAMURA) almost 11 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.2dev (2009-08-06 trunk 24425) [i386-mswin32]
Backport:
[ruby-dev:39029]

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

#1

Updated by knu (Akinori MUSHA) almost 11 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r24426.
=end

#2

Updated by usa (Usaku NAKAMURA) almost 11 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

#3

Updated by usa (Usaku NAKAMURA) almost 11 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

#4

Updated by usa (Usaku NAKAMURA) almost 11 years ago

  • Status changed from Open to Closed

=begin

=end

Also available in: Atom PDF