искажение английских имён (aux => ahy9u3~9), vladka, 08-Ноя-05, 23:23 [смотреть все]FreeBSD 6.0-STABLE (cvsup от 7ноября), консоль в koi-8; samba-3.0.20b из портов, собиралась WITH_LDAP, остальное выключено. dos charset=СP866 display charset=KOI8-R unix charset = KOI8-R Клиентская машина - WinXP SP2, видит и русский, и английский, за исключением некоторых файлов. Например, если создать файл с именем "aux" (неважно, с клиента или на сервере), то на сервере он появляется именно с этим именем, а с клиента виден как ahy9u3~9. Файлы типа au, auy, a1ux, au1x отображаются нормально. В логах только ругань на отсутствующий /etc/printcap. Пробовал unix charset=UTF8, пробовал dos charset=866 - не помогло. Куда копать ?
|
- искажение английских имён (aux => ahy9u3~9), gdenis, 21:47 , 10-Ноя-05 (1)
- искажение английских имён (aux => ahy9u3~9), vladka, 21:59 , 10-Ноя-05 (2)
не понял, винда ведь не переименовывает локальные файлы с именами aux/lpt/prn. И ещё - с рядом стоящей самбой2 на linux'е подобной проблемы нет, с того же клиента вижу нормальные имена.
- искажение английских имён (aux => ahy9u3~9), gdenis, 22:26 , 10-Ноя-05 (3)
- искажение английских имён (aux => ahy9u3~9), vladka, 00:10 , 11-Ноя-05 (4)
Мысль верная, спасибо. Надо в source/smbd/mangle_hash2.c поправить или функцию is_reserved_name, сделав так: static BOOL is_reserved_name(const char *name) { return False; } или список static const char *reserved_names[] ={ "AUX", "LOCK$", "CON", "COM1", "COM2", "COM3", "COM4","LPT1", "LPT2", "LPT3", "NUL", "PRN", NULL }; Компилируем, ставим, видим ожидаемый результат.
|