generate passphrases after burn
This commit is contained in:
		
							parent
							
								
									c16036b58d
								
							
						
					
					
						commit
						3f3b980b98
					
				@ -26,14 +26,23 @@ except:
 | 
			
		||||
script_links = {}
 | 
			
		||||
mmdvm_logins = []
 | 
			
		||||
 | 
			
		||||
def gen_passphrase(dmr_id):
 | 
			
		||||
    _new_peer_id = bytes_4(int(str(dmr_id)[:7]))
 | 
			
		||||
    calc_passphrase = base64.b64encode(bytes.fromhex(str(hex(libscrc.ccitt((_new_peer_id) + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))))[2:].zfill(4)) + (_new_peer_id) + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))
 | 
			
		||||
##    print(calc_passphrase)
 | 
			
		||||
    if use_short_passphrase == True:
 | 
			
		||||
        return str(calc_passphrase)[-9:-1]
 | 
			
		||||
    elif use_short_passphrase ==False:
 | 
			
		||||
        return str(calc_passphrase)[2:-1]
 | 
			
		||||
##def gen_passphrase(dmr_id):
 | 
			
		||||
##    _new_peer_id = bytes_4(int(str(dmr_id)[:7]))
 | 
			
		||||
##    b_list = create_app().get_burnlist()
 | 
			
		||||
##    print(_new_peer_id)
 | 
			
		||||
####    try:
 | 
			
		||||
##    #if get_burnlist()[_new_peer_id] != 0:
 | 
			
		||||
##    for ui in b_list:
 | 
			
		||||
##        if b_list != 0:
 | 
			
		||||
##            calc_passphrase = base64.b64encode(bytes.fromhex(str(hex(libscrc.ccitt((_new_peer_id) + get_burnlist()[_new_peer_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + get_burnlist()[_new_peer_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))))[2:].zfill(4)) + (_new_peer_id) + get_burnlist()[_new_peer_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + get_burnlist()[_new_peer_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))
 | 
			
		||||
####    except:
 | 
			
		||||
##        else:
 | 
			
		||||
##            calc_passphrase = base64.b64encode(bytes.fromhex(str(hex(libscrc.ccitt((_new_peer_id) + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))))[2:].zfill(4)) + (_new_peer_id) + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))
 | 
			
		||||
####    print(calc_passphrase)
 | 
			
		||||
##    if use_short_passphrase == True:
 | 
			
		||||
##        return str(calc_passphrase)[-9:-1]
 | 
			
		||||
##    elif use_short_passphrase ==False:
 | 
			
		||||
##        return str(calc_passphrase)[2:-1]
 | 
			
		||||
# Query radioid.net for list of IDs
 | 
			
		||||
def get_ids(callsign):
 | 
			
		||||
    try:
 | 
			
		||||
@ -253,6 +262,26 @@ def create_app():
 | 
			
		||||
            edit_user.initial_admin_approved = False
 | 
			
		||||
        db.session.commit()       
 | 
			
		||||
 | 
			
		||||
    def gen_passphrase(dmr_id):
 | 
			
		||||
        _new_peer_id = bytes_4(int(str(dmr_id)[:7]))
 | 
			
		||||
        trimmed_id = int(str(dmr_id)[:7])
 | 
			
		||||
        b_list = get_burnlist()
 | 
			
		||||
        print(b_list)
 | 
			
		||||
        burned = False
 | 
			
		||||
        for ui in b_list.items():
 | 
			
		||||
            print(ui)
 | 
			
		||||
            #print(b_list)
 | 
			
		||||
            if ui[0] == trimmed_id:
 | 
			
		||||
                if ui[0] != 0:
 | 
			
		||||
                    calc_passphrase = base64.b64encode(bytes.fromhex(str(hex(libscrc.ccitt((_new_peer_id) + b_list[trimmed_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + b_list[trimmed_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))))[2:].zfill(4)) + (_new_peer_id) + b_list[trimmed_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + b_list[trimmed_id].to_bytes(2, 'big') + burn_int.to_bytes(2, 'big') + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))
 | 
			
		||||
                    burned = True
 | 
			
		||||
        if burned == False:
 | 
			
		||||
            calc_passphrase = base64.b64encode(bytes.fromhex(str(hex(libscrc.ccitt((_new_peer_id) + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))))[2:].zfill(4)) + (_new_peer_id) + append_int.to_bytes(2, 'big') + bytes.fromhex(str(hex(libscrc.posix((_new_peer_id) + append_int.to_bytes(2, 'big'))))[2:].zfill(8)))
 | 
			
		||||
        if use_short_passphrase == True:
 | 
			
		||||
            return str(calc_passphrase)[-9:-1]
 | 
			
		||||
        elif use_short_passphrase ==False:
 | 
			
		||||
            return str(calc_passphrase)[2:-1]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def update_from_radioid(callsign):
 | 
			
		||||
        edit_user = User.query.filter(User.username == callsign).first()
 | 
			
		||||
@ -330,6 +359,7 @@ def create_app():
 | 
			
		||||
    @app.route('/generate_passphrase', methods = ['GET'])
 | 
			
		||||
    @login_required
 | 
			
		||||
    def gen():
 | 
			
		||||
        #print(str(gen_passphrase(3153591))) #(int(i[0])))
 | 
			
		||||
        try:
 | 
			
		||||
            #content = Markup('<strong>The HTML String</strong>')
 | 
			
		||||
            #user_id = request.args.get('user_id')
 | 
			
		||||
@ -343,7 +373,7 @@ def create_app():
 | 
			
		||||
            #print(id_dict)
 | 
			
		||||
            content = '\n'
 | 
			
		||||
            for i in id_dict.items():
 | 
			
		||||
                if i[1] == '':
 | 
			
		||||
                if isinstance(i[1], int) == True and i[1] != 0:
 | 
			
		||||
                    link_num = str(random.randint(1,99999999)).zfill(8) + str(time.time()) + str(random.randint(1,99999999)).zfill(8)
 | 
			
		||||
                    script_links[i[0]] = link_num
 | 
			
		||||
                    #print(script_links)
 | 
			
		||||
@ -365,6 +395,27 @@ def create_app():
 | 
			
		||||
            <p> </p>
 | 
			
		||||
        '''
 | 
			
		||||
                elif i[1] == 0:
 | 
			
		||||
                    link_num = str(random.randint(1,99999999)).zfill(8) + str(time.time()) + str(random.randint(1,99999999)).zfill(8)
 | 
			
		||||
                    script_links[i[0]] = link_num
 | 
			
		||||
                    #print(script_links)
 | 
			
		||||
                    content = content + '''\n
 | 
			
		||||
<table style="width: 300px;" border="1">
 | 
			
		||||
<tbody>
 | 
			
		||||
<tr>
 | 
			
		||||
<td>
 | 
			
		||||
            <p style="text-align: center;">Your passphrase for <strong>''' + str(i[0]) + '''</strong>:</p>
 | 
			
		||||
            <p style="text-align: center;">Copy and paste: <strong>''' + str(gen_passphrase(int(i[0]))) + '''</strong></p>
 | 
			
		||||
<hr />
 | 
			
		||||
 | 
			
		||||
            <p style="text-align: center;">Phonetically spelled: <span style="text-decoration: underline;"><em>''' + convert_nato(str(gen_passphrase(int(i[0])))) + '''</em></span></p>
 | 
			
		||||
 | 
			
		||||
</td>
 | 
			
		||||
</tr>
 | 
			
		||||
</tbody>
 | 
			
		||||
</table>
 | 
			
		||||
            <p> </p>
 | 
			
		||||
        '''
 | 
			
		||||
                elif i[1] == '':
 | 
			
		||||
                    content = content + '''
 | 
			
		||||
<table style="width: 300px;" border="1">
 | 
			
		||||
<tbody>
 | 
			
		||||
@ -825,6 +876,8 @@ def create_app():
 | 
			
		||||
 | 
			
		||||
        if authorized_peer(dmr_id)[1] == 0:
 | 
			
		||||
            passphrase = gen_passphrase(dmr_id)
 | 
			
		||||
        elif authorized_peer(dmr_id)[1] != 0 and isinstance(authorized_peer(dmr_id)[1], int) == True:
 | 
			
		||||
            passphrase = gen_passphrase(dmr_id)
 | 
			
		||||
        elif authorized_peer(dmr_id)[1] == '':
 | 
			
		||||
            passphrase = legacy_passphrase
 | 
			
		||||
        elif authorized_peer(dmr_id)[1] != '' or authorized_peer(dmr_id)[1] != 0:
 | 
			
		||||
@ -957,10 +1010,10 @@ def create_app():
 | 
			
		||||
 | 
			
		||||
    def get_burnlist():
 | 
			
		||||
        b = BurnList.query.all()
 | 
			
		||||
        print(b)
 | 
			
		||||
        #print(b)
 | 
			
		||||
        burn_dict = {}
 | 
			
		||||
        for i in b:
 | 
			
		||||
            print(i.dmr_id)
 | 
			
		||||
            #print(i.dmr_id)
 | 
			
		||||
            burn_dict[i.dmr_id] = i.version
 | 
			
		||||
        return burn_dict
 | 
			
		||||
        
 | 
			
		||||
@ -1053,7 +1106,7 @@ def create_app():
 | 
			
		||||
    @app.route('/auth', methods=['POST'])
 | 
			
		||||
    def auth():
 | 
			
		||||
        hblink_req = request.json
 | 
			
		||||
        print((hblink_req))
 | 
			
		||||
##        print((hblink_req))
 | 
			
		||||
        if hblink_req['secret'] in shared_secrets:
 | 
			
		||||
            if 'login_id' in hblink_req:
 | 
			
		||||
                if type(hblink_req['login_id']) == int:
 | 
			
		||||
@ -1105,8 +1158,6 @@ def create_app():
 | 
			
		||||
                                              reason='Incorrect password')
 | 
			
		||||
                            response = make_response(msg, 401)
 | 
			
		||||
            elif hblink_req['burn_list']: # == 'burn_list':
 | 
			
		||||
                print('get burn')
 | 
			
		||||
                print(get_burnlist())
 | 
			
		||||
                response = jsonify(
 | 
			
		||||
                                burn_list=get_burnlist()
 | 
			
		||||
                                    )
 | 
			
		||||
@ -1114,7 +1165,6 @@ def create_app():
 | 
			
		||||
        else:
 | 
			
		||||
            message = jsonify(message='Authentication error')
 | 
			
		||||
            response = make_response(message, 401)
 | 
			
		||||
        print(hblink_req)
 | 
			
		||||
        return response
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user