This directory not exist: /this/directory/not/exist !!!
User: test
pass: passwordok
User dupadupa not exist !!!
maar@computer /home/maar $ gdb ftp
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) set logging file log
(gdb) set logging on
Copying output to log.
(gdb) r server
Starting program: /usr/bin/ftp server
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Connected to server (192.168.1.1).
220 Ziomal
Name (server:maar): dupadupa
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> user test
331 Please specify the password.
Password: passwordok
500 OOPS: cannot change directory:/this/directory/not/exist
Login failed.
ftp> ls -la
500 OOPS: child died
ftp: bind: Address already in use
ftp> ls -la
Program received signal SIGPIPE, Broken pipe.
0xb7cd5098 in write () from /lib/libc.so.6
(gdb) br
Breakpoint 1 at 0xb7cd5098
(gdb) bt
#0 0xb7cd5098 in write () from /lib/libc.so.6
#1 0xb7d3eff4 in ?? () from /lib/libc.so.6
#2 0xb7c87b62 in _IO_file_write () from /lib/libc.so.6
#3 0xb7c86532 in _IO_file_setbuf () from /lib/libc.so.6
#4 0xb7c86658 in _IO_do_write () from /lib/libc.so.6
#5 0xb7c871f2 in _IO_file_sync () from /lib/libc.so.6
#6 0xb7c7c5ff in fflush () from /lib/libc.so.6
#7 0x0804fd5a in ?? ()
#8 0x08076d58 in ?? ()
#9 0x08076d58 in ?? ()
#10 0x08058dd0 in _IO_stdin_used ()
#11 0xbf900684 in ?? ()
#12 0x54524f50 in ?? ()
#13 0x32393120 in ?? ()
#14 0x3836312c in ?? ()
#15 0x322c312c in ?? ()
#16 0x3832312c in ?? ()
#17 0x0d38332c in ?? ()
#18 0x0000000a in ?? ()
#19 0x00000000 in ?? ()
#20 0x00000000 in ?? ()
#21 0x00000000 in ?? ()
#22 0x00000000 in ?? ()
#23 0x00000000 in ?? ()
#24 0x00000000 in ?? ()
#25 0x00000000 in ?? ()
#26 0x00000000 in ?? ()
#27 0x00000000 in ?? ()
#28 0x00000080 in ?? ()
#29 0xb7d3eff4 in ?? () from /lib/libc.so.6
#30 0xbf8fe770 in ?? ()
#31 0x00000002 in ?? ()
#32 0xbf8fe6c8 in ?? ()
#33 0xb7c515d4 in sigaction () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)
(gdb)
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
iraq new # emerge info
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1,
2.6.12-gentoo-r6 i686)
=================================================================
System uname: 2.6.12-gentoo-r6 i686 Pentium III (Coppermine)
Gentoo Base System version 1.12.0_pre6
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python: 2.3.4-r1, 2.4.1-r1
sys-apps/sandbox: 1.2.11
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.18-r1
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O2 -pipe -s -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -02 -pipe -s"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.zie.pg.gda.pl http://lug.mtu.edu/gentoo
http://mir.zyrianes.net/gentoo/ http://mirror.aiya.ru/pub/gentoo/
http://mirror.averse.net/pub/gentoo/
http://mirror.clarkson.edu/pub/distributions/gentoo/
http://mirror.datapipe.net/gentoo http://mirror.espri.arizona.edu/gentoo/
http://mirror.etf.bg.ac.yu/gentoo http://mirror.gentoo.gr.jp
http://mirror.gentoo.no/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 apache2 apm arts avi berkdb bitmap-fonts bzip2 crypt cups curl eds
emboss emerge encode foomaticdb fortran freetds gd gdbm gif gpm gstreamer gzip
imlib ipv6 java jpeg libg++ libwww mad mikmod motif mp3 mpeg mssql mysql ncurses
nls ogg oggvorbis opengl oss pam pdflib perl php png python quicktime readline
sdl spell ssl tcpd truetype truetype-fonts type1-fonts vorbis xml xml2 xmms xv
zlib userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
iraq new # emerge -s vsftpd
Searching...
[ Results for search key : vsftpd ]
[ Applications found : 1 ]
* net-ftp/vsftpd
Latest version available: 2.0.3-r1
Latest version installed: 2.0.3-r1
Size of downloaded files: 149 kB
Homepage: http://vsftpd.beasts.org/
Description: Very Secure FTP Daemon written with speed, size and security
in mind
License: GPL-2
iraq new # cat /etc/vsftpd/vsftpd.conf
background=YES
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_enable=YES
#xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#idle_session_timeout=600
#data_connection_timeout=120
nopriv_user=nobody
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Server
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/vsftpd.banned_emails
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
#ls_recurse_enable=YES
iraq new # cat /etc/vsftpd/vsftpd.chroot_list | grep test
test
iraq new # emerge -s ftp | more
(...)
* net-ftp/ftp
Latest version available: 0.17-r5
Latest version installed: 0.17-r5
Size of downloaded files: 52 kB
Homepage: http://www.hcs.harvard.edu/~dholland/computers/netkit.html
Description: Standard Linux FTP client
License: as-is
iraq new # cat /etc/passwd | grep test
test:x:1001:100::/home/ftp/apollo:/bin/false
iraq new # cat /etc/passwd | grep maar
maar:x:1000:100::/home/maar:/bin/bash
iraq new # ls -la /home/ftp/apollo
ls: /home/ftp/apollo: No such file or directory
iraq new # ls -la /home/ftp
total 8
drwxr-xr-x 2 root root 4096 Aug 29 01:07 .
drwxr-xr-x 8 root root 4096 Aug 29 01:07 ..
iraq new # gdb ftp
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library
"/lib/libthread_db.so.1".
(gdb) r localhost
Starting program: /usr/bin/ftp localhost
Connected to localhost (127.0.0.1).
220 Server
Name (localhost:maar): maar
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password: (password ok)
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 1000 100 4096 Aug 30 20:49 isec
-rwxr--r-- 1 1000 100 1090 Aug 24 15:49 level3
-rw-r--r-- 1 1000 100 40 Sep 01 13:28 muza
-rwx------ 1 1000 100 2247 Jul 11 19:46 muza.txt
-rwx------ 1 1000 100 557 Jul 19 12:33 prog.c
226 Directory send OK.
ftp> close
221 Goodbye.
ftp> open localhost
Connected to localhost (127.0.0.1).
220 Server
Name (localhost:maar): maar
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password: (bad password)
530 Login incorrect.
Login failed.
ftp> user test
331 Please specify the password.
Password: (password ok)
500 OOPS: cannot change directory:/home/ftp/apollo
Login failed.
ftp> ls
500 OOPS: child died
Program received signal SIGPIPE, Broken pipe.
0xb7d77098 in write () from /lib/libc.so.6
(gdb) bt
#0 0xb7d77098 in write () from /lib/libc.so.6
#1 0xb7de0ff4 in ?? () from /lib/libc.so.6
#2 0xb7d29b62 in _IO_file_write () from /lib/libc.so.6
#3 0xb7d28532 in _IO_file_setbuf () from /lib/libc.so.6
#4 0xb7d28658 in _IO_do_write () from /lib/libc.so.6
#5 0xb7d291f2 in _IO_file_sync () from /lib/libc.so.6
#6 0xb7d1e5ff in fflush () from /lib/libc.so.6
#7 0x0804f4de in command (fmt=0x8056cd6 "%s") at ftp.c:442
#8 0x08050e57 in recvrequest (cmd=0x8056c31 "LIST", local=0x8059400 "-",
remote=0x0,
lmode=0x805690e "w", printnames=0) at ftp.c:1036
#9 0x0804cc1c in ls (argc=-32, argv=0x8065120) at cmds.c:1427
#10 0x0805595a in cmdscanner (top=1) at main.c:488
#11 0x08055656 in main (argc=1, argv=0xbfaa3c78) at main.c:357
(gdb) r localhost
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/ftp localhost
Connected to localhost (127.0.0.1).
220 Server
Name (localhost:maar): test
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password: (password ok)
500 OOPS: cannot change directory:/home/ftp/apollo
Login failed.
421 Service not available, remote server has closed connection
ftp> ls
Not connected.
ftp> ls
Not connected.
ftp>open localhost
Connected to localhost (127.0.0.1).
220 Server
Name (localhost:maar): maar
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password: (bad password)
530 Login incorrect.
Login failed.
ftp> user test
331 Please specify the password.
Password: (password ok)
500 OOPS: cannot change directory:/home/ftp/apollo
Login failed.
ftp> ls -la
500 OOPS: child died
Program received signal SIGPIPE, Broken pipe.
0xb7d94098 in write () from /lib/libc.so.6
(gdb) bt
#0 0xb7d94098 in write () from /lib/libc.so.6
#1 0xb7dfdff4 in ?? () from /lib/libc.so.6
#2 0xb7d46b62 in _IO_file_write () from /lib/libc.so.6
#3 0xb7d45532 in _IO_file_setbuf () from /lib/libc.so.6
#4 0xb7d45658 in _IO_do_write () from /lib/libc.so.6
#5 0xb7d461f2 in _IO_file_sync () from /lib/libc.so.6
#6 0xb7d3b5ff in fflush () from /lib/libc.so.6
#7 0x0804f4de in command (fmt=0x8056d5d "%s %s") at ftp.c:442
#8 0x08050e27 in recvrequest (cmd=0x8056c31 "LIST", local=0x8059400 "-",
remote=0x8069623 "-la",
lmode=0x805690e "w", printnames=0) at ftp.c:1030
#9 0x0804cc1c in ls (argc=-32, argv=0x8065120) at cmds.c:1427
#10 0x0805595a in cmdscanner (top=1) at main.c:488
#11 0x08055656 in main (argc=1, argv=0xbfac26b8) at main.c:357
(gdb) quit