summaryrefslogtreecommitdiff
path: root/ext/socket
AgeCommit message (Collapse)Author
2009-01-19* ext/socket/mkconstants.rb (SOMAXCONN): defined.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19* ext/socket/mkconstants.rb: use erb for generating code.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19* ext/socket/rubysocket.h (rb_cUNIXSocket, rb_cUNIXServer),nobu
(unixpath, unixaddr): UNIX domain sockets depend on sys/un.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19* ext/socket/raddrinfo.c (addrinfo_ip_port): use AF_INET6 only whennobu
defined, as well as addrinfo_ipv6_p(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19 * ext/socket/depend: workaround for nmake. files in depend withoutusa
paths should converted by RULE_SUBST, but mkmf.rb cannot recognize macros currently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19 * ext/socket/raddrinfo.c (addrinfo_mdump, addrinfo_mload): supportusa
UNIX socket only on platforms which support it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-18* ext/socket/raddrinfo.c (addrinfo_inspect_sockaddr): newakr
method AddrInfo#inspect_sockaddr. (inspect_sockaddr): extracted from addrinfo_inspect. (addrinfo_inspect): use inspect_sockaddr. (Init_addrinfo): define the new method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-18* ext/socket/raddrinfo.c (addrinfo_ip_address): new methodakr
AddrInfo#ip_address. (addrinfo_ip_port): new method AddrInfo#ip_port. (Init_addrinfo): define the methods above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-18* ext/socket/unixsocket.c: redandant #ifdef removed.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/raddrinfo.c (addrinfo_mdump): don't use symbol.akr
(addrinfo_mload): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/raddrinfo.c (addrinfo_mdump): new method.akr
(addrinfo_mload): new method. (Init_addrinfo): define the method above. * ext/socket/constants.c (constant_arg): str_to_int's first argument constified. * ext/socket/mkconstants.rb (gen_name_to_int_decl): generated function's first argument constified. (gen_name_to_int_func_in_guard): ditto. (ipproto_to_int): generated. * ext/socket/rubysocket.h (IS_IP_FAMILY): moved from raddrinfo.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/socket.c (sock_s_getnameinfo): accept AddrInfo object.akr
* 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-17rdoc update.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/lib/socket.rb: new file.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/mkconstants.rb: generate a header file for generatedakr
functions. * ext/socket/rubysocket.h: include constdefs.h. don't declare generated functions. * ext/socket/constants.c: include constdefs.c instead of constants.h. * ext/socket/depend: dependency updated. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/raddrinfo.c (make_inspectname): add a res argument toakr
suppress numeric inspectname. (init_addrinfo_getaddrinfo): call make_inspectname here. (addrinfo_firstonly_new): follow make_inspectname change. (addrinfo_list_new): ditto. (addrinfo_initialize): follow init_addrinfo_getaddrinfo change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket/mkconstants.rb: don't cause an error for duplicate names.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17rdoc update.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17* ext/socket: split files for each class.akr
* 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-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