URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92095
[ Назад ]

Исходное сообщение
"Кто знает как установить поддержку русских имен файлов vsftpd"

Отправлено Spider , 12-Авг-11 15:09 
Добрый день!

Кто знает как установить поддержку русских имен файлов на vsftpd от vsftpd.devnet.ru на FreeBSD?
vsftpd-ext в портах старый vsftpd-2.1.2.tar.gz ...
Пробовал патчить порт vsftpd, не собирается, опыта не хватает видно... :(


Содержание

Сообщения в этом обсуждении
"Кто знает как установить поддержку русских имен файлов vsftpd"
Отправлено Aquarius , 12-Авг-11 16:26 
> Добрый день!
> Кто знает как установить поддержку русских имен файлов на vsftpd от vsftpd.devnet.ru
> на FreeBSD?
> vsftpd-ext в портах старый vsftpd-2.1.2.tar.gz ...
> Пробовал патчить порт vsftpd, не собирается, опыта не хватает видно... :(

протокол ftp не предусматривает существование кодировок, не говоря про средства для работы с ними, так что единственный способ работы с именами файлов в нормальном виде - клиент ftp с перекодировкой


"Кто знает как установить поддержку русских имен файлов vsftpd"
Отправлено lavr , 12-Авг-11 17:20 
> Добрый день!
> Кто знает как установить поддержку русских имен файлов на vsftpd от vsftpd.devnet.ru
> на FreeBSD?
> vsftpd-ext в портах старый vsftpd-2.1.2.tar.gz ...
> Пробовал патчить порт vsftpd, не собирается, опыта не хватает видно... :(

скачиваете:
http://vsftpd.devnet.ru/files/2.2.2/ext.5/vsFTPd-2.2.2-ext5.tgz

разворачиваете: tar zxvf vsFTPd-2.2.2-ext5.tgz
# cd vsFTPd-2.2.2-ext.5
# vi builddefs.h
# vi Makefile
# gmake

собирается, редактируете builddefs.h (добавить TCPWRAP и SSL если нужно)
редактируете Makefile

ну и разумеется работает, про остальное уже отписано, ftp протоколу фиолетовы кодировки


"Кто знает как установить поддержку русских имен файлов vsftpd"
Отправлено Spider , 15-Авг-11 10:09 
>[оверквотинг удален]
> скачиваете:
> http://vsftpd.devnet.ru/files/2.2.2/ext.5/vsFTPd-2.2.2-ext5.tgz
> разворачиваете: tar zxvf vsFTPd-2.2.2-ext5.tgz
> # cd vsFTPd-2.2.2-ext.5
> # vi builddefs.h
> # vi Makefile
> # gmake
> собирается, редактируете builddefs.h (добавить TCPWRAP и SSL если нужно)
> редактируете Makefile
> ну и разумеется работает, про остальное уже отписано, ftp протоколу фиолетовы кодировки

Качнул vsFTPd-2.3.4-ext1.tgz

после gmake такое:
нет необходимых библиотек...

tar -zxvf vsFTPd-2.3.4-ext1.tgz
cd vsFTPd-2.3.4-ext1
gmake
...
...
gcc -c charconv.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c pasvrules.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c usersip.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c http.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c http_msg.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c http_str.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o charconv.o pasvrules.o usersip.o http.o http_msg.o http_str.o -Wl,-s -lwrap -lnsl -lpam -lcap -ldl -lcrypto
/usr/bin/ld: cannot find -lnsl
gmake: *** [vsftpd] Ошибка 1

В Makefile строчка про библиотеки вида:
LIBS = -lwrap -lnsl -lpam -lcap -ldl -lcrypto

в порте vsftpd-ext (vsftpd-2.1.2.tar.gz, vsftpd-2.1.2-ext1.diff.gz)
в Makefile исходника (не порта) строка имеет вид:

LIBS = `./vsf_findlibs.sh`

Скрипт vsf_findlibs.sh из vsFTPd-2.3.4-ext1 выдаёт:

-lpam
-lpam
-lutil

подменил строку LIBS = -lwrap -lnsl -lpam -lcap -ldl -lcrypto на
LIBS = `./vsf_findlibs.sh`

В builddefs.h поменял строку #define VSF_CONFIG_PATH "/usr/local/etc/"

всё собралось и работает :)