"canonicalize" duplicates functionality and misreads ":" character
The canonicalize
function in scheme.rs
duplicates part of the functionality in relibc's canonicalize
. Similar functionality is also needed in contain
, so we should probably either expose it in relibc or make it available e.g. in libredox. It contains a bug that is common in those implementations, it assumes that everything before a ':' is a scheme. It should check that the scheme name is legal, e.g. does not contain '/'. It would also be a good place for implementing a rule as to whether ':' is allowed in filenames or not.