From b65c5951b113fa02debcd86ee75bde4ce6ab8a66 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Mon, 6 May 2024 14:56:32 +0200
Subject: [PATCH] update project

---
 README.md                            |   2 +-
 mkp/agent_ssllabs-2.0.3-20240506.mkp | Bin 0 -> 9814 bytes
 source/agent_based/ssllabs_grade.py  |  18 +++++++++---------
 source/packages/agent_ssllabs        |   2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)
 create mode 100644 mkp/agent_ssllabs-2.0.3-20240506.mkp

diff --git a/README.md b/README.md
index 57d5c53..8f94bd6 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[PACKAGE]: ../../raw/master/mkp/agent_ssllabs-2.0.2-20240504.mkp "agent_ssllabs-2.0.2-20240504.mkp"
+[PACKAGE]: ../../raw/master/mkp/agent_ssllabs-2.0.3-20240506.mkp "agent_ssllabs-2.0.3-20240506.mkp"
 # Qualys SSL Labs REST API special agent
 
 This Agent uses die Qualys SSL Labs REST API to scan a list of servers for there SSL status. The plugin will check the given server and all end points reported by the SSL Labs scan.
diff --git a/mkp/agent_ssllabs-2.0.3-20240506.mkp b/mkp/agent_ssllabs-2.0.3-20240506.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..17a451697311f24e8902c2aeb8387697310e6fc9
GIT binary patch
literal 9814
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

literal 0
HcmV?d00001

diff --git a/source/agent_based/ssllabs_grade.py b/source/agent_based/ssllabs_grade.py
index 4355f1f..01c3fb8 100644
--- a/source/agent_based/ssllabs_grade.py
+++ b/source/agent_based/ssllabs_grade.py
@@ -12,8 +12,7 @@
 # based on the ssllabs plugin from Karsten Schoeke karsten.schoeke@geobasis-bb.de
 # see https://exchange.checkmk.com/p/ssllabs
 
-# 2021-05-15: rewritten for CMK 2.0 by thl-cmk[at]outlook[dot]com
-#             moved to ~/local/lib/check_mk/base/plugins/agent_based
+# 2024-05-06: added pending to ok states for end points
 
 
 # sample string_table:
@@ -22,7 +21,7 @@
 #         "host": "thl-cmk.hopto.org",
 #         "port": 443,
 #         "protocol": "http",
-#         "isPublic": false,
+#         "isPublic": False,
 #         "status": "READY",
 #         "startTime": 1714559152230,
 #         "testTime": 1714559237958,
@@ -35,8 +34,8 @@
 #                 "statusMessage": "Ready",
 #                 "grade": "A+",
 #                 "gradeTrustIgnored": "A+",
-#                 "hasWarnings": false,
-#                 "isExceptional": true,
+#                 "hasWarnings": False,
+#                 "isExceptional": True,
 #                 "progress": 100,
 #                 "duration": 85530,
 #                 "delegation": 1
@@ -47,7 +46,7 @@
 #         "host": "checkmk.com",
 #         "port": 443,
 #         "protocol": "http",
-#         "isPublic": false,
+#         "isPublic": False,
 #         "status": "IN_PROGRESS",
 #         "startTime": 1714563744895,
 #         "engineVersion": "2.3.0",
@@ -59,8 +58,8 @@
 #                 "statusMessage": "Ready",
 #                 "grade": "A+",
 #                 "gradeTrustIgnored": "A+",
-#                 "hasWarnings": false,
-#                 "isExceptional": true,
+#                 "hasWarnings": False,
+#                 "isExceptional": True,
 #                 "progress": 100,
 #                 "duration": 72254,
 #                 "delegation": 1
@@ -296,7 +295,7 @@ def check_status(params: Mapping[str: any], end_points: Sequence[SSLLabsEndpoint
     for end_point in end_points:
         name = f'{end_point.server_name}/{end_point.ip_address}'
 
-        if end_point.status_message.lower() not in ['ready', 'in progress']:
+        if end_point.status_message.lower() not in ['ready', 'in progress', 'pending']:
             yield Result(state=State.WARN, notice=f'Status {name}: {end_point.status_message}')
 
 
@@ -304,6 +303,7 @@ def check_ssllabs_grade(item: str, params: Mapping[str: any], section: SECTION)
     try:
         ssl_host: SSLLabsHost = section[item]
     except KeyError:
+        yield Result(state=State.UNKNOWN, summary=f'Item not found in monitoring data. ({str(section)})')
         return None
 
     value_store = get_value_store()
diff --git a/source/packages/agent_ssllabs b/source/packages/agent_ssllabs
index 408362c..f61ea8a 100644
--- a/source/packages/agent_ssllabs
+++ b/source/packages/agent_ssllabs
@@ -15,7 +15,7 @@
            'web': ['plugins/wato/agent_ssllabs.py']},
  'name': 'agent_ssllabs',
  'title': 'ssllabs api check',
- 'version': '2.0.2-20240504',
+ 'version': '2.0.3-20240506',
  'version.min_required': '2.2.0b1',
  'version.packaged': '2.2.0p24',
  'version.usable_until': None}
-- 
GitLab