diff options
Diffstat (limited to 'src/sisudoc/ocda/io_in/read_zip_pod.d')
| -rw-r--r-- | src/sisudoc/ocda/io_in/read_zip_pod.d | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/sisudoc/ocda/io_in/read_zip_pod.d b/src/sisudoc/ocda/io_in/read_zip_pod.d index 18a957c..c96429b 100644 --- a/src/sisudoc/ocda/io_in/read_zip_pod.d +++ b/src/sisudoc/ocda/io_in/read_zip_pod.d @@ -75,8 +75,10 @@ template spineExtractZipPod() { alias MAX_ENTRY_COUNT = MAX_POD_ENTRY_COUNT; enum size_t MAX_PATH_DEPTH = 10; /+ max path components +/ - /+ allowed entry name pattern: alphanumeric, dots, dashes, underscores, forward slashes +/ - static auto rgx_safe_entry_name = ctRegex!(`^[a-zA-Z0-9._/ -]+$`); + /+ allowed entry name pattern: alphanumeric, dots, dashes, underscores, + forward slashes, and "~", spine's own uid separator (as carried_names.d) + +/ + static auto rgx_safe_entry_name = ctRegex!(`^[a-zA-Z0-9._/ ~-]+$`); struct ZipPodResult { string tmp_dir; /+ temp directory containing extracted pod +/ |
