Добрый день!Кто знает как установить поддержку русских имен файлов на vsftpd от vsftpd.devnet.ru на FreeBSD?
vsftpd-ext в портах старый vsftpd-2.1.2.tar.gz ...
Пробовал патчить порт vsftpd, не собирается, опыта не хватает видно... :(
> Добрый день!
> Кто знает как установить поддержку русских имен файлов на vsftpd от vsftpd.devnet.ru
> на FreeBSD?
> vsftpd-ext в портах старый vsftpd-2.1.2.tar.gz ...
> Пробовал патчить порт vsftpd, не собирается, опыта не хватает видно... :(протокол ftp не предусматривает существование кодировок, не говоря про средства для работы с ними, так что единственный способ работы с именами файлов в нормальном виде - клиент ftp с перекодировкой
> Добрый день!
> Кто знает как установить поддержку русских имен файлов на 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 протоколу фиолетовы кодировки
>[оверквотинг удален]
> скачиваете:
> 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/"
всё собралось и работает :)