コード例 #1
0
ファイル: servicesV2.py プロジェクト: weijia/ufs
 def __init__(self, queryInfo = None):
     if queryInfo is None:
         self.queryInfo = query.queryInfo()
     else:
         self.queryInfo = prosedoQueryInfo(queryInfo)
     self.cookie = self.queryInfo.getCookie()
     self.sysUser = ufsUser(u'system.user', u'system.pass')
     ncl(os.path.abspath(logFile))
     try:
         ncl(self.cookie)
         ncl(self.cookie[gSessionCookieName].value)
         sessionId = unicode(self.cookie[gSessionCookieName].value)
         ncl('req sessionId:'+sessionId)
     except KeyError:
         sessionId = None
     if (sessionId is None) or (sessionId.find(u':')!=-1):
         sessionId = unicode(str(uuid.uuid4()))
     ncl('sessionId:'+sessionId)
     self.session = sess.session(sessionId, dbSys.dbSysSmart(self.sysUser).getDb("sessionInfoDb"))
     self.resp = response.html()
     self.thiscookie = Cookie.SimpleCookie()
     timeoutSeconds = 60*60*24*15#15 days?
     self.thiscookie[gSessionCookieName] = sessionId
     self.thiscookie[gSessionCookieName]['path'] = '/'
     expires = datetime.utcnow() + timedelta(hours=1)
     self.thiscookie[gSessionCookieName]['expires'] = expires.strftime('%a, %d %b %Y %H:%M:%S') # Wdy, DD-Mon-YY HH:MM:SS GMT
     self.resp.setCookie(self.thiscookie)
コード例 #2
0
ファイル: dbExporterV3.py プロジェクト: weijia/ufs
def exportDb(targetDir, password=None, hostname=None):
    dbSysInst = dbSys.dbSysSmart()
    startTime = findLastTimestamp(targetDir, hostname)
    endTime = dbSysInst.getTimeStamp()
    finalRes = dbSysInst.exportDb(startTime, endTime, hostname)
    if len(finalRes) == 0:
        print "no update need to be exported"
        return
    finalRes = dictListDecryptor(finalRes)
    timeStampName = "%s-%s" % (startTime, endTime)
    package = {"backup-id": unicode(str(uuid.uuid4())), "time-duration": timeStampName}
    if password is None:
        package["add"] = finalRes
        fullname = "%s_%s.noenc.json" % (hostname, timeStampName)
    else:
        fullname = "%s_%s.json" % (hostname, timeStampName)
        en = enc.encryptorBase64Out(password)
        finalRes = dictListEncryptor(finalRes, en)
        package["encPass"] = unicode(str(md5.new(password + timeStampName).hexdigest()))
        package["add"] = finalRes
    targetFullPath = os.path.join(targetDir, fullname)
    s = json.dumps(package, sort_keys=True, indent=4)
    # s = json.dumps(package)
    f = open(targetFullPath, "w")
    f.write(s)
    f.close()
コード例 #3
0
ファイル: thumbService.py プロジェクト: weijia/ufs
 def __init__(self, sessionBus, objectPath):
     dbus.service.Object.__init__(self, sessionBus, objectPath)
     sessInst = simpleSysUser()
     dbSysInst = ufsDbSingleUser.dbSysSmart(sessInst)
     
     self.thumbDb = dbSysInst.getDb('thumbNew')
     self.pathDb = dbSysInst.getDb('pathNew')
     self.uuidDb = dbSysInst.getDb('uuidNew')
     self.existingIconRelativePath = 'wwjufsdatabase\\webapproot\\static\\icons\\'
     self.prodRootPath = getProdRoot()
コード例 #4
0
ファイル: servicesV2.py プロジェクト: weijia/ufs
 def verifyLogin(self):
     p = self.queryInfo.getAllFieldStorageUnicode()
     ncl(p)
     if p.has_key(u'username') and p.has_key(u'passwd'):
         username = p[u'username'][0]
         passwd = p[u'passwd'][0]
         ncl("has keys")
         if userMan.userManager().verifyPasswd(username, passwd, dbSys.dbSysSmart(self.sysUser).getDb("passwdDb")):
             ncl("login ok:"+username+","+passwd)
             self.session[gPasswdPrefix+username] = passwd
             self.session[gPrimaryLoggedInNameKeyName] = username
             ncl(str(self.session[gPrimaryLoggedInNameKeyName]))
             self.session.append(gLoggedInNameListKeyName, username)
コード例 #5
0
ファイル: dbImporterV2.py プロジェクト: weijia/ufs
def importDb(input, username, targetPasswd, password = None):
    dbSysInst = dbSys.dbSysSmart()
    sf = open(input, 'r')
    package = json.load(sf)
    en = enc.encryptorBase64Out(password)
    l = package["add"]
    if (password is None) and package.has_key("encPass"):
        print 'need password for importing'
        return
    if (not (password is None)):
        if unicode(str(md5.new(password).hexdigest())) != package["encPass"]:
            print 'pass not match:', unicode(str(md5.new(password+package["time-duration"]).hexdigest())), package["encPass"]
            return
        else:
            l = listEncryptor.dictListDecryptor(l, en)
    sysUser = service.ufsUser(u'system.user', u'system.pass')
    if userMan.userManager().verifyPasswd(username, targetPasswd, dbSys.dbSysSmart(sysUser).getDb("passwdDb")):
        print 'importing'
        l = listEncryptor.dictListEncryptor(l, xorEnc.encryptorTxtOut(targetPasswd))
        #print l
        l = listEncryptor.setUser(l, username)
        #print l
        dbSysInst.importDb(l)