> Saw your crib against a possible Novell IPX error,but could not comprehend what is on actually.
> Mind giving me a glimpse of the problem in some more detail,maybe from scratch.
> I work for Novell Development and would like to carry the issue forward and get it resolved anyhow, if at all there is some issue.
> TIA,
> Anand
Hi Anand,
thank for your interest. Problem is following:
1) If NCPfs decides to use DOS namespace, it lowercases letters in filenames,
as it is UNIX tradition to have filenames in lowercase. And as they are
stored on server uppercased, we must lowercase them.
2) If you then add OS/2 (LONG) namespace to volume, NCPfs will decide to use
it (unless told otherwise). But LONG namespace stores these filenames
uppercased. It annoyed couple of peoples and automation scripts, that
if they enter 'lo' and ask for completion, nothing is completed, because
of file is shown as 'LOGIN.EXE' from OS/2 namespace and bash/emacs/everyone
else do case sensitive search for completions :-(
So I added option to lowercase filenames which were created through
DOS namespace...
3) Until recently lower-/upper-casing was done only with low 128 codes,
upper 128 were not touched. This
(a) caused strange effects on filenames, as accented characters
were not lower-/upper-cased, bot non-accented were
(b) caused generation of filenames inaccessible from DOS workstations
(on some versions of netware), as DOS correctly uppercases
name before sending to server and DOS namespace is case
sensitive... So files created from linux with lowercase accented
chars were not accessible...
4) Recently support for multibyte character encodings was added to Linux
kernel. Together with this change ncpfs was updated to upper/lowercase
all letters, even accented ones.
5) NW3.12, which is used by our friend from Russia which presents itself
as 'Info', always use CP437 (I believe...) for doing case insensitive
compare when searching filename through OS/2 (LONG) namespace.
(all letters in doublequotes in following text are russian letters
with codes above 127)
So following happens:
(1) On Netware filesystem there is stored file "NCP" which was created
through DOS namespace. In both DOS and OS/2 namespaces its name is "NCP".
(2) Linux retrieves this directory entry, finds that owning namespace is
DOS and that you want to lowercase such names. So "NCP" is translated
to "ncp".
(3) Linux tries to use this name for 'stat' during 'ls -l', or in some
file manager... But server says that "ncp" does not exist, because
of case insensitive search on server in OS2.NAM/LONG.NAM says that
"ncp" does not match to "NCP".
On servers after 4.0 I believe that LCONFIG.SYS translation table is
used by OS2.NAM/LONG.NAM, but I do not think that there is any way how
to set this table for NW3.x... And as NW3.11/3.12 is no more supported
by Novell, I do not think that you can do anything with it... But if
you want to do something useful, create tool which allows us to change
LCONFIG.SYS after server installation according to newly selected
codepage. I did not find any way how to generate this file without
my tools after server installation (of course if LCONFIG.SYS is used).
If LCONFIG.SYS is not used for case insensitive compare in LONG.NAM,
or if you know how to persuade OS2.NAM in 3.x to use some specific
uppercasing table for case insensitive compare in all NCP 87,x functions,
tell me...
Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:21 EST