mirror of
				https://github.com/KevinMidboe/mktxp-no-cli.git
				synced 2025-10-29 17:50:23 +00:00 
			
		
		
		
	login support for legacy RouterOS versions below 6.43
This commit is contained in:
		| @@ -71,6 +71,7 @@ The default configuration file comes with a sample configuration, making it easy | |||||||
|     use_ssl = False                 # enables connection via API-SSL servis |     use_ssl = False                 # enables connection via API-SSL servis | ||||||
|     no_ssl_certificate = False      # enables API_SSL connect without router SSL certificate |     no_ssl_certificate = False      # enables API_SSL connect without router SSL certificate | ||||||
|     ssl_certificate_verify = False  # turns SSL certificate verification on / off    |     ssl_certificate_verify = False  # turns SSL certificate verification on / off    | ||||||
|  |     plaintext_login = True          # for legacy RouterOS versions below 6.43 use False | ||||||
|  |  | ||||||
|     installed_packages = True       # Installed packages |     installed_packages = True       # Installed packages | ||||||
|     dhcp = True                     # DHCP general metrics |     dhcp = True                     # DHCP general metrics | ||||||
|   | |||||||
| @@ -64,6 +64,7 @@ class MKTXPConfigKeys: | |||||||
|     SSL_KEY = 'use_ssl' |     SSL_KEY = 'use_ssl' | ||||||
|     NO_SSL_CERTIFICATE = 'no_ssl_certificate' |     NO_SSL_CERTIFICATE = 'no_ssl_certificate' | ||||||
|     SSL_CERTIFICATE_VERIFY = 'ssl_certificate_verify' |     SSL_CERTIFICATE_VERIFY = 'ssl_certificate_verify' | ||||||
|  |     PLAINTEXT_LOGIN_KEY = 'plaintext_login' | ||||||
|  |  | ||||||
|     FE_PACKAGE_KEY = 'installed_packages' |     FE_PACKAGE_KEY = 'installed_packages' | ||||||
|     FE_DHCP_KEY = 'dhcp' |     FE_DHCP_KEY = 'dhcp' | ||||||
| @@ -145,8 +146,8 @@ class MKTXPConfigKeys: | |||||||
|                        SSL_CERTIFICATE_VERIFY, FE_IPV6_FIREWALL_KEY, FE_IPV6_NEIGHBOR_KEY, FE_CONNECTION_STATS_KEY, FE_BGP_KEY} |                        SSL_CERTIFICATE_VERIFY, FE_IPV6_FIREWALL_KEY, FE_IPV6_NEIGHBOR_KEY, FE_CONNECTION_STATS_KEY, FE_BGP_KEY} | ||||||
|  |  | ||||||
|     # Feature keys enabled by default |     # Feature keys enabled by default | ||||||
|     BOOLEAN_KEYS_YES = {FE_DHCP_KEY, FE_PACKAGE_KEY, FE_DHCP_LEASE_KEY, FE_DHCP_POOL_KEY, FE_IP_CONNECTIONS_KEY, FE_INTERFACE_KEY, FE_FIREWALL_KEY, |     BOOLEAN_KEYS_YES = {PLAINTEXT_LOGIN_KEY, FE_DHCP_KEY, FE_PACKAGE_KEY, FE_DHCP_LEASE_KEY, FE_DHCP_POOL_KEY, FE_IP_CONNECTIONS_KEY, FE_INTERFACE_KEY,  | ||||||
|                         FE_MONITOR_KEY, FE_ROUTE_KEY, MKTXP_USE_COMMENTS_OVER_NAMES, |                         FE_FIREWALL_KEY, FE_MONITOR_KEY, FE_ROUTE_KEY, MKTXP_USE_COMMENTS_OVER_NAMES, | ||||||
|                         FE_WIRELESS_KEY, FE_WIRELESS_CLIENTS_KEY, FE_CAPSMAN_KEY, FE_CAPSMAN_CLIENTS_KEY, FE_POE_KEY, |                         FE_WIRELESS_KEY, FE_WIRELESS_CLIENTS_KEY, FE_CAPSMAN_KEY, FE_CAPSMAN_CLIENTS_KEY, FE_POE_KEY, | ||||||
|                         FE_NETWATCH_KEY, FE_PUBLIC_IP_KEY, FE_USER_KEY, FE_QUEUE_KEY} |                         FE_NETWATCH_KEY, FE_PUBLIC_IP_KEY, FE_USER_KEY, FE_QUEUE_KEY} | ||||||
|  |  | ||||||
| @@ -167,7 +168,7 @@ class MKTXPConfigKeys: | |||||||
| class ConfigEntry: | class ConfigEntry: | ||||||
|     MKTXPConfigEntry = namedtuple('MKTXPConfigEntry', [MKTXPConfigKeys.ENABLED_KEY, MKTXPConfigKeys.HOST_KEY, MKTXPConfigKeys.PORT_KEY, |     MKTXPConfigEntry = namedtuple('MKTXPConfigEntry', [MKTXPConfigKeys.ENABLED_KEY, MKTXPConfigKeys.HOST_KEY, MKTXPConfigKeys.PORT_KEY, | ||||||
|                                                        MKTXPConfigKeys.USER_KEY, MKTXPConfigKeys.PASSWD_KEY, |                                                        MKTXPConfigKeys.USER_KEY, MKTXPConfigKeys.PASSWD_KEY, | ||||||
|                                                        MKTXPConfigKeys.SSL_KEY, MKTXPConfigKeys.NO_SSL_CERTIFICATE, MKTXPConfigKeys.SSL_CERTIFICATE_VERIFY, |                                                        MKTXPConfigKeys.SSL_KEY, MKTXPConfigKeys.NO_SSL_CERTIFICATE, MKTXPConfigKeys.SSL_CERTIFICATE_VERIFY, MKTXPConfigKeys.PLAINTEXT_LOGIN_KEY, | ||||||
|                                                        MKTXPConfigKeys.FE_DHCP_KEY, MKTXPConfigKeys.FE_PACKAGE_KEY, MKTXPConfigKeys.FE_DHCP_LEASE_KEY, MKTXPConfigKeys.FE_DHCP_POOL_KEY, MKTXPConfigKeys.FE_INTERFACE_KEY, |                                                        MKTXPConfigKeys.FE_DHCP_KEY, MKTXPConfigKeys.FE_PACKAGE_KEY, MKTXPConfigKeys.FE_DHCP_LEASE_KEY, MKTXPConfigKeys.FE_DHCP_POOL_KEY, MKTXPConfigKeys.FE_INTERFACE_KEY, | ||||||
|                                                        MKTXPConfigKeys.FE_FIREWALL_KEY, MKTXPConfigKeys.FE_MONITOR_KEY, MKTXPConfigKeys.FE_ROUTE_KEY, MKTXPConfigKeys.FE_WIRELESS_KEY, MKTXPConfigKeys.FE_WIRELESS_CLIENTS_KEY, |                                                        MKTXPConfigKeys.FE_FIREWALL_KEY, MKTXPConfigKeys.FE_MONITOR_KEY, MKTXPConfigKeys.FE_ROUTE_KEY, MKTXPConfigKeys.FE_WIRELESS_KEY, MKTXPConfigKeys.FE_WIRELESS_CLIENTS_KEY, | ||||||
|                                                        MKTXPConfigKeys.FE_IP_CONNECTIONS_KEY, MKTXPConfigKeys.FE_CONNECTION_STATS_KEY, MKTXPConfigKeys.FE_CAPSMAN_KEY, MKTXPConfigKeys.FE_CAPSMAN_CLIENTS_KEY, MKTXPConfigKeys.FE_POE_KEY,  |                                                        MKTXPConfigKeys.FE_IP_CONNECTIONS_KEY, MKTXPConfigKeys.FE_CONNECTION_STATS_KEY, MKTXPConfigKeys.FE_CAPSMAN_KEY, MKTXPConfigKeys.FE_CAPSMAN_CLIENTS_KEY, MKTXPConfigKeys.FE_POE_KEY,  | ||||||
|   | |||||||
| @@ -28,6 +28,7 @@ | |||||||
|     use_ssl = False                 # enables connection via API-SSL servis |     use_ssl = False                 # enables connection via API-SSL servis | ||||||
|     no_ssl_certificate = False      # enables API_SSL connect without router SSL certificate |     no_ssl_certificate = False      # enables API_SSL connect without router SSL certificate | ||||||
|     ssl_certificate_verify = False  # turns SSL certificate verification on / off    |     ssl_certificate_verify = False  # turns SSL certificate verification on / off    | ||||||
|  |     plaintext_login = True          # for legacy RouterOS versions below 6.43 use False | ||||||
|  |  | ||||||
|     installed_packages = True       # Installed packages |     installed_packages = True       # Installed packages | ||||||
|     dhcp = True                     # DHCP general metrics |     dhcp = True                     # DHCP general metrics | ||||||
|   | |||||||
| @@ -78,12 +78,8 @@ class RouterAPIConnection: | |||||||
|             return |             return | ||||||
|         try: |         try: | ||||||
|             print(f'Connecting to router {self.router_name}@{self.config_entry.hostname}') |             print(f'Connecting to router {self.router_name}@{self.config_entry.hostname}') | ||||||
|             try: |             self.connection.plaintext_login = self.config_entry.plaintext_login | ||||||
|                 self.api = self.connection.get_api() |             self.api = self.connection.get_api() | ||||||
|             except:                 |  | ||||||
|                 self.connection.plaintext_login = False |  | ||||||
|                 self.api = self.connection.get_api() |  | ||||||
|  |  | ||||||
|             self._set_connect_state(success = True, connect_time = connect_time) |             self._set_connect_state(success = True, connect_time = connect_time) | ||||||
|         except (socket.error, socket.timeout, Exception) as exc: |         except (socket.error, socket.timeout, Exception) as exc: | ||||||
|             self._set_connect_state(success = False, connect_time = connect_time, exc = exc) |             self._set_connect_state(success = False, connect_time = connect_time, exc = exc) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user