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, тока чур на свой страх и риск ;))))))))))))))))))))))))
не понял, винда ведь не переименовывает локальные файлы с именами aux/lpt/prn. И ещё - с рядом стоящей самбой2 на linux'е подобной проблемы нет, с того же клиента вижу нормальные имена.
>не понял, винда ведь не переименовывает локальные файлы с именами aux/lpt/prn. И
>ещё - с рядом стоящей самбой2 на linux'е подобной проблемы нет,
>с того же клиента вижу нормальные имена.а хз, проблема в спец. имени, а че-где-кто-и-как это к разработчикам Самбы и Винни :))
Мысль верная, спасибо.
Надо в 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 };
Компилируем, ставим, видим ожидаемый результат.
>Мысль верная, спасибо.
>Надо в 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 };
>Компилируем, ставим, видим ожидаемый результат.Велком :)