305633d5a31b802f26e198b2feea52feaf569c31
[metze/samba/wip.git] / python / samba / tests / test_pam_winbind_warn_pwd_expire.sh
1 #!/bin/sh
2
3 PYTHON="$1"
4 PAM_WRAPPER_SO_PATH="$2"
5 shift 2
6
7 DOMAIN="$1"
8 export DOMAIN
9 USERNAME="$2"
10 export USERNAME
11 PASSWORD="$3"
12 export PASSWORD
13 shift 3
14
15 PAM_WRAPPER_PATH="$BINDIR/default/lib/pam_wrapper"
16
17 pam_winbind="$BINDIR/shared/pam_winbind.so"
18 service_dir="$SELFTEST_TMPDIR/pam_services"
19 service_file="$service_dir/samba"
20
21 mkdir $service_dir
22
23 PAM_WRAPPER="1"
24 export PAM_WRAPPER
25 PAM_WRAPPER_SERVICE_DIR="$service_dir"
26 export PAM_WRAPPER_SERVICE_DIR
27 LD_PRELOAD="$LD_PRELOAD:$PAM_WRAPPER_SO_PATH"
28 export LD_PRELOAD
29
30 PAM_WRAPPER_DEBUGLEVEL=${PAM_WRAPPER_DEBUGLEVEL:="2"}
31 export PAM_WRAPPER_DEBUGLEVEL
32
33 # TEST with warn_pwd_expire=50
34 #
35 # This should produce a warning that the password will expire in 42 days
36 #
37 WARN_PWD_EXPIRE="50"
38 export WARN_PWD_EXPIRE
39
40 echo "auth        required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" > $service_file
41 echo "account     required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" >> $service_file
42 echo "password    required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" >> $service_file
43 echo "session     required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" >> $service_file
44
45 PYTHONPATH="$PYTHONPATH:$PAM_WRAPPER_PATH:$(dirname $0)" $PYTHON -m samba.subunit.run samba.tests.pam_winbind_warn_pwd_expire
46 exit_code=$?
47 if [ $exit_code -ne 0 ]; then
48         rm -rf $service_dir
49         exit $exit_code
50 fi
51
52 # TEST with warn_pwd_expire=0
53 #
54 WARN_PWD_EXPIRE="0"
55 export WARN_PWD_EXPIRE
56
57 echo "auth        required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" > $service_file
58 echo "account     required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" >> $service_file
59 echo "password    required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" >> $service_file
60 echo "session     required    $pam_winbind debug debug_state warn_pwd_expire=$WARN_PWD_EXPIRE" >> $service_file
61
62 PYTHONPATH="$PYTHONPATH:$PAM_WRAPPER_PATH:$(dirname $0)" $PYTHON -m samba.subunit.run samba.tests.pam_winbind_warn_pwd_expire
63 exit_code=$?
64 if [ $exit_code -ne 0 ]; then
65         rm -rf $service_dir
66         exit $exit_code
67 fi
68
69 rm -rf $service_dir
70
71 exit $exit_code