Contents of /mcore-src/trunk/mcore-tools/daemon/include/sessionauth.global.class
Parent Directory | Revision Log
Revision 1306 -
(show annotations)
(download)
Sun Feb 6 23:46:42 2011 UTC (13 years, 7 months ago) by niro
File size: 2692 byte(s)
Sun Feb 6 23:46:42 2011 UTC (13 years, 7 months ago) by niro
File size: 2692 byte(s)
-renamed validate_session() to valid_session()
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 $user $pass |
54 | #validate_auth() |
55 | #{ |
56 | # local user="$1" |
57 | # local pass="$2" |
58 | # local dbuser |
59 | # |
60 | # # return 0 if ${valid_auth=yes} - user alread authenticated |
61 | # validate_session && return 0 |
62 | # |
63 | # if [[ ${DEBUG} = 1 ]] |
64 | # then |
65 | # echo "user=${user}" >> /root/lala.log |
66 | # echo "pass=${pass}" >> /root/lala.log |
67 | # echo "mysqldo \"select user from control_auth where pass=MD5('${pass}')\"" >> /root/lala.log |
68 | # echo $(mysqldo "select user from control_auth where pass=MD5('${pass}')") >> /root/lala.log |
69 | # fi |
70 | # |
71 | # dbuser=$(mysqldo "select user from control_auth where pass=MD5('${pass}')") |
72 | # if [[ ! -z ${dbuser} ]] |
73 | # then |
74 | # # check if the returned username is equal the given one |
75 | # if [[ ${dbuser} = ${user} ]] |
76 | # then |
77 | # # register a valid session |
78 | # echo "auth valid" |
79 | # export valid_session=yes |
80 | # return 0 |
81 | # fi |
82 | # fi |
83 | # |
84 | # # if we get here, the auth is invalid |
85 | # echo "auth invalid" |
86 | # export valid_session=no |
87 | # return 1 |
88 | #} |
89 | |
90 | |
91 | validate_auth() |
92 | { |
93 | local user="$1" |
94 | local pass="$2" |
95 | |
96 | local passwduser |
97 | local passwdpass |
98 | |
99 | # return 0 if ${valid_auth=yes} - user alread authenticated |
100 | valid_session && return 0 |
101 | |
102 | if [[ ! -f ${PASSWD} ]] |
103 | then |
104 | echo "passwd '${PASSWD}' does not exist!" |
105 | return 1 |
106 | fi |
107 | |
108 | passwduser=$(grep "^${user}:" ${PASSWD} | cut -d: -f1) |
109 | passwdpass=$(grep "^${user}:" ${PASSWD} | cut -d: -f2) |
110 | |
111 | if [[ -n ${passwduser} ]] |
112 | then |
113 | if [[ $(md5crypt ${pass}) == ${passwdpass} ]] |
114 | then |
115 | echo "password for user '${user}' is valid!" |
116 | mecho "Successfully logged in. Type 'help' for more information." |
117 | export valid_session="yes" |
118 | return 0 |
119 | else |
120 | echo "password for user '${user}' is invalid!" |
121 | export valid_session="no" |
122 | return 1 |
123 | fi |
124 | else |
125 | echo "User '${user}' unkown." |
126 | export valid_session="no" |
127 | return 1 |
128 | fi |
129 | } |
130 | |
131 | valid_session() |
132 | { |
133 | if [[ ${valid_session} = yes ]] |
134 | then |
135 | return 0 |
136 | else |
137 | return 1 |
138 | fi |
139 | } |
140 | |
141 | invalid_session() |
142 | { |
143 | if [[ ${valid_session} != yes ]] |
144 | then |
145 | echo "not logged in..." |
146 | # export quit signal |
147 | export run=quit |
148 | fi |
149 | } |