Commit graph

5391 commits

Author SHA1 Message Date
akr
eb9f446ebf * ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket
after path length check.
  This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-28 15:42:09 +00:00
akr
02afafb42a * ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work
when SSL is not started.
  This fix the fd leak by test_https_proxy_authentication in
  test/net/http/test_https_proxy.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-28 09:09:26 +00:00
naruse
313fa18033 * ext/socket/ifaddr.c (ifaddr_inspect_flags): support IFF_SIMPLEX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-27 12:29:19 +00:00
nobu
00f78058b6 pty.c: do nothing if terminated already
* ext/pty/pty.c (pty_detach_process): if the child process has
  terminated already, return immediately without starting a thread
  to detach it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-26 04:35:17 +00:00
nobu
bae87a4790 vsnprintf.c: fix string precision
* vsnprintf.c (BSD_vfprintf): fix string width when precision is
  given.  as the result of `memchr` is NULL or its offset from the
  start cannot exceed the size, the comparison was always false.
  [ruby-core:62737] [Bug #9861]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-25 02:56:36 +00:00
akr
b54f42c93f * ext/socket/mkconstants.rb: More constants
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-23 20:54:40 +00:00
nobu
057186a986 extmk.rb: non-installed extensions when statick-linked-ext
* ext/extmk.rb: exclude extension libraries not to be installed if
  `--with-statick-linked-ext` is set, not only shared library is
  not built.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 14:34:56 +00:00
akr
35cd72172c * ext/socket/mkconstants.rb: More TCP option constants.
Describe Linux and glibc versions.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 14:08:17 +00:00
nobu
bd403755d0 remove trailing spaces
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 10:58:08 +00:00
naruse
fa244db49b add Bug::File::Fs.fsname for tests
get filesystem type name for given path

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 10:39:29 +00:00
nobu
108aa6143e extmk.rb: non-installed extensions cannot link statically
* ext/extmk.rb: exclude extension libraries not to be installed
  unless shared library is built, as they cannot be linked
  statically.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-21 04:46:00 +00:00
akr
5b629a7b8a * ext/socket/option.c: Fix complation error on Android.
Bionic doesn't define TCP state constants.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-21 03:22:18 +00:00
akr
7a1972ab9c * ext/socket/extconf.rb: Don't check fields of struct tcp_info if the
structure is not available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19 20:00:00 +00:00
akr
b9a178e56c * ext/socket/option.c (inspect_tcp_info): Permit longer data. (glibc
2.7 adds tcpi_rcv_rtt, tcpi_rcv_space and tcpi_total_retrans to
  struct tcp_info.)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19 14:28:26 +00:00
nobu
172f3673ad etc.c: fix typo
* 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-19 12:35:22 +00:00
nobu
e3653bfe6f etc.c: old VC
* 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-19 12:32:25 +00:00
nobu
21190be21c etc.c: fix parameter
* 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-19 12:32:14 +00:00
akr
3aacf88500 * ext/socket/option.c (inspect_tcp_info): New function to inspect struct tcp_info.
(sockopt_inspect): Use inspect_tcp_info.

* ext/socket/extconf.rb: Check tcp_info related things.

* ext/socket/rubysocket.h: Include netinet/tcp_fsm.h if available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-19 11:52:03 +00:00
nobu
82dbd0970c etc.c: Etc.uname on Windows
* 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-19 07:54:25 +00:00
akr
0b373d6bbb [DOC]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 08:45:07 +00:00
nobu
e627a028f3 extmk.rb: discard empty Makefile
* ext/extmk.rb (extmake): discard empty Makefile which can be left
  accidentally.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 06:08:54 +00:00
akr
db1d53450e Fix a dependency for etc.o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 03:04:07 +00:00
akr
4f3432f9cb [DOC]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 02:06:15 +00:00
akr
ea1a4f2929 * ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented.
* 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 01:48:47 +00:00
akr
63a23dc678 * ext/etc/etc.c: Etc.uname method implemented.
* 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
2014-05-18 00:58:34 +00:00
akr
63fee73500 * configure.in: Check nextafter() availability.
* include/ruby/missing.h (nextafter): New optional declaration.

* missing/nextafter.c: New file.

* numeric.c: Float#next_float and Float#prev_float implemented.

   [ruby-core:62562] [Feature #9834]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 00:37:10 +00:00
akr
e56d2c385a * include/ruby/ruby.h: Hide Rational internal.
(RRational): Moved to internal.h
  (RRATIONAL): Ditto.
  (RRATIONAL_SET_NUM): Moved to rational.c.
  (RRATIONAL_SET_DEN): Ditto.

* rational.c (rb_rational_num): New function.
  (rb_rational_den): Ditto.

* include/ruby/intern.h (rb_rational_num): Declared.
  (rb_rational_den): Ditto.

*  ext/bigdecimal/bigdecimal.c: Follow the above change.

* ext/date/date_core.c: Ditto.

  [ruby-core:60665] [Feature #9513]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-17 16:37:41 +00:00
nobu
34f95c7ca6 openssl/depend: ossl.o
* ext/openssl/depend (ossl.o): now depends on thread_native.h
  under $(hdrdir) instead of $(top_srcdir).  [Feature #9612]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-15 06:39:43 +00:00
ko1
7093a2cb5b * ext/openssl/depend: remove dependency from internal headers.
[Feature #9612]
* ext/openssl/ossl.c (ossl_fips_mode_set): ditto.
* ext/coverage/depend: ditto.
* include/ruby/thread_native.h: added.
  This header file only provides wrapper functions to control
  native threads. These wrapper functions are used by MRI
  implementation.
* vm_core.h: use include/ruby/thread_native.h.
* thread.c: ditto.
* thread_pthread.h: ditto.
* thread_win32.h: ditto.
* thread_native.h: removed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-14 10:55:38 +00:00
akr
543b402f38 * ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed.
* ext/strscan/strscan.c (BUFSIZE): Ditto.

* ext/zlib/zlib.c (OBJ_IS_FREED): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11 16:31:51 +00:00
nobu
77811031e5 extmk.rb: check if parent is build
* ext/extmk.rb (extmake): don't build nested libraries if parent
  library isn't build.

* ext/{dl/callback,tk/tkutil}/extconf.rb: no longer need to check
  if the parent is build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 05:52:59 +00:00
nobu
ecb8b52f56 extmk.rb: fix extstatic
* ext/extmk.rb: fix variable name for --extstatic option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 05:52:57 +00:00
akr
2dbae9b1f1 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept):
Consider Socket#accept as well as TCPServer#accept.
  Reported by Sam Stelfox.  [ruby-core:62064] [Bug #9750]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-07 12:48:27 +00:00
nagai
5ab5d92191 * ext/tk/lib/tkextlib/tkDND/tkdnd.rb: fix typo and missing definition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 16:29:55 +00:00
akr
17a2f1ecc3 * ext/socket/mkconstants.rb: Add IP_TRANSPARENT.
IP_TRANSPARENT is provieded since glibc-2.12.
  Reported by Eliezer Croitoru.  [ruby-core:50372] [Bug #7476]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 15:15:20 +00:00
akr
edacb3a94a * ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all
separators File::SEPARATOR from File::ALT_SEPARATOR.
  Reported by Daniel Rikowski.
  Fixed by Nobuyoshi Nakada.  [Bug #9618]

* ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 13:09:58 +00:00
akr
391fc2eeec * ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+.
Suggested by Alexey Muranov.  [ruby-core:61432] [Feature #9625]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 12:49:27 +00:00
tadf
a72f9f3476 * ext/date/date_core.c (rt_rewrite_frags): a new feature (not a
bug fix) of strptime.  applies offset even if the given date is
	  not local time (%s and %Q).  This is an exceptional feature and
	  I do NOT recommend to use this at all.  Thank you git community.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 20:56:28 +00:00
nobu
38fd0dc668 symbol/type.c: bug_pindown
* ext/-test-/symbol/type.c (bug_pindown): method for debug, which
  pins down the given symbol.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 01:34:44 +00:00
nobu
a80b300416 symbol/type.c: bug_static_p bug_dynamic_p
* ext/-test-/symbol/type.c (bug_static_p, bug_dynamic_p): methods
  for debug, which predicate the given symbol type.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 01:34:41 +00:00
nobu
b522335554 test_inadvertent_creation.rb: use Symbol.find
* ext/-test-/symbol/intern.c: Symbol.find is available now.

* test/-ext-/symbol/test_inadvertent_creation.rb (noninterned_name):
  use Symbol.find instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-30 15:16:07 +00:00
tadf
bb05bcde01 * ext/date/date_strptime.c (date__strptime_internal): do not overwrite century.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-27 10:44:23 +00:00
nobu
e923de6d4a ossl_asn1.c: fix undefined behavior
* ext/openssl/ossl_asn1.c (ossl_asn1_initialize): SYMID on a value
  other than Symbol is an undefined behavior.  fix up r31699.
  [ruby-core:62142] [Bug #9771]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 02:53:29 +00:00
akr
708e1bd49d * ext/etc/extconf.rb: Build ext/etc unconditionally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 11:53:07 +00:00
nobu
3254b0f3c1 win32ole.c: suppress warnings
* ext/win32ole/win32ole.c (ole_excepinfo2msg, lcid_installed):
  cast to suppress warnings, SCODE varies on cygwin and mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 04:14:42 +00:00
nobu
9036b58c99 win32ole.c: fix format
* ext/win32ole/win32ole.c (ole_excepinfo2msg, lcid_installed): fix
  format to suppress warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:51:34 +00:00
nobu
2c14872b9f stringio.c: use rb_str_append other than ASCII-8BIT
* ext/stringio/stringio.c (strio_write): use rb_str_append to
  reuse coderange bits other than ASCII-8BIT, and keep
  taintedness.  [ruby-dev:48118] [Bug #9769]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:03:43 +00:00
nobu
3ec18aa23a stringio.c: move GC guard
* ext/stringio/stringio.c (strio_write): move GC guard after the
  last using position.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:03:35 +00:00
naruse
506c6f52b9 Revert r45670 "stringio.c: use rb_str_append"
It breaks test-all.
20140422T143301Z.diff.html.gz

rb_str_conv_enc() return original string for example when
from ASCII-8BIT to UTF-8 with non ASCII strings

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 18:44:48 +00:00
nobu
a197581765 stringio.c: use rb_str_append
* ext/stringio/stringio.c (strio_write): use rb_str_append to
  reuse coderange bits and keep taintedness.
  [ruby-dev:48118] [Bug #9769]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 14:14:30 +00:00