odaira
acfd12ae36
* test/socket/test_socket.rb (test_udp_recvmsg_truncation):
...
AIX does not set the MSG_TRUNC flag for a message partially read
by recvmsg(2) with the MSG_PEEK flag set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-10 00:55:37 +00:00
naruse
6e181393c6
ignore exception is the address is IPv6
...
some environments disables IPv6 even if they have IPv6 addresses.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 17:53:11 +00:00
ngoto
0917a3dea2
* test/socket/test_socket.rb (test/socket/test_socket.rb): skip the test when Socket::SO_TIMESTAMP is not defined.
...
Fix error on Solaris 10. [Bug #11728 ] [ruby-dev:49377]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 16:19:06 +00:00
akr
1ca597236f
* test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is
...
nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.
Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 17:22:34 +00:00
akr
1f2b9a46a1
add tests.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 13:19:01 +00:00
normal
508b5fdd52
socket: fix recvmsg without argument
...
* ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer
on unspecified maxdatlen
[ruby-core:71517] [Bug #11701 ]
* ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen
(Socket#recvmsg_nonblock): ditto
* test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 22:00:23 +00:00
akr
373e87a74d
* ext/socket/lib/socket.rb: Specify frozen_string_literal: true.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-14 13:15:33 +00:00
nobu
ae042f21fb
use assert_raise
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-02 02:18:44 +00:00
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
nobu
391cad0cb3
test_socket.rb: ignore interface without address
...
* test/socket/test_socket.rb (test_udp_server): ignore interface
with no address assigned.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-28 05:11:05 +00:00
naruse
c3ebc82832
use Socket.getifaddrs to show interface names and so on
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-27 12:29:08 +00:00
akr
e8e6ecdef0
test_udp_server don't test IPv6 link-local addresses.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-24 11:12:10 +00:00
akr
bd4fdb714f
Use Etc.uname instead of uname command invocation.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 08:45:37 +00:00
hsbt
93156392dd
* test/socket/test_addrinfo.rb: remove unused variables.
...
* test/socket/test_nonblock.rb: ditto.
* test/socket/test_socket.rb: ditto.
* test/socket/test_unix.rb: ditto.
* test/testunit/test_parallel.rb: ditto.
* test/webrick/test_filehandler.rb: ditto.
* test/xmlrpc/test_features.rb: ditto.
* test/zlib/test_zlib.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-18 12:05:09 +00:00
akr
4fd53e476e
* ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because
...
it may be set before the body.
Reported by ko1 and mrkn. [ruby-core:59088] [Bug #9247 ]
* lib/cgi/core.rb: Ditto.
* lib/drb/ssl.rb: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13 16:11:12 +00:00
akr
b323d7d54c
* ext/socket: New method, Socket.getifaddrs, implemented.
...
[ruby-core:54777] [Feature #8368 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11 08:32:26 +00:00
akr
adb575e21e
* ext/socket/ancdata.c (bsock_sendmsg_internal): Always set
...
controls_num to raise NotImplementedError appropriately.
(bsock_recvmsg_internal): Raise NotImplementedError if
:scm_rights=>true is given on platforms which don't have
4.4BSD style control message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 11:48:29 +00:00
akr
cb302bf351
* ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro.
...
(rsock_sockaddr_string_value_with_addrinfo): New declaration.
(rsock_addrinfo_inspect_sockaddr): Ditto.
(rsock_sys_fail_addrinfo): Ditto.
(rsock_sys_fail_sockaddr_or_addrinfo): Ditto.
* ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed
from addrinfo_inspect_sockaddr and exported.
(rsock_sockaddr_string_value_with_addrinfo): New function to obtain
string and possibly addrinfo object.
* ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use
rsock_sys_fail_host_port which is IP dependent. Invoke
rsock_sys_fail_addrinfo.
(rsock_sys_fail_addrinfo): New function using
rsock_addrinfo_inspect_sockaddr.
(rsock_sys_fail_addrinfo_or_sockaddr): New function.
(sock_connect): Use SockAddrStringValueWithAddrinfo and
rsock_sys_fail_addrinfo_or_sockaddr.
(sock_connect_nonblock): Ditto.
(sock_bind): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 05:50:42 +00:00
akr
d933fb2296
* ext/socket: Improve socket exception message to show socket address.
...
[ruby-core:45617] [Feature #6583 ] proposed Eric Hodel.
* ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared.
(rsock_sys_fail_path): Ditto.
(rsock_sys_fail_sockaddr): Ditto.
* ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port.
(udp_bind): Ditto.
(udp_send): Ditto.
* ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail
argument.
(make_fd_nonblock): Ditto.
(rsock_s_accept): Ditto.
* ext/socket/ipsocket.c (init_inetsock_internal): Use
rsock_sys_fail_host_port.
* ext/socket/socket.c (rsock_sys_fail_host_port): Defined.
(rsock_sys_fail_path): Ditto.
(rsock_sys_fail_sockaddr): Ditto.
(setup_domain_and_type): Use rsock_sys_fail_sockaddr.
(sock_connect_nonblock): Ditto.
(sock_bind): Ditto.
(sock_gethostname): Specify a string for rb_sys_fail argument.
(socket_s_ip_address_list): Ditto.
* ext/socket/basicsocket.c (bsock_shutdown): Specify a string for
rb_sys_fail argument.
(bsock_setsockopt): Use rsock_sys_fail_path.
(bsock_getsockopt): Ditto.
(bsock_getpeereid): Refine the argument for rb_sys_fail.
* ext/socket/unixsocket.c (rsock_init_unixsock): Use
rsock_sys_fail_path.
(unix_path): Ditto.
(unix_send_io): Ditto.
(unix_recv_io): Ditto.
(unix_addr): Ditto.
(unix_peeraddr): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:39:44 +00:00
naruse
24793ac32d
Revert "Darwin 12 (OS X Mountain Lion) also has Bug #6692 "
...
This reverts commit r37033.
darwin12 seems to use an address started with fe80.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 04:03:26 +00:00
naruse
6fc41b0291
Darwin 12 (OS X Mountain Lion) also has Bug #6692
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 01:26:09 +00:00
naruse
040207ea01
Show nd6 options and whether the packet is reached to the server or not.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 03:09:32 +00:00
naruse
612ff592ff
Add version check for darwin's bug.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 00:42:22 +00:00
drbrain
f35b1d0633
* test/socket/test_socket.rb: Ignore IPv6 unique local addresses on OS
...
X (iCloud Back to my Mac addresses) for test_udp_socket since they do
not act as loopback addresses. [Bug #6692 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-20 00:40:48 +00:00
naruse
3e972bbaba
Check IFDISABLED on Mac OS X.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-14 07:46:02 +00:00
naruse
bfbf9d0956
fix the path of ifconfig.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-10 12:37:56 +00:00
naruse
ba8a74314e
skip addresses whose interface is set as POINTOPOINT.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-10 08:29:33 +00:00
naruse
08b3a446e5
Skip IPv6 addresses whose interface is set as IFDISABLED.
...
FreeBSD 9.0 with default setting (ipv6_activate_all_interfaces
is not YES) sets IFDISABLED to interfaces which don't have
global IPv6 address.
Link-local IPv6 addresses on those interfaces don't work.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-10 03:47:10 +00:00
naruse
6e9a14aabe
Cent OS 5.6 (2.6.18-238.19.1.el5xen) doesn't correctly work
...
sendmsg with pktinfo for link-local ipv6 addresses
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-07 23:04:20 +00:00
akr
88f1b8cf0c
add test for close-on-exec.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03 11:15:15 +00:00
akr
df6a0fe8bb
close a socket in test_socket_new.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03 10:55:26 +00:00
akr
4db0c519f5
* test/socket/test_socket.rb (test_connect_timeout): added a test
...
based on a patch by Eric Wong. [ruby-core:38910]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-13 20:58:11 +00:00
nobu
58b325366d
* thread.c (rb_thread_io_blocking_region): new function to run
...
blocking region with GIL released, for fd.
* thread.c (rb_thread_fd_close): implement. [ruby-core:35203]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-12 05:44:23 +00:00
akr
6dea556eb7
* test/socket/test_addrinfo.rb: extract Errno::EADDRINUSE as a method.
...
* test/socket/test_socket.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 12:42:50 +00:00
akr
f5ea2822e6
refine an assertion message.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-24 13:38:34 +00:00
akr
acb8b3f7a9
* ext/socket/raddrinfo.c (ruby_getaddrinfo__darwin): new workaround for
...
getaddrinfo problem on Mac OS X Snow Leopard. [ruby-core:29427]
patch by Wataru Kimura. [ruby-core:30842]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-23 12:25:07 +00:00
akr
3a4231cdf4
* test/socket/test_socket.rb (test_udp_server): rescue Errno::ENOSYS
...
for Windows.
* test/socket/test_nonblock.rb (test_sendmsg_nonblock_error): ditto.
[ruby-dev:41597] reported by Masaya Tarui.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-14 13:46:06 +00:00
akr
6b11ee7288
call unix_server.close only if unix_server is not nil.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-23 11:41:44 +00:00
usa
828d7a368a
* test_socket.rb (test_udp_server): cannot check the existance of sendmsg by
...
respond_to?.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 00:48:40 +00:00
akr
bdfe1c7f8e
fix skip condition.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 22:28:28 +00:00
usa
229b4e4c37
* ext/socket/socket.c (socket_s_ip_address_list): drop inactive
...
adapters.
* test/socket/test_{nonblock,addrinfo,socket}.rb: skip some tests on
Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 13:40:59 +00:00
akr
2f8b6234cd
* include/ruby/intern.h (rb_time_num_new): declared.
...
* time.c (nsec2timev): extracted from time_new_internal.
(time_new_internal): change argument to VALUE.
(rb_time_new): follow the argument change.
(rb_time_nano_new): ditto.
(rb_time_num_new): new function.
* ext/socket/ancdata.c (ancillary_timestamp): use rb_time_num_new to
represent struct bintime preciously.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-01 12:11:53 +00:00
akr
32004e3c46
don't use /tmp as example socket path.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-18 14:04:54 +00:00
akr
ba8fbae364
assert connects doesn't raise.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-14 06:58:50 +00:00
akr
fb5d4ecfb5
* ext/socket/ancdata.c (rsock_discard_cmsg_resource): defined
...
unconditionally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-02 12:14:35 +00:00
akr
7f247b9d0c
add a test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-27 13:10:25 +00:00
akr
ecb22ce2c5
* ext/socket/lib/socket.rb (BasicSocket#connect_address): new method.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 14:15:39 +00:00
akr
e6f0b1de89
* ext/socket/option.c (sockopt_level): extracted from sockopt_level_m.
...
(sockopt_optname): extracted from sockopt_optname_m.
(sockopt_data): apply StringValue.
(sockopt_s_linger): new method.
(sockopt_linger): new method.
(inspect_linger): show onoff value if it is neither 0 nor 1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 15:26:25 +00:00
akr
e137e939b7
* ext/socket/ancdata.c (ancillary_timestamp): support SCM_BINTIME.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 10:56:57 +00:00
akr
b404c651d2
* ext/socket/ancdata.c (ancillary_timestamp): new method.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 10:45:46 +00:00