akr
d818a6ab40
* ext/socket/socket.c (rsock_sys_fail_raddrinfo): Renamed from
...
rsock_sys_fail_addrinfo.
(rsock_sys_fail_raddrinfo_or_sockaddr): Renamed from
rsock_sys_fail_addrinfo_or_sockaddr.
* ext/socket/rubysocket.h: Follow the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 11:21:05 +00:00
akr
67fe038d8f
* ext/socket/socket.c (rsock_sys_fail_sockaddr): Takes struct sockaddr
...
and socklen_t instead of String object.
(rsock_sys_fail_addrinfo_or_sockaddr): Follow the above change.
* ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow the above
change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 11:04:45 +00:00
nobu
c7135ddd2d
socket/extconf.rb: RSTRING_SOCKLEN
...
* ext/socket/extconf.rb (RSTRING_SOCKLEN): macro to cast RSTRING_LEN
to socklen_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 07:58:51 +00:00
nobu
7e4a95cd06
socket.c: suppress warnings
...
* ext/socket/socket.c (rsock_sys_fail_sockaddr): cast down explicitly
to suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 07:58:47 +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
b1fd376cbf
* ext/socket/socket.c (rsock_sys_fail_sockaddr): Delete 2nd argument.
...
* ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow above
change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 04:35:29 +00:00
akr
8c6c73745e
* ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect only
...
for String to avoid SEGV.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 04:14:57 +00:00
akr
11a9d77286
* ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect if the
...
path contains a NUL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:50:08 +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
akr
7371736e49
* ext/socket/socket.c (sockaddr_len): return the shortest length for
...
unknown socket address.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-26 14:34:20 +00:00
akr
ca4397ad2c
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 03:49:30 +00:00
akr
c89844dbc5
* ext/socket: define and use union_sockaddr instead of struct
...
sockaddr_storage for less casts.
* ext/socket/rubysocket.h (union_sockaddr): defined.
* ext/socket/socket.c (sock_accept): use union_sockaddr.
(sock_accept_nonblock): ditto.
(sock_sysaccept): ditto.
(sock_s_getnameinfo): ditto.
* ext/socket/basicsocket.c (bsock_getsockname): ditto.
(bsock_getpeername): ditto.
(bsock_local_address): ditto.
(bsock_remote_address): ditto.
* ext/socket/ancdata.c (bsock_recvmsg_internal): ditto.
* ext/socket/init.c (recvfrom_arg): ditto.
(recvfrom_blocking): ditto.
(rsock_s_recvfrom): ditto.
(rsock_s_recvfrom_nonblock): ditto.
(rsock_getfamily): ditto.
* ext/socket/raddrinfo.c (rb_addrinfo_t): ditto.
(ai_get_afamily): ditto.
(inspect_sockaddr): ditto.
(addrinfo_mdump): ditto.
(addrinfo_mload): ditto.
(addrinfo_getnameinfo): ditto.
(addrinfo_ip_port): ditto.
(extract_in_addr): ditto.
(addrinfo_ipv6_to_ipv4): ditto.
(addrinfo_unix_path): ditto.
* ext/socket/tcpserver.c (tcp_accept): ditto.
(tcp_accept_nonblock): ditto.
(tcp_sysaccept): ditto.
* ext/socket/ipsocket.c (ip_addr): ditto.
(ip_peeraddr): ditto.
(ip_s_getaddress): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-24 17:51:17 +00:00
akr
cb31e78379
* ext/socket/extconf.rb: test struct sockaddr_un and its member,
...
sun_len.
* ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN.
* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
* ext/socket/raddrinfo.c (init_unix_addrinfo): ditto.
(addrinfo_mload): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 22:19:05 +00:00
nobu
66c1e7960c
socket: ai_addrlen is socklen_t
...
* ext/socket/raddrinfo.c (rsock_make_hostent): ai_addrlen is not
size_t but socklen_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 07:54:38 +00:00
akr
792cfa3fd0
* ext/socket/sockport.h (VALIDATE_SOCKLEN): new macro to validate
...
sa_len member of 4.4BSD socket address.
* ext/socket/getnameinfo.c (getnameinfo): use VALIDATE_SOCKLEN,
instead of SA_LEN.
* ext/socket/socket.c (sock_s_getnameinfo): use VALIDATE_SOCKLEN
instead of SS_LEN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 15:17:49 +00:00
akr
1cc445fbbf
* ext/socket/socket.c (sockaddr_len): extracted from sockaddr_obj.
...
(sockaddr_obj): add an argument to length of socket address.
(socket_s_ip_address_list): call sockaddr_obj with actual socket
address length if given, use sockaddr_len otherwise.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 13:27:46 +00:00
akr
18a8046d1c
* ext/socket: always operate length of socket addess companion with
...
socket address.
* ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for
socket address length.
(rsock_ipaddr): ditto.
* ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr.
(ip_peeraddr): ditto.
(ip_s_getaddress): pass length to rsock_make_ipaddr.
* ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr.
(sock_s_getnameinfo): pass actual address length to rb_getnameinfo.
(sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr.
* ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr.
(rsock_s_recvfrom_nonblock): ditto.
* ext/socket/tcpsocket.c (tcp_sockaddr): pass length to
rsock_make_ipaddr.
* ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket
address length. pass the length to rb_getnameinfo.
(rsock_ipaddr): ditto.
(rsock_make_ipaddr): add an argument for socket address length.
pass the length to make_ipaddr0.
(make_inetaddr): pass length to make_ipaddr0.
a local variable renamed.
(host_str): a local variable renamed.
(port_str): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 11:28:49 +00:00
akr
ed193c50f5
* ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN.
...
use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13 23:20:27 +00:00
shugo
a1ed445b81
* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
...
correct address length of an abstract socket.
* test/socket/test_unix.rb: related test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29 00:32:05 +00:00
zzak
f1e488e524
* ext/socket/socket.c: Documentation for Socket
...
Based on a patch by David Albert
[Bug #7105 ] [ruby-core:47828]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20 03:51:33 +00:00
akr
da12c793c4
* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
...
path in sockaddr_un, really.
reported by nagachika.
http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-26 22:18:03 +00:00
akr
4c87e9433a
suppress a warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-26 13:24:34 +00:00
akr
1413510ed2
* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest
...
path in sockaddr_un.
(inspect_sockaddr): ditto.
(addrinfo_mdump): ditto.
(addrinfo_mload): ditto.
(rsock_unixpath_str): new function.
(rsock_unixpath): removed.
(rsock_unixaddr): use rsock_unixpath_str.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
path in sockaddr_un.
(sock_s_unpack_sockaddr_un): ditto.
(sock_s_gethostbyaddr): unused variable removed.
* ext/socket/unixsocket.c (rsock_init_unixsock): support the longest
path in sockaddr_un.
* ext/socket/rubysocket.h (rsock_unixpath_str): declared.
(rsock_unixpath): removed.
* test/socket/test_unix.rb: comment out test_nul because abstract unix
sockets may contain NULs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-26 03:34:12 +00:00
akr
7c346a46d3
* ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length
...
when it is too long for Unix socket.
* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-24 12:59:32 +00:00
drbrain
da39d32f60
* encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
...
reaches end of non-void function" warnings. [ruby-trunk - Bug #6066 ]
* re.c (name_to_backref_number): ditto.
* object.c (rb_Float): ditto.
* io.c (io_readpartial): ditto.
* io.c (io_read_nonblock): ditto.
* pack.c (rb_uv_to_utf8): ditto.
* proc.c (rb_method_entry_arity): ditto.
* vm_method.c (rb_f_notimplement): ditto.
* struct.c (rb_struct_aset_id): ditto.
* class.c (rb_scan_args): ditto.
* process.c (rlimit_resource_type): ditto.
* process.c (rlimit_resource_value): ditto.
* process.c (p_uid_switch): ditto.
* process.c (p_gid_switch): ditto.
* ext/digest/digest.c (rb_digest_instance_update): ditto.
* ext/digest/digest.c (rb_digest_instance_finish): ditto.
* ext/digest/digest.c (rb_digest_instance_reset): ditto.
* ext/digest/digest.c (rb_digest_instance_block_length): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): ditto.
* ext/dl/handle.c (rb_dlhandle_close): ditto.
* ext/tk/tcltklib.c (pending_exception_check0): ditto.
* ext/tk/tcltklib.c (pending_exception_check1): ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core): ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name): ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core): ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv): ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve): ditto.
* ext/fiddle/conversions.c (generic_to_value): ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo): ditto.
* ext/socket/socket.c (sock_s_getnameinfo): ditto.
* ext/ripper/eventids2.c (ripper_token2eventid): ditto.
* cont.c (return_fiber): ditto.
* dmydln.c (dln_load): ditto.
* vm_insnhelper.c (vm_search_normal_superclass): ditto.
* bignum.c (big_fdiv): ditto.
* marshal.c (r_symlink): ditto.
* marshal.c (r_symbol): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-13 23:45:37 +00:00
akr
a3521e0261
* ext/socket/socket.c (rsock_socketpair0): refactored.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 09:06:05 +00:00
akr
df390d82f9
* ext/socket/socket.c (rsock_socketpair0): don't clear
...
try_sock_cloexec if SOCK_CLOEXEC is not a reason for EINVAL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 02:19:48 +00:00
akr
b45c882aec
* ext/socket/socket.c (rsock_socketpair0): extracted from
...
rsock_socketpair to set close-on-exec flag for each socketpair()
call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03 13:46:41 +00:00
akr
ee5ae134dd
* ext/socket/socket.c (rsock_socketpair): use SOCK_CLOEXEC if
...
available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 21:01:18 +00:00
akr
8ce4a284e4
* ext/socket/socket.c (rsock_socketpair): extracted from
...
rsock_sock_s_socketpair.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 14:49:57 +00:00
akr
1a70dfe6f4
* include/ruby/intern.h (rb_fd_fix_cloexec): renamed from
...
rb_fd_set_cloexec.
* io.c: follow the above renaming.
* ext/pty/pty.c: ditto.
* ext/socket/init.c: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/ancdata.c: ditto.
* ext/socket/unixsocket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 12:49:16 +00:00
akr
b574a4d4a1
* include/ruby/intern.h (rb_fd_set_cloexec): declared.
...
* io.c (rb_fd_set_cloexec): new function.
(ruby_dup): call rb_fd_set_cloexec to set close-on-exec flag.
(rb_sysopen_internal): ditto.
(rb_pipe): ditto.
(io_reopen): ditto.
(io_cntl): ditto.
* process.c (rb_f_exec): change the default :close_others option to
true.
(rb_f_system): ditto.
(move_fds_to_avoid_crash): call rb_fd_set_cloexec to set
close-on-exec flag.
(ruby_setsid): ditto.
(rb_daemon): ditto.
* thread_pthread.c (rb_thread_create_timer_thread): call
rb_fd_set_cloexec to set close-on-exec flag.
* ruby.c (load_file_internal): ditto.
* file.c (rb_file_s_truncate): ditto.
(file_load_ok): ditto.
* random.c (fill_random_seed): ditto.
* ext/pty/pty.c (chfunc): ditto.
(get_device_once): ditto.
* ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.
* ext/socket/init.c (rsock_socket): ditto.
(rsock_s_accept_nonblock): ditto.
(rsock_s_accept): ditto.
* ext/socket/socket.c (rsock_sock_s_socketpair): ditto.
* ext/socket/ancdata.c (discard_cmsg): ditto.
(make_io_for_unix_rights): ditto.
* ext/socket/unixsocket.c (unix_recv_io): ditto.
* ext/io/console/console.c (console_dev): ditto.
[ruby-core:38140] [Feature #5041 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-22 09:58:15 +00:00
drbrain
1297942451
* ext/socket: Make Socket documentation appear. Add documentation for
...
Socket, TCPServer, SOCKSSocket. Patch by Sylvain Daubert.
[Ruby 1.9 - Feature #5182 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-15 23:08:39 +00:00
akr
b41ccc4a9c
* include/ruby/intern.h (rb_update_max_fd): declaration moved from
...
internal.h.
* file.c: ditto.
* io.c: call rb_update_max_fd for each new fds.
* process.c: ditto.
* random.c: ditto.
* ruby.c: ditto.
* ext/io/console/console.c: ditto.
* ext/openssl/ossl_bio.c: ditto.
* ext/pty/pty.c: ditto.
* ext/socket/init.c: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/ancdata.c: ditto.
* ext/socket/unixsocket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-20 13:26:10 +00:00
nobu
4822d20cc5
* ext/socket: fixed types.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-28 08:14:13 +00:00
nobu
977267c2e0
* ext/**/*.[ch]: removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 08:04:13 +00:00
akr
a4fa54a10a
* ext/socket: use rsock_ prefix for internal initialization functions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-22 16:15:21 +00:00
akr
652484598d
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-22 09:45:57 +00:00
akr
1561d3fb8b
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-22 03:33:14 +00:00
akr
062780c834
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-22 00:48:51 +00:00
akr
daa739876f
* ext/socket: make sources rdoc friendly.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-21 10:50:52 +00:00
akr
7e833da5fe
* ext/socket/socket.c (socket_s_ip_address_list): obtain the scope_id
...
of IPv6 link local address on OpenSolaris.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-08 12:08:45 +00:00
nobu
af2f1bf4f9
* ext/socket/ipsocket.c (ip_addr, ip_peeraddr),
...
ext/socket/socket.c (sock_s_getaddrinfo): added optional
reverse_lookup flag. [ruby-core:28007]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-06 02:35:11 +00:00
akr
8458c38590
update rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-31 09:03:08 +00:00
nobu
1069e0f335
* ext/socket/extconf.rb: fix for wide-getaddrinfo option.
...
* ext/socket/addrinfo.c: rename {addr,name}info functions to ensure
those are used on darwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-30 20:56:41 +00:00
akr
9c4ac94a8e
fix typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-04 12:02:37 +00:00
wanabe
24a6752f54
* ext/socket/socket.c (socket_s_ip_address_list): use FreeLibrary() to
...
free HMODULE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-01 04:24:47 +00:00
naruse
438b8706a7
* ext/bigdecimal/bigdecimal.c (VpMidRound): remove warnings.
...
patch from Charlie Savage. [ruby-core:22869]
* ext/digest/bubblebabble/bubblebabble.c (bubblebabble_str_new): ditto.
* ext/digest/digest.c (hexencode_str_new): ditto.
* ext/iconv/iconv.c (iconv_convert): ditto.
* ext/socket/socket.c (inspect_sockaddr): ditto.
* ext/socket/raddrinfo.c (sockaddr_obj): ditto.
* ext/syck/emitter.c (syck_emitter_write): ditto.
* ext/syck/emitter.c (syck_emitter_flush): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-16 04:36:31 +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
05a278b4cd
* ext/readline/readline.c: use rb_f_notimplement for methods not
...
implemented.
* ext/openssl/ossl_engine.c: ditto.
* ext/openssl/ossl_config.c: ditto.
* ext/openssl/ossl_cipher.c: ditto.
* ext/openssl/ossl_pkcs5.c: ditto.
* ext/openssl/ossl_x509ext.c: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/basicsocket.c: ditto.
* ext/socket/ancdata.c: ditto.
* ext/socket/unixsocket.c: ditto.
* ext/iconv/iconv.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-18 14:10:06 +00:00
akr
c4049f4cb6
* io.c (rb_mWaitReadable): defined.
...
(rb_mWaitWritable): defined.
(io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN.
(rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and
EAGAIN.
* error.c (make_errno_exc): extracted from rb_sys_fail.
(rb_mod_sys_fail): new function.
* include/ruby/ruby.h (rb_mod_sys_fail): declared.
(rb_mWaitReadable): declared.
(rb_mWaitWritable): declared.
* ext/socket/init.c (rsock_s_recvfrom_nonblock): extend
IO::WaitReadable on EWOULDBLOCK and EAGAIN.
(rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK,
EAGAIN, ECONNABORTED and EPROTO.
* ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable
on EINPROGRESS.
* ext/socket/ancdata.c (bsock_sendmsg_internal): extend
IO::WaitWritable on EWOULDBLOCK and EAGAIN.
(bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and
EAGAIN.
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError
extended by IO::WaitReadable/IO::WaitWritable on
SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.
* ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise.
(ossl_exc_new): new function.
* ext/openssl/ossl.h (ossl_exc_new): declared.
* lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and
IO::WaitWritable.
[ruby-core:22539], [ruby-dev:38140]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-19 11:40:38 +00:00
akr
4f39e639f4
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 22:19:33 +00:00
akr
d79dc0f6a0
* ext/socket/raddrinfo.c: suppress warnings.
...
* ext/socket/socket.c: ditto.
* ext/socket/unixsocket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-01 14:00:48 +00:00
akr
172d208789
* ext/socket/ (rsock_make_hostent): renamed from sock_make_hostent.
...
(rsock_addrinfo): renamed from sock_addrinfo.
(rsock_getaddrinfo): renamed from sock_getaddrinfo.
(rsock_socket): renamed from ruby_socket.
(rsock_sock_s_socketpair): renamed from sock_s_socketpair.
(rsock_connect): renamed from ruby_connect.
* ext/socket/socket.c (sock_listen): make it static.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-01 06:48:22 +00:00
akr
c49f05dd79
* ext/socket: add rsock_prefix.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-01 06:30:41 +00:00
akr
5fb1faf2bf
* ext/socket/raddrinfo.c: suppress strict-aliasing warning with
...
gcc version 4.4.0 20090219 (Red Hat 4.4.0-0.21) on Fedora 11 Alpha.
* ext/socket/socket.c: ditto.
* ext/socket/unixsocket.c: ditto.
* ext/socket/sockport.h (SS_LEN): defined.
(SET_SS_LEN): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-27 15:21:23 +00:00
akr
470103861e
add comment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 13:19:04 +00:00
akr
0ae09794e5
* ext/socket/socket.c (sockaddr_obj): convert fe80:1::1 to fe80::1%1.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 13:02:59 +00:00
akr
9cfe35ad50
* io.c (io_getpartial): error message describes what should be
...
waited after nonblocking error.
(rb_io_write_nonblock): ditto.
* ext/socket/init.c (s_recvfrom_nonblock): ditto.
(s_accept_nonblock): ditto.
* ext/socket/socket.c (sock_connect_nonblock): ditto.
* ext/socket/ancdata.c (bsock_sendmsg_internal): ditto.
(bsock_recvmsg_internal): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 15:57:52 +00:00
akr
36dcff1cf5
* ext/socket/socket.c (Init_socket): define TCPServer#listen and
...
UNIXServer#listen here for rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-13 12:14:00 +00:00
akr
be25c48638
* ext/socket/socket.c (sock_gethostname): use HOST_NAME_MAX.
...
* ext/socket/raddrinfo.c (make_ipaddr): local variable renamed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-10 15:39:16 +00:00
akr
2ee0859119
* ext/socket/init.c (struct recvfrom_arg): use struct
...
sockaddr_storage.
(recvfrom_blocking): follow struct recvfrom_arg change.
(s_recvfrom): ditto.
(s_recvfrom_nonblock): use struct sockaddr_storage.
* ext/socket/socket.c (sock_accept): use struct sockaddr_storage.
(sock_accept_nonblock): ditto.
(sock_sysaccept): ditto.
* ext/socket/ancdata.c (bsock_recvmsg_internal): use struct
sockaddr_storage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-10 14:46:51 +00:00
akr
a038fab649
* ext/socket/socket.c (sockaddr_obj): fill pfamily.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-10 12:15:54 +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
5ce10c1359
* ext/socket/socket.c (sock_s_socketpair): make 3rd argument optional.
...
* ext/socket/unixsocket.c (unix_s_socketpair): follow the above
change.
* ext/socket/rubysocket.h (sock_s_socketpair): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-04 16:20:05 +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
usa
68db4a3464
* ext/socket/spclet.c (socket_s_ip_address_list): support Windows XP
...
or later. (Win2k or earlier is still not supported)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-29 02:25:39 +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
nobu
45c4ae9b8b
* ext/socket/socket.c (socket_s_list_ip_address): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 03:33:54 +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
e2f8800667
* ext/socket/socket.c (sock_s_getnameinfo): accept AddrInfo object.
...
* ext/socket/raddrinfo.c (rb_check_sockaddr_string_type): defined.
* ext/socket/rubysocket.h (rb_check_sockaddr_string_type): declared.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17 16:39:03 +00:00
akr
97cbab78dc
* ext/socket: split files for each class.
...
* ext/socket/rubysocket.h: common header.
* ext/socket/basicsocket.c: new file for BasicSocket.
* ext/socket/ipsocket.c: new file for IPSocket.
* ext/socket/tcpsocket.c: new file for TCPSocket.
* ext/socket/tcpserver.c: new file for TCPServer.
* ext/socket/sockssocket.c: new file for SOCKSSocket.
* ext/socket/udpsocket.c: new file for UDPSocket.
* ext/socket/unixsocket.c: new file for UNIXSocket.
* ext/socket/unixserver.c: new file for UNIXServer.
* ext/socket/socket.c: now for Socket.
* ext/socket/raddrinfo.c: new file for AddrInfo and name resolution.
* ext/socket/constants.c: new file for constants.
* ext/socket/init.c: new file for utilities.
* ext/socket/mkconstants.rb: export *_to_int.
* ext/socket/extconf.rb: add new object files.
* ext/socket/depend: add dependencies for new files.
* ext/.document: add new files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17 04:11:27 +00:00
akr
6184d1d52a
* ext/socket/socket.c: move addrinfo code.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 13:31:49 +00:00
akr
aaddab6dea
* ext/socket/socket.c (addrinfo_s_ip): new method AddrInfo.ip.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 17:06:37 +00:00
akr
84775721bc
* ext/socket/socket.c (rb_getaddrinfo): use getaddrinfo with GVL if
...
getaddrinfo.c/getnameinfo.c is used. They are not thread safe
because gethostbyname/gethostbyaddr is used.
(rb_getnameinfo): ditto.
* extconf.rb: define GETADDRINFO_EMU if getaddrinfo.c/getnameinfo.c is
used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 12:41:12 +00:00
duerst
654e94e1c9
Commit miss in previous commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 00:55:32 +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
73757753ae
* ext/socket/socket.c (addrinfo_ip_unpack): new method
...
AddrInfo#ip_unpack.
(addrinfo_unix_path): new method AddrInfo#unix_path.
(Init_socket): define above methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 14:58:25 +00:00
akr
68552c4248
* ext/socket/socket.c (IS_IP_FAMILY): defined.
...
(addrinfo_ip_p): use it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 14:32:21 +00:00
akr
7099360a6c
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 06:57:54 +00:00
akr
94c668f1ab
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10 17:26:17 +00:00
akr
166c122fd3
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10 17:16:51 +00:00
akr
ab8a2c7c1f
* ext/socket/socket.c (sock_define_const): use INT2NUM.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-09 12:53:14 +00:00
akr
80618e75aa
* ext/socket/socket.c (bsock_shutdown): accept symbol/string as how.
...
(shutdown_how_arg): new function.
* ext/socket/mkconstants.rb: generate shutdown_how_to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08 14:20:47 +00:00
akr
c9ef4fc52f
* ext/socket/socket.c: don't use AI_NUMERICSERV for platforms which
...
not define it as old Windows.
[ruby-dev:37736]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08 13:45:50 +00:00
akr
0dd41d0d78
* ext/socket/socket.c (init_unix_addrinfo): don't return a value.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 22:53:41 +00:00
akr
3802c43ea1
* ext/socket/socket.c (addrinfo_getnameinfo): use NI_DGRAM if socktype
...
is SOCK_DGRAM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 15:27:09 +00:00
akr
69d908a10c
* ext/socket/socket.c (host_str): add flags_ptr argument to specify
...
AI_NUMERICHOST if host is numeric form.
(port_str): add flags_ptr argument to specify AI_NUMERICSERV if port
is numeric form.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 15:21:43 +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
nobu
3117bab125
* ext/socket/socket.c (ruby_getaddrinfo, ruby_getaddrinfo__aix):
...
constified.
* ext/socket/socket.c (ruby_getnameinfo__aix): protoized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07 08:06:29 +00:00
nobu
b5470fd243
* ext/socket/socket.c (io_call_close, io_close, pair_yield):
...
unused unless socketpair exists.
* ext/socket/getnameinfo.c (getnameinfo): moved conditinally used
variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-06 10:18:44 +00:00
akr
d4a0895181
* ext/socket/socket.c (rb_getaddrinfo): defined for address lookup without GVL.
...
(struct getaddrinfo_arg): defined.
(nogvl_getaddrinfo): defined.
(rb_getnameinfo): defined for name lookup without GVL.
(getnameinfo_arg): defined.
(nogvl_getnameinfo): defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 13:38:58 +00:00
nobu
9ac6838183
* ext/socket/socket.c (constant_arg): constified.
...
* ext/socket/socket.c (optname_arg): cygwin does not have
IPPROTO_IPV6.
* ext/socket/mkconstants.rb (ipv6_optname_to_int): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 00:27:43 +00:00
akr
d51c5a137f
* ext/socket/socket.c: redundant #ifdef removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-03 19:34:17 +00:00
akr
a900ab57de
* ext/socket/socket.c: don't apply socktype hack [ruby-core:184] for
...
sock_s_getaddrinfo.
(sock_getaddrinfo): add socktype_hack argument.
(sock_addrinfo): call sock_getaddrinfo with socktype_hack.
(sock_s_getaddrinfo): call sock_getaddrinfo without socktype_hack.
[ruby-dev:37674]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 14:36:39 +00:00
akr
e4b7c0e8a3
* ext/socket/mkconstants.rb: rename family_to_str to intern_family.
...
it returns ID now.
* ext/socket/socket.c (ipaddr): use intern_family.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 08:46:26 +00:00
akr
b5aebd12c0
* ext/socket/mkconstants.rb: use ID in the values of
...
family_to_str_hash. family_to_str returns a VALUE.
* ext/socket/socket.c (ipaddr): follow family_to_str change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 08:22:36 +00:00
akr
d68b60741c
* ext/socket/mkconstants.rb: use hash for family_to_str to avoid
...
linear search. lenp argument removed.
* ext/socket/socket.c (ipaddr): call family_to_str without lenp
argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 06:01:57 +00:00
akr
90a65796e7
* ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument.
...
* ext/socket/socket.c (ipaddr): follow argument change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 05:12:14 +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