Обсуждение статьи тематического каталога: ProFtpd по-русски. Изменение кодировки koi8-win1251 на лету. (ftp rus patch charset decode koi8r cp1251)Ссылка на текст статьи: http://www.opennet.me/base/patch/rus_proftpd.txt.html
это дискриминация UNIX'овых клиентов
Патч для proftpd-1.3.0 (перекодировка+устр. проблемы с буковой "я")
"http://www.linuxportal.vrn.ru/index.php?title=ProFTPd - устранение проблем с русскими названиями файлов"
А никаких проблем нет ни с самбой, ни с proftpd.
C русским все хорошо и никто не жалуется.
все хорошо если нет необходимости из под самого юникса с этими файлами работать.
А если хочется и из винды и из юникса и по фтп и по самбе - то для этого и патч
кстати да, что то не заметил этой проблемы русские имена и в IE и в FAR нормально отображаются...
proftpd установлен в gentoo
Ибо нефиг юзать десктопные дистры в которых по умолчанию cp1251 вместо koi8-r стоит.
А что статью чел написал - зачёт. Ибо например raiserfs не поддерживает перекодировку при монтировании что иногда достовляет пробелмы.
--- configure.in~ 2004-05-26 06:15:35.000000000 +0400
+++ configure.in 2005-05-20 21:38:06.000000000 +0400
@@ -21,8 +21,8 @@
AC_INIT(include/conf.h)
-ac_core_modules="mod_core.o mod_xfer.o mod_auth_unix.o mod_auth_file.o mod_auth.o mod_ls.o mod_log.o mod_site.o"
-ac_build_core_modules="modules/mod_core.o modules/mod_xfer.o modules/mod_auth_unix.o modules/mod_auth_file.o modules/mod_auth.o modules/mod_ls.o modules/mod_log.o modules/mod_site.o"
+ac_core_modules="mod_core.o mod_xfer.o mod_auth_unix.o mod_auth_file.o mod_auth.o mod_ls.o mod_log.o mod_site.o mod_codeconv.o"
+ac_build_core_modules="modules/mod_core.o modules/mod_xfer.o modules/mod_auth_unix.o modules/mod_auth_file.o modules/mod_auth.o modules/mod_ls.o modules/mod_log.o modules/mod_site.o modules/mod_codeconv.o"
Изобрёл велосипед.http://www.iplab-nnz.ru/blog/index.php?op=ViewArticle&articl...
а как там с буквой я.
С Я все хорошо :)
Ссылку на статью не нашел но вот тут есть такое:
http://www.opennet.me/openforum/vsluhforumID1/43296.html#1
gcc -DFREEBSD5_4 -DFREEBSD5 -I.. -I../include -O2 -Wall -c mod_codeconv.c
mod_codeconv.c:24:19: iconv.h: No such file or directory
mod_codeconv.c: In function `remote2local':
mod_codeconv.c:50: error: syntax error before "ic"
mod_codeconv.c:63: error: `ic' undeclared (first use in this function)
mod_codeconv.c:63: error: (Each undeclared identifier is reported only once
mod_codeconv.c:63: error: for each function it appears in.)
mod_codeconv.c:63: warning: implicit declaration of function `iconv_open'
mod_codeconv.c:64: error: `iconv_t' undeclared (first use in this function)
mod_codeconv.c:66: warning: implicit declaration of function `iconv'
mod_codeconv.c:82: warning: implicit declaration of function `iconv_close'
mod_codeconv.c: In function `local2remote':
mod_codeconv.c:90: error: syntax error before "ic"
mod_codeconv.c:103: error: `ic' undeclared (first use in this function)
mod_codeconv.c:104: error: `iconv_t' undeclared (first use in this function)
*** Error code 1Stop in /usr/ports/ftp/proftpd-mysql/work/proftpd-1.2.10/modules.
*** Error code 1Stop in /usr/ports/ftp/proftpd-mysql/work/proftpd-1.2.10.
вот что я получил ..как избавиться от этой ошибки ?
>gcc -DFREEBSD5_4 -DFREEBSD5 -I.. -I../include -O2 -Wall -c mod_codeconv.c
>mod_codeconv.c:24:19: iconv.h: No such file or directory
>mod_codeconv.c: In function `remote2local':
>mod_codeconv.c:50: error: syntax error before "ic"
>mod_codeconv.c:63: error: `ic' undeclared (first use in this function)
>mod_codeconv.c:63: error: (Each undeclared identifier is reported only once
>mod_codeconv.c:63: error: for each function it appears in.)
>mod_codeconv.c:63: warning: implicit declaration of function `iconv_open'
>mod_codeconv.c:64: error: `iconv_t' undeclared (first use in this function)
>mod_codeconv.c:66: warning: implicit declaration of function `iconv'
>mod_codeconv.c:82: warning: implicit declaration of function `iconv_close'
>mod_codeconv.c: In function `local2remote':
>mod_codeconv.c:90: error: syntax error before "ic"
>mod_codeconv.c:103: error: `ic' undeclared (first use in this function)
>mod_codeconv.c:104: error: `iconv_t' undeclared (first use in this function)
>*** Error code 1
>
>Stop in /usr/ports/ftp/proftpd-mysql/work/proftpd-1.2.10/modules.
>*** Error code 1
>
>Stop in /usr/ports/ftp/proftpd-mysql/work/proftpd-1.2.10.
>
>
>вот что я получил ..как избавиться от этой ошибки ?
Такая же ерунда...
Работает великолепно. Правда пришлось ebuild кромсать (gentoo-linux), но зато proftpd поставился с помощью emerge.
К слову, -liconv добавлять не пришлось - работает с встроенной перекодировкой glibc
Перекодировку делаю из utf8 в cp1251
не могбы поподробнее написать как это сделать?
недавно сменил локаль на утф8 и появилась проблема с русскими именами.
>Работает великолепно. Правда пришлось ebuild кромсать (gentoo-linux), но зато proftpd поставился с
>помощью emerge.
>К слову, -liconv добавлять не пришлось - работает с встроенной перекодировкой glibc
>
>Перекодировку делаю из utf8 в cp1251Пожалуйста, кто делал на Gentoo, напишите поподробней.
Залил патч в каталог порта, дописал его запуск в ebuild,
при emerge ругается:
!!! Security Violation: A file exists that is not in the manifest.
!!! File: files/proftpd-1.2.10-iconv.patch
и куда писать вот это:
INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
LIBDIRS:=${LIBDIRS}:${PREFIX}/lib
Работает всё хорошо. Только есть одна проблема, после захода в одну из директорий, иногда отказывается возвращаться в верхнюю поддиректорию, хотя дело может быть в клиенте, и в клиенте путь отображается кракозяблами....
Люди, помогите! ничего не получается!!! при команде make віводит такое:make[1]: Leaving directory `/home/tmp/proftpd/proftpd-1.2.10/lib/libcap'
gcc -Llib -o proftpd src/main.o src/timers.o src/sets.o src/pool.o src/regexp.o src/dirtree.o src/support.o src/netaddr.o src/inet.o src/child.o src/log.o src/xferlog.o src/bindings.o src/netacl.o src/class.o src/scoreboard.o src/help.o src/feat.o src/netio.o src/response.o src/ident.o src/data.o src/modules.o src/auth.o src/fsio.o src/mkhome.o src/ctrls.o src/event.o modules/mod_core.o modules/mod_xfer.o modules/mod_auth_unix.o modules/mod_auth_file.o modules/mod_auth.o modules/mod_ls.o modules/mod_log.o modules/mod_site.o modules/mod_cap.o modules/module_glue.o -lsupp -lcrypt -Llib/libcap -lcap -liconv
src/netio.o(.text+0x8f2): In function `pr_netio_printf':
: undefined reference to `local2remote'
modules/mod_ls.o(.text+0x5cc): In function `sendline':
: undefined reference to `local2remote'
collect2: ld returned 1 exit status
make: *** [proftpd] Ошибка 1расскажите подробнее что с ЭТИМ надо делать???
Вот на досуге подготовил...
Патченый proftpd-1.2.10 и с исправленым глюком буквы Я...
качаем отсюда:
http://beavius.pisem.net/proftpd-1.2.10-patched_for_rus.tarинсталим:
./install.sh
или
./configure --with-modules=mod_codeconv --with-libraries=/usr/local/lib --with-includes=/usr/local/include
make
make installнезабываем в /usr/local/etc/proftpd.conf добавлять
CharsetLocal KOI8-R
CharsetRemote CP1251если юзаем самбу то в smb.conf не забываем добавлять
dos charset = 866
unix charset = KOI8-R
фсе юзайте наздоровье ;)
>Вот на досуге подготовил...
>Патченый proftpd-1.2.10 и с исправленым глюком буквы Я...
>качаем отсюда:
>http://beavius.pisem.net/proftpd-1.2.10-patched_for_rus.tarФайлик по ссылке битый. Кто-нибудь из успевших скачать может выложить или заслать в почту? Буду очень благодарен. Контакт: ddmitr@sbor.NOSPAM.ru
>Вот на досуге подготовил...
>Патченый proftpd-1.2.10 и с исправленым глюком буквы Я...
>качаем отсюда:
>http://beavius.pisem.net/proftpd-1.2.10-patched_for_rus.tar
>
>инсталим:
>./install.sh
>или
>./configure --with-modules=mod_codeconv --with-libraries=/usr/local/lib --with-includes=/usr/local/include
>make
>make install
>
>незабываем в /usr/local/etc/proftpd.conf добавлять
>CharsetLocal KOI8-R
>CharsetRemote CP1251
>
>если юзаем самбу то в smb.conf не забываем добавлять
>dos charset = 866
>unix charset = KOI8-R
>
>
>фсе юзайте наздоровье ;)При запуске proftpd ошибка:
sbin/proftpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
Файл /usr/local/lib/libiconv.so.2 сушествует. Много чего перепробовал ничего не помогло, в чем может быть дело?
>>Вот на досуге подготовил...
>>Патченый proftpd-1.2.10 и с исправленым глюком буквы Я...
>>качаем отсюда:
>>http://beavius.pisem.net/proftpd-1.2.10-patched_for_rus.tar
>>
>>инсталим:
>>./install.sh
>>или
>>./configure --with-modules=mod_codeconv --with-libraries=/usr/local/lib --with-includes=/usr/local/include
>>make
>>make install
>>
>>незабываем в /usr/local/etc/proftpd.conf добавлять
>>CharsetLocal KOI8-R
>>CharsetRemote CP1251
>>
>>если юзаем самбу то в smb.conf не забываем добавлять
>>dos charset = 866
>>unix charset = KOI8-R
>>
>>
>>фсе юзайте наздоровье ;)
>
>При запуске proftpd ошибка:
>sbin/proftpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file:
>No such file or directory
>Файл /usr/local/lib/libiconv.so.2 сушествует. Много чего перепробовал ничего не помогло, в чем может
>быть дело?
libiconv переставь
>[оверквотинг удален]
>незабываем в /usr/local/etc/proftpd.conf добавлять
>CharsetLocal KOI8-R
>CharsetRemote CP1251
>
>если юзаем самбу то в smb.conf не забываем добавлять
>dos charset = 866
>unix charset = KOI8-R
>
>
>фсе юзайте наздоровье ;)какой же вам респект и уважуха:)
Патч, вроде как, без проблем ложиться на любую версию порта proftpd. Надо только пути в патче под свою версию переделать. Опробовано на FreeBSD 5.4, 6.0 (1.3.0.r3).
Beavis бальшое спасибо за ваш архив все прекрасно.
С proftpd-1.3.0rc3.tar цеоый дкнь убил, одни ошибки.
Могли бы вы потрудиться над proftpd-1.3.0rc3 ?
>Beavis бальшое спасибо за ваш архив все прекрасно.
>С proftpd-1.3.0rc3.tar цеоый дкнь убил, одни ошибки.
>Могли бы вы потрудиться над proftpd-1.3.0rc3 ?Релиз выйдет, тогда и замарочусь....а то че парится то, даром:)
У кого возникли проблемы со сборкой - перед make configure
поправить Makefile в калалоге с портом в строке
CONFIGURE_ARGS= --localstatedir=/var/run \
--sysconfdir=${EXAMPLESDIR}/etc \
--disable-sendfile \
--with-modules=mod_codeconv \
--with-libraries=/usr/local/lib \
--with-includes=/usr/local/includeДля proftpd-1.3.0rc3 при сборке из портов сделать ход лошадью -
перед накатыванием патча переименовать каталог proftpd-1.3.0rc3/ в proftpd-1.2.10/
mv proftpd-1.3.0rc3/ proftpd-1.2.10
накатить патчик
gzip -cd proftpd-1.2.10-iconv.patch.gz |patch -p0
и переменовать обратно
mv proftpd-1.2.10 proftpd-1.3.0rc3/
Дальше по инструкции.
Для накатывания на порты FreeBSD-5.4 надо в Makefile писать такие слова:MODULES:=${MODULES}:mod_codeconv
INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
LIBDIRS:=${LIBDIRS}:${LOCALBASE}/libДалее по тексту.
apt-get source proftpd
apt-get libpam0g-dev
apt-get build-dep proftpd
apt-get install devscripts build-essential fakeroot
cd proftpd-1.2.10
скопировать патч в ./debian/patches
добавить в файле ./debian/rule в строчку EXTRAMODS = mod_ratio:mod_tls:mod_rewrite:mod_radius:mod_wrap:mod_quotatab_file:mod_delay:
модуль mod_codeconv
debuild -us -uc
http://2.uspenski.z8.ru/install_proftpd_freebsd6.txt
Однако на 1.3.0_1 уже не ставится патч. Может кто грамотный посмотрит что там к чему ?
>Однако на 1.3.0_1 уже не ставится патч. Может кто грамотный посмотрит что
>там к чему ?
как освобожусь гляну но необещаю
военкомат достал некогда
у меня на 1.3.0_2 поставился
смотреть http://2.uspenski.z8.ru/install_proftpd_freebsd6.txt
>у меня на 1.3.0_2 поставился
>смотреть http://2.uspenski.z8.ru/install_proftpd_freebsd6.txtproftpd-1.3.0 чтото не патчится...
src/netio.o(.text+0xdb3): In function `pr_netio_printf':
: undefined reference to `local2remote'
modules/mod_ls.o(.text+0x65f): In function `sendline':
: undefined reference to `local2remote'
gmake: *** [proftpd] Ошибка 1
*** Error code 2
>>у меня на 1.3.0_2 поставился
>>смотреть http://2.uspenski.z8.ru/install_proftpd_freebsd6.txt
>
>proftpd-1.3.0 чтото не патчится...
>
>src/netio.o(.text+0xdb3): In function `pr_netio_printf':
>: undefined reference to `local2remote'
>modules/mod_ls.o(.text+0x65f): In function `sendline':
>: undefined reference to `local2remote'
>gmake: *** [proftpd] Ошибка 1
>*** Error code 2
точно какая версия proftpd ?
у меня на 1,3,0_2 проверено
сам то патч от версии 1.2
может ручками что то нао уже патчить...хз
скачайте мой пакадж и непартесь
а что... нить кто не заметил что патч не пашет?
ну вы даёте :)создайте файл с первой буквой "я"
я залил на фтп "ямакаси" - получил в ответ "ямtedit"
freeBSD 5.4, proftpd 1.3.0_2 из портов ессественно
короче сначала разберись а потом флуди
все работает
и проблема не в FTP а в твоем TC
ведь наверно тотал командером заливал?
возми и зделай файл ящик.txt а потом выдели его и Shift+F4 и увидишь свое ямtedit
вот и делай выводы отсюда что FTP тут непричем и глюки это TC
Патч для proftpd-1.3.0 (перекодировка+устр. проблемы с буковой "я")
"http://www.linuxportal.vrn.ru/index.php?title=ProFTPd - устранение проблем с русскими названиями файлов"
Установил патч на 1.3.1rc3 released, нашел анамалию, Юзеры с Explorer'ами 6 версии не могут зайти, фпт клиенты и Explorer'h 7-й версии заходят. Стоит отключить перекодировку... как сразу нет проблемы.. Пришлось откатиться до 1.3.0аКаки есть мысли ?
OpenSUSE 10.2
>Установил патч на 1.3.1rc3 released, нашел анамалию, Юзеры с Explorer'ами 6
>версии не могут зайти, фпт клиенты и Explorer'h 7-й версии
> заходят. Стоит отключить перекодировку... как сразу нет проблемы.. Пришлось
>откатиться до 1.3.0а
>
>Каки есть мысли ?
>
>OpenSUSE 10.2Господа 1.3.1 - не работает ... ни под каким соусом. Ставил на дебиане. Умаялся.
>Господа 1.3.1 - не работает ... ни под каким соусом. Ставил на
>дебиане. Умаялся.У меня на Slackware 11 все работает. Proftpd 1.3.1 + patch для версии 1.3.0, правда накладывать пришлось руками.
А вот поставил Open SuSE 11 x86_64 - уже не собирается :(