summaryrefslogtreecommitdiff
path: root/ext/socket
AgeCommit message (Collapse)Author
2009-01-16* ext/socket/socket.c: move addrinfo code.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15* ext/socket/socket.c (addrinfo_s_ip): new method AddrInfo.ip.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14* ext/socket/extconf.rb (gai_strerror): checks if available and ifnobu
returns const pointer. * ext/socket/getaddrinfo.c (gai_strerror): defines only if non available. [ruby-core:21328] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13* ext/socket/addrinfo.h (AI_NUMERICSERV): defined.akr
(AI_MASK): add AI_NUMERICSERV. * ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13* ext/socket/socket.c (rb_getaddrinfo): use getaddrinfo with GVL ifakr
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 * ext/socket/{getaddrinfo,getnameinfo}.c: need to include ws2tcpip.husa
on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13Commit miss in previous commit.duerst
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 * ext/socket/extconf.rb: use headers instead of "netdb.h" in checkingusa
getnameinfo() and getaddrinfo() because Windows doesn't have it. see [ruby-dev:37757]. * ext/socket/sockport.h (SA_LEN): use sockaddr_in6 when defined AF_INET6 if INET6 is not defined. winsock2's getaddrinfo() returns sockaddr_in6 if ipv6 is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12* ext/socket/socket.c (sock_s_unpack_sockaddr_in): check too shortakr
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* ext/socket/socket.c (addrinfo_ip_unpack): new methodakr
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* ext/socket/socket.c (IS_IP_FAMILY): defined.akr
(addrinfo_ip_p): use it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12rdoc update.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12* ext/socket/mkconstants.rb: don't use bytesize because 1.9 dependent.akr
[ruby-core:21266] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-11* ext/socket/mkconstants.rb (c_str): get rid of a 1.9 feature fornobu
cross compile. [ruby-core:21243] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10add constants.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10rdoc update.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10rdoc update.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10* ext/socket/mkconstants.rb: don't generate unintended newlines.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-10* ext/socket/mkconstants.rb: refactored to nest properly in staticallyakr
and dynamically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-09* ext/socket/socket.c (sock_define_const): use INT2NUM.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-09 * ext/socket/mkconstants.rb: define macro if default_value is passed.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08* ext/socket/socket.c (bsock_shutdown): accept symbol/string as how.akr
(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* ext/socket/mkconstants.rb (gen_name_to_int_func): generateakr
name_to_int functions, not only body. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08* ext/socket/socket.c: don't use AI_NUMERICSERV for platforms whichakr
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-07* ext/socket/socket.c (init_unix_addrinfo): don't return a value.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (addrinfo_getnameinfo): use NI_DGRAM if socktypeakr
is SOCK_DGRAM. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (host_str): add flags_ptr argument to specifyakr
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* ext/socket/socket.c (rb_cAddrInfo): new class AddrInfo.akr
(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* ext/socket/socket.c (ruby_getaddrinfo, ruby_getaddrinfo__aix):nobu
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-06* ext/socket/socket.c (io_call_close, io_close, pair_yield):nobu
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-04* ext/socket/socket.c (rb_getaddrinfo): defined for address lookup without GVL.akr
(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* ext/socket/socket.c (constant_arg): constified.nobu
* 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-03* ext/socket/socket.c: redundant #ifdef removed.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/socket.c: don't apply socktype hack [ruby-core:184] forakr
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* ext/socket/mkconstants.rb: rename family_to_str to intern_family.akr
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* ext/socket/mkconstants.rb: use ID in the values ofakr
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* ext/socket/mkconstants.rb: refactored to gather stringizerakr
description. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: make common prefix optional.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: use hash for family_to_str to avoidakr
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* ext/socket/mkconstants.rb (gen_int_to_name): don't compare constantsakr
in preprocessor because the constants may be enum. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument.akr
* 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-01* ext/socket/mkconstants.rb: check duplicates.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (optname_arg): defined.akr
(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* ext/socket/socket.c (constant_arg): extracted from family_arg.akr
(family_arg): use constant_arg. (socktype_arg): ditto. (level_arg): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (level_arg): defined.akr
(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* ext/socket/socket.c (family_arg): accept symbols as well.akr
(socktype_arg): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (sock_s_getaddrinfo): use socktype_arg.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (family_arg): extracted fromakr
setup_domain_and_type. (socktype_arg): ditto. (udp_init): use family_arg. (sock_s_gethostbyaddr): ditto. (sock_s_getaddrinfo): ditto. (sock_s_getnameinfo): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: check all alias possibility. akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e