]> cat aescling's git repositories - mastodon.git/commitdiff
Fix HTTP requests to IPv6 hosts (#11240)
authorThibG <thib@sitedethib.com>
Fri, 5 Jul 2019 20:03:00 +0000 (22:03 +0200)
committerEugen Rochko <eugen@zeonfederated.com>
Fri, 5 Jul 2019 20:03:00 +0000 (22:03 +0200)
app/lib/request.rb

index af49d6c77b26706325f1e5c44e7560cb05532de7..e25b9026c7f34152e7fa4d16a418a98ad8413f52 100644 (file)
@@ -191,7 +191,7 @@ class Request
             begin
               raise Mastodon::HostValidationError if PrivateAddressCheck.private_address?(IPAddr.new(address.to_s))
 
-              sock     = ::Socket.new(::Socket::AF_INET, ::Socket::SOCK_STREAM, 0)
+              sock     = ::Socket.new(address.is_a?(Resolv::IPv6) ? ::Socket::AF_INET6 : ::Socket::AF_INET, ::Socket::SOCK_STREAM, 0)
               sockaddr = ::Socket.pack_sockaddr_in(port, address.to_s)
 
               sock.setsockopt(::Socket::IPPROTO_TCP, ::Socket::TCP_NODELAY, 1)