]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blobdiff - modules/user.py
- www stuff auths through ftpiod (daemon just has stub functions, but adding
[projects/pld-ftp-admin.git] / modules / user.py
index 6ec6a3fef3b5ad57d0706945f0a1b63f344e0443..850c87e703759388771cec02907a94cdb7582985 100644 (file)
@@ -1,80 +1,44 @@
 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
 
-import Cookie, time, md5
+import Cookie, time, ftpio
 
 UserNotLoggedIn="UserNotLoggedIn"
 
 class User:
     def __init__(self, cookies, options):
         self.loggedin=False
-       if (cookies.has_key('ftpsessid') and
-          self.checksession(cookies['ftpsessid'])):
-            self.loggedin=True
+        ftpio.connect()
+       if 'ftpsessid' in cookies and cookies['ftpsessid']:
+            self.login=ftpio.login_cookie(cookies['ftpsessid'])
+            if self.login:
+                self.loggedin=True
 
-        if options.has_key('action'):
+        if 'action' in options:
             if options['action'] == 'register':
                 self.checkloginpass(options)
             elif options['action'] == 'logout':
                 self.logout()
 
     def checkloginpass(self, options):
-        if not options.has_key('login') or not options.has_key('pass'):
+        if 'login' not in options or 'pass' not in options:
             return
-        f=open('../../passwd', 'r')
-        for line in f.readlines():
-            list=line.strip().split(':')
-            if (list[0]==options['login'] and
-              list[1]==md5.new(options['pass']).hexdigest()):
-                self.loggedin=True
-                self.login=list[0]
-                C = Cookie.SimpleCookie()
-                cookiestring=md5.new(list[0]+`time.time()`).hexdigest()
-                C['ftpsessid']=cookiestring
-                #C['ftpsessid']['expires']=time.strftime(
-                                            #"%a, %d-%b-%y %H:%M:%S GMT",
-                                            #time.gmtime(time.time()+86400))
-                print C
-                break
-        f.close()
-        if self.loggedin:
-            cookies=self.loadcookies()
-            cookies[cookiestring]=options['login']
-            self.writecookies(cookies)
-    
-    def checksession(self, ftpsessid):
-        cookies=self.loadcookies()
-        if cookies.has_key(ftpsessid):
-            self.login=cookies[ftpsessid]
-            self.ftpsessid=ftpsessid
-            return True
-
-    def loadcookies(self):
-        f=open('../../cookies', 'r')
-        cookies={}
-        for line in f.readlines():
-            list=line.strip().split(':')
-            cookies[list[0]]=list[1]
-        f.close()
-        return cookies
-
-    def writecookies(self, cookies):
-        f=open('../../cookies', 'w+')
-        for key in cookies.keys():
-            f.write("%s:%s\n" % (key, cookies[key]))
-        f.close()
-
-    def logout(self):
-        if self.loggedin:
-            cookies=self.loadcookies()
-            if cookies.has_key(self.ftpsessid):
-                del cookies[self.ftpsessid]
-                self.writecookies(cookies)
-
-            self.loggedin=False
-
+        self.cookie=ftpio.login_passwd(options['login'], options['pass'])
+        if self.cookie:
+            self.login=options['login']
+            self.loggedin=True
             C = Cookie.SimpleCookie()
-            C['ftpsessid']=''
-            C['ftpsessid']['expires']=time.strftime("%a, %d-%b-%y %H:%M:%S GMT",
-                                        time.gmtime(time.time()-31536000))
+            C['ftpsessid']=self.cookie
+            #C['ftpsessid']['expires']=time.strftime(
+                                        #"%a, %d-%b-%y %H:%M:%S GMT",
+                                        #time.gmtime(time.time()+86400))
             print C
+    
+    def logout(self):
+        self.loggedin=False
+        ftpio.logout()
+        C = Cookie.SimpleCookie()
+        C['ftpsessid']=''
+        C['ftpsessid']['expires']=time.strftime("%a, %d-%b-%y %H:%M:%S GMT",
+                                    time.gmtime(time.time()-31536000))
+        print C
 
This page took 0.040027 seconds and 4 git commands to generate.