Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/include/sessionauth.global.class

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2207 - (show annotations) (download)
Fri Jan 10 14:57:04 2014 UTC (10 years, 3 months ago) by niro
File size: 1767 byte(s)
-moved daemon/include to src/include
1 # $Id$
2
3 provide auth ssl
4
5 PASSWD="/etc/mcoredpasswd"
6
7 md5crypt()
8 {
9 local pass="$1"
10 md5sum << EOF | sed 's:\(.*\)\ \ .*-.*:\1:'
11 ${pass}
12 EOF
13 }
14
15 mcorepasswd()
16 {
17 local user="$1"
18 local pass
19 local validate
20
21 if [[ -z ${user} ]]
22 then
23 echo "No username given! Aborting."
24 return 1
25 fi
26
27 # get pass
28 echo -n "Enter Password: "
29 stty -echo
30 read pass
31 stty echo
32 echo
33
34 echo -n "Retype Password: "
35 stty -echo
36 read validate
37 stty echo
38 echo
39
40 if [[ ${pass} == ${validate} ]]
41 then
42 # encrypt and save
43 echo "${user}:$(md5crypt ${pass})" > ${PASSWD}
44 echo "Password for user '${user}' changed by $(id -u -n)."
45 else
46 echo "Passwords don't match!"
47 echo "Password for user '${user}' is unchanged."
48 return 1
49 fi
50
51 }
52
53 validate_auth()
54 {
55 local user="$1"
56 local pass="$2"
57
58 local passwduser
59 local passwdpass
60
61 # return 0 if ${valid_auth=yes} - user alread authenticated
62 valid_session && return 0
63
64 if [[ ! -f ${PASSWD} ]]
65 then
66 eecho "passwd '${PASSWD}' does not exist!"
67 return 1
68 fi
69
70 passwduser=$(grep "^${user}:" ${PASSWD} | cut -d: -f1)
71 passwdpass=$(grep "^${user}:" ${PASSWD} | cut -d: -f2)
72
73 if [[ -n ${passwduser} ]]
74 then
75 if [[ $(md5crypt ${pass}) == ${passwdpass} ]]
76 then
77 mecho "password for user '${user}' is valid!"
78 mecho "Successfully logged in. Type 'help' for more information."
79 export valid_session="yes"
80 return 0
81 else
82 mecho "password for user '${user}' is invalid!"
83 export valid_session="no"
84 return 1
85 fi
86 else
87 eecho "User '${user}' unkown."
88 export valid_session="no"
89 return 1
90 fi
91 }
92
93 valid_session()
94 {
95 if [[ ${valid_session} = yes ]]
96 then
97 return 0
98 else
99 return 1
100 fi
101 }
102
103 invalid_session()
104 {
105 if [[ ${valid_session} != yes ]]
106 then
107 eecho "not logged in..."
108 # export quit signal
109 export run=quit
110 fi
111 }