Re: vfat: Broken case-insensitive support for UTF-8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 21, 2020 at 12:57:45AM +0100, Pali Rohár wrote:
> On Monday 20 January 2020 22:46:25 Al Viro wrote:
> > On Mon, Jan 20, 2020 at 10:40:46PM +0100, Pali Rohár wrote:
> > 
> > > Ok, I did some research. It took me it longer as I thought as lot of
> > > stuff is undocumented and hard to find all relevant information.
> > > 
> > > So... fastfat.sys is using ntos function RtlUpcaseUnicodeString() which
> > > takes UTF-16 string and returns upper case UTF-16 string. There is no
> > > mapping table in fastfat.sys driver itself.
> > 
> > Er...  Surely it's OK to just tabulate that function on 65536 values
> > and see how could that be packed into something more compact?
> 
> It is OK, but too complicated. That function is in nt kernel. So you
> need to build a new kernel module and also decide where to put output of
> that function. It is a long time since I did some nt kernel hacking and
> nowadays you need to download 10GB+ of Visual Studio code, then addons
> for building kernel modules, figure out how to write and compile simple
> kernel module via Visual Studio, write ini install file, try to load it
> and then you even fail as recent Windows kernels refuse to load kernel
> modules which are not signed...

Wait a sec...  From NT userland, on a mounted VFAT:
	for all s in single-codepoint strings
		open s for append
		if failed
			print s on stderr, along with error value
		write s to the opened file, adding to its tail
		close the file
the for each equivalence class you'll get a single file, with all
members of that class written to it.  In addition you'll get the
list of prohibited codepoints.

Why bother with any kind of kernel modules?  IDGI...



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux