summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2020-05-23[ruby/fiddle] Fix assignment to array within struct (#26)sinisterchipmunk
* Allow access to a struct's underlying memory with `struct[offset, length]`. https://github.com/ruby/fiddle/commit/24083690a6 Notes: Merged: https://github.com/ruby/ruby/pull/3068
2020-05-23[ruby/fiddle] Make array access override compatible with base class (#25)sinisterchipmunk
* Allow access to a struct's underlying memory with `struct[offset, length]`. * Make accessing a struct's underlying memory more convenient. * refactor memory access unit tests for improved clarity https://github.com/ruby/fiddle/commit/c082c81bb5 Notes: Merged: https://github.com/ruby/ruby/pull/3068
2020-05-23[ruby/fiddle] Initialize memory to 0 when calling Fiddle.malloc(). (#24)sinisterchipmunk
https://github.com/ruby/fiddle/commit/8414239ca3 Notes: Merged: https://github.com/ruby/ruby/pull/3068
2020-05-22Suppress warnings no inline ruby debug (#3107)Kenta Murata
* Suppress unused warnings occurred due to -fno-inline * Suppress warning occurred due to RUBY_DEBUG=1 Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-05-14Thread scheduler for light weight concurrency.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3032 Merged-By: ioquatix <samuel@codeotaku.com>
2020-05-14ext/json/parser/prereq.mk: remove type-limit warning if char is unsignedYusuke Endoh
Ragel generates a code `0 <= (*p)` where `*p` is char. As char is unsigned by default on arm and RISC-V, it is warned by gcc: ``` compiling parser.c parser.c: In function ‘JSON_parse_string’: parser.c:1566:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] if ( 0 <= (*p) && (*p) <= 31 ) ^ parser.c:1596:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] if ( 0 <= (*p) && (*p) <= 31 ) ^ ``` This change removes the warning by substituting the condition with `0 <= (signed char)(*p)`.
2020-05-13[ruby/openssl] Ruby/OpenSSL 2.2.0Kazuki Yamaguchi
https://github.com/ruby/openssl/commit/41587f69e1
2020-05-13[ruby/openssl] ssl: temporarily remove SSLContext#add_certificate_chain_fileKazuki Yamaguchi
Let's revert the changes for now, as it cannot be included in the 2.2.0 release. My comment on #257: > A blocker is OpenSSL::SSL::SSLContext#add_certificate_chain_file. It > has a pending change and I don't want to include it in an incomplete > state. > > The initial implementation in commit 46e4bdba40c5 was not really > useful. The issue is described in #305. #309 extended it > to take the corresponding private key together. However, the new > implementation was incompatible on Windows and was reverted by #320 to > the initial one. > > (The prerequisite to implement it in) an alternative way is #288, and > it's still cooking. This effectively reverts the following commits: - dacd08937ccd ("ssl: suppress test failure with SSLContext#add_certificate_chain_file", 2020-03-09) - 46e4bdba40c5 ("Add support for SSL_CTX_use_certificate_chain_file. Fixes #254.", 2019-06-13) https://github.com/ruby/openssl/commit/ea925619a9
2020-05-13[ruby/openssl] pkey: add PKey#inspect and #oidKazuki Yamaguchi
Implement OpenSSL::PKey::PKey#oid as a wrapper around EVP_PKEY_id(). This allows user code to check the type of a PKey object. EVP_PKEY can have a pkey type for which we do not provide a dedicated subclass. In other words, an EVP_PKEY that is not any of {RSA,DSA,DH,EC} can exist. It is currently not possible to distinguish such a pkey. Also, implement PKey#inspect to include the key type for convenience. https://github.com/ruby/openssl/commit/dafbb1b3e6
2020-05-13[ruby/openssl] Fix signing example to not use Digest instanceBart de Water
https://github.com/ruby/openssl/commit/033fb4fbe4
2020-05-13[ruby/openssl] Look up cipher by name instead of constantBart de Water
https://github.com/ruby/openssl/commit/b08ae7e73d
2020-05-13[ruby/openssl] Remove 'mapping between Digest class and sn/ln'Bart de Water
This is not present in the referenced files anymore, and not useful to most users https://github.com/ruby/openssl/commit/eae30d2b96
2020-05-13[ruby/openssl] Look up digest by name instead of constantBart de Water
https://github.com/ruby/openssl/commit/b28fb2f05c
2020-05-13[ruby/openssl] Add Marshal support to PKey objectsBart de Water
https://github.com/ruby/openssl/commit/c4374ff041
2020-05-13ext/bigdecimal/bigdecimal.c, ext/date/date_core.c: undef NDEBUGYusuke Endoh
`#define NDEBUG` produces "macro redefined" warnings when it is already defined via cppflags
2020-05-13ext/openssl/ossl.h: Remove a variable that is used only in assertYusuke Endoh
It produces "unused variable" warnings in NDEBUG mode
2020-05-13ext/fiddle/extconf.rb: Fix the condition of libffi <= 3.1Yusuke Endoh
ver is [3, 1, 0] which is not less then or equal to [3, 1]
2020-05-13Do not try ffi_closure_alloc if libffi is <= 3.1Yusuke Endoh
Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and Fedora CIs have started failing with SEGV. Try to avoid ffi_closure_alloc on those environments. https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz
2020-05-13ext/fiddle/extconf.rb: check if ffi_closure_alloc is availableYusuke Endoh
to define HAVE_FFI_CLOSURE_ALLOC. The macro is used in closure.c, so have_func check is needed. If pkg-config is not installed, extconf.rb fails to detect the version of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system libffi version is >= 3.2. If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with 528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not defined. This resulted in this deprecation warning: https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz ``` compiling closure.c closure.c: In function 'initialize': closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 265 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ In file included from ./fiddle.h:42, from closure.c:1: /usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here 334 | ffi_prep_closure (ffi_closure*, | ^~~~~~~~~~~~~~~~ ```
2020-05-12fiddle: share the same config toolsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3102
2020-05-12extlibs.rb: added variable referencesNobuyoshi Nakada
Reduce duplicate parts such as package name and version numbers. Notes: Merged: https://github.com/ruby/ruby/pull/3102
2020-05-11sed -i 's|ruby/impl|ruby/internal|'卜部昌平
To fix build failures. Notes: Merged: https://github.com/ruby/ruby/pull/3079
2020-05-11sed -i s|ruby/3|ruby/impl|g卜部昌平
This shall fix compile errors. Notes: Merged: https://github.com/ruby/ruby/pull/3079
2020-05-10win32ole: separate global variable declarations and definitionsNobuyoshi Nakada
https://gcc.gnu.org/gcc-10/changes.html#c > * GCC now defaults to `-fno-common`. As a result, global > variable accesses are more efficient on various targets. In > C, global variables with multiple tentative definitions now > result in linker errors. With `-fcommon` such definitions are > silently merged during linking.
2020-05-09[ruby/io-console] Use sys_fail_fptr macroNobuyoshi Nakada
https://github.com/ruby/io-console/commit/2b8ba023c8
2020-05-09[ruby/io-console] Show path name at errorNobuyoshi Nakada
https://github.com/ruby/io-console/commit/6a4b1c1a6d
2020-05-04Fix indentationKazuki Tsujimoto
2020-05-04Suppress warnings by gcc 10.1.0-RC-20200430Nobuyoshi Nakada
* Folding results should not be empty. If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn` wouldn't execute and `ncs` elements are not initialized. ``` enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] 557 | for (i = 0; i < ncs[0]; i++) { | ~~~^~~ ``` * Cast to `enum yytokentype` Additional enums for scanner events by ripper are not included in `yytokentype`. ``` ripper.y:7274:28: warning: implicit conversion from 'enum <anonymous>' to 'enum yytokentype' [-Wenum-conversion] ```
2020-05-01[pty] do not check openpty twice if found in util libraryNobuyoshi Nakada
2020-04-27Fix a typo [ci skip]Kazuhiro NISHIYAMA
2020-04-17Suppress C4267 "possible loss of data" warningsNobuyoshi Nakada
Just cast down explicitly.
2020-04-17Suppress C4267 "possible loss of data" warningsNobuyoshi Nakada
2020-04-14[ruby/date] Suppress -Wchar-subscripts warnings by Cygwin gcc 9.3.0Nobuyoshi Nakada
https://github.com/ruby/date/commit/9968eb69f0
2020-04-10ext/-test-/cxxanyargs: add #pragma for icc.卜部昌平
Notes: Merged: https://github.com/ruby/ruby/pull/3011
2020-04-09Ignore upper bits of pw_change on macOS tooNobuyoshi Nakada
2020-04-09Ignore upper bits of pw_expire on macOSNobuyoshi Nakada
`pw_expire` is declared as `time_t`, but actually not, and `getpwuid` returns a garbage there. Also the declaration of `struct passwd` in pwd.h and the manual page contradict each other, interal `pw_fields` is mentioned only in the latter. Maybe there is a confusion.
2020-04-08Suppress -Wshorten-64-to-32 warningsNobuyoshi Nakada
2020-04-08Suppress -Wswitch warningsNobuyoshi Nakada
2020-04-08Merge pull request #2991 from shyouhei/ruby.h卜部昌平
Split ruby.h Notes: Merged-By: shyouhei <shyouhei@ruby-lang.org>
2020-04-03Fix a typo [ci skip]Kazuhiro NISHIYAMA
2020-04-02[ruby/etc] Deprecate names under `Struct`Nobuyoshi Nakada
https://github.com/ruby/etc/commit/25c538120c
2020-04-02Revert "[ruby/etc] Deprecate names under `Struct`"Nobuyoshi Nakada
This reverts commit 69f698d85ada116db5747873e53c597991bedff8. Again.
2020-04-02Revert "[ruby/etc] Hack to get rid of linking against static library"Nobuyoshi Nakada
This reverts commit 5885550c8cb80fb8784598d3af1d90823f4f6604. It didn't work without `--enable-shared`.
2020-04-02[ruby/etc] Hack to get rid of linking against static libraryNobuyoshi Nakada
2020-04-02[ruby/etc] Deprecate names under `Struct`Nobuyoshi Nakada
https://github.com/ruby/etc/commit/25c538120c
2020-04-01Revert "[ruby/etc] Deprecate names under `Struct`"Nobuyoshi Nakada
This reverts commit 919b175afc389f8df6a3caa05ffdd28f5fc4bfca. Since 604689628dc64d050a68f1ebe5e06f9105474936, to let `try_run` work before LIBRUBY_SO is installed, `try_link` links against the static library which defines even symbols unexported in the shared library.
2020-04-01[ruby/etc] Deprecate names under `Struct`Nobuyoshi Nakada
https://github.com/ruby/etc/commit/25c538120c
2020-04-01[ruby/etc] Drop binary gems supportNobuyoshi Nakada
Revert "Added build:mingw" e1674c18f5a0faf881b362363f428d139baef3b4. https://github.com/ruby/etc/commit/d8f1dd85d3
2020-03-31ext/socket/init.c: do not return uninitialized bufferYusuke Endoh
Resize string buffer only if some data is received in BasicSocket#read_nonblock and some methods. Co-Authored-By: Samuel Williams <samuel.williams@oriontransfer.co.nz>
2020-03-29Clear all trace events during teardownAlan Wu
Since 0c2d81dada, not all trace events are cleared during VM teardown. This causes a crash when there is a tracepoint for `RUBY_INTERNAL_EVENT_GC_EXIT` active during teardown. The commit looks like a refactoring commit so I think this change was unintentional. [Bug #16682] Notes: Merged: https://github.com/ruby/ruby/pull/2959