aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* revert r55246nobu2016-06-011-0/+1
| | | | | | * configure.in: no longer workaround crypt_r by r55247. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt.h: get rid of conflictnobu2016-06-011-0/+0
| | | | | | | * missing/crypt.h: move crypt.h to get rid of conflict with the system header. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* workaround: don't check crypt_rnaruse2016-06-011-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use system cryptnobu2016-06-016-6/+82
| | | | | | | | | * configure.in: revert r55237. replace crypt, not crypt_r, and check if crypt is broken more. * missing/crypt.c: move crypt_r.c * string.c (rb_str_crypt): use crypt_r if provided by the system. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* des_tables.cnobu2016-06-012-5/+1723
| | | | | | * missing/crypt_r.c: initialize DES tables statically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt_r.c: fix out of bounds accessnobu2016-06-012-10/+21
| | | | | | | * missing/crypt_r.c (a64toi): initialize statically and fix out of bounds access when salt is not 7bit clean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt_r.c: DES tablesnobu2016-06-012-31/+45
| | | | | | | * missing/crypt_r.c (des_tables): move sharable DES constant tables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt_r.c: remove castsnobu2016-06-012-47/+33
| | | | | | | * missing/crypt_r.c: consitify and remove unnecessary pointer casts. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: add dependencynobu2016-06-011-0/+1
| | | | | | | * common.mk (string.o): now depends on crypt.h for crypt_r and struct crypt_data. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/Makefile.sub (MISSING): fixed build error introduced at r55237.usa2016-06-012-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt_r.c: adjust stylenobu2016-06-011-5/+5
| | | | | | * missing/crypt_r.c: adjust style to BSD as the original. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use crypt_rnobu2016-06-015-50/+14
| | | | | | * string.c (rb_str_crypt): use reentrant crypt_r. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * missing/crypt.c (des_setkey): void function never returns any value.usa2016-06-012-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* separate crypt.hnobu2016-06-014-215/+268
| | | | | | * crypt.h: separate header file from missing/crypt.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add crypt_rnobu2016-06-012-39/+99
| | | | | | | * missing/crypt.c (crypt_r, setkey_r, encrypt_r): add reentrant versions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt.c: fix size macrosnobu2016-05-312-4/+9
| | | | | | | | * missing/crypt.c: fix size macros to use configured values for platforms long is larger than 32bit. [ruby-core:75792] [Bug #12446] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt.c: protoizenobu2016-05-311-54/+30
| | | | | | | * missing/crypt.c: protoize function definitions and make always-zero functions void. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-06-01svn2016-05-311-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* crypt.c: constifynobu2016-05-311-9/+9
| | | | | | * missing/crypt.c: constify Standard DES Tables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: add missing test for r55219rhe2016-05-311-0/+8
| | | | | | | | * test/openssl/test_asn1.rb: Add missing regression test for r55219. It fixed the year 2038 issue but the test code was missing. [ruby-core:45552] [Bug #6571] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* optparse.rb: fix char class optionnobu2016-05-313-1/+33
| | | | | | | | | * lib/optparse.rb (OptionParser::Completion.candidate): get rid of nil as key names. [ruby-core:75773] [Bug #12438] * lib/optparse.rb (OptionParser#make_switch): char class option cannot be NoArgument, default to RequiredArgument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* optparse.rb: no duplicate stringsnobu2016-05-311-1/+2
| | | | | | | * lib/optparse.rb (OptionParser#parse_in_order): get rid of making duplicate strings; $1 and others make a new string each times. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r55225naruse2016-05-313-31/+21
| | | | | | | | | | Run test-all before large commit: "* string.c: Activate full Unicode case mapping for UTF-8 by removing" This reverts commit 3fb0fcd1e881c1f6dd74db73a64e8623208acb77. http://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160531T013303Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: Activate full Unicode case mapping for UTF-8 by removingduerst2016-05-313-21/+31
| | | | | | | | | the protective check for the presence of an option. Update documentation. * test/ruby/enc/test_case_comprehensive.rb: Adjust tests for above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: fix test failure on Fedora 23rhe2016-05-301-1/+1
| | | | | | | | * test/openssl/test_pair.rb (test_ecdh_curves): Avoid P-224. The FIPS patch from RHEL disables it. The curve has to be chosen from: { secp256k1, secp384r1, secp521r1, prime256v1 }. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-05-31svn2016-05-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (host_str, port_str): Use StringValueCStrusa2016-05-303-2/+17
| | | | | | | instead of (Safe)StringValue, to detect NUL byte in the string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_file_exhaustive.rb: writable opennobu2016-05-301-1/+1
| | | | | | | * test/ruby/test_file_exhaustive.rb (test_flock_shared): open in writable mode for exclusive lock. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* raddrinfo.c: fix modifiernobu2016-05-301-2/+2
| | | | | | | * ext/socket/raddrinfo.c (host_str, port_str): fix length modifier to size_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: use NUM2TIMET() to convert Integer to time_trhe2016-05-302-6/+7
| | | | | | | | * ext/openssl/ossl_asn1.c (time_to_time_t): Use NUM2TIMET() instead of NUM2LONG(). time_t may be larger than long. [ruby-core:45552] [Bug #6571] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/socket/test_addrinfo.rb (TestSocketAddrinfo#test_addrinfo_ip): previoususa2016-05-301-2/+4
| | | | | | | | test logic depended on platform specific implementation. use more portable logic. this fixes a test failure on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: Document current behavior for other case mapping methodsduerst2016-05-302-16/+34
| | | | | | | on String. [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_addrinfo.rb: signle digit addressnobu2016-05-301-2/+2
| | | | | | | | | * test/socket/test_addrinfo.rb (test_addrinfo_ip): use single digit address so that the values are same in both decimal and octal. some platform zero-prefixed dotted-decimal is parsed as an octal value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: Document current situation for String#downcase. [ci skip]duerst2016-05-302-4/+41
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: add SSLContext#ecdh_curves=rhe2016-05-307-33/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): Enable the automatic curve selection for ECDH by calling SSL_CTX_set_ecdh_auto(). With this a TLS server automatically selects a curve which both the client and the server support to use in ECDH. This changes the default behavior but users can still disable ECDH by excluding 'ECDH' cipher suites from the cipher list (with SSLContext#ciphers=). This commit also deprecate #tmp_ecdh_callback=. It was added in Ruby 2.3.0. It wraps SSL_CTX_set_tmp_ecdh_callback() which will be removed in OpenSSL 1.1.0. Its callback receives two values 'is_export' and 'keylength' but both are completely useless for determining a curve to use in ECDH. The automatic curve selection was introduced to replace this. (ossl_sslctx_setup): Deprecate SSLContext#tmp_ecdh_callback=. Emit a warning if this is in use. (ossl_sslctx_set_ecdh_curves): Add SSLContext#ecdh_curves=. Wrap SSL_CTX_set1_curves_list(). If it is not available, this falls back to SSL_CTX_set_tmp_ecdh(). (Init_ossl_ssl): Define SSLContext#ecdh_curves=. * ext/openssl/extconf.rb: Check the existence of EC_curve_nist2nid(), SSL_CTX_set1_curves_list(), SSL_CTX_set_ecdh_auto() and SSL_CTX_set_tmp_ecdh_callback(). * ext/openssl/openssl_missing.[ch]: Implement EC_curve_nist2nid() if missing. * test/openssl/test_pair.rb (test_ecdh_callback): Use EnvUtil.suppress_warning to suppress deprecated warning. (test_ecdh_curves): Test that SSLContext#ecdh_curves= works. * test/openssl/utils.rb (start_server): Use SSLContext#ecdh_curves=. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* raddrinfo.c: fix for SHARABLE_MIDDLE_SUBSTRINGnobu2016-05-303-14/+39
| | | | | | | | | * ext/socket/raddrinfo.c (host_str, port_str): use RSTRING_LEN instead of strlen, since RSTRING_PTR StringValueCStr may not be NUL-terminated when SHARABLE_MIDDLE_SUBSTRING=1. reported by @tmtms, http://twitter.com/tmtms/status/736910516229005312 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: return reallocated pointernobu2016-05-304-1/+36
| | | | | | | * string.c (str_fill_term): return new pointer reallocated by filling terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_addrinfo.rb: special hostnamesnobu2016-05-301-0/+6
| | | | | | | * test/socket/test_addrinfo.rb (test_addrinfo_ip): add tests for special hostnames, <any> and <broadcast>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* stringio.c: share stringsnobu2016-05-302-5/+20
| | | | | | | * ext/stringio/stringio.c (enc_subseq): share the return value and the buffer as possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: get rid of unnecessary empty stringnobu2016-05-302-55/+47
| | | | | | | | * string.c (str_substr, rb_str_aref): refactor not to create unnecessary empty string. * string.c (str_byte_substr, str_byte_aref): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: check in the ordernobu2016-05-301-2/+8
| | | | | | | * string.c (rb_str_aref_m, rb_str_byteslice): check arguments in the left-to-right order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c: check lengthnobu2016-05-301-1/+1
| | | | | | | * variable.c (check_autoload_required): check length first before checking the first byte. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: fix a typo for r55198.nagachika2016-05-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-05-30svn2016-05-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/-test-/auto_ext.rb: fixed a heedless bug introduced at r55198.usa2016-05-292-1/+6
| | | | | | | this change will make RubyCI green. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regexec.c (ONIGENC_IS_MBC_ASCII_WORD): redefine optimized one.naruse2016-05-292-0/+17
| | | | | | WORD of Ruby's ascii compatible encoding is always [a-zA-Z0-9_]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regexec.c (match_at): make compilers optimize harder.naruse2016-05-292-6/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h: rb_exc_set_backtrace declarationnobu2016-05-293-4/+1
| | | | | | | * vm_core.h (rb_exc_set_backtrace): move declaration from eval_error.c and vm_args.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: RUBY_CRITICALnobu2016-05-291-99/+99
| | | | | | | | * win32/win32.c (RUBY_CRITICAL): removed the argument but make just a block which does nothing, so that debuggers can step into the block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-05-29svn2016-05-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e