From f6d65e2a20f4911323c15a93fcda0bb2c11865bd Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sun, 1 May 2022 18:13:34 +0200 Subject: [PATCH] update project --- agent_based/curl.py | 9 ++- agents/bakery/curl.py | 13 ++--- curl.mkp | Bin 26084 -> 26200 bytes packages/curl | 2 +- web/plugins/wato/curl.py | 120 +++++++++++++++++++-------------------- 5 files changed, 73 insertions(+), 71 deletions(-) diff --git a/agent_based/curl.py b/agent_based/curl.py index cc80a53..2d88a7c 100644 --- a/agent_based/curl.py +++ b/agent_based/curl.py @@ -25,7 +25,7 @@ # 2022-03-18: added regex pattern match # 2022-03-22: added curl_error_code_to_ignore and http_error_code_to_ignore options # 2022-04-06: removed .replace('://', ': //')) from json.loads() so service name is without space -# +# 2022-04-26: made http(s) URLs clickable # Example output from agent: # @@ -267,7 +267,12 @@ def check_curl(item, params, section: Dict[str, Any]) -> CheckResult: ('referer', 'Referer'), ]: if _data['data'].get(key): - value = _data['data'][key].replace('://', ': //') # ugly workaround to stop cmk from replacing the url + value = _data['data'][key] + if value.startswith('http'): + if params.get('clickable_url'): + value = f'<a href={value} target="blank">{value}</a>' + else: + value = f'{value.replace("://", ": //")}' # ugly workaround to stop cmk from replacing the url yield Result(state=State.OK, notice=f'{label}: {value}') if curl_error_code != 0: diff --git a/agents/bakery/curl.py b/agents/bakery/curl.py index 8360d63..50f3ac0 100755 --- a/agents/bakery/curl.py +++ b/agents/bakery/curl.py @@ -51,11 +51,10 @@ # 2022-04-10: added deployment of cURL executables # no separate WATO rules per OS necessary anymore # reworked to make scalable for multiple OSs (THX to andreas.doehler[at]gmail[dot]com) -# removed data adjustments between default and per url settings after WATO rework # from pathlib import Path -from typing import List, Dict, Any +from typing import List, Tuple, Dict, Any from dataclasses import dataclass from cmk.utils import ( @@ -180,8 +179,8 @@ def get_curl_files(conf) -> FileGenerator: _headers = [] # filter options - _options.append(f'--head') if url_settings.get('get_header_only') else None - _options.append(f'--compressed') if url_settings.get('compressed') else None + _options.append(url_settings['get_header_only']) if url_settings.get('get_header_only') else None + _options.append(url_settings['compressed']) if url_settings.get('compressed') else None _options.append(f'--max-time {url_settings["max_time"]}') if url_settings.get('max_time') else None _options.append(f'--speed-time {url_settings["speed_time"]}') if url_settings.get('speed_time') else None _options.append(f'--connect-timeout {url_settings["connect_timeout"]}') if url_settings.get('connect_timeout') else None @@ -239,7 +238,7 @@ def get_curl_files(conf) -> FileGenerator: if url_settings.get('advanced_settings'): allow_beast, cr2lf, no_apln, no_buffering, no_npn, no_sessionid, no_keepalive, \ - path_as_is, tcp_fastopen, tcp_nodelay = url_settings['advanced_settings'] + path_as_is, tcp_fastopen, tcp_nodelay = url_settings['advanced_settings'] _options.append(f'--ssl-allow-beast') if allow_beast else None _options.append(f'--crlf') if cr2lf else None @@ -279,7 +278,7 @@ def get_curl_files(conf) -> FileGenerator: _options.append(f'--ftp-pret') if send_pret else None _options.append(f'--ftp-skip-pasv-ip') if skip_ip else None else: - no_send_eprt, active_address = ftp_mode[1] + no_send_eprt, active_address = ftp_options[1] _options.append(f'--disable-eprt') if no_send_eprt else None _options.append(f'--ftp-port {active_address}') if active_address else None if ftp_options.get('ftp_ssl_control'): @@ -335,7 +334,7 @@ def get_curl_files(conf) -> FileGenerator: except ValueError: # 2022-03-23: added ssh settings insecure, ocsp, no_revoke, cert_chain, pub_md5, pub_sha256, pub_key = url_settings['cert_verify'] - _options.append(f'--insecure') if insecure else None + _options.append(f'--insecure') if insecure else None _options.append(f'--cert-status') if ocsp else None _options.append(f'--ssl-no-revoke') if no_revoke else None _options.append(f'--hostpubmd5 {pub_md5}') if pub_md5 else None diff --git a/curl.mkp b/curl.mkp index 4ca1c975b086b2dad4e2dadc997cff0324fa258a..933bf2ad422fab97d505f1a5703c3b51c058f020 100644 GIT binary patch literal 26200 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 literal 26084 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 diff --git a/packages/curl b/packages/curl index fee221a..cd74d0b 100644 --- a/packages/curl +++ b/packages/curl @@ -26,7 +26,7 @@ 'name': 'curl', 'num_files': 6, 'title': 'cURL agent plugin', - 'version': '20220411.v0.1.7', + 'version': '20220426.v0.1.8a', 'version.min_required': '2.0.0', 'version.packaged': '2021.09.20', 'version.usable_until': None} \ No newline at end of file diff --git a/web/plugins/wato/curl.py b/web/plugins/wato/curl.py index d24e839..6a5fce5 100644 --- a/web/plugins/wato/curl.py +++ b/web/plugins/wato/curl.py @@ -67,35 +67,34 @@ # 2022-03-28: added options --mail-auth, --mail-from, --mail-rcpt, --mail-rcpt-allowfails, --crlf, --upload-file (SMTP) # 2022-04-10: added options to deploy cURL executable, no separate rules for curl and curl executable anymore # windows/linux summarized under on option, no separate WATO rules per OS necessary anymore -# replaced most CascadingDropdown with Alternative to avoid the need for adusting default and url settings -# in the bakery -# 2020-04-11: fixed user-agent per url (changed from CascadingDropdown to Alternative) +# 2022-04-26: added check option clickable_url +# clarified option 'Don\'t verify certificate/pub key', 'Don\'t stop at verify errors (certificate/pub key)' # import ipaddress from cmk.gui.i18n import _ from cmk.gui.exceptions import MKUserError from cmk.gui.valuespec import ( - Age, - Alternative, - CAorCAChain, - CascadingDropdown, - Checkbox, Dictionary, - DropdownChoice, + ListOf, + CascadingDropdown, + TextUnicode, FixedValue, - Foldable, Integer, - ListOf, - ListOfStrings, + Tuple, + DropdownChoice, MonitoringState, - Optional, + ListOfStrings, TextInput, - TextUnicode, + Checkbox, Transform, - Tuple, - UploadOrPasteTextFile, + CAorCAChain, + Optional, + Foldable, + Age, # Url, + UploadOrPasteTextFile, + Alternative, ) from cmk.gui.plugins.wato import ( rulespec_registry, @@ -111,7 +110,7 @@ from cmk.gui.cee.plugins.wato.agent_bakery.rulespecs.utils import ( RulespecGroupMonitoringAgentsAgentPlugins, ) -bakery_plugin_version = '20220410.v0.0.7' +bakery_plugin_version = '20220426.v0.0.8' # unsafe characters https://www.tutorialspoint.com/html/html_url_encoding.htm forbidden_chars = '"<>#%{}|\^~[]` \'' @@ -140,6 +139,13 @@ _limits_no_transform = [ ] _curl_check_elements = [ + ('clickable_url', + FixedValue( + True, + title=_('Render clickable URLs for HTTP/HTTPS (see Inline help)'), + totext=_(''), + help=_('Needs "Escape HTML in service output" rule or in Global settings enabled to work.') + )), ('state_item_not_found', MonitoringState( default_value=1, @@ -361,7 +367,8 @@ _option_verify_remote_host = ('cert_verify', Tuple( title='Configure verification of remote host (certificate/pub key)', elements=[ - Checkbox('Don\'t verify certificate/pub key'), + # Checkbox('Don\'t verify certificate/pub key'), + Checkbox('Don\'t stop at verify errors (certificate/pub key)'), Checkbox('Use OCSP to check certificate status'), Checkbox('Disable cert revocation checks (WinSSL)'), Optional(Foldable(CAorCAChain()), label='Certificate to verify against', ), @@ -392,8 +399,7 @@ _option_regex_response = ('regex_response', elements=[ TextUnicode( label=_('Regular expression'), - placeholder=_('If empty regex search will be disabled'), - size=70, + placeholder=_('If empty regex search will be disabled') ), Checkbox('Case insensitive'), Checkbox('Multiline string matching'), @@ -419,17 +425,17 @@ _option_advanced_settings = ('advanced_settings', _options_get_header_only = ('get_header_only', FixedValue( - True, - # help=_('cURL will will only download headers. Implements the "--head" option'), + '--head', title=_('Get header only'), - totext=_(''), + totext=_('Only headers will be downloaded'), + help=_('cURL will will only download headers. Implements the "--head" option'), )) _url_get_header_only = ('get_header_only', - Alternative( + DropdownChoice( title=_('Get Header only'), - elements=[ - _options_get_header_only[1], - FixedValue(None, title=_('Get the hole document'), totext=_('')), + choices=[ + ('--head', _('Get header only')), + ('', _('Get the hole document')), ], )) @@ -480,12 +486,8 @@ _option_auth_priv_key = ('priv_key_auth', title=_('Pass phrase'), allow_empty=False, ), - Foldable( - UploadOrPasteTextFile( - title='Private key', - file_title='Private key (PEM)' - ), - title='Private key'), + Foldable(UploadOrPasteTextFile(title='Private key', file_title='Private key (PEM)'), + title='Private key'), ] )) _option_auth = ('user_auth', @@ -530,6 +532,7 @@ _option_proxy_server = ('proxy_server', ], orientation='horizontal', )) + _option_proxy_auth = ('proxy_auth', Tuple( title=_('Proxy authentication'), @@ -561,6 +564,7 @@ _option_proxy_auth = ('proxy_auth', ]), ], )) + _options_proxy = ('http_proxy', Alternative( title=_('Configure proxy server'), @@ -672,7 +676,7 @@ _option_ftp_settings = ('ftp_settings', ('ftp_create_dirs', FixedValue( True, title=_('Create remote dir(s)'), - totext=_('') + totext=_('enabled') )), ('ftp_change_cwd_method', DropdownChoice( title=_('Change working directory method'), @@ -733,17 +737,17 @@ _option_ftp_settings = ('ftp_settings', ('compressed_ssh', FixedValue( True, title=_('Enable ssh compression'), - totext=_(''), + totext=_('enabled'), )), ('list_only', FixedValue( True, title=_('Enable list only'), - totext=_(''), + totext=_('enabled'), )), ('use_ascii', FixedValue( True, title=_('Enable ASCII transfer'), - totext=_(''), + totext=_('enabled'), )), ], ), @@ -850,7 +854,7 @@ _option_mail_settings = ('mail_settings', ('mail_rpct_allowfail', FixedValue( True, title=_('Allow some mail to addresses to fail'), - totext=_('') + totext=_('enabled') )) ] ), @@ -880,7 +884,7 @@ _option_api_key_header = ('api_key_header', )) _url_api_key_header = ('api_key_header', Alternative( - title=_('Override API key header'), + title=_('Set API key header'), elements=[ _option_api_key_header[1], FixedValue(None, title=_('Don\'t configure an API key header'), totext=_('')), @@ -1063,11 +1067,13 @@ _option_user_agent = ('user_agent', forbidden_chars='"|' )) _url_user_agent = ('user_agent', - Alternative( - title=_('Override user agent'), - elements=[ - _option_user_agent[1], - FixedValue(None, title=_('Don\'t configure a user agent'), totext=_('')), + CascadingDropdown( + title=_('Set user agent'), + sorted=False, + choices=[ + ('user_agent', _('Override default user agent'), + _option_user_agent[1],), + ('', _('Don\'t configure a user agent')), ], )) @@ -1090,20 +1096,20 @@ _url_referer = ('referer', _options_compressed = ('compressed', FixedValue( - True, + '--compressed', title=_('Request compressed response'), - totext=_(''), + totext=_('Request compressed response enabled'), )) _url_compressed = ('compressed', - Alternative( + DropdownChoice( title=_('Request compressed response'), - elements=[ - _options_compressed[1], - FixedValue(None, title=_('Don\'t Request compressed response'), totext=_('')), + choices=[ + ('--compressed', _('Request compressed response')), + ('', _('Don\'t Request compressed response')), ], )) -_options_post = ('post_binary', +_option_post = ('post_binary', Tuple( title=_('Send HTTP POST data'), elements=[ @@ -1123,14 +1129,6 @@ _options_post = ('post_binary', ), ] )) -_url_post = ('post_binary', - Alternative( - title=_('Override send HTTP POST data'), - elements=[ - _options_post[1], - FixedValue(None, title='Don\'t send HTTP POST data', totext=_('')), - ] - )) _option_url_settings = ('url_settings', Foldable( @@ -1144,7 +1142,7 @@ _option_url_settings = ('url_settings', _url_get_header_only, _option_regex_response, _url_compressed, - _url_post, + _option_post, _url_api_key_header, _url_referer, _url_request_headers, @@ -1227,7 +1225,7 @@ _option_default_settings = ('default_settings', _options_get_header_only, _option_regex_response, _options_compressed, - _options_post, + _option_post, _option_api_key_header, _option_referer, _option_request_headers, -- GitLab