diff options
Diffstat (limited to 'ext/digest/sha1')
| -rw-r--r-- | ext/digest/sha1/.cvsignore | 3 | ||||
| -rw-r--r-- | ext/digest/sha1/MANIFEST | 9 | ||||
| -rw-r--r-- | ext/digest/sha1/depend | 341 | ||||
| -rw-r--r-- | ext/digest/sha1/extconf.rb | 18 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1.c | 38 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1.h | 25 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1cc.h | 22 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1hl.c | 102 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1init.c | 64 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1ossl.c | 45 | ||||
| -rw-r--r-- | ext/digest/sha1/sha1ossl.h | 16 |
11 files changed, 428 insertions, 255 deletions
diff --git a/ext/digest/sha1/.cvsignore b/ext/digest/sha1/.cvsignore deleted file mode 100644 index 4088712231..0000000000 --- a/ext/digest/sha1/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -mkmf.log -*.def diff --git a/ext/digest/sha1/MANIFEST b/ext/digest/sha1/MANIFEST deleted file mode 100644 index 2c49b577df..0000000000 --- a/ext/digest/sha1/MANIFEST +++ /dev/null @@ -1,9 +0,0 @@ -MANIFEST -extconf.rb -sha1.c -sha1.h -sha1hl.c -sha1init.c -sha1ossl.c -sha1ossl.h -depend diff --git a/ext/digest/sha1/depend b/ext/digest/sha1/depend index a159f456d3..e6bd9d8f73 100644 --- a/ext/digest/sha1/depend +++ b/ext/digest/sha1/depend @@ -1,8 +1,333 @@ -sha1.o: sha1.c sha1.h $(srcdir)/../defs.h $(hdrdir)/ruby.h \ - $(topdir)/config.h $(hdrdir)/defines.h $(hdrdir)/intern.h -sha1hl.o: sha1hl.c sha1.h $(srcdir)/../defs.h $(hdrdir)/ruby.h \ - $(topdir)/config.h $(hdrdir)/defines.h $(hdrdir)/intern.h -sha1init.o: sha1init.c $(srcdir)/../digest.h $(hdrdir)/ruby.h \ - $(topdir)/config.h $(hdrdir)/defines.h $(hdrdir)/intern.h \ - sha1.h $(srcdir)/../defs.h -sha1ossl.o: sha1ossl.h $(srcdir)/../defs.h +sha1.o: sha1.c sha1.h $(srcdir)/../defs.h +sha1init.o: $(LOCAL_HDRS) + +# AUTOGENERATED DEPENDENCIES START +sha1.o: $(RUBY_EXTCONF_H) +sha1.o: $(arch_hdrdir)/ruby/config.h +sha1.o: $(hdrdir)/ruby.h +sha1.o: $(hdrdir)/ruby/assert.h +sha1.o: $(hdrdir)/ruby/backward.h +sha1.o: $(hdrdir)/ruby/backward/2/assume.h +sha1.o: $(hdrdir)/ruby/backward/2/attributes.h +sha1.o: $(hdrdir)/ruby/backward/2/bool.h +sha1.o: $(hdrdir)/ruby/backward/2/inttypes.h +sha1.o: $(hdrdir)/ruby/backward/2/limits.h +sha1.o: $(hdrdir)/ruby/backward/2/long_long.h +sha1.o: $(hdrdir)/ruby/backward/2/stdalign.h +sha1.o: $(hdrdir)/ruby/backward/2/stdarg.h +sha1.o: $(hdrdir)/ruby/defines.h +sha1.o: $(hdrdir)/ruby/intern.h +sha1.o: $(hdrdir)/ruby/internal/abi.h +sha1.o: $(hdrdir)/ruby/internal/anyargs.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/char.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/double.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/int.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/long.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/short.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +sha1.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +sha1.o: $(hdrdir)/ruby/internal/assume.h +sha1.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +sha1.o: $(hdrdir)/ruby/internal/attr/artificial.h +sha1.o: $(hdrdir)/ruby/internal/attr/cold.h +sha1.o: $(hdrdir)/ruby/internal/attr/const.h +sha1.o: $(hdrdir)/ruby/internal/attr/constexpr.h +sha1.o: $(hdrdir)/ruby/internal/attr/deprecated.h +sha1.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +sha1.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +sha1.o: $(hdrdir)/ruby/internal/attr/error.h +sha1.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +sha1.o: $(hdrdir)/ruby/internal/attr/forceinline.h +sha1.o: $(hdrdir)/ruby/internal/attr/format.h +sha1.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +sha1.o: $(hdrdir)/ruby/internal/attr/noalias.h +sha1.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +sha1.o: $(hdrdir)/ruby/internal/attr/noexcept.h +sha1.o: $(hdrdir)/ruby/internal/attr/noinline.h +sha1.o: $(hdrdir)/ruby/internal/attr/nonnull.h +sha1.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha1.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +sha1.o: $(hdrdir)/ruby/internal/attr/pure.h +sha1.o: $(hdrdir)/ruby/internal/attr/restrict.h +sha1.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +sha1.o: $(hdrdir)/ruby/internal/attr/warning.h +sha1.o: $(hdrdir)/ruby/internal/attr/weakref.h +sha1.o: $(hdrdir)/ruby/internal/cast.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +sha1.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +sha1.o: $(hdrdir)/ruby/internal/compiler_since.h +sha1.o: $(hdrdir)/ruby/internal/config.h +sha1.o: $(hdrdir)/ruby/internal/constant_p.h +sha1.o: $(hdrdir)/ruby/internal/core.h +sha1.o: $(hdrdir)/ruby/internal/core/rarray.h +sha1.o: $(hdrdir)/ruby/internal/core/rbasic.h +sha1.o: $(hdrdir)/ruby/internal/core/rbignum.h +sha1.o: $(hdrdir)/ruby/internal/core/rclass.h +sha1.o: $(hdrdir)/ruby/internal/core/rdata.h +sha1.o: $(hdrdir)/ruby/internal/core/rfile.h +sha1.o: $(hdrdir)/ruby/internal/core/rhash.h +sha1.o: $(hdrdir)/ruby/internal/core/robject.h +sha1.o: $(hdrdir)/ruby/internal/core/rregexp.h +sha1.o: $(hdrdir)/ruby/internal/core/rstring.h +sha1.o: $(hdrdir)/ruby/internal/core/rstruct.h +sha1.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +sha1.o: $(hdrdir)/ruby/internal/ctype.h +sha1.o: $(hdrdir)/ruby/internal/dllexport.h +sha1.o: $(hdrdir)/ruby/internal/dosish.h +sha1.o: $(hdrdir)/ruby/internal/error.h +sha1.o: $(hdrdir)/ruby/internal/eval.h +sha1.o: $(hdrdir)/ruby/internal/event.h +sha1.o: $(hdrdir)/ruby/internal/fl_type.h +sha1.o: $(hdrdir)/ruby/internal/gc.h +sha1.o: $(hdrdir)/ruby/internal/glob.h +sha1.o: $(hdrdir)/ruby/internal/globals.h +sha1.o: $(hdrdir)/ruby/internal/has/attribute.h +sha1.o: $(hdrdir)/ruby/internal/has/builtin.h +sha1.o: $(hdrdir)/ruby/internal/has/c_attribute.h +sha1.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +sha1.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +sha1.o: $(hdrdir)/ruby/internal/has/extension.h +sha1.o: $(hdrdir)/ruby/internal/has/feature.h +sha1.o: $(hdrdir)/ruby/internal/has/warning.h +sha1.o: $(hdrdir)/ruby/internal/intern/array.h +sha1.o: $(hdrdir)/ruby/internal/intern/bignum.h +sha1.o: $(hdrdir)/ruby/internal/intern/class.h +sha1.o: $(hdrdir)/ruby/internal/intern/compar.h +sha1.o: $(hdrdir)/ruby/internal/intern/complex.h +sha1.o: $(hdrdir)/ruby/internal/intern/cont.h +sha1.o: $(hdrdir)/ruby/internal/intern/dir.h +sha1.o: $(hdrdir)/ruby/internal/intern/enum.h +sha1.o: $(hdrdir)/ruby/internal/intern/enumerator.h +sha1.o: $(hdrdir)/ruby/internal/intern/error.h +sha1.o: $(hdrdir)/ruby/internal/intern/eval.h +sha1.o: $(hdrdir)/ruby/internal/intern/file.h +sha1.o: $(hdrdir)/ruby/internal/intern/hash.h +sha1.o: $(hdrdir)/ruby/internal/intern/io.h +sha1.o: $(hdrdir)/ruby/internal/intern/load.h +sha1.o: $(hdrdir)/ruby/internal/intern/marshal.h +sha1.o: $(hdrdir)/ruby/internal/intern/numeric.h +sha1.o: $(hdrdir)/ruby/internal/intern/object.h +sha1.o: $(hdrdir)/ruby/internal/intern/parse.h +sha1.o: $(hdrdir)/ruby/internal/intern/proc.h +sha1.o: $(hdrdir)/ruby/internal/intern/process.h +sha1.o: $(hdrdir)/ruby/internal/intern/random.h +sha1.o: $(hdrdir)/ruby/internal/intern/range.h +sha1.o: $(hdrdir)/ruby/internal/intern/rational.h +sha1.o: $(hdrdir)/ruby/internal/intern/re.h +sha1.o: $(hdrdir)/ruby/internal/intern/ruby.h +sha1.o: $(hdrdir)/ruby/internal/intern/select.h +sha1.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +sha1.o: $(hdrdir)/ruby/internal/intern/set.h +sha1.o: $(hdrdir)/ruby/internal/intern/signal.h +sha1.o: $(hdrdir)/ruby/internal/intern/sprintf.h +sha1.o: $(hdrdir)/ruby/internal/intern/string.h +sha1.o: $(hdrdir)/ruby/internal/intern/struct.h +sha1.o: $(hdrdir)/ruby/internal/intern/thread.h +sha1.o: $(hdrdir)/ruby/internal/intern/time.h +sha1.o: $(hdrdir)/ruby/internal/intern/variable.h +sha1.o: $(hdrdir)/ruby/internal/intern/vm.h +sha1.o: $(hdrdir)/ruby/internal/interpreter.h +sha1.o: $(hdrdir)/ruby/internal/iterator.h +sha1.o: $(hdrdir)/ruby/internal/memory.h +sha1.o: $(hdrdir)/ruby/internal/method.h +sha1.o: $(hdrdir)/ruby/internal/module.h +sha1.o: $(hdrdir)/ruby/internal/newobj.h +sha1.o: $(hdrdir)/ruby/internal/scan_args.h +sha1.o: $(hdrdir)/ruby/internal/special_consts.h +sha1.o: $(hdrdir)/ruby/internal/static_assert.h +sha1.o: $(hdrdir)/ruby/internal/stdalign.h +sha1.o: $(hdrdir)/ruby/internal/stdbool.h +sha1.o: $(hdrdir)/ruby/internal/stdckdint.h +sha1.o: $(hdrdir)/ruby/internal/symbol.h +sha1.o: $(hdrdir)/ruby/internal/value.h +sha1.o: $(hdrdir)/ruby/internal/value_type.h +sha1.o: $(hdrdir)/ruby/internal/variable.h +sha1.o: $(hdrdir)/ruby/internal/warning_push.h +sha1.o: $(hdrdir)/ruby/internal/xmalloc.h +sha1.o: $(hdrdir)/ruby/missing.h +sha1.o: $(hdrdir)/ruby/ruby.h +sha1.o: $(hdrdir)/ruby/st.h +sha1.o: $(hdrdir)/ruby/subst.h +sha1.o: $(srcdir)/../defs.h +sha1.o: sha1.c +sha1.o: sha1.h +sha1init.o: $(RUBY_EXTCONF_H) +sha1init.o: $(arch_hdrdir)/ruby/config.h +sha1init.o: $(hdrdir)/ruby.h +sha1init.o: $(hdrdir)/ruby/assert.h +sha1init.o: $(hdrdir)/ruby/backward.h +sha1init.o: $(hdrdir)/ruby/backward/2/assume.h +sha1init.o: $(hdrdir)/ruby/backward/2/attributes.h +sha1init.o: $(hdrdir)/ruby/backward/2/bool.h +sha1init.o: $(hdrdir)/ruby/backward/2/inttypes.h +sha1init.o: $(hdrdir)/ruby/backward/2/limits.h +sha1init.o: $(hdrdir)/ruby/backward/2/long_long.h +sha1init.o: $(hdrdir)/ruby/backward/2/stdalign.h +sha1init.o: $(hdrdir)/ruby/backward/2/stdarg.h +sha1init.o: $(hdrdir)/ruby/defines.h +sha1init.o: $(hdrdir)/ruby/intern.h +sha1init.o: $(hdrdir)/ruby/internal/abi.h +sha1init.o: $(hdrdir)/ruby/internal/anyargs.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +sha1init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +sha1init.o: $(hdrdir)/ruby/internal/assume.h +sha1init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +sha1init.o: $(hdrdir)/ruby/internal/attr/artificial.h +sha1init.o: $(hdrdir)/ruby/internal/attr/cold.h +sha1init.o: $(hdrdir)/ruby/internal/attr/const.h +sha1init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +sha1init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +sha1init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +sha1init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +sha1init.o: $(hdrdir)/ruby/internal/attr/error.h +sha1init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +sha1init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +sha1init.o: $(hdrdir)/ruby/internal/attr/format.h +sha1init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +sha1init.o: $(hdrdir)/ruby/internal/attr/noalias.h +sha1init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +sha1init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +sha1init.o: $(hdrdir)/ruby/internal/attr/noinline.h +sha1init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +sha1init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sha1init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +sha1init.o: $(hdrdir)/ruby/internal/attr/pure.h +sha1init.o: $(hdrdir)/ruby/internal/attr/restrict.h +sha1init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +sha1init.o: $(hdrdir)/ruby/internal/attr/warning.h +sha1init.o: $(hdrdir)/ruby/internal/attr/weakref.h +sha1init.o: $(hdrdir)/ruby/internal/cast.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +sha1init.o: $(hdrdir)/ruby/internal/compiler_since.h +sha1init.o: $(hdrdir)/ruby/internal/config.h +sha1init.o: $(hdrdir)/ruby/internal/constant_p.h +sha1init.o: $(hdrdir)/ruby/internal/core.h +sha1init.o: $(hdrdir)/ruby/internal/core/rarray.h +sha1init.o: $(hdrdir)/ruby/internal/core/rbasic.h +sha1init.o: $(hdrdir)/ruby/internal/core/rbignum.h +sha1init.o: $(hdrdir)/ruby/internal/core/rclass.h +sha1init.o: $(hdrdir)/ruby/internal/core/rdata.h +sha1init.o: $(hdrdir)/ruby/internal/core/rfile.h +sha1init.o: $(hdrdir)/ruby/internal/core/rhash.h +sha1init.o: $(hdrdir)/ruby/internal/core/robject.h +sha1init.o: $(hdrdir)/ruby/internal/core/rregexp.h +sha1init.o: $(hdrdir)/ruby/internal/core/rstring.h +sha1init.o: $(hdrdir)/ruby/internal/core/rstruct.h +sha1init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +sha1init.o: $(hdrdir)/ruby/internal/ctype.h +sha1init.o: $(hdrdir)/ruby/internal/dllexport.h +sha1init.o: $(hdrdir)/ruby/internal/dosish.h +sha1init.o: $(hdrdir)/ruby/internal/error.h +sha1init.o: $(hdrdir)/ruby/internal/eval.h +sha1init.o: $(hdrdir)/ruby/internal/event.h +sha1init.o: $(hdrdir)/ruby/internal/fl_type.h +sha1init.o: $(hdrdir)/ruby/internal/gc.h +sha1init.o: $(hdrdir)/ruby/internal/glob.h +sha1init.o: $(hdrdir)/ruby/internal/globals.h +sha1init.o: $(hdrdir)/ruby/internal/has/attribute.h +sha1init.o: $(hdrdir)/ruby/internal/has/builtin.h +sha1init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +sha1init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +sha1init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +sha1init.o: $(hdrdir)/ruby/internal/has/extension.h +sha1init.o: $(hdrdir)/ruby/internal/has/feature.h +sha1init.o: $(hdrdir)/ruby/internal/has/warning.h +sha1init.o: $(hdrdir)/ruby/internal/intern/array.h +sha1init.o: $(hdrdir)/ruby/internal/intern/bignum.h +sha1init.o: $(hdrdir)/ruby/internal/intern/class.h +sha1init.o: $(hdrdir)/ruby/internal/intern/compar.h +sha1init.o: $(hdrdir)/ruby/internal/intern/complex.h +sha1init.o: $(hdrdir)/ruby/internal/intern/cont.h +sha1init.o: $(hdrdir)/ruby/internal/intern/dir.h +sha1init.o: $(hdrdir)/ruby/internal/intern/enum.h +sha1init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +sha1init.o: $(hdrdir)/ruby/internal/intern/error.h +sha1init.o: $(hdrdir)/ruby/internal/intern/eval.h +sha1init.o: $(hdrdir)/ruby/internal/intern/file.h +sha1init.o: $(hdrdir)/ruby/internal/intern/hash.h +sha1init.o: $(hdrdir)/ruby/internal/intern/io.h +sha1init.o: $(hdrdir)/ruby/internal/intern/load.h +sha1init.o: $(hdrdir)/ruby/internal/intern/marshal.h +sha1init.o: $(hdrdir)/ruby/internal/intern/numeric.h +sha1init.o: $(hdrdir)/ruby/internal/intern/object.h +sha1init.o: $(hdrdir)/ruby/internal/intern/parse.h +sha1init.o: $(hdrdir)/ruby/internal/intern/proc.h +sha1init.o: $(hdrdir)/ruby/internal/intern/process.h +sha1init.o: $(hdrdir)/ruby/internal/intern/random.h +sha1init.o: $(hdrdir)/ruby/internal/intern/range.h +sha1init.o: $(hdrdir)/ruby/internal/intern/rational.h +sha1init.o: $(hdrdir)/ruby/internal/intern/re.h +sha1init.o: $(hdrdir)/ruby/internal/intern/ruby.h +sha1init.o: $(hdrdir)/ruby/internal/intern/select.h +sha1init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +sha1init.o: $(hdrdir)/ruby/internal/intern/set.h +sha1init.o: $(hdrdir)/ruby/internal/intern/signal.h +sha1init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +sha1init.o: $(hdrdir)/ruby/internal/intern/string.h +sha1init.o: $(hdrdir)/ruby/internal/intern/struct.h +sha1init.o: $(hdrdir)/ruby/internal/intern/thread.h +sha1init.o: $(hdrdir)/ruby/internal/intern/time.h +sha1init.o: $(hdrdir)/ruby/internal/intern/variable.h +sha1init.o: $(hdrdir)/ruby/internal/intern/vm.h +sha1init.o: $(hdrdir)/ruby/internal/interpreter.h +sha1init.o: $(hdrdir)/ruby/internal/iterator.h +sha1init.o: $(hdrdir)/ruby/internal/memory.h +sha1init.o: $(hdrdir)/ruby/internal/method.h +sha1init.o: $(hdrdir)/ruby/internal/module.h +sha1init.o: $(hdrdir)/ruby/internal/newobj.h +sha1init.o: $(hdrdir)/ruby/internal/scan_args.h +sha1init.o: $(hdrdir)/ruby/internal/special_consts.h +sha1init.o: $(hdrdir)/ruby/internal/static_assert.h +sha1init.o: $(hdrdir)/ruby/internal/stdalign.h +sha1init.o: $(hdrdir)/ruby/internal/stdbool.h +sha1init.o: $(hdrdir)/ruby/internal/stdckdint.h +sha1init.o: $(hdrdir)/ruby/internal/symbol.h +sha1init.o: $(hdrdir)/ruby/internal/value.h +sha1init.o: $(hdrdir)/ruby/internal/value_type.h +sha1init.o: $(hdrdir)/ruby/internal/variable.h +sha1init.o: $(hdrdir)/ruby/internal/warning_push.h +sha1init.o: $(hdrdir)/ruby/internal/xmalloc.h +sha1init.o: $(hdrdir)/ruby/missing.h +sha1init.o: $(hdrdir)/ruby/ruby.h +sha1init.o: $(hdrdir)/ruby/st.h +sha1init.o: $(hdrdir)/ruby/subst.h +sha1init.o: $(srcdir)/../defs.h +sha1init.o: $(srcdir)/../digest.h +sha1init.o: sha1.h +sha1init.o: sha1cc.h +sha1init.o: sha1init.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/digest/sha1/extconf.rb b/ext/digest/sha1/extconf.rb index c249a415ed..7582cd9ab5 100644 --- a/ext/digest/sha1/extconf.rb +++ b/ext/digest/sha1/extconf.rb @@ -1,25 +1,17 @@ +# -*- coding: us-ascii -*- +# frozen_string_literal: false # $RoughId: extconf.rb,v 1.3 2001/08/14 19:54:51 knu Exp $ # $Id$ require "mkmf" - -$CFLAGS << " -DHAVE_CONFIG_H -I#{File.dirname(__FILE__)}/.." +require File.expand_path("../../digest_conf", __FILE__) $objs = [ "sha1init.#{$OBJEXT}" ] -dir_config("openssl") - -if !with_config("bundled-sha1") && - have_library("crypto") && have_header("openssl/sha.h") - $objs << "sha1ossl.#{$OBJEXT}" -else - $objs << "sha1.#{$OBJEXT}" << "sha1hl.#{$OBJEXT}" -end +digest_conf("sha1") have_header("sys/cdefs.h") -have_header("inttypes.h") - -have_header("unistd.h") +$preload = %w[digest] create_makefile("digest/sha1") diff --git a/ext/digest/sha1/sha1.c b/ext/digest/sha1/sha1.c index 1012ef8751..003c87d224 100644 --- a/ext/digest/sha1/sha1.c +++ b/ext/digest/sha1/sha1.c @@ -129,9 +129,7 @@ do_R4(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d, uint32_t *e, CHAR64LON /* * Hash a single 512-bit block. This is the core of the algorithm. */ -void SHA1_Transform(state, buffer) - uint32_t state[5]; - const uint8_t buffer[64]; +void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64]) { uint32_t a, b, c, d, e; CHAR64LONG16 *block; @@ -201,8 +199,7 @@ void SHA1_Transform(state, buffer) /* * SHA1_Init - Initialize new context */ -void SHA1_Init(context) - SHA1_CTX *context; +int SHA1_Init(SHA1_CTX *context) { _DIAGASSERT(context != 0); @@ -214,31 +211,37 @@ void SHA1_Init(context) context->state[3] = 0x10325476; context->state[4] = 0xC3D2E1F0; context->count[0] = context->count[1] = 0; + return 1; } /* * Run your data through this. */ -void SHA1_Update(context, data, len) - SHA1_CTX *context; - const uint8_t *data; - size_t len; +void SHA1_Update(SHA1_CTX *context, const uint8_t *data, size_t len) { - uint32_t i, j; + size_t i; + uint32_t j; _DIAGASSERT(context != 0); _DIAGASSERT(data != 0); j = context->count[0]; if ((context->count[0] += len << 3) < j) - context->count[1] += (len>>29)+1; + context->count[1]++; + context->count[1] += (uint32_t)(len >> 29); j = (j >> 3) & 63; if ((j + len) > 63) { (void)memcpy(&context->buffer[j], data, (i = 64-j)); SHA1_Transform(context->state, context->buffer); - for ( ; i + 63 < len; i += 64) + for ( ; i + 63 < len; i += 64) { + RB_DIGEST_WARNING_PUSH(); +#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 11 + RB_DIGEST_WARNING_IGNORED(-Wstringop-overread); +#endif SHA1_Transform(context->state, &data[i]); + RB_DIGEST_WARNING_POP(); + } j = 0; } else { i = 0; @@ -250,9 +253,7 @@ void SHA1_Update(context, data, len) /* * Add padding and return the message digest. */ -void SHA1_Final(digest, context) - uint8_t digest[20]; - SHA1_CTX* context; +int SHA1_Finish(SHA1_CTX* context, uint8_t digest[20]) { size_t i; uint8_t finalcount[8]; @@ -274,10 +275,5 @@ void SHA1_Final(digest, context) digest[i] = (uint8_t) ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); } -} - -int SHA1_Equal(SHA1_CTX* pctx1, SHA1_CTX* pctx2) { - return memcmp(pctx1->count, pctx2->count, sizeof(pctx1->count)) == 0 - && memcmp(pctx1->state, pctx2->state, sizeof(pctx1->state)) == 0 - && memcmp(pctx1->buffer, pctx2->buffer, sizeof(pctx1->buffer)) == 0; + return 1; } diff --git a/ext/digest/sha1/sha1.h b/ext/digest/sha1/sha1.h index 2303cecc2b..2accc46d46 100644 --- a/ext/digest/sha1/sha1.h +++ b/ext/digest/sha1/sha1.h @@ -11,40 +11,29 @@ #ifndef _SYS_SHA1_H_ #define _SYS_SHA1_H_ -#include "defs.h" +#include "../defs.h" typedef struct { uint32_t state[5]; - uint32_t count[2]; + uint32_t count[2]; uint8_t buffer[64]; } SHA1_CTX; #ifdef RUBY +/* avoid name clash */ #define SHA1_Transform rb_Digest_SHA1_Transform #define SHA1_Init rb_Digest_SHA1_Init #define SHA1_Update rb_Digest_SHA1_Update -#define SHA1_Final rb_Digest_SHA1_Final -#define SHA1_Equal rb_Digest_SHA1_Equal -#ifndef _KERNEL -#define SHA1_End rb_Digest_SHA1_End -#define SHA1_File rb_Digest_SHA1_File -#define SHA1_Data rb_Digest_SHA1_Data -#endif /* _KERNEL */ +#define SHA1_Finish rb_Digest_SHA1_Finish #endif void SHA1_Transform _((uint32_t state[5], const uint8_t buffer[64])); -void SHA1_Init _((SHA1_CTX *context)); +int SHA1_Init _((SHA1_CTX *context)); void SHA1_Update _((SHA1_CTX *context, const uint8_t *data, size_t len)); -void SHA1_Final _((uint8_t digest[20], SHA1_CTX *context)); -int SHA1_Equal _((SHA1_CTX *pctx1, SHA1_CTX *pctx2)); -#ifndef _KERNEL -char *SHA1_End _((SHA1_CTX *, char *)); -char *SHA1_File _((char *, char *)); -char *SHA1_Data _((const uint8_t *, size_t, char *)); -#endif /* _KERNEL */ +int SHA1_Finish _((SHA1_CTX *context, uint8_t digest[20])); #define SHA1_BLOCK_LENGTH 64 #define SHA1_DIGEST_LENGTH 20 #define SHA1_DIGEST_STRING_LENGTH (SHA1_DIGEST_LENGTH * 2 + 1) - + #endif /* _SYS_SHA1_H_ */ diff --git a/ext/digest/sha1/sha1cc.h b/ext/digest/sha1/sha1cc.h new file mode 100644 index 0000000000..f39ecc6234 --- /dev/null +++ b/ext/digest/sha1/sha1cc.h @@ -0,0 +1,22 @@ +#define COMMON_DIGEST_FOR_OPENSSL 1 +#include <CommonCrypto/CommonDigest.h> + +#define SHA1_BLOCK_LENGTH CC_SHA1_BLOCK_BYTES +#define SHA1_DIGEST_LENGTH CC_SHA1_DIGEST_LENGTH +#define SHA1_CTX CC_SHA1_CTX + +static DEFINE_UPDATE_FUNC_FOR_UINT(SHA1) +static DEFINE_FINISH_FUNC_FROM_FINAL(SHA1) + +#undef SHA1_Update +#undef SHA1_Finish +#define SHA1_Update rb_digest_SHA1_update +#define SHA1_Finish rb_digest_SHA1_finish + +/* + * Pre-10.6 defines are with args, which don't match the argless use in + * the function pointer inits. Thus, we redefine SHA1_Init as well. + * This is a NOP on 10.6+. + */ +#undef SHA1_Init +#define SHA1_Init CC_SHA1_Init diff --git a/ext/digest/sha1/sha1hl.c b/ext/digest/sha1/sha1hl.c deleted file mode 100644 index d1a236b22c..0000000000 --- a/ext/digest/sha1/sha1hl.c +++ /dev/null @@ -1,102 +0,0 @@ -/* $NetBSD: sha1hl.c,v 1.2 2001/03/10 15:55:14 tron Exp $ */ -/* $RoughId: sha1hl.c,v 1.2 2001/07/13 19:49:10 knu Exp $ */ -/* $Id$ */ - -/* sha1hl.c - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - */ - -/* #include "namespace.h" */ - -#include "sha1.h" -#include <fcntl.h> - -#include <assert.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#if defined(HAVE_UNISTD_H) -# include <unistd.h> -#endif - -#if defined(LIBC_SCCS) && !defined(lint) -/* __RCSID("$NetBSD: sha1hl.c,v 1.2 2001/03/10 15:55:14 tron Exp $"); */ -#endif /* LIBC_SCCS and not lint */ - -#ifndef _DIAGASSERT -#define _DIAGASSERT(cond) assert(cond) -#endif - - -/* ARGSUSED */ -char * -SHA1_End(ctx, buf) - SHA1_CTX *ctx; - char *buf; -{ - int i; - char *p = buf; - uint8_t digest[20]; - static const char hex[]="0123456789abcdef"; - - _DIAGASSERT(ctx != NULL); - /* buf may be NULL */ - - if (p == NULL && (p = malloc(41)) == NULL) - return 0; - - SHA1_Final(digest,ctx); - for (i = 0; i < 20; i++) { - p[i + i] = hex[((uint32_t)digest[i]) >> 4]; - p[i + i + 1] = hex[digest[i] & 0x0f]; - } - p[i + i] = '\0'; - return(p); -} - -char * -SHA1_File (filename, buf) - char *filename; - char *buf; -{ - uint8_t buffer[BUFSIZ]; - SHA1_CTX ctx; - int fd, num, oerrno; - - _DIAGASSERT(filename != NULL); - /* XXX: buf may be NULL ? */ - - SHA1_Init(&ctx); - - if ((fd = open(filename,O_RDONLY)) < 0) - return(0); - - while ((num = read(fd, buffer, sizeof(buffer))) > 0) - SHA1_Update(&ctx, buffer, (size_t)num); - - oerrno = errno; - close(fd); - errno = oerrno; - return(num < 0 ? 0 : SHA1_End(&ctx, buf)); -} - -char * -SHA1_Data (data, len, buf) - const uint8_t *data; - size_t len; - char *buf; -{ - SHA1_CTX ctx; - - _DIAGASSERT(data != NULL); - /* XXX: buf may be NULL ? */ - - SHA1_Init(&ctx); - SHA1_Update(&ctx, data, len); - return(SHA1_End(&ctx, buf)); -} diff --git a/ext/digest/sha1/sha1init.c b/ext/digest/sha1/sha1init.c index 426afb7cd0..c39959f428 100644 --- a/ext/digest/sha1/sha1init.c +++ b/ext/digest/sha1/sha1init.c @@ -1,38 +1,62 @@ /* $RoughId: sha1init.c,v 1.2 2001/07/13 19:49:10 knu Exp $ */ /* $Id$ */ -#include "digest.h" -#if defined(HAVE_OPENSSL_SHA_H) -#include "sha1ossl.h" +#include <ruby/ruby.h> +#include "../digest.h" +#if defined(SHA1_USE_COMMONDIGEST) +#include "sha1cc.h" #else #include "sha1.h" #endif -static algo_t sha1 = { +static const rb_digest_metadata_t sha1 = { + RUBY_DIGEST_API_VERSION, SHA1_DIGEST_LENGTH, + SHA1_BLOCK_LENGTH, sizeof(SHA1_CTX), - (hash_init_func_t)SHA1_Init, - (hash_update_func_t)SHA1_Update, - (hash_end_func_t)SHA1_End, - (hash_final_func_t)SHA1_Final, - (hash_equal_func_t)SHA1_Equal, + (rb_digest_hash_init_func_t)SHA1_Init, + (rb_digest_hash_update_func_t)SHA1_Update, + (rb_digest_hash_finish_func_t)SHA1_Finish, }; +/* + * Document-class: Digest::SHA1 < Digest::Base + * A class for calculating message digests using the SHA-1 Secure Hash + * Algorithm by NIST (the US' National Institute of Standards and + * Technology), described in FIPS PUB 180-1. + * + * See Digest::Instance for digest API. + * + * SHA-1 calculates a digest of 160 bits (20 bytes). + * + * == Examples + * require 'digest' + * + * # Compute a complete digest + * Digest::SHA1.hexdigest 'abc' #=> "a9993e36..." + * + * # Compute digest by chunks + * sha1 = Digest::SHA1.new # =>#<Digest::SHA1> + * sha1.update "ab" + * sha1 << "c" # alias for #update + * sha1.hexdigest # => "a9993e36..." + * + * # Use the same object to compute another digest + * sha1.reset + * sha1 << "message" + * sha1.hexdigest # => "6f9b9af3..." + */ void -Init_sha1() +Init_sha1(void) { VALUE mDigest, cDigest_Base, cDigest_SHA1; - ID id_metadata; - rb_require("digest.so"); - - mDigest = rb_path2class("Digest"); - cDigest_Base = rb_path2class("Digest::Base"); +#if 0 + mDigest = rb_define_module("Digest"); /* let rdoc know */ +#endif + mDigest = rb_digest_namespace(); + cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base")); cDigest_SHA1 = rb_define_class_under(mDigest, "SHA1", cDigest_Base); - - id_metadata = rb_intern("metadata"); - - rb_cvar_set(cDigest_SHA1, id_metadata, - Data_Wrap_Struct(rb_cObject, 0, 0, &sha1), Qtrue); + rb_iv_set(cDigest_SHA1, "metadata", rb_digest_make_metadata(&sha1)); } diff --git a/ext/digest/sha1/sha1ossl.c b/ext/digest/sha1/sha1ossl.c deleted file mode 100644 index b125128f82..0000000000 --- a/ext/digest/sha1/sha1ossl.c +++ /dev/null @@ -1,45 +0,0 @@ -/* $Id$ */ - -#include "sha1ossl.h" -#include "defs.h" -#include <assert.h> -#include <stdlib.h> - -#ifndef _DIAGASSERT -#define _DIAGASSERT(cond) assert(cond) -#endif - -char * -SHA1_End(SHA1_CTX *ctx, char *buf) -{ - int i; - char *p = buf; - uint8_t digest[20]; - static const char hex[]="0123456789abcdef"; - - _DIAGASSERT(ctx != NULL); - /* buf may be NULL */ - - if (p == NULL && (p = malloc(41)) == NULL) - return 0; - - SHA1_Final(digest,ctx); - for (i = 0; i < 20; i++) { - p[i + i] = hex[((uint32_t)digest[i]) >> 4]; - p[i + i + 1] = hex[digest[i] & 0x0f]; - } - p[i + i] = '\0'; - return(p); -} - -int SHA1_Equal(SHA1_CTX* pctx1, SHA1_CTX* pctx2) { - return pctx1->num == pctx2->num - && pctx1->h0 == pctx2->h0 - && pctx1->h1 == pctx2->h1 - && pctx1->h2 == pctx2->h2 - && pctx1->h3 == pctx2->h3 - && pctx1->h4 == pctx2->h4 - && pctx1->Nl == pctx2->Nl - && pctx1->Nh == pctx2->Nh - && memcmp(pctx1->data, pctx2->data, sizeof(pctx1->data)) == 0; -} diff --git a/ext/digest/sha1/sha1ossl.h b/ext/digest/sha1/sha1ossl.h deleted file mode 100644 index e8d7e74baf..0000000000 --- a/ext/digest/sha1/sha1ossl.h +++ /dev/null @@ -1,16 +0,0 @@ -/* $Id$ */ - -#ifndef SHA1OSSL_H_INCLUDED -#define SHA1OSSL_H_INCLUDED - -#include <openssl/sha.h> - -#define SHA1_CTX SHA_CTX - -#define SHA1_BLOCK_LENGTH SHA_BLOCK_LENGTH -#define SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH - -char *SHA1_End(SHA1_CTX *ctx, char *buf); -int SHA1_Equal(SHA1_CTX *pctx1, SHA1_CTX *pctx2); - -#endif |
