Disable IPv6 support in squid on machines with no IPv6
authorTom Hughes <tom@compton.nu>
Wed, 28 Aug 2019 18:18:33 +0000 (19:18 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 28 Aug 2019 18:19:10 +0000 (19:19 +0100)
cookbooks/squid/recipes/default.rb
cookbooks/squid/templates/default/squid.conf.erb
cookbooks/systemd/resources/service.rb
cookbooks/systemd/templates/default/service.erb

index fe5077b..e3faae4 100644 (file)
@@ -85,6 +85,10 @@ systemd_tmpfile "/var/run/squid" do
   mode "0755"
 end
 
+address_families = %w[AF_UNIX AF_INET]
+
+address_families << "AF_INET6" unless node.interfaces(:family => :inet6).empty?
+
 systemd_service "squid" do
   description "Squid caching proxy"
   after ["network.target", "nss-lookup.target"]
@@ -98,6 +102,7 @@ systemd_service "squid" do
   private_devices true
   protect_system "full"
   protect_home true
+  restrict_address_families address_families
   restart "on-failure"
   timeout_sec 0
 end
index 2861daa..775f5ec 100644 (file)
@@ -19,9 +19,6 @@ log_icp_queries off
 http_port 80 accel defaultsite=tile.openstreetmap.org tcpkeepalive=60,10,6 http11
 <% else -%>
 http_port 80 accel no-vhost defaultsite=tile.openstreetmap.org tcpkeepalive=60,10,6
-
-#prefer IPv4 until everything is upgraded
-dns_v4_first on
 <% end -%>
 
 cache_effective_user proxy
index b01f678..2f677f7 100644 (file)
@@ -57,6 +57,7 @@ property :private_devices, [TrueClass, FalseClass]
 property :private_network, [TrueClass, FalseClass]
 property :protect_system, [TrueClass, FalseClass, String]
 property :protect_home, [TrueClass, FalseClass, String]
+property :restrict_address_families, [String, Array]
 property :no_new_privileges, [TrueClass, FalseClass]
 property :timeout_sec, Integer
 property :pid_file, String
index 9620d1c..ed117c2 100644 (file)
@@ -93,6 +93,9 @@ ProtectSystem=<%= @protect_system %>
 <% if @protect_home -%>
 ProtectHome=<%= @protect_home %>
 <% end -%>
+<% if @restrict_address_families -%>
+RestrictAddressFamilies=<%= Array(@restrict_address_families).join(" ") %>
+<% end -%>
 <% if @no_new_privileges -%>
 NoNewPrivileges=<%= @no_new_privileges %>
 <% end -%>