Проблемы регистронезависимости в файловых системах
Недавно в среде Linux была поднята тема исправления ошибки в файловой системе Bcachefs, связанной с поддержкой регистронезависимости имен каталогов. Линус Торвальдс выразил недовольство тем, что разработчики игнорируют прошлые ошибки, упорно продолжая бороться с таким сложным вопросом, как регистронезависимость.
Сложности стандарта Unicode
Основная сложность заключается в сложной структуре Unicode, стандарта, который трудно реализовать корректно во всех пограничных случаях. Приведение символов к единому регистру (case folding) часто оказывается невозможным без ошибок. Программа может по-разному интерпретировать символы вроде '❤' и '❤️' в зависимости от выбранной файловой системы, что потенциально ведет к проблемам безопасности.
Позиция Торвальдса
Линус Торвальдс подчеркнул, что нет универсального и безошибочного способа обработки приведения регистров в Unicode. Попытки определения спецзначений для комбинаций байтов зачастую приводят к новым ошибкам и потенциальным уязвимостям. Он также отметил, что практика из эпохи FAT продолжает восприниматься некоторыми как полезная, хотя в действительности это зачастую приводит к небезопасному поведению.