• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2#
3#   Copyright (c) International Business Machines  Corp., 2003, 2005
4#
5#   This program is free software;  you can redistribute it and/or modify
6#   it under the terms of the GNU General Public License as published by
7#   the Free Software Foundation; either version 2 of the License, or
8#   (at your option) any later version.
9#
10#   This program is distributed in the hope that it will be useful,
11#   but WITHOUT ANY WARRANTY;  without even the implied warranty of
12#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
13#   the GNU General Public License for more details.
14#
15#   You should have received a copy of the GNU General Public License
16#   along with this program;  if not, write to the Free Software
17#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18#
19#
20#
21#  FILE   : ftp
22#
23#  PURPOSE: Ftp into a remote hosts successfully as a vaild user (other than root)
24#
25#  HISTORY:
26#     03/03  Jerone Young (jeroney@us.ibm.com)
27#     04/03  Dustin Kirkland (k1rkland@us.ibm.com)
28#     09/05  Kris Wilson (krisw@us.ibm.com) Check if vsftpd.conf was found.
29#
30#  NOTE:
31#	This version is intended for EAL certification, it will need modification
32#	to conform with LTP standards in the offical LTP tree.
33
34setup()
35{
36	export TEST_USER="ftpuser3"
37}
38
39do_test()
40{
41	FAIL_530="==> TEST : FAIL (ftp rejected login attempt)"
42	PASS_230="==> TEST : PASS (ftp allowed login attempt)"
43	FAIL_230="==> TEST : FAIL (ftp allowed login attempt)"
44	PASS_500="==> TEST : PASS (ftp rejected login attempt)"
45	PASS_530="==> TEST : PASS (ftp rejected login attempt)"
46
47	echo "TEST: Ftp into a remote host as a local user (other than root),"
48	echo "LOCAL_ENABLE=$LOCAL_ENABLE"
49
50	if [ "$LOCAL_ENABLE" = "YES" ]; then
51	expect -c "
52		spawn ftp $RHOST
53		sleep 1
54		expect -re \": \"
55		send \"$TEST_USER\r\"
56		expect -re \"Password:\"
57		send \"$TEST_USER_PASSWD\r\"
58		expect {
59			# 530 - Login failed
60			\"530\" {send_user \"$FAIL_530\n\";exit 1}
61			# 230 - Login successful
62			\"230\" {send_user \"$PASS_230\n\";exit 0}
63		}
64		expect \"ftp> \"
65		send \"quit\r\"
66	"
67	else
68	expect -c "
69		spawn ftp $RHOST
70		sleep 1
71		expect -re \": \"
72		send \"$TEST_USER\r\"
73		expect -re \"Password:\"
74		send \"$TEST_USER_PASSWD\r\"
75		expect {
76			# 230 - Login successful
77			\"230\" {send_user \"$FAIL_230\n\";exit 1}
78			# 500 - Login failed
79			\"500\" {send_user \"$PASS_500\n\";exit 0}
80			# 530 - Login failed
81			\"530\" {send_user \"$PASS_530\n\";exit 0}
82		}
83		expect \"ftp> \"
84		send \"quit\r\"
85	"
86	fi
87}
88
89TCID="ftp03"
90TST_TOTAL=1
91
92. test.sh
93. ftp_setup
94
95setup
96do_setup
97TST_CLEANUP=do_cleanup
98
99do_test
100if [ $? -ne 0 ]; then
101	tst_resm TFAIL "Test $TCID FAIL"
102else
103	tst_resm TPASS "Test $TCID PASS"
104fi
105
106tst_exit
107