/[sshproxy]/sshproxy/SSHproxy/pwdb/mysql.py
ViewVC logotype

Diff of /sshproxy/SSHproxy/pwdb/mysql.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by dguerizec, Mon Sep 26 09:05:30 2005 UTC revision 1.5 by pyrofes, Tue Sep 27 13:55:48 2005 UTC
# Line 42  class MySQLPwDB(simple.SimplePwDB): Line 42  class MySQLPwDB(simple.SimplePwDB):
42              select id, site_id, uid, password, `primary`              select id, site_id, uid, password, `primary`
43                  from user where site_id = %d                  from user where site_id = %d
44              """              """
   
45          site_list = []          site_list = []
46          sites = db.cursor()          sites = db.cursor()
47          sites.execute(q_sites)          sites.execute(q_sites)
# Line 57  class MySQLPwDB(simple.SimplePwDB): Line 56  class MySQLPwDB(simple.SimplePwDB):
56                                                port=port,                                                port=port,
57                                                location=location,                                                location=location,
58                                                user_list=user_list))                                                user_list=user_list))
         #print 'site ' + name + ' grants access to ' + user_list.__repr__()  
   
59          simple.SimplePwDB.__init__(self, site_list)          simple.SimplePwDB.__init__(self, site_list)
60    
61  #    def __del__(self):      #def __del__(self):
62  #        db.close()      #   db.close()
63    
64    ################## functions for script/add_profile #####################
65    
66      def list_profiles(self):      def list_profiles(self):
67          q_getprofile = """          q_getprofile = """
# Line 98  class MySQLPwDB(simple.SimplePwDB): Line 97  class MySQLPwDB(simple.SimplePwDB):
97          profile.execute(q_addprofile % name)          profile.execute(q_addprofile % name)
98          profile.close()          profile.close()
99          return 1          return 1
100            
101    ################ functions for scripts/add_group ########################
102    
103      def list_groups(self):      def list_groups(self):
104          q_getgroup = """          q_getgroup = """
105              select id, name from sgroup              select id, name from sgroup
# Line 133  class MySQLPwDB(simple.SimplePwDB): Line 134  class MySQLPwDB(simple.SimplePwDB):
134          group.execute(q_addgroup % name)          group.execute(q_addgroup % name)
135          group.close()          group.close()
136          return 1          return 1
137            
138    ################ functions for scripts/add_site #######################
139    
140        def list_sites(self):
141            q_listsite = """
142                select id, name, ip_address, port, location from site
143            """
144            site = db.cursor()
145            site.execute(q_listsite)
146            p = []
147            for id, name, ip_address, port, location in site.fetchall():
148                p.append({ 'id': id, 'name': name, 'ip': ip_address, 'port': port, 'location': location })
149            site.close()
150            return p
151    
152        def get_site_for_script(self, name):
153            q_getsite = """
154                select id, name, ip_address, port, location from site where name = '%s'
155            """
156            site = db.cursor()
157            site.execute(q_getsite % name)
158            p = site.fetchone()
159            if not p or not len(p):
160                return None
161            site.close()
162            return { 'id': p[0], 'name': p[1], 'ip_address': p[2], 'port': p[3], 'location': p[4] }
163    
164        def add_site(self, name, ip_address, port, location):
165            q_addsite = """
166                insert into site (name, ip_address, port, location) values ('%s','%s',%d,'%s')
167            """
168            if self.get_site_for_script(name):
169                return None
170            site = db.cursor()
171            site.execute(q_addsite % (name, ip_address, port, location))
172            site.close()
173            return 1
174    
175    ################## functions for scripts/add_user #####################
176    
177        def list_users(self):
178            q_listuser = """
179                select site_id, uid, password, `primary` from user
180            """
181            site = db.cursor()
182            site.execute(q_listuser)
183            p = []
184            for site_id, uid, password, primary in site.fetchall():
185                p.append({ 'uid': uid, 'site_id': site_id, 'password': password, 'primary': primary })
186            site.close()
187            return p
188    
189        def get_users(self, uid):
190            q_getuser = """
191                select site_id, uid, password, `primary` from user where uid = '%s'
192            """
193            user = db.cursor()
194            user.execute(q_getuser % uid)
195            p = user.fetchone()
196            if not p or not len(p):
197                return None
198            user.close()
199            return { 'site_id': p[0], 'uid': p[1], 'password': p[2], 'primary': p[3] }
200    
201        def add_user(self, uid, site_id, password, primary):
202            q_adduser = """
203                insert into user (uid, site_id, password, `primary`) values ('%s','%s','%s',%d)
204            """
205            if self.get_users(uid):
206                return None
207            user = db.cursor()
208            user.execute(q_adduser % (uid, site_id, password, primary))
209            user.close()
210            return 1
211    
212    ################### functions for scripts/add_login   #############
213    
214        def list_logins(self):
215            q_listlogin = """
216                select uid, password, `key` from login
217            """
218            site = db.cursor()
219            site.execute(q_listlogin)
220            p = []
221            for uid, password, key in site.fetchall():
222                p.append({ 'uid': uid, 'password': password, 'key': key })
223            site.close()
224            return p
225    
226        def get_logins(self, uid):
227            q_getlogin = """
228                select uid, password, `key` from login where uid = '%s'
229            """
230            login = db.cursor()
231            login.execute(q_getlogin % uid)
232            p = login.fetchone()
233            if not p or not len(p):
234                return None
235            login.close()
236            return { 'uid': p[0], 'password': p[1], 'key': p[2] }
237    
238        def add_login(self, uid, password, key):
239            q_addlogin = """
240                insert into login (uid, password, `key`) values ('%s','%s','%s')
241            """
242            if self.get_logins(uid):
243                return None
244            login = db.cursor()
245            login.execute(q_addlogin % (uid, password, key))
246            login.close()
247            return 1
248    
249    ######### functions for link scripts/add_login_profile ###############
250    
251        def list_login_prof(self):
252            q_list = """
253                 select login_id, profile_id from login_profile
254            """
255            lists = db.cursor()
256            lists.execute(q_list)
257            p = []
258            for login_id,profile_id in lists.fetchall():
259                p.append({ 'login_id': login_id, 'profile_id': profile_id })
260            lists.close()
261            return p
262    
263        def add_login_prof(self, login_id, profile_id):
264            q_addlogin = """
265                insert into login_profile (login_id, profile_id) values (%d,%d)
266            """
267            login = db.cursor()
268            login.execute(q_addlogin % (login_id, profile_id))
269            login.close()
270            return 1
271    
272    
273    ######### functions for link scripts/add_profile_sgroup ###############
274    
275        def list_prof_group(self):
276            q_list = """
277                 select profile_id, sgroup_id from profile_sgroup
278            """
279            lists = db.cursor()
280            lists.execute(q_list)
281            p = []
282            for profile_id,sgroup_id in lists.fetchall():
283                p.append({ 'profile_id': profile_id, 'sgroup_id': sgroup_id })
284            lists.close()
285            return p
286    
287        def add_prof_group(self, profile_id, sgroup_id):
288            q_addlogin = """
289                insert into profile_sgroup (profile_id,sgroup_id) values (%d,%d)
290            """
291            login = db.cursor()
292            login.execute(q_addlogin % (profile_id, sgroup_id))
293            login.close()
294            return 1
295    
296    
297    ######### functions for link scripts/add_sgroup_site ###############
298    
299        def list_group_site(self):
300            q_list = """
301                 select sgroup_id,site_id from sgroup_site
302            """
303            lists = db.cursor()
304            lists.execute(q_list)
305            p = []
306            for sgroup_id,site_id in lists.fetchall():
307                p.append({ 'sgroup_id': sgroup_id, 'site_id': site_id })
308            lists.close()
309            return p
310    
311        def add_group_site(self, sgroup_id, site_id):
312            q_addlogin = """
313                insert into sgroup_site (sgroup_id, site_id) values (%d,%d)
314            """
315            login = db.cursor()
316            login.execute(q_addlogin % (sgroup_id, site_id))
317            login.close()
318            return 1
319    
320    
321    #######################################################################
322    
323      def is_allowed(self, username, password=None, key=None):      def is_allowed(self, username, password=None, key=None):
324          """Check is a user is allowed to connect to the proxy."""          """Check is a user is allowed to connect to the proxy."""

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26