@@ -301,7 +301,7 @@ isBadServerName = \s ->
301301 || containsInternalSuffix sn
302302 || sn == "metadata" || take 9 sn == "metadata:"
303303 || take 4 sn == "127." || take 3 sn == "10."
304− || take 8 sn == "192.168." || take 7 sn == "169.254."
304+ || take 8 sn == "192.168." || take 8 sn == "169.254."
305305 || take 2 sn == "0." || take 1 sn == "["
306306 || take 7 sn == "172.16." || take 7 sn == "172.17." || take 7 sn == "172.18." || take 7 sn == "172.19."
307307 || take 7 sn == "172.20." || take 7 sn == "172.21." || take 7 sn == "172.22." || take 7 sn == "172.23."
@@ -311,8 +311,8 @@ isBadServerName = \s ->
311311 || take 8 sn == "192.0.0."
312312 || take 8 sn == "192.0.2."
313313 || take 10 sn == "192.88.99."
314− || take 12 sn == "198.51.100."
315− || take 11 sn == "203.0.113."
314+ || take 11 sn == "198.51.100."
315+ || take 10 sn == "203.0.113."
316316 || take 2 sn == "::"
317317 || isCgnatRange sn
318318 || containsMultipleColons sn
@@ -529,9 +529,9 @@ retryForwardsForServer = \entries remaining ->
529529
530530retryPendingForwards : [{encryptedBlob: Text, fromKey: Text, messageId: Text, timestamp: Int, toKey: Text, toServer: Text}] -> IO {network} {}
531531retryPendingForwards = \pending -> do
532− let servers = fold (\acc x ->
532+ let servers = traverse (\x ->
533533 if count (do s <- acc; where s == x.toServer; yield s) > 0 then acc
534− else union acc [x.toServer]) [] pending
534+ else union acc [x.toServer]) pending
535535 sendToEach servers (\server ->
536536 retryForwardsForServer (do x <- pending; where x.toServer == server; yield x) maxForwardRetriesPerServer)
537537 yield {}