From d1ba1c575c36033a743cdc6ae83acdf959fad997 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Thu, 12 May 2022 20:37:38 +0200 Subject: [PATCH] update project --- agent_based/utils/bgp_peer.py | 33 +++++++++++---------------------- bgp_peer.mkp | Bin 15539 -> 15458 bytes packages/bgp_peer | 2 +- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/agent_based/utils/bgp_peer.py b/agent_based/utils/bgp_peer.py index 5044f8c..2df40ce 100644 --- a/agent_based/utils/bgp_peer.py +++ b/agent_based/utils/bgp_peer.py @@ -15,10 +15,11 @@ # 2022-05-09: added item to BgpPeer class, this is used in the discovery function # 2022-05-11: changed bgp_get_peer_entry to get proper parameters instead of Nontransparent list # added remote_as to BgpPeerItem +# 2022-05-12: merged bgp_get_ip_address_from_oid with bgp_render_ip_address +# changed IPv6 address format to lower case as required by rfc5952 section-4.3 (this affects IPv6 peers) import requests import json -import re import ipaddress from typing import List, Tuple, Optional, Dict, TypedDict from dataclasses import dataclass @@ -162,23 +163,6 @@ def bgp_error_as_string(error_code: List[int]): return names[main_code].get(sub_code) -def bgp_shorten_ipv6_address(address): - address = address.split(':') - span = 2 - address = [''.join(address[i:i + span]) for i in range(0, len(address), span)] - for m in range(0, len(address)): - address[m] = re.sub(r'^0{1,3}', r'', address[m]) - address = ':'.join(address) - zeros = ':0:0:0:0:0:0:' - while not zeros == '': - if zeros in address: - address = re.sub(r'%s' % zeros, r'::', address) - zeros = '' - else: - zeros = zeros[:-2] - return address - - def bgp_render_ip_address(addr_type: str, addr: List[int]) -> str: if addr_type == '1': return '.'.join([str(m) for m in addr]) @@ -204,11 +188,16 @@ def bgp_get_ip_address_from_oid(oid_end): # u'2.16.42.5.87.192.0.0.255.255.0.0.0.0.0.0.0.17.2.1' --> 42.5.87.192.0.0.255.255.0.0.0.0.0.0.0.17 ip_address = '' oid_end = oid_end.split('.') - if int(oid_end[1]) == 4: # length of ip address + addr_type = oid_end[0] + addr_length = oid_end[1] + + if addr_type == '1' and addr_length == '4': # length of ip address ip_address = '.'.join(oid_end[2:6]) # ipv4 address - elif int(oid_end[1]) == 16: # ipv6 address - ip_address = ':'.join('%02s' % hex(int(m))[2:] for m in oid_end[2:18]).replace(' ', '0').upper() - ip_address = bgp_shorten_ipv6_address(ip_address) + elif addr_type == '2' and addr_length == '16': # ipv6 address + ip_address = [] + # change list of str to lis of int + ip_address += [int(m) for m in oid_end[2:18]] + ip_address = bgp_render_ip_address(addr_type, ip_address) return ip_address diff --git a/bgp_peer.mkp b/bgp_peer.mkp index 58bc433251708009dd4eca1bf321978f840f5dfe..5ea76ce9f187f0ebb571ca7b8fe7f1074530e1c5 100644 GIT binary patch literal 15458 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�bB!@V%v0jY;uEtp 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 literal 15539 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 Y+LI&%bN^3~Ap4E-NegHJn1KQQ5AMTXdH?_b diff --git a/packages/bgp_peer b/packages/bgp_peer index dfcc8b9..fc7af17 100644 --- a/packages/bgp_peer +++ b/packages/bgp_peer @@ -20,7 +20,7 @@ 'name': 'bgp_peer', 'num_files': 8, 'title': 'BGP Peer State Check', - 'version': '20220511.v1.8', + 'version': '20220512.v1.8', 'version.min_required': '2.0.0', 'version.packaged': '2021.09.20', 'version.usable_until': None} \ No newline at end of file -- GitLab