1) Поддержка перекодировки
2) Исправление проблемы с символом "я" в cp1251.
Файлы - в аттаче.
Я не стал выкладывать бинарный пакет - потому-что у всех разные версии
glibc и gcc, кому надо - соберёте под свою систему с помощью SlackBuild'а
Инструкция - скачиваете
http://www.slackware.at/data/slackware-current/source/n/proftpd/ весь
каталог, заменяете proftpd.Slackbuild на мой и собираете в пакет.
-- WBR Dmitry
#!/bin/sh # Set initial variables: CWD=`pwd` if [ "$TMP" = "" ]; then TMP=/tmp fi PKG=$TMP/package-proftpd VERSION=1.2.10 DIRVER=1.2.10 ARCH=${ARCH:-i486} BUILD=2 if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mcpu=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" fi if [ ! -d $TMP ]; then mkdir -p $TMP # location to build the source fi rm -rf $PKG mkdir -p $PKG cd $TMP rm -rf proftpd-$VERSION tar xjvf $CWD/proftpd-$VERSION.tar.bz2 cd proftpd-$DIRVER zcat $CWD/proftpd-$VERSION-iconv.patch.gz | patch -p1 zcat $CWD/proftpd-1.2.10-rus_ya.diff.gz | patch -p1 chown -R root.root . CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --enable-autoshadow \ --localstatedir=/var/run \ --with-modules=mod_readme:mod_ratio:mod_tls:mod_wrap:mod_codeconv \ $ARCH-slackware-linux # This caused funny messages about "Quotas off" with every FTP command, # and mod_wrap gets a compile error: # --with-modules= ... mod_quota ... make make install DESTDIR=$PKG rm -f $PKG/etc/* cat $CWD/etc/proftpd.conf > $PKG/etc/proftpd.conf.new cat $CWD/etc/ftpusers > $PKG/etc/ftpusers.new mkdir -p $PKG/home/ftp gzip -9 $PKG/usr/man/man?/*.? chown -R root.bin $PKG/usr/bin $PKG/usr/sbin mkdir -p $PKG/usr/doc/proftpd-$VERSION cp -a COPYING CREDITS ChangeLog INSTALL NEWS README* \ contrib/README.mod_wrap contrib/README.ratio \ $PKG/usr/doc/proftpd-$VERSION cp -a contrib/README $PKG/usr/doc/proftpd-$VERSION/README.contrib cp -a doc sample-configurations $PKG/usr/doc/proftpd-$VERSION ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) mkdir -p $PKG/install zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cat $CWD/slack-desc > $PKG/install/slack-desc # Build the package: cd $PKG makepkg -l y -c n $TMP/proftpd-$VERSION-$ARCH-$BUILD.tgz # Clean up the extra stuff: if [ "$1" = "--cleanup" ]; then rm -rf proftpd-$VERSION rm -rf $PKG fi
# This is a basic ProFTPD configuration file. # It establishes a single server and a single anonymous login. # It assumes that you have a user/group "nobody" and "ftp" # for normal/anonymous operation. ServerName "ProFTPD Default Installation" #ServerType standalone ServerType inetd DefaultServer on CharsetLocal KOI8-R CharsetRemote CP1251 # Port 21 is the standard FTP port. Port 21 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User nobody Group nogroup # This next option is required for NIS or NIS+ to work properly: #PersistentPasswd off SystemLog /var/log/proftpd.log TransferLog /var/log/xferlog # Normally, we want files to be overwriteable. <Directory /*> AllowOverwrite on </Directory> # A basic anonymous FTP server configuration. # To enable this, remove the user ftp from /etc/ftpusers. <Anonymous ~ftp> RequireValidShell off User ftp Group ftp # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Limit the maximum number of anonymous logins MaxClients 50 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> # An upload directory that allows storing files but not retrieving # or creating directories. # <Directory incoming/*> # <Limit READ> # DenyAll # </Limit> # # <Limit STOR> # AllowAll # </Limit> # </Directory> </Anonymous>