summaryrefslogtreecommitdiff
path: root/ext/etc/etc.c
AgeCommit message (Collapse)Author
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-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-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
2019-11-30[ruby/etc] Bump version to 1.1.0Hiroshi SHIBATA
https://github.com/ruby/etc/commit/78987ce56a
2019-11-18[ruby/etc] Remove taint supportJeremy Evans
Ruby 2.7 deprecates taint and it no longer has an effect. The lack of taint support should not cause a problem in previous Ruby versions. Still untaint the tmpdir object on Ruby <2.7, as returning a tainted string there could cause problems. Notes: Merged: https://github.com/ruby/ruby/pull/2476
2019-11-18Deprecate taint/trust and related methods, and make the methods no-opsJeremy Evans
This removes the related tests, and puts the related specs behind version guards. This affects all code in lib, including some libraries that may want to support older versions of Ruby. Notes: Merged: https://github.com/ruby/ruby/pull/2476
2019-11-18Warn on access/modify of $SAFE, and remove effects of modifying $SAFEJeremy Evans
This removes the security features added by $SAFE = 1, and warns for access or modification of $SAFE from Ruby-level, as well as warning when calling all public C functions related to $SAFE. This modifies some internal functions that took a safe level argument to no longer take the argument. rb_require_safe now warns, rb_require_string has been added as a version that takes a VALUE and does not warn. One public C function that still takes a safe level argument and that this doesn't warn for is rb_eval_cmd. We may want to consider adding an alternative method that does not take a safe level argument, and warn for rb_eval_cmd. Notes: Merged: https://github.com/ruby/ruby/pull/2476
2019-08-29drop-in type check for rb_define_module_function卜部昌平
We can check the function pointer passed to rb_define_module_function like how we do so in rb_define_method. The difference is that this changeset reveales lots of atiry mismatches.
2019-08-27rb_ensure now free from ANYARGS卜部昌平
After 5e86b005c0f2ef30df2f9906c7e2f3abefe286a2, I now think ANYARGS is dangerous and should be extinct. This commit deletes ANYARGS from rb_ensure, which also revealed many arity / type mismatches.
2019-07-10Added Etc::VERSIONNobuyoshi Nakada
2019-06-19Remove IA64 support.Samuel Williams
2017-11-07etc.c: improve docs for sysconfdirstomar
* ext/etc/etc.c: [DOC] small language fixes for etc_sysconfdir docs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-24sysconfdir on Windowsnobu
* ext/etc/etc.c (etc_sysconfdir): mentioned special case on Windows. [ruby-core:43110] [Bug #6121] * ext/etc/extconf.rb: define SYSCONFDIR only if sysconfdir is set in RbConfig::CONFIG and not empty. * win32/Makefile.sub (config.status): sysconfdir is not used on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-24Revert "sysconfdir on Windows"naruse
This reverts commit r60279. This breaks mswin build: https://ci.appveyor.com/project/ruby/ruby/build/1.0.5571 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21sysconfdir on Windowsnobu
* ext/etc/etc.c (etc_sysconfdir): mentioned special case on Windows. [ruby-core:43110] [Bug #6121] * win32/Makefile.sub (config.status): sysconfdir is not used on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-30ext: check if null byte is containednobu
[ruby-dev:50267] [Bug #13953] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-27ext: adjust indent [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-02etc.c: retry with allocated string buffernobu
* ext/etc/etc.c (etc_systmpdir): retry with allocated string buffer if static buffer size is not enough. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-19ext: suppress warningsnobu
* ext/{etc,openssl,tk}: Adding parens and comparisons around assignments to get rid of Wparentheses warnings. [Fix GH-875] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-10win32.c: login name encodingnobu
* ext/etc/etc.c (etc_getlogin): set login name encoding properly. [ruby-core:66163] [Bug #10493] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21* ext/etc/etc.c (etc_nprocessors_affin): maximum "n" should be 16384.kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21* ext/etc/etc.c (etc_nprocessors_affin): minor spell fix.kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21* ext/etc/etc.c (etc_nprocessors_affin): optimize memory usege akosaki
bit. Typical rubyist never use 8k cpus machine. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15update doc.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15* ext/etc/etc.c (etc_nprocessors_affin): Test CPU_ALLOC availability.akr
CentOS 5 don't have CPU_ALLOC(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15* ext/etc/etc.c (etc_nprocessors_affinity): use sched_getaffinityakr
for getting precious number of available cpus. * ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if possible. [Feature #10267] etc-nprocessors-kosaki2.patch git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07ext/etc/etc.c (etc_systmpdir): set default tmplen correctlynormal
Fixup r47826. This fixes the following test failure for me: TestRequire#test_tainted_loadpath [test/ruby/test_require.rb:331]: SecurityError expected but nothing was raised. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07etc.c: try confstr on Mac OS Xnobu
* ext/etc/etc.c (etc_systmpdir): try user temporary directory by confstr() on Mac OS X. c.f. http://www.opensource.apple.com/source/ruby/ruby-104/patches/ext_etc_etc.c.diff git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-05update doc.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02* ext/etc/etc.c (etc_nprocessors): Windows support.usa
see [Feature #10267] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02* ext/etc/etc.c (etc_nprocessors): New method.akr
Accepted by matz at RubyKaigi 2014. [ruby-core:65142] [Feature #10267] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19etc.c: fix typonobu
* ext/etc/etc.c (etc_uname): fix typo, `len` with `plen`, and an extra semicolon. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19etc.c: old VCnobu
* ext/etc/etc.c (etc_uname): fix for old VC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19etc.c: fix parameternobu
* ext/etc/etc.c (etc_uname): call with same first parameters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19etc.c: Etc.uname on Windowsnobu
* ext/etc/etc.c (etc_uname): add support for Windows using GetVersionExW(), GetSystemInfo(), and GetComputerNameExW() with `ComputerNameDnsHostname`. [Feature #9842] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18[DOC]akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18[DOC]akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18* ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented.akr
* ext/etc/extconf.rb: Check sysconf(), confstr() and fpathconf(). * ext/etc/mkconstants.rb: New file. [ruby-core:62600] [Feature #9842] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18* ext/etc/etc.c: Etc.uname method implemented.akr
* ext/etc/extconf.rb: Check uname() function. [ruby-core:62139] [Feature #9770] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-03etc.c: encodingsnobu
* ext/etc/etc.c (setup_passwd, setup_group): set proper encodings to string members. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-03struct.c: rb_struct_define_undernobu
* struct.c (rb_struct_define_under): new function to define Struct under the given namespace, not under Struct. [Feature #8264] * ext/etc/etc.c: use rb_struct_define_under. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-22* ext/etc/etc.c (setup_passwd): revert r41560, unnecessarycharliesome
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-22* ext/etc/etc.c (Init_etc): omit 'passwd' from definition of Etc::Passwdcharliesome
if HAVE_STRUCT_PASSWD_PW_PASSWD is not defined to prevent mismatch of fields and values in setup_passwd git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-22* ext/etc/etc.c (setup_passwd): pass 0 as VALUE to rb_struct_new tocharliesome
prevent segfault if the compiler passes it as a 32 bit integer on a 64 bit ruby git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-22* ext/etc/etc.c (etc_getpwnam): use PRIsVALUE in format string insteadcharliesome
of %s and RSTRING_PTR * ext/etc/etc.c (etc_getgrnam): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e