Exemple #1
0
def delsnap(agentid, id):
    packstruct = PackOper(int(agentid))
    packstruct.send_DBS_OPER_SNAP(167, int(id))
    (status, id) = packstruct.recv_DBS_OPER_SNAP()
    log = Logger()
    if (status ==0):
        log.logout('INFO', "Snapshot has been DELETED - ID is "+id)
    else:
        log.logout('ERROR', "Snapshot deleted Failed")
    return redirect('/snaplist/'+str(agentid))
Exemple #2
0
def addSequence():
    seqlist = readdbs.getSeqlist()
    if request.method == 'POST':
        form = request.form
        mac = form.get('mac')
        ip = form.get('ip')
        serial = form.get('serial')
        seqinfo = dict(mac=mac, agentid=str(string.atoi(seqlist[-1]['agentid'])+1), ip=ip, serial=serial)
        (flag, seqlist) = readdbs.addSequence(seqinfo)
        log = Logger()
        log.logout('INFO', "Add Sequence Successed - "+ip)
    return render_template('Sequence.html', title=u"客户端管理", sequenceinfo=seqlist, flag=flag)
Exemple #3
0
def changeMac():
    log = Logger()
    if request.method == "POST":
        form = request.form
        ip = form.get('ip')
        newmac = form.get('newmac')
        (flag, seqlist) = readdbs.changemac(ip, newmac)
        log.logout('INFO', "["+ip+"] 's MAC Address changed Successful")
    else:
        seqlist = readdbs.getSeqlist()
        flag = -1
        log.logout('ERROR', "Mac Address changed FAILED")
    return render_template('MacAdr.html', title=u"修改MAC地址", seqlist=seqlist, flag=flag)
Exemple #4
0
def readfile():
    log = Logger()
    try:
        for line in open(cdp_config.pwdpath):
            line = line.strip("\n")
            pwdlist = line.split("|")
            if pwdlist[2] == "0":
                UserList["admin"] = pwdlist[1]
            elif pwdlist[2] == "1":
                UserList["security"] = pwdlist[1]
            elif pwdlist[2] == "2":
                UserList["auditor"] = pwdlist[1]
    except IOError:
        log.logout("WARN", "Login - No Password File[admin.ini]")
Exemple #5
0
def change(user, pwd):
    f = open("admin.ini", "w")
    m = hashlib.md5()
    m.update(pwd)
    pwd = m.hexdigest()
    UserList[user] = pwd
    authority = 0
    log = Logger()
    log.logout("INFO", "Password changed")
    for (user, p) in UserList.items():
        temp = user + "|" + p + "|" + str(authority) + "\n"
        authority += 1
        f.write(temp)
    f.close()
Exemple #6
0
def verify(user, pwd):
    log = Logger()
    readfile()
    m = hashlib.md5()
    m.update(pwd)
    pwd = m.hexdigest()
    if user not in UserList:
        log.logout("INFO", "Login - No this User[" + user + "]")
        return -1  # No this User
    if UserList.get(user) == pwd:
        return 0  # Login Success
    else:
        log.logout("INFO", "Login - Wrong Password")
        return -2  # Wrong pwd
Exemple #7
0
def createBS(index):
    packstruct = PackOper(0)
    log = Logger()
    packstruct.send_DBS_MESSAGE_HEADER(5)
    (number, disks) = packstruct.recv_DBS_PHYDEV_LIST_ACK()
    path = disks[index]['id']
    packstruct.send_DBS_BACKUP_CREATE(path)
    flag = 1
    if packstruct.recv_DBS_BACKUP_CREATE()==17:
        log.logout('ERROR', 'Create BackSpace Failed - This Backspace Already EXISTS - '+path)
        flag = -1
    if flag==1:
        log.logout('INFO', 'Create BackSpace Successed - '+path)
    return render_template('createbackspace.html', title=u"创建备份空间", diskInfo=disks, flag=flag)
Exemple #8
0
def changeIP():
    new = {}
    if request.method == "POST":
        form = request.form
        new['ip'] = form.get('ip')
        new['mask'] = form.get('mask')
        new['gateway'] = form.get('gateway')
    flag = networkconfig.changeNetworkInfo(new)
    log = Logger()
    if flag==1:
        log.logout('INFO', "IP Address changed successful")
    else:
        log.logout('ERROR', "IP Address changed FAILED")
    return render_template('ViewNetWork.html', title=u"IP设置", network=new, flag=flag)
Exemple #9
0
def changerange():
    flag = 0
    (start, end) = dhcpmgr.getDhcpRange()
    log = Logger()
    if request.method == 'POST':
        form = request.form
        newstart = form.get('start')
        newend = form.get('end')
        if start != newstart or end != newend:
            dhcpmgr.changedhcprange(newstart, newend)
        flag = 1
        start = newstart
        end = newend
        log.logout('INFO', "DHCP Range Changed Success")
    return render_template('dhcpmanager.html', title=u"DHCP管理", status=1, start=start, end=end, flag=flag)
Exemple #10
0
def createsnap(agentid):
    seqlist = readdbs.getSeqlist()
    packstruct = PackOper(int(agentid))
    packstruct.send_DBS_SNAPLIST_REQ(0)
    snap = packstruct.recv_DBS_SNAPLIST_ACK()
    flag = -1
    log = Logger()
    if request.method == 'POST':
        form = request.form
        info = form.get('info')
        if len(info) < 32:
            packstruct = PackOper(int(agentid))
            packstruct.send_DBS_CREATE_SNAP(0, str(info))
            id = packstruct.recv_DBS_CREATE_SNAP()
            flag = 1
            log.logout('INFO', "Create Snapshot Success - ID is "+str(id))
        else:
            log.logout("ERROR", "Create Snap Failed - Snapshot Description too LONG")
    return render_template('snaplist.html', title=u"快照管理", seqlist=seqlist, snaplist=snap, flag=flag, agentid=agentid)
Exemple #11
0
def login():
    if request.method == "POST":
        form = request.form
        usr = form.get('username')
        pwd = form.get('password')
        log = Logger()
        if password.verify(usr, pwd) == 0:
            session[usr] = usr
            if usr == 'admin':
                log.logout('INFO', 'Admin Login')
                return redirect(url_for('index'))
            elif usr == 'security':
                log.logout('INFO', 'Security Login')
                return redirect(url_for('securityindex'))
            elif usr == 'auditor':
                log.logout('INFO', 'Security Login')
                return redirect(url_for('auditorindex'))
    return render_template('login.html')
Exemple #12
0
def dhcpstart():
    status = dhcpmgr.changeDhcp('start')
    (start, end) = dhcpmgr.getDhcpRange()
    log = Logger()
    log.logout('INFO', "DHCP has Started")
    return render_template('dhcpmanager.html', title=u"DHCP管理", status=status, start=start, end=end)
Exemple #13
0
def delSequence(agentid):
    (flag, seqlist) = readdbs.delSequence(agentid)
    log = Logger()
    log.logout('INFO', "DELETE Sequence Successed")
    return render_template('Sequence.html', title=u"客户端管理", sequenceinfo=seqlist, flag=flag)