From 1921fccdc2af43d936aaf0256622535a5608bc92 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Sun, 28 Apr 2024 21:44:53 +0200
Subject: [PATCH] update project

---
 README.md                                     |   2 +-
 mkp/check_radius-0.1.1-20240428.mkp           | Bin 0 -> 10578 bytes
 source/gui/metrics/check_radius.py            |   5 +-
 .../gui/wato/check_parameters/check_radius.py |  15 ++-
 source/lib/nagios/plugins/check_radius        |  14 +--
 source/lib/nagios/plugins/dictionary          |  11 +++
 .../lib/nagios/plugins/dictionary.freeradius  |  91 ------------------
 source/packages/check_radius                  |   9 +-
 8 files changed, 40 insertions(+), 107 deletions(-)
 create mode 100644 mkp/check_radius-0.1.1-20240428.mkp
 delete mode 100755 source/lib/nagios/plugins/dictionary.freeradius

diff --git a/README.md b/README.md
index 0ddcade..de66089 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[PACKAGE]: ../../raw/master/mkp/check_radius-0.1.0-20240428.mkp "check_radius-0.1.0-20240428.mkp"
+[PACKAGE]: ../../raw/master/mkp/check_radius-0.1.1-20240428.mkp "check_radius-0.1.1-20240428.mkp"
 [PYRADLIB]: ../../raw/master/mkp/pyrad-2.4.0-240421.mkp "pyrad-2.4.0-240421.mkp"
 
 This is a (very) basic active RADIUS check. Tests if a RADIUS server is responsive (accept/reject/timeout). There is (limited) support to add AV-pairs to the RADIUS request.
diff --git a/mkp/check_radius-0.1.1-20240428.mkp b/mkp/check_radius-0.1.1-20240428.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..eb41f06b9cd46531cfa8f267a7cf3d78e009815a
GIT binary patch
literal 10578
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

literal 0
HcmV?d00001

diff --git a/source/gui/metrics/check_radius.py b/source/gui/metrics/check_radius.py
index 67790d9..73f5873 100644
--- a/source/gui/metrics/check_radius.py
+++ b/source/gui/metrics/check_radius.py
@@ -3,6 +3,7 @@
 #
 # License: GNU General Public License v2
 #
+#
 # Author: thl-cmk[at]outlook[dot]com
 # URL   : https://thl-cmk.hopto.org
 # Date  : 2024-04-21
@@ -38,6 +39,6 @@ graph_info['check_radius_time'] = {
 perfometer_info.append({
     'type': 'logarithmic',
     'metric': 'radius_response_time',
-    'half_value': 1.0,
-    'exponent': 10.0,
+    'half_value': 0.1,  # 100 ms
+    'exponent': 2.0,
 })
diff --git a/source/gui/wato/check_parameters/check_radius.py b/source/gui/wato/check_parameters/check_radius.py
index 71dd1d8..c3092ec 100644
--- a/source/gui/wato/check_parameters/check_radius.py
+++ b/source/gui/wato/check_parameters/check_radius.py
@@ -6,7 +6,7 @@
 #
 # Author: thl-cmk[at]outlook[dot]com
 # URL   : https://thl-cmk.hopto.org
-# Date  : 2022-10-04
+# Date  : 2024-04-21
 # File  : wato/active_checks_radius.py
 #
 # 2024-01-01: modified for cmk 2.2.x
@@ -159,6 +159,18 @@ _service_type = Tuple(
         ),
     ],
 )
+_cisco_av_pair = Tuple(
+    title='Cisco-AVPair',
+    orientation='horizontal',
+    elements=[
+        FixedValue('Cisco-AVPair'),
+        TextInput(
+            size=20,
+            placeholder='method=mab',
+            allow_empty=False,
+        ),
+    ],
+)
 
 
 def _valuespec_active_checks_radius():
@@ -237,6 +249,7 @@ def _valuespec_active_checks_radius():
                                       elements=[
                                           _called_station_id,
                                           _calling_station_id,
+                                          _cisco_av_pair,
                                           _framed_mtu,
                                           _nas_identifier,
                                           _nas_ip_address,
diff --git a/source/lib/nagios/plugins/check_radius b/source/lib/nagios/plugins/check_radius
index 2147c1f..79568a9 100755
--- a/source/lib/nagios/plugins/check_radius
+++ b/source/lib/nagios/plugins/check_radius
@@ -57,7 +57,7 @@ class Args(Namespace):
     state_not_expected_response: int
 
 
-VERSION = '0.1.0-20240428'
+VERSION = '0.1.1-20240428'
 
 cmk_state = {
     0: '',
@@ -74,7 +74,7 @@ response_str = {
 def parse_arguments(argv: Sequence[str]) -> Args:
     def _av_pair(s):
         try:
-            name, value = s.split(':')
+            name, value = s.split(':', 1)
             return name, value
         except ValueError:
             raise ArgumentTypeError("AV-Pairs must be in the form of name:vale")
@@ -106,18 +106,18 @@ def parse_arguments(argv: Sequence[str]) -> Args:
         help='secret RADIUS key',
     )
     parser.add_argument(
-        '--username', default='dummyuser', required=True,
+        '--username', default='dummyuser',
         help='user name to test with',
     )
     parser.add_argument(
-        '--password', default='dummypassword', required=True,
+        '--password', default='dummypassword',
         help='user password to test with',
     )
     #
     # optional request parameters
     #
     parser.add_argument(
-        '--auth_port', type=int, default=1812,
+        '--auth-port', type=int, default=1812,
         help='RADIUS authentication port to use.',
     )
     parser.add_argument(
@@ -197,7 +197,7 @@ def main(args=None):
     for av_pair in args.request_attribute:
         name, value = av_pair[0]
         try:
-            rad_req[name] = value
+            rad_req.AddAttribute(name, value)
         except TypeError:
             sys_stdout.write(
                 f'WARNING: attribute value must be the real value not the name of the '
@@ -233,7 +233,7 @@ def main(args=None):
         long_output.append(message)
 
         # third: check response time
-        message = f'Response time {response_time * 1000:.0f}ms'
+        message = f'Response time {response_time * 1000:.0f} ms'
         if args.max_response_time:
             warn, crit = args.max_response_time
             warn = warn
diff --git a/source/lib/nagios/plugins/dictionary b/source/lib/nagios/plugins/dictionary
index 125de2f..f7a30ca 100755
--- a/source/lib/nagios/plugins/dictionary
+++ b/source/lib/nagios/plugins/dictionary
@@ -444,3 +444,14 @@ VALUE   Tunnel-Medium-Type              Appletalk               12
 VALUE   Tunnel-Medium-Type              DecNet-IV               13
 VALUE   Tunnel-Medium-Type              Banyan-Vines            14
 VALUE   Tunnel-Medium-Type              E.164-NSAP              15
+
+#
+#  Cisco AV Pair
+#
+VENDOR          Cisco                           9
+
+BEGIN-VENDOR    Cisco
+
+ATTRIBUTE       Cisco-AVPair                            1       string
+
+END-VENDOR      Cisco
diff --git a/source/lib/nagios/plugins/dictionary.freeradius b/source/lib/nagios/plugins/dictionary.freeradius
deleted file mode 100755
index dc9fb22..0000000
--- a/source/lib/nagios/plugins/dictionary.freeradius
+++ /dev/null
@@ -1,91 +0,0 @@
-# -*- text -*-
-# Copyright (C) 2015 The FreeRADIUS Server project and contributors
-#
-#	The FreeRADIUS Vendor-Specific dictionary.
-#
-# Version:	$Id: ea468da88509aeff96b6f0d38ebc97411b9775b3 $
-#
-#	For a complete list of Private Enterprise Codes, see:
-#
-#	http://www.isi.edu/in-notes/iana/assignments/enterprise-numbers
-#
-
-VENDOR		FreeRADIUS			11344
-
-BEGIN-VENDOR	FreeRADIUS
-
-#
-#  This attribute is really a bitmask.
-#
-ATTRIBUTE	FreeRADIUS-Statistics-Type		127	integer
-
-VALUE	FreeRADIUS-Statistics-Type	None			0
-VALUE	FreeRADIUS-Statistics-Type	Authentication		1
-VALUE	FreeRADIUS-Statistics-Type	Accounting		2
-VALUE	FreeRADIUS-Statistics-Type	Proxy-Authentication	4
-VALUE	FreeRADIUS-Statistics-Type	Proxy-Accounting	8
-VALUE	FreeRADIUS-Statistics-Type	Internal		0x10
-VALUE	FreeRADIUS-Statistics-Type	Client			0x20
-VALUE	FreeRADIUS-Statistics-Type	Server			0x40
-VALUE	FreeRADIUS-Statistics-Type	Home-Server		0x80
-
-VALUE	FreeRADIUS-Statistics-Type	Auth-Acct		0x03
-VALUE	FreeRADIUS-Statistics-Type	Proxy-Auth-Acct		0x0c
-
-VALUE	FreeRADIUS-Statistics-Type	All			0x1f
-
-#
-#   FreeRADIUS statistic result attributes
-#
-ATTRIBUTE   FreeRADIUS-Total-Access-Requests   128 integer
-ATTRIBUTE   FreeRADIUS-Total-Access-Accepts   129 integer
-ATTRIBUTE   FreeRADIUS-Total-Access-Rejects   130 integer
-ATTRIBUTE   FreeRADIUS-Total-Access-Challenges   131 integer
-ATTRIBUTE   FreeRADIUS-Total-Auth-Responses   132 integer
-ATTRIBUTE   FreeRADIUS-Total-Auth-Duplicate-Requests   133 integer
-ATTRIBUTE   FreeRADIUS-Total-Auth-Malformed-Requests   134 integer
-ATTRIBUTE   FreeRADIUS-Total-Auth-Invalid-Requests   135 integer
-ATTRIBUTE   FreeRADIUS-Total-Auth-Dropped-Requests   136 integer
-ATTRIBUTE   FreeRADIUS-Total-Auth-Unknown-Types   137 integer
-
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Access-Requests   138 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Access-Accepts   139 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Access-Rejects   140 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Access-Challenges   141 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Auth-Responses   142 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Auth-Duplicate-Requests   143 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Auth-Malformed-Requests   144 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Auth-Invalid-Requests   145 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Auth-Dropped-Requests   146 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Auth-Unknown-Types   147 integer
-
-ATTRIBUTE   FreeRADIUS-Total-Accounting-Requests   148 integer
-ATTRIBUTE   FreeRADIUS-Total-Accounting-Responses   149 integer
-ATTRIBUTE   FreeRADIUS-Total-Acct-Duplicate-Requests   150 integer
-ATTRIBUTE   FreeRADIUS-Total-Acct-Malformed-Requests   151 integer
-ATTRIBUTE   FreeRADIUS-Total-Acct-Invalid-Requests   152 integer
-ATTRIBUTE   FreeRADIUS-Total-Acct-Dropped-Requests   153 integer
-ATTRIBUTE   FreeRADIUS-Total-Acct-Unknown-Types   154 integer
-
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Accounting-Requests   155 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Accounting-Responses   156 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Acct-Duplicate-Requests   157 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Acct-Malformed-Requests   158 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Acct-Invalid-Requests   159 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Acct-Dropped-Requests   160 integer
-ATTRIBUTE   FreeRADIUS-Total-Proxy-Acct-Unknown-Types   161 integer
-
-ATTRIBUTE   FreeRADIUS-Queue-Len-Internal   162 integer
-ATTRIBUTE   FreeRADIUS-Queue-Len-Proxy   163 integer
-ATTRIBUTE   FreeRADIUS-Queue-Len-Auth   164 integer
-ATTRIBUTE   FreeRADIUS-Queue-Len-Acct   165 integer
-ATTRIBUTE   FreeRADIUS-Queue-Len-Detail   166 integer
-
-ATTRIBUTE   FreeRADIUS-Stats-Start-Time   176 date
-ATTRIBUTE   FreeRADIUS-Stats-HUP-Time   177 date
-
-ATTRIBUTE   FreeRADIUS-Queue-PPS-In   181 integer
-ATTRIBUTE   FreeRADIUS-Queue-PPS-In   182 integer
-
-
-END-VENDOR FreeRADIUS
\ No newline at end of file
diff --git a/source/packages/check_radius b/source/packages/check_radius
index bff1f3c..7bbd0d9 100644
--- a/source/packages/check_radius
+++ b/source/packages/check_radius
@@ -6,17 +6,16 @@
                 ' - (limited) support to add AV-pairs to the RADIUS request\n'
                 ' - checks response code, response time and number of response '
                 'attributes\n'
-                '\n',
+                '\n'
+                'NOTE: this plugin needs _pyrad_ to work.\n',
  'download_url': 'https://thl-cmk.hopto.org',
  'files': {'checks': ['check_radius'],
            'gui': ['metrics/check_radius.py',
                    'wato/check_parameters/check_radius.py'],
-           'lib': ['nagios/plugins/check_radius',
-                   'nagios/plugins/dictionary',
-                   'nagios/plugins/dictionary.freeradius']},
+           'lib': ['nagios/plugins/check_radius', 'nagios/plugins/dictionary']},
  'name': 'check_radius',
  'title': 'Check RADIUS',
- 'version': '0.1.0-20240428',
+ 'version': '0.1.1-20240428',
  'version.min_required': '2.2.0b1',
  'version.packaged': '2.2.0p24',
  'version.usable_until': None}
-- 
GitLab