diff options
Diffstat (limited to 'ext/digest/sha2')
-rw-r--r-- | ext/digest/sha2/depend | 9 | ||||
-rw-r--r-- | ext/digest/sha2/sha2.c | 2 | ||||
-rw-r--r-- | ext/digest/sha2/sha2init.c | 47 |
3 files changed, 40 insertions, 18 deletions
diff --git a/ext/digest/sha2/depend b/ext/digest/sha2/depend index b3e52c644e..7b88b6411f 100644 --- a/ext/digest/sha2/depend +++ b/ext/digest/sha2/depend @@ -17,6 +17,7 @@ sha2.o: $(hdrdir)/ruby/backward/2/stdalign.h sha2.o: $(hdrdir)/ruby/backward/2/stdarg.h sha2.o: $(hdrdir)/ruby/defines.h sha2.o: $(hdrdir)/ruby/intern.h +sha2.o: $(hdrdir)/ruby/internal/abi.h sha2.o: $(hdrdir)/ruby/internal/anyargs.h sha2.o: $(hdrdir)/ruby/internal/arithmetic.h sha2.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -54,6 +55,7 @@ sha2.o: $(hdrdir)/ruby/internal/attr/noexcept.h sha2.o: $(hdrdir)/ruby/internal/attr/noinline.h sha2.o: $(hdrdir)/ruby/internal/attr/nonnull.h sha2.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha2.o: $(hdrdir)/ruby/internal/attr/packed_struct.h sha2.o: $(hdrdir)/ruby/internal/attr/pure.h sha2.o: $(hdrdir)/ruby/internal/attr/restrict.h sha2.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -113,7 +115,6 @@ sha2.o: $(hdrdir)/ruby/internal/intern/enumerator.h sha2.o: $(hdrdir)/ruby/internal/intern/error.h sha2.o: $(hdrdir)/ruby/internal/intern/eval.h sha2.o: $(hdrdir)/ruby/internal/intern/file.h -sha2.o: $(hdrdir)/ruby/internal/intern/gc.h sha2.o: $(hdrdir)/ruby/internal/intern/hash.h sha2.o: $(hdrdir)/ruby/internal/intern/io.h sha2.o: $(hdrdir)/ruby/internal/intern/load.h @@ -144,7 +145,6 @@ sha2.o: $(hdrdir)/ruby/internal/memory.h sha2.o: $(hdrdir)/ruby/internal/method.h sha2.o: $(hdrdir)/ruby/internal/module.h sha2.o: $(hdrdir)/ruby/internal/newobj.h -sha2.o: $(hdrdir)/ruby/internal/rgengc.h sha2.o: $(hdrdir)/ruby/internal/scan_args.h sha2.o: $(hdrdir)/ruby/internal/special_consts.h sha2.o: $(hdrdir)/ruby/internal/static_assert.h @@ -178,6 +178,7 @@ sha2init.o: $(hdrdir)/ruby/backward/2/stdalign.h sha2init.o: $(hdrdir)/ruby/backward/2/stdarg.h sha2init.o: $(hdrdir)/ruby/defines.h sha2init.o: $(hdrdir)/ruby/intern.h +sha2init.o: $(hdrdir)/ruby/internal/abi.h sha2init.o: $(hdrdir)/ruby/internal/anyargs.h sha2init.o: $(hdrdir)/ruby/internal/arithmetic.h sha2init.o: $(hdrdir)/ruby/internal/arithmetic/char.h @@ -215,6 +216,7 @@ sha2init.o: $(hdrdir)/ruby/internal/attr/noexcept.h sha2init.o: $(hdrdir)/ruby/internal/attr/noinline.h sha2init.o: $(hdrdir)/ruby/internal/attr/nonnull.h sha2init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha2init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h sha2init.o: $(hdrdir)/ruby/internal/attr/pure.h sha2init.o: $(hdrdir)/ruby/internal/attr/restrict.h sha2init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -274,7 +276,6 @@ sha2init.o: $(hdrdir)/ruby/internal/intern/enumerator.h sha2init.o: $(hdrdir)/ruby/internal/intern/error.h sha2init.o: $(hdrdir)/ruby/internal/intern/eval.h sha2init.o: $(hdrdir)/ruby/internal/intern/file.h -sha2init.o: $(hdrdir)/ruby/internal/intern/gc.h sha2init.o: $(hdrdir)/ruby/internal/intern/hash.h sha2init.o: $(hdrdir)/ruby/internal/intern/io.h sha2init.o: $(hdrdir)/ruby/internal/intern/load.h @@ -305,7 +306,6 @@ sha2init.o: $(hdrdir)/ruby/internal/memory.h sha2init.o: $(hdrdir)/ruby/internal/method.h sha2init.o: $(hdrdir)/ruby/internal/module.h sha2init.o: $(hdrdir)/ruby/internal/newobj.h -sha2init.o: $(hdrdir)/ruby/internal/rgengc.h sha2init.o: $(hdrdir)/ruby/internal/scan_args.h sha2init.o: $(hdrdir)/ruby/internal/special_consts.h sha2init.o: $(hdrdir)/ruby/internal/static_assert.h @@ -323,5 +323,6 @@ sha2init.o: $(hdrdir)/ruby/st.h sha2init.o: $(hdrdir)/ruby/subst.h sha2init.o: $(srcdir)/../digest.h sha2init.o: sha2.h +sha2init.o: sha2cc.h sha2init.o: sha2init.c # AUTOGENERATED DEPENDENCIES END diff --git a/ext/digest/sha2/sha2.c b/ext/digest/sha2/sha2.c index e7d7b15c5b..21d5acbe96 100644 --- a/ext/digest/sha2/sha2.c +++ b/ext/digest/sha2/sha2.c @@ -128,7 +128,7 @@ typedef u_int64_t sha2_word64; /* Exactly 8 bytes */ #define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) -#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || defined(__GNUC__) || defined(_HPUX_SOURCE) || defined(__IBMC__) +#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || defined(__GNUC__) || defined(__IBMC__) #define ULL(number) number##ULL #else #define ULL(number) (uint64_t)(number) diff --git a/ext/digest/sha2/sha2init.c b/ext/digest/sha2/sha2init.c index 6ed275eb71..3923e3724c 100644 --- a/ext/digest/sha2/sha2init.c +++ b/ext/digest/sha2/sha2init.c @@ -25,29 +25,50 @@ static const rb_digest_metadata_t sha##bitlen = { \ FOREACH_BITLEN(DEFINE_ALGO_METADATA) /* + * Document-class: Digest::SHA256 < Digest::Base + * * Classes for calculating message digests using the SHA-256/384/512 * Secure Hash Algorithm(s) by NIST (the US' National Institute of * Standards and Technology), described in FIPS PUB 180-2. + * + * See SHA2. + */ +/* + * Document-class: Digest::SHA384 < Digest::Base + * + * Classes for calculating message digests using the SHA-256/384/512 + * Secure Hash Algorithm(s) by NIST (the US' National Institute of + * Standards and Technology), described in FIPS PUB 180-2. + * + * See SHA2. + */ +/* + * Document-class: Digest::SHA512 < Digest::Base + * + * Classes for calculating message digests using the SHA-256/384/512 + * Secure Hash Algorithm(s) by NIST (the US' National Institute of + * Standards and Technology), described in FIPS PUB 180-2. + * + * See SHA2. */ void Init_sha2(void) { - VALUE mDigest, cDigest_Base; + VALUE mDigest, cDigest_Base, cDigest_SHA2; ID id_metadata = rb_id_metadata(); -#define DECLARE_ALGO_CLASS(bitlen) \ - VALUE cDigest_SHA##bitlen; - - FOREACH_BITLEN(DECLARE_ALGO_CLASS) - +#if 0 + mDigest = rb_define_module("Digest"); /* let rdoc know */ +#endif mDigest = rb_digest_namespace(); - cDigest_Base = rb_path2class("Digest::Base"); + cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base")); + + cDigest_SHA2 = rb_define_class_under(mDigest, "SHA256", cDigest_Base); + rb_ivar_set(cDigest_SHA2, id_metadata, rb_digest_make_metadata(&sha256)); -#define DEFINE_ALGO_CLASS(bitlen) \ - cDigest_SHA##bitlen = rb_define_class_under(mDigest, "SHA" #bitlen, cDigest_Base); \ -\ - rb_ivar_set(cDigest_SHA##bitlen, id_metadata, \ - rb_digest_make_metadata(&sha##bitlen)); + cDigest_SHA2 = rb_define_class_under(mDigest, "SHA384", cDigest_Base); + rb_ivar_set(cDigest_SHA2, id_metadata, rb_digest_make_metadata(&sha384)); - FOREACH_BITLEN(DEFINE_ALGO_CLASS) + cDigest_SHA2 = rb_define_class_under(mDigest, "SHA512", cDigest_Base); + rb_ivar_set(cDigest_SHA2, id_metadata, rb_digest_make_metadata(&sha512)); } |