Народ подскажите,
Локаль utf8, vsftpd не патченый, клиенты виндовые с поддержкой utf8, в них русские файлы отображаются корректно. При скачке файлов с русскими именами в логи пишутся вместо русских букв вопросы ???????????.avi , это лечится?
Спасибо.
vsftpd (русские имена в логах "??????")
Модератор: weec
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- unix-admin
- ст. сержант
- Сообщения: 324
- Зарегистрирован: 2010-11-26 12:43:04
- Откуда: Cornucopia
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2011-01-17 19:46:43
Re: vsftpd (русские имена в логах "??????")
Благодарю!
Проблема решилась заменой вот этого:
Я правильно понял, судя по коменту в исходнике, это как то влияет на безопасность?
Проблема решилась заменой вот этого:
Код: Выделить всё
--- sysutil.c Sun Apr 18 05:28:39 2004
+++ sysutil.c Tue Jun 29 09:40:51 2004
@@ -874,23 +874,7 @@
int
vsf_sysutil_isprint(int the_char)
{
- /* From Solar - we know better than some libc's! Don't let any potential
- * control chars through
- */
- unsigned char uc = (unsigned char) the_char;
- if (uc <= 31)
- {
- return 0;
- }
- if (uc == 177)
- {
- return 0;
- }
- if (uc >= 128 && uc <= 159)
- {
- return 0;
- }
- return isprint(the_char);
+ return (((unsigned char) the_char) > 31);
}