$184.99


$29.18


$7.07


Unix+ Samba + ftpd, проблемы и решения

Есть такая проблема: сложно найти ftpd, понимающий перекодировку имен файлов. Если хранить файлы на сервере в koi8, то ftpшник выдает винде крякозябры. Если хранить в CP1251, то ftp не передает букву «Я», считая ее управляющим символом.
Как решать?
Проблема буквы я возникает в случае, если ftpd весь сетевой i/o пропускает через telnet-фильтр, где буква Я — управляющий символ.

В том числе к таким серверам относится ProFtpd

Решаем проблему на его примере:

1. Управляющие символы в телнете называются IAC (Is A Command)
2. Распаковываем исходники и делаем поиск по строке IAC


3. Находим 2 файла: netio.c и netio.h, где эта строка встречается.

4. Смотрим файл netio.c и находим там следующий код:

switch (mode) {
case IAC:
switch (cp) {
case WILL:
case WONT:
case DO:
case DONT:
mode = cp;
continue;

case IAC:
mode = 0;
break;

default:
/* Ignore */
mode = 0;
continue;
}
break;

case WILL:
case WONT:
pr_netio_printf(out_nstrm, «%c%c%c», IAC, DONT, cp);
mode = 0;
continue;

case DO:
case DONT:

pr_netio_printf(out_nstrm, «%c%c%c», IAC, WONT, cp);
mode = 0;
continue;

default:
if (cp == IAC) {
mode = cp;
continue;
}
break;
}

5. Путем вдумчивого рассматривания понимаем, что именно эти строчки отвечают за проверку на телнет-вшивость.

6. Удаляем все это безобразие.

7. Компилим и радуемся!

В итоге имеем:

Все названия лежат на юникс-машине в CP1251- кодировке. Для передачи их винде по фтп ничего не меняется, и буква «Я» исправлена. Для передаче по Самбе используем следующие настройки:

display charset = CP1251
unix charset = CP1251
dos charset = CP866

 

Интересное

AMI BIOS: руководство по...
Установки в BIOS — одна из серьезных проблем, возникающих при изменении конфигурации компьютера. Частые зависания, «тормознутость» машины, некорректная работа периферийных устройств...
Подробнее...
Перьевые ручки Parker....
Элегантный корпус, перо из качественного металла, заправленный жидкими чернилами контейнер внутри – перьевая ручка не нуждается в особом представлении. Принцип работы ее прост: при небольшом...
Подробнее...
Как сгенерировать файл...
Рано или поздно любой веб-мастер сталкивается с необходимостью защиты своего сайта, более тонкой настройки доступа к различным его параметрам. Один из вариантов — использовать специальный...
Подробнее...
Чем отличаются Windows XP...
Обе эти системы имеют очень много общего, xp pro и xp home построены на одном и том же ядре, nt 5.1. Разница между ними заключается только в том, что xp home не поддерживает несколько функций,...
Подробнее...
Основные факторы, влияющие...
1. Примерный алгоритм определения релевантности документа запросу.Довольно часто, особенно от людей, недавно занявшихся поисковой оптимизацией, приходится слышать просьбу раскрыть...
Подробнее...
Улучшение охлаждения блока...
Недавно наконец-то справился с шумом исходящим от процессорного кулера. При помощи охлаждения сделанного из воды. Но это почти не дало эффекта. Шумел вентилятор блока питания. Чтобы труды не...
Подробнее...
Стилистическое ядро сайта...
Многие оптимизаторы прекрасно знают о таком понятии, как семантическое ядро сайта, термин достаточно устоялся. Тут никаких особых проблем нет, хотя некоторые разночтения все же встречаются. Одни...
Подробнее...
Отправка SMS при помощи Delphi
Алгоритм работы приложения для отправки sms достаточно простой. При помощи компонента twebbrowser нужно реализовать отправку данных на веб-сервер сотового оператора, содержащих информацию о...
Подробнее...
25 советов как ускорить...
Цель нижеописанных советов избавить установленную Windows XP Pro Russian от совершенно ненужных для домашнего пользователя украшательств и ускорить в целом работу системы. Эти 25 советов, только...
Подробнее...
Какой должен быть сайт
В российском интернете уже существует десятки, а то и сотни тысяч сайтов, но лишь несколько сотен действительно достойны внимания пользователя. Интернет в России реально действует только два-три...
Подробнее...