reactos/drivers/filesystems/cdfs
Pierre Schweitzer 9d0596afe1
[CDFS] Properly check for legal names in CdIsLegalName()
Up to now, it was working by chance. Indeed, due to the invalid
ASCII check performed before calling FsRtlIsAnsiCharacterLegalHpfs(), the
macro is improperly called and overruns the FsRtlLegalAnsiCharacterArray
buffer. Fortunately, up to now, right after that buffer in kernel binary
there are strings which are more or less consistent with the flags that
are expected by the macro, causing a decent behavior of
FsRtlIsAnsiCharacterLegalHpfs() even for extended ASCII characters
(whereas FsRtlIsAnsiCharacterLegalHpfs() is only designed for ASCII
characters). But this is a totally out of control and wrong behavior.
A single change in the way the kernel was built could have caused the
CDFS driver not to work as previously.

I have made the choice to allow any extended ASCII character as done
for the unicode characters. This is a good compromise to avoid drastic
regressions for users having extended ASCII characters in their CD
file names.

This imports proposed upstream commit 1b6b625641dffb49951e60398e1a9c672318ea71
See pull request https://github.com/Microsoft/Windows-driver-samples/pull/278

CORE-14067
2018-08-28 07:50:58 +02:00
..
allocsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cachesup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cd.h [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cddata.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cddata.h [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cdfs.rc [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cdfs_reg.inf [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cdinit.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cdprocs.h [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cdprocssrc.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cdstruc.h [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
cleanup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
close.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
CMakeLists.txt [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
create.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
devctrl.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
deviosup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
dirctrl.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
dirsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
fieldoff.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
fileinfo.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
filobsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
fsctrl.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
fspdisp.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
LICENSE [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
lockctrl.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
namesup.c [CDFS] Properly check for legal names in CdIsLegalName() 2018-08-28 07:50:58 +02:00
nodetype.h [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
pathsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
pnp.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
prefxsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
read.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
README.md [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
resrcsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
shutdown.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
strucsup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
verfysup.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
volinfo.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
workque.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00
write.c [CDFS_NEW] -> [CDFS] No old driver, thus no new driver 2018-08-21 12:32:15 +02:00

CDFS File System Driver

The CD-ROM file system driver (cdfs) sample is a sample file system driver that you can use to write new file systems.

Cdfs is a read-only file system that addresses various issues such as accessing data on disk, interacting with the cache manager, and handling various I/O operations such as opening files, performing reads on a file, retrieving information on a file, and performing various control operations on the file system. The Cdfs file system is included with the Microsoft Windows operating system.

Universal Windows Driver Compliant

This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.