From 7eabe1d33429043970e8708bedad81ed5836e71b Mon Sep 17 00:00:00 2001 From: stoecker Date: Fri, 6 Sep 2024 07:24:24 +0000 Subject: [PATCH] make cache file length configurable, ensure it's below 140 - encrypted ext4 seems to have a 143 byte limit, see #23850 git-svn-id: https://josm.openstreetmap.de/svn/trunk@19211 0c6e7542-c601-0410-84e7-c038aed88b3b --- src/org/openstreetmap/josm/io/CachedFile.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/org/openstreetmap/josm/io/CachedFile.java b/src/org/openstreetmap/josm/io/CachedFile.java index 73b7623a306..a14353a632e 100644 --- a/src/org/openstreetmap/josm/io/CachedFile.java +++ b/src/org/openstreetmap/josm/io/CachedFile.java @@ -484,8 +484,10 @@ private File checkLocal(URL url) throws IOException { } String a = urlStr.replaceAll("[^A-Za-z0-9_.-]", "_"); - if (a.length() > 120) { - a = a.substring(0, 100) + "_" + Utils.md5Hex(urlStr); + /* size 11: prefix mirror_ and suffix .tmp */ + Integer maxFileLength = Config.getPref().getInt("cache.filename.maxlength", 140)-11; + if (a.length() > maxFileLength) { + a = a.substring(0, maxFileLength-33) + "_" + Utils.md5Hex(urlStr); } String localPath = "mirror_" + a; localPath = truncatePath(destDir, localPath);