X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Futil%2FPublicSuffixes.java;h=51c2edf2acb53a90a22a0021729dd08c73a63d9f;hb=265b98aed618c4b153f9c96580fb619ab7ce70ec;hp=bb0d027a9657c457ab3930b87504adaa9f28dbf6;hpb=38482484489732331e9e0860d80c2c0f55f072ef;p=gigi.git diff --git a/src/org/cacert/gigi/util/PublicSuffixes.java b/src/org/cacert/gigi/util/PublicSuffixes.java index bb0d027a..51c2edf2 100644 --- a/src/org/cacert/gigi/util/PublicSuffixes.java +++ b/src/org/cacert/gigi/util/PublicSuffixes.java @@ -3,9 +3,7 @@ package org.cacert.gigi.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.net.HttpURLConnection; import java.net.IDN; -import java.net.URL; import java.util.HashSet; public class PublicSuffixes { @@ -20,17 +18,16 @@ public class PublicSuffixes { private static PublicSuffixes instance; - private static void generateDefault() throws IOException { - URL u = new URL(url); - HttpURLConnection huc = (HttpURLConnection) u.openConnection(); - BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream(), "UTF-8")); - instance = new PublicSuffixes(br); + private static PublicSuffixes generateDefault() throws IOException { + try (BufferedReader br = new BufferedReader(new InputStreamReader(PublicSuffixes.class.getResourceAsStream("effective_tld_names.dat"), "UTF-8"))) { + return new PublicSuffixes(br); + } } - public static PublicSuffixes getInstance() { + public synchronized static PublicSuffixes getInstance() { if (instance == null) { try { - generateDefault(); + instance = generateDefault(); } catch (IOException e) { throw new Error(e); } @@ -47,7 +44,11 @@ public class PublicSuffixes { if (line.isEmpty()) { continue; } - line = line.split("\\s", 2)[0]; + String[] lineParts = line.split("\\s", 2); + if (lineParts.length == 0) { + throw new Error("split had strange behavior"); + } + line = lineParts[0]; if (line.startsWith("*.")) { String data = line.substring(2); if (data.contains("*") || data.contains("!")) {