Commit graph

6750 commits

Author SHA1 Message Date
nobu
56689eaca9 tcltklib.c: use PRIsVALUE [ci skip]
* ext/tk/tcltklib.c (set_max_block_time): use PRIsVALUE to get rid
  of dangling pointer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09 05:05:10 +00:00
nobu
0d15e30a48 tcltklib.c: missing break [ci skip]
* ext/tk/tcltklib.c (set_max_block_time): fix missing break.
  TclTkLib.set_max_block_time(1) works but
  TclTkLib.set_max_block_time(1.0) didn't.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09 05:05:09 +00:00
nobu
d8d78f07ae tcltk.rb: suppress a warning [ci skip]
* ext/tk/lib/tcltk.rb (TclTkWidget#initialize): suppress an
  "assigned but unused variable" warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09 01:42:51 +00:00
nobu
ed3139b79f tcltklib/sample2.rb: use attr_accessor [ci skip]
* ext/tk/sample/tcltklib/sample2.rb (Othello::BoardView::Square):
  use attr_accessor instead of attr with optional boolean
  argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09 01:42:49 +00:00
nobu
5a80f0c530 use true and false [ci skip]
* ext/tk/lib/tk/texttag.rb, ext/tk/sample/tcltklib/sample2.rb,
  ext/tk/sample/tkline.rb, ext/tk/sample/tktimer.rb: use true and
  false instead of TRUE and FALSE.

* ext/win32ole/sample/ienavi.rb (stop_msg_loop): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09 01:42:48 +00:00
suke
449971300b * ext/win32ole/sample/excel1.rb, ext/win32ole/sample/excel2.rb,
ext/win32ole/sample/excel3.rb, ext/win32ole/sample/ie.rb,
  ext/win32ole/sample/ienavi.rb, ext/win32ole/sample/ienavi2.rb: use
  true instead of deprecated TRUE. [ci skip]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-08 12:04:45 +00:00
nobu
489456e999 extmk.rb: suppress a warning
* ext/extmk.rb: get rid of shadowing outer local variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-07 10:05:57 +00:00
nobu
78728b89df extmk.rb: remove sysquote
* ext/extmk.rb (sysquote): removed.  unnecessary since r52161.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-07 10:04:41 +00:00
normal
7513d54659 openssl: avoid undefined behavior on empty SSL_write
SSL_write(3ssl) manpage has this in the WARNINGS section:

       When calling SSL_write() with num=0 bytes to be sent the
       behaviour is undefined.

And indeed, the new test case demonstrates failures when
empty strings are used.  So, match the behavior of IO#write,
IO#write_nonblock, and IO#syswrite by returning zero, as the
OpenSSL::SSL::SSLSocket API already closely mimics the IO one.

* ext/openssl/ossl_ssl.c (ossl_ssl_write_internal):
  avoid undefined behavior
* test/openssl/test_pair.rb (test_write_zero): new test
  [ruby-core:76751] [Bug #12660]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-06 21:50:10 +00:00
nobu
aa8e9c63ad socket/option.c: inet_ntop
* ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share
  the fallback definition.  [ruby-core:76646] [Bug #12645]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-02 03:37:02 +00:00
nobu
f65180025b tcltklib.c: remove RUBY_VERSION
* ext/tk/tcltklib.c (tcltklib_compile_info): remove RUBY_VERSION,
  use RUBY_API_VERSION instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-02 02:18:14 +00:00
nobu
59cfce150b tcltklib.c: compile info
* ext/tk/tcltklib.c (tcltklib_compile_info): build compile info
  statically.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-02 01:59:13 +00:00
nobu
c7924b1305 extmk.rb: build gems
* ext/extmk.rb: [EXPERIMENTAL] build extension libraries in
  extracted gems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-01 12:39:54 +00:00
hsbt
11a94f2a36 * ext/json/*, test/json/json_parser_test.rb: Update json-2.0.2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-01 03:16:30 +00:00
nobu
647d2bc301 resolv.c: fix commit miss
* ext/win32/resolv/resolv.c (Init_resolv): remove dead code.
  [Bug #12604]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-31 07:24:45 +00:00
nobu
925d48e496 win32/resolv: get_dns_server_list
* ext/win32/resolv/resolv.c (get_dns_server_list): [Win32] get DNS
  servers only for connected network devices by GetNetworkParams
  API.  [Bug #12604]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-31 07:17:25 +00:00
nobu
c463366dfd rb_funcallv
* *.c: rename rb_funcall2 to rb_funcallv, except for extensions
  which are/will be/may be gems.  [Fix GH-1406]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-29 11:57:14 +00:00
nobu
6c1f4f7eba json/ext: remove stale directory
* ext/json/lib/json/ext: remove stale directory.  bundled
  extension libraries are placed under the directory for each
  architectures, but not mixed with plain text script libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-14 04:10:56 +00:00
svn
a9acbeed78 * append newline at EOF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-14 03:48:55 +00:00
hsbt
bf7cc652ae * ext/json/**/*.rb: merge original files from upstream repository.
It only fixes styles of frozen string literal.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-14 03:48:54 +00:00
nobu
e96f0f76b3 stringio.c: convert arguments just once
* ext/stringio/stringio.c (strio_each, strio_readlines): convert
  arguments just once before reading, instead of conversions for
  each lines, as r55603.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-11 07:00:58 +00:00
nobu
64fea27496 Update dependencies
* common.mk (compile.o, loadpath.o): update dependencies.

* common.mk (vm_call.o): remove stale object dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:48:13 +00:00
nobu
1bdc1a5529 Local header dependencies
* lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for
  depend files.
* ext/digest/digest_conf.rb (digest_conf): add implementation
  specific headers to $header.
* ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the
  dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:44:58 +00:00
nobu
78b9d778de probes.dmyh: remove preprocessor directives
* tool/gen_dummy_probes.rb: remove include and conditional
  directives from probes.dmyh which are removed by preprocessing.

* common.mk: remove unnecessary dependencies on vm_opts.h via
  probes.dmyh.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:03:14 +00:00
nobu
9df9432181 Revert ext/json/parser/prereq.mk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:01:43 +00:00
svn
3345322572 * append newline at EOF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-05 11:49:40 +00:00
hsbt
1130658738 * ext/json/*, test/json/*: Update json-2.0.1.
Changes of 2.0.0: f679ebd0c6/CHANGES.md (2015-09-11-200)
  Changes of 2.0.1: f679ebd0c6/CHANGES.md (2016-07-01-201)
  [Feature #12542][ruby-dev:49706][fix GH-1395]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-05 11:49:39 +00:00
nobu
2282541898 Magic numbers
* ext/cgi/escape/escape.c (optimized_unescape_html): remove magic
  numbers for literal lengths.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-30 05:45:35 +00:00
nobu
7175ee79ee Initialize ID
* ext/cgi/escape/escape.c (accept_charset): initialize the static
  ID for theha class variable once at first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-30 04:16:43 +00:00
hsbt
c68da0fd49 * ext/psych/lib/psych_jars.rb: removed needless file required to JRuby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-29 13:24:56 +00:00
rhe
c2329831fb openssl: fix for OpenSSL 1.0.0t
* ext/openssl/ossl_ocsp.c: The "reuse" behavior of d2i_ functions does
  not work well with OpenSSL 1.0.0t. So avoid it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-29 13:21:54 +00:00
ngoto
8b251c6c2c * ext/digest/md5/md5ossl.h: Remove excess semicolons.
Suppress warning on Solaris with Oracle Solaris Studio 12.
  [ruby-dev:49692] [Bug #12524]
    
* ext/digest/md5/md5cc.h: ditto.
* ext/digest/sha1/sha1cc.h: ditto.
* ext/digest/sha1/sha1ossl.h: ditto.
* ext/digest/sha2/sha2cc.h: ditto.
* ext/digest/sha2/sha2ossl.h: ditto.
* ext/openssl/ossl_pkey_rsa.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-28 09:42:29 +00:00
nobu
06c5796870 Convert arguments first
* ext/win32/lib/Win32API.rb (Win32API#initialize): convert
  arguments before dlopen.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-26 10:35:53 +00:00
nobu
1f2359000c Explicit ".dll" suffix
* ext/win32/lib/Win32API.rb (Win32API#initialize): Cygwin
  2.5.2-1 (perhaps) seems to no longer append ".dll" suffix
  implicitly.
* ext/win32/lib/win32/resolv.rb (Win32::Resolv): ditto.  Fix the
  error reported by yamataka AT u08.itscom.net in
  [ruby-list:50339], and pointed out and patched by cerberus AT
  m3.kcn.ne.jp in [ruby-list:50341].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-26 01:20:27 +00:00
svn
ae3cb8bc4e * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-24 09:06:09 +00:00
hsbt
a099c5420c * ext/psych/*, test/psych/*: Upate psych 2.1.0
This version fixed [Bug #11988][ruby-core:72850]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-24 09:06:08 +00:00
rhe
102815b046 openssl: add OpenSSL::OCSP::SingleResponse
* ext/openssl/ossl_ocsp.c: Add OCSP::SingleResponse that represents an
  OCSP SingleResponse structure. Also add two new methods #responses
  and #find_response to OCSP::BasicResponse. A BasicResponse has one or
  more SingleResponse. We have OCSP::BasicResponse#status that returns
  them as an array of arrays, each containing the content of a
  SingleResponse, but this is not useful. When validating an OCSP
  response, we need to look into the each SingleResponse and check their
  validity but it is not simple. For example, when validating for a
  certificate 'cert', the code would be like:

    # certid_target is an OpenSSL::OCSP::CertificateId for cert
    basic = res.basic
    result = basic.status.any? do |ary|
      ary[0].cmp(certid_target) &&
        ary[4] <= Time.now && (!ary[5] || Time.now <= ary[5])
    end

  Adding OCSP::SingleResponse at the same time allows exposing
  OCSP_check_validity(). With this, the code above can be rewritten as:

    basic = res.basic
    single = basic.find_response(certid_target)
    result = single.check_validity

* test/openssl/test_ocsp.rb: Test this.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-19 12:26:27 +00:00
rhe
830c3a1409 openssl: allow passing absolute times in OCSP::BasicResponse#add_status
* ext/openssl/ossl_ocsp.c (ossl_ocspbres_add_status): Allow specifying
  the times (thisUpdate, nextUpdate and revocationTime) with Time
  objects. Currently they accepts only relative seconds from the current
  time. This is inconvenience, especially for revocationTime. When
  Integer is passed, they are still treated as relative times. Since the
  type check is currently done with rb_Integer(), this is a slightly
  incompatible change. Hope no one passes a relative time as String or
  Time object...
  Also, allow passing nil as nextUpdate. It is optional.

* ext/openssl/ruby_missing.h: Define RB_INTEGER_TYPE_P() if not defined.
  openssl gem will be released before Ruby 2.4.0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-19 09:42:30 +00:00
rhe
f31f1f1adf openssl: implement initialize_copy for OpenSSL::OCSP::*
* ext/openssl/ossl_ocsp.c: Implement OCSP::{CertificateId,Request,
  BasicResponse,Response}#initialize_copy.
  [ruby-core:75504] [Bug #12381]

* test/openssl/test_ocsp.rb: Test them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-19 09:42:29 +00:00
rhe
be1baf4a9a openssl: implement initialize_copy method for PKey classes
* ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c,
  ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement
  initialize_copy method for OpenSSL::PKey::*.
  [ruby-core:75504] [Bug #12381]

* test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb,
  test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they
  actually copy the OpenSSL objects, and modifications to cloned object
  don't affect the original object.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-19 09:29:59 +00:00
rhe
31388c4a73 openssl: add 'const's required in OpenSSL master
* ext/openssl/ossl_pkey.h, ext/openssl/ossl_pkey_dh.c,
  ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_rsa.c: A few days
  ago, OpenSSL changed {DH,DSA,RSA}_get0_*() to take const BIGNUM **.
  https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=fd809cfdbd6e32b6b67b68c59f6d55fbed7a9327
  [ruby-core:75225] [Feature #12324]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-19 05:31:28 +00:00
nobu
c79c06fa1c Integer conversion
* ext/bigdecimal/bigdecimal.c: use NUM2INT and NUM2USHORT to
  reject nil.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-18 02:25:28 +00:00
nobu
c15ad4a4ac Fix static-linked-ext encodings
* common.mk (build-ext), ext/extmk.rb: use variable EXTENCS
  different than ENCOBJS, to get rid of circular dependency.
  build libencs when linking encodings statically.
  [ruby-core:75618] [Bug #12401]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-18 01:13:39 +00:00
nobu
ed4aed86fb stringio.c: fix index overflow
* ext/stringio/stringio.c (strio_getline): fix pointer index
  overflow.  reported by Guido Vranken <guido AT guidovranken.nl>.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-17 23:52:48 +00:00
nobu
871472c72b Unnecessary checks
* ext/bigdecimal/bigdecimal.c: FIX2INT and FIX2UINT imply the
  check for Fixnum.

* ext/zlib/zlib.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-17 08:45:05 +00:00
rhe
9192f253b9 openssl: refactor OpenSSL::OCSP::*#verify
* ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify, ossl_ocspbres_verify):
  Use ossl_clear_error() so that they don't print warnings to stderr and
  leak errors in the OpenSSL error queue. Also, check the return value
  of OCSP_*_verify() correctly. They can return -1 on verification
  failure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-15 15:02:46 +00:00
rhe
2851f19f49 openssl: allow specifying hash algorithm in OCSP::*#sign
* ext/openssl/ossl_ocsp.c (ossl_ocspreq_sign, ossl_ocspbres_sign): Allow
  specifying hash algorithm used in signing. They are hard coded to use
  SHA-1.
  Based on a patch provided by Tim Shirley <tidoublemy@gmail.com>.
  [ruby-core:70915] [Feature #11552] [GH ruby/openssl#28]

* test/openssl/test_ocsp.rb: Test sign-verify works.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-15 10:52:37 +00:00
nobu
ce19b495d1 date_core.c: remove assert
* ext/date/date_core.c (decode_jd): do not assert type of
  argument.  just try to convert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-15 06:26:52 +00:00
nobu
63be9ed5c0 date_core.c: missing argument
* ext/date/date_core.c (d_lite_initialize): fix missing argument
  for write-barrier.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-15 06:26:51 +00:00
rhe
0a97832e6a openssl: add some accessor methods for OCSP::CertificateId
* ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash,
  ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm):
  Add accessor methods OCSP::CertificateId#issuer_name_hash,
  #issuer_key_hash, #hash_algorithm.
  Based on a patch provided by Paul Kehrer <paul.l.kehrer@gmail.com>.
  [ruby-core:48062] [Feature #7181]

* test/openssl/test_ocsp.rb: Test these new methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-14 13:12:20 +00:00