From bbf50574511e38efdd16e42539399c4c644de06c Mon Sep 17 00:00:00 2001
From: Alexander Olofsson <alexander.olofsson@liu.se>
Date: Thu, 19 Nov 2020 14:05:04 +0100
Subject: [PATCH] Use resolv instead of ipsocket to get WDS address

---
 app/models/wds_server.rb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/models/wds_server.rb b/app/models/wds_server.rb
index 2169206..3371c77 100644
--- a/app/models/wds_server.rb
+++ b/app/models/wds_server.rb
@@ -111,9 +111,9 @@ class WdsServer < ApplicationRecord
   end
 
   def next_server_ip
-    IPSocket.getaddress URI(url).host
-  rescue SocketError
-    ::Rails.logger.info "Failed to look up IP of WDS server #{name}"
+    Resolv.getaddresses(URI(url).host).select { |str| IPAddr.new(str).ipv4? }.first
+  rescue Resolv::ResolvError => e
+    ::Rails.logger.info "Failed to look up IP of WDS server #{name}. #{e.class}: #{e}"
     nil
   end
 
-- 
GitLab