1Note: All files in this directory are DOS formatted (CRLF line terminator). 2 3!!! VIRUS WARNING !!! I do not know if VALIDCHR.COM is virus free !!! 4I think that my system is virus free here because I do not run any games 5or other copied software. I only run Shareware/Freeware etc. from CD-ROMs 6or from registered disks, however I do not use viral scanners because 7I have not registered any (I consider `having no sex' is better than 8`testing for AIDS on a regular basis', if you know what I mean). 9 10This is VALIDCHR, a little DOS program I wrote to create 11an apropriate `valid chars =' config parameter. 12It is freeware and is thought to be distributed freely with Samba. 13 14WARNING: 15 Your SMB driver may use another character map as the one VALIDCHR 16 sees. The only way you can tell this is that some file names fail. 17 Under Win95 everything is fine, though. 18 19Usage: 20 c: 21 mkdir junk_dir 22 cd junk_dir 23 a:validchr > a:output.log 24 cd .. 25 rmdir junk_dir 26 27Siedeffects: 28 Files named *.TST may be deleted. 29 30Verification: 31 For diagnostic purpose you can run VALIDCHR on a Samba mounted drive. 32 Then you can use unix diff to compare the output of the network and 33 the hard drive. These two outputs usually differ! However there 34 should be few differences. I get following on Win95 (c: visa e:) 35 104c104 36 < 152: length 0 37 --- 38 > 152: 95 39 (diff line for `valid chars =' deleted because it's uninteresting) 40 You can see, `y diaresis' can be mapped on the network drive while 41 it cannot be mapped on the hard drive. Everything else is identical. 42 However this gives a hint that one can improve the mapping. 43 44Bugs: 45 Yes, probably some. 46 47 48VALIDCHR must be run on the system which character mapping should be probed. 49It must be run on the hard drive for this. VALIDCHR ALTERS THE CURRENT 50DIRECTORY AND REMOVES SOME FILES, SO ALWAYS RUN IT IN A junk DIRECTORY !!! 51You should redirect the output of VALIDCHR. At the end of the output is a 52line like 53 valid chars = x:y y:x x:x ... a:b c ... 54which is suitable for your smb.conf file. (you should remove the DOS CR 55character, because DOS uses CRLF while Unix uses LF only.) 56 57Note that some mappings at the beginning of the `valid chars =' line like 58A:B B:A B:B 59might look a little bit strange to you, however sometimes character A 60has to be mapped to character B independently of a default mapping 61to uppercase or lowercase while character B must not be touched. I found 62this out the hard way ... Consider it a crude workaround, because Samba 63lacks the possibility to map characters in one direction only! 64 65VALIDCHR usually issues one warning for character 32. 66You may ignore these and any other warnings. 67 68VALIDCHR does not test for character NUL (this is the directory end marker). 69 70validchr.c is the source code to validchr.com 71 You may do anything with the source code (copy, change, sell, burn) 72validchr.com is a Borland C compiled binary. 73 Beware, it may contain a virus (if my system contains one). 74nwdos70.out is the output of an VALIDCHR-run under Novell DOS 7.0 75 while no codepage (no display.sys) was active. 76msdos70.out is the output of an VALIDCHR-run under MS-DOS 7.0 (Win95 DOS) 77 while codepage 850 was active. 78 79I have no other MS-DOS systems at home currently. 80(I have access to MS-DOS 3.0, 3.2, 3.3, 5.0 and 6.22, however I have no time 81 to run VALIDCHR there) 82 83Some words to the output 84(for people not fammiliar with programming language C): 85 86probed_char: [text] mapped_char 87 88probed_char is the character probed to be written to disk 89text may be empty or contain: 90 open File could not be opened. 91 close File could not be closed (should not happen) 92 length File name was shortened (usually occurs on SPC) 93 unlink File cannot be unlinked (usually when open fails) 94mapped_char is the character which is used by MS-DOS in the directory 95 This is usually the uppercase character. 96 The mapped character is 0 if something failed (you may say 97 that the character is not supported) 98 99The last line in the output is documented in the smb.conf manual page ;) 100 101tino@augsburg.net 102