Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1248 - (hide annotations) (download)
Wed Feb 2 20:20:24 2011 UTC (13 years, 3 months ago) by niro
Original Path: mcore-src/trunk/mcore-tools/daemon/include/sessionauth.global.class
File size: 2698 byte(s)
-initial version
1 niro 1248 # $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     validate_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     validate_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     }