Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /usr/local/bin/python3
#!/usr/bin/env python3
# ----------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# ----------------------------------------------------------------------------
Expand All @@ -15,9 +15,13 @@
import re
import argparse
import sys
from distutils.version import StrictVersion

SCRIPT_VERSION = 2.51

def _parse_version(v):
parts = tuple(int(x) for x in v.split('.'))
return parts + (0,) * (3 - len(parts))

SCRIPT_VERSION = 2.52
PY3 = sys.version_info.major == 3

# GENERAL SCRIPT CONSTANTS
Expand Down Expand Up @@ -298,7 +302,7 @@ def is_agent_version_updated():
This function tess whether the agent on the machine is running with this updated agent version.
"""
global IS_AGENT_VERSION_UPDATED
IS_AGENT_VERSION_UPDATED = StrictVersion(UPDATED_AGENT_VERSION) <= StrictVersion(AGENT_VERSION)
IS_AGENT_VERSION_UPDATED = _parse_version(UPDATED_AGENT_VERSION) <= _parse_version(AGENT_VERSION)

@staticmethod
def print_arc_version():
Expand Down Expand Up @@ -588,7 +592,7 @@ def verify_selinux_state(self):
command_to_run = "sudo getenforce 2> /dev/null; if [ $? != 0 ]; then echo 'Disabled'; fi"
result_keywords_array = ["Enforcing"]
command_object = CommandVerification(command_name, command_to_run, result_keywords_array)
if StrictVersion(AGENT_VERSION) < StrictVersion(AGENT_MIN_HARDENING_VERSION):
if _parse_version(AGENT_VERSION) < _parse_version(AGENT_MIN_HARDENING_VERSION):
command_object.run_full_test(True)
if not command_object.is_successful:
print_error(self.SELINUX_RUNNING_ERROR_MESSAGE)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,20 @@
import logging
import os
import re
from distutils.util import strtobool

import azure.functions as func
from datacollector import post_data
from esetinspect import Inspect


def _strtobool(val):
val = val.lower()
if val in ('y', 'yes', 't', 'true', 'on', '1'):
return True
if val in ('n', 'no', 'f', 'false', 'off', '0'):
return False
raise ValueError(f"invalid truth value {val!r}")

# Hack to keep the EI object cached (preventing multiple logins).
# See: https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-reference-python.md#global-variables
ei = None
Expand All @@ -47,8 +55,8 @@ def main(
base_url = os.environ["baseUrl"]
username = os.environ["eiUsername"]
password = os.environ["eiPassword"]
domain = bool(strtobool(os.environ["domainLogin"]))
verify = bool(strtobool(os.environ["verifySsl"]))
domain = bool(_strtobool(os.environ["domainLogin"]))
verify = bool(_strtobool(os.environ["verifySsl"]))
start_from_id = int(os.environ["startFromID"])
workspace_id = os.environ["workspaceId"]
workspace_key = os.environ["workspaceKey"]
Expand Down