Ошибка: Failed to parse the Currency Converter XML document.
$1 138.11


Ошибка: Failed to parse the Currency Converter XML document.
$3 124.58


Ошибка: Failed to parse the Currency Converter XML document.
$2 215.85


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

 

Интересное

"Грабим" странички
С аудиограбберами знакомы все. Нам предстоит сделать свой собственный граббер информации из Интернета. Нам понадобится подопытный кролик, на роль которого я предлагаю выбрать сайт...
Подробнее...
Externet VPN: технология...
Современный телекоммуникационный рынок предлагает пользователю множество решений, призванных сделать различные типы связи более доступными, удобными и надежными. Сегодня одной из самых интересных...
Подробнее...
Собираем Apache + PHP +...
Итак попробуем все это собрать. Для начала нам понадобиться apache, php, sablot, xpat, iconv. Последние три представляют собой программы для обработки XML/XSLT файлов.
Подробнее...
Жертва в кроватке или как...
Бывает такое с человеком, бывает. Особенно сильно это проявляется, когда он узнает, что не прикладывая особых усилий он может достичь чего-то значительного. Называется такое «это»...
Подробнее...
Пошаговое руководство по...
В этом пошаговом руководстве представлены инструкции по балансировке сетевой нагрузки (Network Load Balancing, NLB) в среде служб терминалов, что позволяет получить такие преимущества, как...
Подробнее...
Я работаю с Windows Vista....
Шаг за шагом знакомимся с Windows Vista. Сегодня — подробно о том, сколько и какого «железа» требуется для работы с разными версиями новой операционной системы.
Подробнее...
Создать офис
Для создания деловой атмосферы в офисе и повышения работоспособности служащих необходимы определенные благоприятные условия, напрямую связанные не только с рациональной расстановкой мебели и...
Подробнее...
Проектирование...
Информационная среда WWW базируется на технологии гипертекста, в основе которой лежит концепция связывания документов с помощью ссылок. Именно ссылки объединили Интернет в единое пространство, дав...
Подробнее...
Развертывание пакета...
Вопрос. Действительно ли пакет обновления 1 для Exchange Server 2007 выпущен только в 64-разрядной версии? А если 32-разрядная версия есть, поддерживается ли она для рабочей среды?Ответ. Тут...
Подробнее...
.htaccess - великий и...
Как известно, самым популярным на сей день веб-сервером является Apache в различных версиях (а вовсе не IIS, как утверждает Microsoft). Его ставят на свои сервера большинство хостителей, услуга же...
Подробнее...