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
akr
605cd65904
* ext/socket/ancdata.c (inspect_timespec_as_abstime): new function to
...
show struct timespec.
(ancillary_inspect): use it for SCM_TIMESTAMPNS on GNU/Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 11:41:38 +00:00
akr
23e286f3fb
* ext/socket/ancdata.c (inspect_bintime_as_abstime): new function to
...
show struct bintime.
(ancillary_inspect): use it for SCM_BINTIME on FreeBSD.
* ext/socket/mkconstants.rb: define SCM_BINTIME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 11:32:43 +00:00
akr
a0e3e8e4d1
* ext/socket/ancdata.c (inspect_timeval_as_abstime): use time_t
...
variable to avoid a warning on environments which use long as
tv_sec as NetBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 11:21:45 +00:00
akr
decee68028
add a test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 18:14:01 +00:00
akr
9ddde2773f
add timeout.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-14 11:06:23 +00:00
akr
a61786398a
* test/socket/test_socket.rb (test_udp_server): filter out unreachable
...
addresses. [ruby-dev:37970]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-12 14:24:11 +00:00
akr
3032bdb1d3
test updated.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-11 15:29:35 +00:00
akr
1463f1dfe7
* ext/socket/lib/socket.rb (Socket.udp_server_sockets): new method.
...
(Socket.udp_server_loop_on): new method.
(Socket.udp_server_loop): new method
(Socket.ip_sockets_port0): extracted from tcp_server_sockets_port0.
(Socket::UDPSource): new class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-10 12:38:16 +00:00
akr
88f04bdd32
* ext/socket: AddrInfo is renamed to Addrinfo. [ruby-dev:37876]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-05 11:01:43 +00:00
akr
e2f0aeb497
relax tests for MacOS X.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-04 15:12:53 +00:00
akr
5a56fc35ec
don't connect to unspecified address.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-03 14:50:50 +00:00
akr
24eafe8376
* ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): new
...
private function for allocating same port both IPv4 and IPv6.
(Socket.tcp_server_sockets): use tcp_server_sockets_port0 for port 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-03 07:25:57 +00:00
akr
260d0d0399
add a test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-03 06:37:06 +00:00
akr
4aec56ba71
add tests.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-03 06:27:07 +00:00
akr
5ad05f37a5
* ext/socket/socket.c (sock_initialize): make 3rd argument, protocol,
...
optional.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 05:55:56 +00:00
akr
efdef4dbe2
* ext/socket/socket.c (socket_s_ip_address_list): renamed from
...
socket_s_list_ip_address. [ruby-dev:37806]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 07:36:45 +00:00
akr
bd3cdcf394
* ext/socket/socket.c (socket_s_list_ip_address): new method.
...
(sockaddr_obj): new function.
* ext/socket/rubysocket.h: include ifaddrs.h, sys/ioctl.h,
sys/sockio.h, net/if.h if available.
(addrinfo_new): declared.
* ext/socket/raddrinfo.c (addrinfo_new): exported.
* ext/socket/extconf.rb: check ifaddrs.h, sys/ioctl.h, sys/sockio.h,
net/if.h and getifaddrs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-20 11:19:09 +00:00
akr
29aff19f1a
extract TestBasicSocket from test_socket.rb.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17 09:39:14 +00:00
akr
91ff87c05d
* ext/socket/socket.c (sock_s_unpack_sockaddr_in): check too short
...
sockaddr.
(sock_s_unpack_sockaddr_un): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 16:00:03 +00:00
akr
55b2bf4dec
* ext/socket/socket.c (rb_cAddrInfo): new class AddrInfo.
...
(s_recvfrom): return AddrInfo as address.
(s_recvfrom_nonblock): ditto.
(sock_accept): ditto.
(sock_accept_nonblock): ditto.
(sock_sysaccept): ditto.
(bsock_send): accept AddrInfo as address argument.
(sock_connect): ditto.
(sock_connect_nonblock): ditto.
(sock_bind): ditto.
(sock_s_unpack_sockaddr_in): ditto.
(sock_s_unpack_sockaddr_un): ditto.
(bsock_local_address): new method BasicSocket#local_address.
(bsock_remote_address): new method BasicSocket#remote_address.
(addrinfo_initialize): new method AddrInfo#initialize.
(addrinfo_inspect): new method AddrInfo#inspect.
(addrinfo_afamily): new method AddrInfo#afamily.
(addrinfo_pfamily): new method AddrInfo#pfamily.
(addrinfo_socktype): new method AddrInfo#socktype.
(addrinfo_protocol): new method AddrInfo#protocol.
(addrinfo_to_sockaddr): new method AddrInfo#to_sockaddr.
(addrinfo_canonname): new method AddrInfo#canonname.
(addrinfo_ip_p): new method AddrInfo#ip?.
(addrinfo_ipv4_p): new method AddrInfo#ipv4?.
(addrinfo_ipv6_p): new method AddrInfo#ipv6?.
(addrinfo_unix_p): new method AddrInfo#unix?.
(addrinfo_getnameinfo): new method AddrInfo#getnameinfo.
(addrinfo_s_getaddrinfo): new method AddrInfo.getaddrinfo.
(addrinfo_s_tcp): new method AddrInfo.tcp.
(addrinfo_s_udp): new method AddrInfo.udp.
(addrinfo_s_unix): new method AddrInfo.unix.
(Init_socket): define new class and methods.
(sock_getaddrinfo): apply socktype hack regardless of ai_flags.
(addrinfo_new): defined.
(get_afamily): ditto.
(fd_socket_addrinfo): ditto.
(io_socket_addrinfo): ditto.
(SockAddrStringValue): ditto.
(SockAddrStringValuePtr): ditto.
(sockaddr_string_value): ditto.
(sockaddr_string_value_ptr): ditto.
(rb_addrinfo_t): ditto.
(addrinfo_mark): ditto.
(addrinfo_free): ditto.
(addrinfo_s_allocate): ditto.
(IS_ADDRINFO): ditto.
(check_addrinfo): ditto.
(get_addrinfo): ditto.
(alloc_addrinfo): ditto.
(init_addrinfo): ditto.
(addrinfo_new): ditto.
(call_getaddrinfo): ditto.
(init_addrinfo_getaddrinfo): ditto.
(make_inspectname): ditto.
(addrinfo_firstonly_new): ditto.
(addrinfo_list_new): ditto.
(init_unix_addrinfo): ditto.
(ai_get_afamily): ditto.
* ext/socket/mkconstants.rb: generate intern_protocol_family,
intern_socktype and intern_ipproto.
[ruby-dev:37692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 14:20:15 +00:00
akr
775d5d8f03
* ext/socket/mkconstants.rb: make common prefix optional.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 06:33:24 +00:00
akr
aa0ae0d3b6
* ext/socket/socket.c (optname_arg): defined.
...
(bsock_setsockopt): use optname_arg.
(bsock_getsockopt): ditto.
* ext/socket/mkconstants.rb: generate so_optname_to_int,
ip_optname_to_int, ipv6_optname_to_int, tcp_optname_to_int and
udp_optname_to_int.
more constants.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 17:40:41 +00:00
akr
59556a0849
* ext/socket/socket.c (level_arg): defined.
...
(bsock_setsockopt): use level_arg.
(bsock_getsockopt): ditto.
* ext/socket/mkconstants.rb: generate level_to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 16:16:08 +00:00
akr
c6bbf28a9f
* ext/socket/socket.c (family_arg): accept symbols as well.
...
(socktype_arg): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 15:59:10 +00:00
akr
e924cabede
* ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 12:26:57 +00:00
akr
e485a566ed
* ext/socket/socket.c (sock_s_getaddrinfo): use family_to_int.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 11:47:55 +00:00
akr
0c838b4947
* ext/socket/mkconstants.rb: generate family_to_int().
...
* ext/socket/socket.c (setup_domain_and_type): use family_to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 07:49:31 +00:00
akr
68543f3092
use ML ref. for assertion message.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 07:18:56 +00:00
matz
326659c0bf
* test/socket/test_socket.rb: update not to use 1.8 assignment to
...
external local variable in the block parameters. [ruby-dev:32251]
* test/strscan/test_stringscanner.rb: avoid $KCODE, and use
String#force_encoding(). [ruby-dev:32251]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-14 07:03:39 +00:00
matz
1eee78b876
* eval.c (rb_f_send): allow send/__send__ to call methods of all
...
visibility again. we no longer provide __send, __send!.
* eval.c (rb_invoke_method): new method to honor private
visibility. if it's invoked in a function call style, it calls
private methods as well (previous 1.9 send behavior).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-04 20:36:20 +00:00
matz
4e183b11ac
* test/ruby/test_dir.rb (TestDir::setup): ?c now makes a string.
...
* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::initialize):
initialize @workdir to stop warning.
* lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform_without_block):
replace funcall by send!. other files in the distribution as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24 09:57:53 +00:00
akr
429cb7c025
revert sock_sysaccept addition to [ruby-dev:28861].
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-26 15:09:45 +00:00
usa
af19c66570
* test/socket/{test_nonblock.rb, test_socket.rb}: Windows support.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-07 06:44:24 +00:00
akr
8b074b2442
* ext/socket/socket.c (sock_s_unpack_sockaddr_in): reject
...
non-AF_INET/AF_INET6 sockaddr.
(sock_s_unpack_sockaddr_un): reject non-AF_UNIX sockaddr.
[ruby-dev:28691]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-05 09:16:14 +00:00
nobu
0cfe16bc21
* ext/tk/lib/tk/font.rb, ext/tk/lib/tkextlib/ICONS/icons.rb,
...
ext/tk/sample/tkextlib/treectrl/demo.rb, lib/net/imap.rb,
lib/rss/parser.rb, test/rss/test_content.rb,
test/rss/test_dublincore.rb, test/rss/test_syndication.rb,
test/rss/test_trackback.rb, test/ruby/test_eval.rb,
test/socket/test_socket.rb, test/socket/test_udp.rb:
Object#fcall was renamed as Object#funcall.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-22 04:48:34 +00:00
nobu
6cdf50d8be
* test/socket/test_socket.rb (test_listen): missed to modify.
...
* test/socket/test_udp.rb (test_bind): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-13 12:39:45 +00:00
matz
40816e8ba2
* test/socket/test_{udp,socket}.rb: revert unintentional commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-12 16:29:08 +00:00
matz
82e8e747df
* eval.c (proc_save_safe_level): no need to restrict safe level
...
memoize in $SAFE>=3. [ruby-dev:27050]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-12 16:21:50 +00:00
nobu
bb59e412e1
* ext/socket/socket.c (sock_listen): get OpenFile just before calling
...
listen(2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-09 23:39:57 +00:00
nobu
32481c4126
* test/socket/test_socket.rb (test_setsockopt): use SO_LINGER instead
...
of SO_BINDTODEVICE. fixed: [ruby-dev:25133]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-09 01:19:30 +00:00
nobu
35091fdda5
* test/socket/test_socket.rb (TestBasicSocket#test_setsockopt):
...
BasicSocket#setsockopt dumps core. [ruby-dev:25039]
* test/socket/test_tcp.rb (TestTCPSocket#test_recvfrom):
TCPSocket#recvfrom dumps core. [ruby-dev:24705]
* test/socket/test_udp.rb (TestUDPSocket#test_connect):
UDPSocket#connect dumps core. [ruby-dev:25045]
* test/socket/test_udp.rb (TestUDPSocket#test_bind):
UDPSocket#bind dumps core. [ruby-dev:25057]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 08:15:56 +00:00