Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
199 commits
Select commit Hold shift + click to select a range
2f27f2b
change error to non-compliant switch arp
hitnik Jul 13, 2026
68c63ce
return non-compliant result when device does not respond to ping for …
hitnik Jul 13, 2026
6b9027c
dech disconnect test
hitnik Jul 13, 2026
d16c81d
connection dhc ip changed non-comliant result
hitnik Jul 13, 2026
1154030
docker lint
hitnik Jul 20, 2026
707a8d0
fix faux-dev dockerfile
hitnik Jul 20, 2026
536b8ef
fix faux-dev mistake
hitnik Jul 20, 2026
324dec9
base network dockerfile
hitnik Jul 20, 2026
ed10953
dchp dockerfiles
hitnik Jul 20, 2026
a1097fa
fix dns dockerfile
hitnik Jul 20, 2026
ed9f01f
host ntp radius
hitnik Jul 20, 2026
bb84e1a
tests base conn dns
hitnik Jul 20, 2026
8efe041
ntp protocol dockerfiles
hitnik Jul 20, 2026
db16070
services tsl dockerfiles
hitnik Jul 20, 2026
89f061d
ci_baseline and ci_test_device_1
hitnik Jul 20, 2026
00e1cde
device bacnet compliant
hitnik Jul 20, 2026
51356a1
dns compliant
hitnik Jul 20, 2026
977e66a
dns non-compliant
hitnik Jul 20, 2026
7ee5893
ntp_compliant dockerfile
hitnik Jul 20, 2026
3800362
ntp_non_compliant
hitnik Jul 20, 2026
93ac360
protocol compliant dockerfile
hitnik Jul 20, 2026
bc46885
fix mistake
hitnik Jul 21, 2026
561d747
sevices_compliant dockerfile
hitnik Jul 21, 2026
97205c5
services_non_compliant dockerfile
hitnik Jul 21, 2026
c3b0154
enable trivy
hitnik Jul 23, 2026
d4ebc7e
update cryptograpy to 49.0.0
hitnik Jul 23, 2026
c0e67dd
update python-multipart
hitnik Jul 23, 2026
1394071
update brace-expansion
hitnik Jul 23, 2026
70ad2ae
package-lock
hitnik Jul 23, 2026
db439c4
fix testsuite
hitnik Jul 23, 2026
5fb3bd0
[TR] - [Github] - Run time of job Network Orchestrator was missed by …
sofyakurilova Jul 24, 2026
197ee74
[TR] The v1.3 information is shown in the test for TLS 1.2 server (#1…
sofyakurilova Jul 24, 2026
30aa0e3
update dependencies (#1609)
sofyakurilova Jul 27, 2026
a621829
TLS test text should be updated in case nothing was detected (#1607)
sofyakurilova Jul 28, 2026
6d8b6ec
The error occurred on the old risk profile update (#1611)
sofyakurilova Jul 28, 2026
3e6d332
enable shellcheck
hitnik Jul 27, 2026
5dfaea6
remove dst port
hitnik Jul 27, 2026
54431ae
fix windows svreated file
hitnik Jul 27, 2026
d36c432
fix get_packets_count
hitnik Jul 27, 2026
8aa4100
refactor entrypoint.sh
hitnik Jul 27, 2026
4881d25
fix ci_test_device/ntp_compliant
hitnik Jul 27, 2026
9ce8e9b
refactor ci_test_device1 entrypoint.sh
hitnik Jul 27, 2026
fec92b9
fix bacnet services scripts
hitnik Jul 27, 2026
b2d2ca9
fix service_non_compliant bash script
hitnik Jul 27, 2026
c1dbac1
dns compliant non-compliant bash scripts
hitnik Jul 27, 2026
38c3764
protocol compliant bash script
hitnik Jul 27, 2026
57d0f0d
ntp_non_compliant bash script
hitnik Jul 27, 2026
c19051d
test_tests bash script
hitnik Jul 27, 2026
c822e57
test_baseline script
hitnik Jul 27, 2026
6322a9d
package script
hitnik Jul 27, 2026
237504f
install script
hitnik Jul 27, 2026
0fad704
build script
hitnik Jul 27, 2026
ffb6355
testrun script
hitnik Jul 27, 2026
e4a0f31
Revert "package script"
hitnik Jul 27, 2026
30aa47f
package script command warning
hitnik Jul 27, 2026
562573d
disable make check
hitnik Jul 27, 2026
77d986d
enable semgrep
hitnik Jul 30, 2026
36a8b09
exclude allow origins
hitnik Jul 30, 2026
718b569
pylint
hitnik Jul 30, 2026
260acf4
move disable comment
hitnik Jul 30, 2026
ae48898
disab;e semgrep for report template
hitnik Jul 30, 2026
98f8d08
disable semgrep fot testreport
hitnik Jul 30, 2026
c54eadc
add image prefix check
hitnik Jul 30, 2026
bfca8e3
nosemgrep
hitnik Jul 30, 2026
e9c4358
pass container name positionally
hitnik Jul 30, 2026
1a64c80
refactor ci mac definition
hitnik Jul 31, 2026
b13c6d4
refactor gateway definition
hitnik Jul 31, 2026
e4c8b65
refactor ip definition
hitnik Jul 31, 2026
924130b
disable semgrep
hitnik Jul 31, 2026
2994f9c
fix semgrep warning
hitnik Jul 31, 2026
54d0f2d
fix not user cpecifying warning
hitnik Jul 31, 2026
e38be09
Revert "fix not user cpecifying warning"
hitnik Jul 31, 2026
0a4de3e
disable semgrep
hitnik Jul 31, 2026
74f1ddf
disable semgrep
hitnik Jul 31, 2026
bf30164
disable semgrep
hitnik Jul 31, 2026
2d7ebea
fix secutiry file error
hitnik Jul 31, 2026
51db3f9
Update dependencies (#1612)
sofyakurilova Aug 3, 2026
1486c7f
Adds new fields for metadata (#1615)
sofyakurilova Aug 3, 2026
87c43c2
rename device to models
hitnik Aug 5, 2026
0faa69e
remove device.py
hitnik Aug 5, 2026
43c8068
fix deps warnings
hitnik Aug 5, 2026
98cb7bb
update pyopenssl
hitnik Aug 5, 2026
b1d8779
skip node
hitnik Aug 5, 2026
abed443
trivy config
hitnik Aug 5, 2026
0c0a01b
Revert "trivy config"
hitnik Aug 5, 2026
ff12172
trivy options
hitnik Aug 5, 2026
cc5fb57
fix import
hitnik Aug 5, 2026
944df81
disable trivy for node
hitnik Aug 5, 2026
a7498f7
remove lock files before scan
hitnik Aug 5, 2026
85adef5
host model
hitnik Aug 5, 2026
1d0d36c
to dict method
hitnik Aug 5, 2026
7c947bc
pass host info to the session object
hitnik Aug 5, 2026
318d165
pylint
hitnik Aug 5, 2026
1f5dbf3
get host metadata method
hitnik Aug 5, 2026
cd96671
provide host metadata
hitnik Aug 6, 2026
e7c2244
location
hitnik Aug 6, 2026
5b0c312
Host unit tests
hitnik Aug 6, 2026
ed05c18
refactor location string
hitnik Aug 6, 2026
2956a98
refactor string to be compliant with pylint
hitnik Aug 6, 2026
310d280
cover get metadata mthods with exceptions to return empty data on any…
hitnik Aug 6, 2026
0e93b11
pylint
hitnik Aug 6, 2026
c50f7fb
pylint
hitnik Aug 6, 2026
ec43a3d
Adds report metadata (#1625)
sofyakurilova Aug 10, 2026
62ed10e
get device os over ssh
hitnik Aug 8, 2026
be922d0
pylint
hitnik Aug 8, 2026
55af300
chenge default value
hitnik Aug 10, 2026
d4ef7fe
get device os with nmap
hitnik Aug 10, 2026
c9e9a36
set device kernel
hitnik Aug 10, 2026
206d918
install ncat nmap
hitnik Aug 10, 2026
4c9c760
grab device os
hitnik Aug 10, 2026
bf72d9a
pylint
hitnik Aug 10, 2026
5ecc351
refactor kernel grab function
hitnik Aug 10, 2026
be45e12
change location service
hitnik Aug 12, 2026
95c7ad8
Change required tls test (#1627)
sofyakurilova Aug 13, 2026
811a2b5
enable bandit security
hitnik Aug 12, 2026
3b383e5
disable semgrep
hitnik Aug 12, 2026
36bac56
disable bandit scan for an interface
hitnik Aug 12, 2026
46fac94
disable bandit scan for jinja because it used only for report generation
hitnik Aug 12, 2026
bf19534
disable for jinja
hitnik Aug 12, 2026
4313785
fix unit tests
hitnik Aug 12, 2026
75b9b9b
disable bandit scan for ovs control
hitnik Aug 12, 2026
37c1ee1
refactor zip creation
hitnik Aug 12, 2026
1b712f9
disable jinja warnings
hitnik Aug 12, 2026
5a5db95
disable bind all ports
hitnik Aug 12, 2026
b5ae399
pylint
hitnik Aug 12, 2026
83b38dd
change eval to ast.literal _eval
hitnik Aug 13, 2026
b6a9c67
fix unsecure function
hitnik Aug 13, 2026
3160410
disable jinja warnings
hitnik Aug 13, 2026
da04d25
pylint
hitnik Aug 13, 2026
bd9318e
fix subprocess warning
hitnik Aug 13, 2026
7a04e16
disable requests warning
hitnik Aug 13, 2026
9f99399
disable warnigns in test vm code
hitnik Aug 13, 2026
ff45b2b
pylint
hitnik Aug 13, 2026
a1e8210
refactor is_https method
hitnik Aug 3, 2026
eeb5835
fix security issue
hitnik Aug 14, 2026
14e1840
Adds the report search with filters. (#1630)
sofyakurilova Aug 19, 2026
1718547
device kernel in a report summary qualification
hitnik Aug 17, 2026
5569c61
device kernel in a report summary pilot
hitnik Aug 17, 2026
44f9539
environment styles
hitnik Aug 17, 2026
9c6945b
report styles
hitnik Aug 19, 2026
48fd87b
pilot host metadata
hitnik Aug 19, 2026
5f58619
qualification host metadata
hitnik Aug 19, 2026
f6c91a7
first page space counter refactor
hitnik Aug 19, 2026
d87cfaf
refactor testreport delimiter
hitnik Aug 20, 2026
5660a1c
session details delimiter
hitnik Aug 20, 2026
72b65d3
convert tls server details from string to a list
hitnik Aug 20, 2026
102163e
remove :
hitnik Aug 20, 2026
db50c1b
remove : from tests
hitnik Aug 20, 2026
1fc5d35
fix unit tests
hitnik Aug 20, 2026
7edc5eb
fix framework tests
hitnik Aug 21, 2026
0eefbba
Updates the global search (#1633)
sofyakurilova Aug 24, 2026
bfa7e2f
Implement the counter on the FE (#1635)
sofyakurilova Aug 28, 2026
6fba9ae
Fix tests order (#1636)
sofyakurilova Sep 4, 2026
ccec2cf
Revert "Implement the counter on the FE (#1635)" (#1638)
sofyakurilova Sep 8, 2026
26fae6d
[TR] The "search" query is replaced by the next one "search" query in…
sofyakurilova Sep 9, 2026
c7cc3ca
Adds Assessment type filter (#1640)
sofyakurilova Sep 11, 2026
296255a
Risk profiles docs (#1597)
sofyakurilova Sep 14, 2026
b19170f
[TR] The pagination wasn't implemented on the Reports page (#1641)
sofyakurilova Sep 14, 2026
55460d4
Highlight hovered menu item (#1642)
sofyakurilova Sep 15, 2026
04f6d00
attempt to restart ws container
hitnik Sep 16, 2026
a9d6cba
add test method blueprint to tls test module
hitnik Sep 16, 2026
55dc50b
add http test to README
hitnik Sep 16, 2026
7e0ee8f
add http test to module config
hitnik Sep 16, 2026
e341e6c
Changes draft risk profile icon (#1647)
sofyakurilova Sep 17, 2026
10ebe7f
include http test to testpack
hitnik Sep 17, 2026
0e4110f
Changes draft risk profile icon (#1649)
sofyakurilova Sep 17, 2026
d262e2f
[TR] The Metadata is displayed in PDF not by design (#1651)
sofyakurilova Sep 18, 2026
1b0a613
Change filter button color (#1652)
sofyakurilova Sep 18, 2026
8e30e8d
http server checks method
hitnik Sep 18, 2026
64c95d5
security https server
hitnik Sep 18, 2026
8fd3873
pylint
hitnik Sep 21, 2026
8d8aabe
Merge branch 'dev' into feature/http-test
hitnik Sep 21, 2026
7601798
http server code
hitnik Sep 25, 2026
5ff11d0
non-compliant http test
hitnik Sep 25, 2026
c7cad2b
pylint
hitnik Sep 25, 2026
d6049ad
refactor http server test
hitnik Sep 28, 2026
ff64c59
ui test fix
hitnik Sep 28, 2026
178e19c
fix tls 1.0 script
hitnik Oct 3, 2026
d7a02d6
fix secutiry warnings
hitnik Oct 4, 2026
e6f61ce
fix trivy warnings
hitnik Oct 4, 2026
aced420
fix ui tests
hitnik Oct 4, 2026
cd70c71
update risk profile creation date
hitnik Oct 4, 2026
8351223
remove unused script
hitnik Oct 8, 2026
e0b1f9f
refactor docker scripts
hitnik Oct 8, 2026
a5d15d1
update weasyprint
hitnik Oct 12, 2026
37334f6
Update styles for the report
sofyakurilova Oct 12, 2026
8b09781
Revert "Revert "Implement the counter on the FE (#1635)" (#1638)" (#…
sofyakurilova Oct 13, 2026
df4915f
[TR] OUI manufacturer name is cut off at the IEEE registration auth…
sofyakurilova Oct 14, 2026
a351c88
fix listener os error
hitnik Oct 13, 2026
833c3b2
no ports test
hitnik Oct 14, 2026
7c43094
http server complian test
hitnik Oct 14, 2026
0ca3bc7
http server body not empty test
hitnik Oct 14, 2026
aa3cc14
test exception
hitnik Oct 14, 2026
19d60bb
Merge branch 'dev' into feature/http-test
hitnik Oct 14, 2026
feee7ea
pylint
hitnik Oct 15, 2026
c652091
http server test documentation
hitnik Oct 16, 2026
7d4a30a
add http test to main documantation
hitnik Oct 16, 2026
9b2caa4
steps to resolve
hitnik Oct 16, 2026
7624fd1
Merge branch 'dev' into feature/http-test
hitnik Oct 16, 2026
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
7 changes: 6 additions & 1 deletion docs/test/compliant.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,9 @@ Strict cryptographic standards apply to all inbound and outbound traffic via web
### Inbound Connections (Device as a Server / Web Interface)
* The device's embedded web server must support connections via **TLS 1.2** and/or **TLS 1.3**.
* **TLS 1.0 and TLS 1.1 must be explicitly disabled** within the web server configuration.
* The TLS certificate presented by the web server must be valid and signed by a trusted (or test-environment designated) Certificate Authority (CA).
* The TLS certificate presented by the web server must be valid and signed by a trusted (or test-environment designated) Certificate Authority (CA).

### HTTP Server Compliance (RFC 9110)
* Basic Method Support: Verification that the server successfully processes standard **GET** and **HEAD** methods, returning a **200 OK** status.
* **HEAD** Response Semantics: Ensuring that the response body for a **HEAD** request is strictly empty, and critical headers **(Content-Length, Content-Type)** precisely match the **GET** response.
* Unsupported Method Handling: Verification of correct server response to arbitrary or invalid methods, expecting a status code of **405 Method Not Allowed or 501 Not Implemented**.
1 change: 1 addition & 0 deletions modules/test/tls/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ Within the ```python/src``` directory, the below tests are executed.
| security.tls.v1_2_client | Device uses TLS with connection to an external service on port 443 (or any other port which could be running the webserver-HTTPS) | The packet indicates a TLS connection with at least TLS v1.2 and support for ECDH and ECDSA ciphers | Required if Applicable |
| security.tls.v1_3_server | Check the device web server TLS 1.3 and the certificate is valid | TLS 1.3 certificate is issued to the web browser client when accessed | Informational |
| security.tls.v1_3_client | Device uses TLS with connection to an external service on port 443 (or any other port which could be running the webserver-HTTPS) | The packet indicates a TLS connection with at least TLS 1.3 using AEAD-based ciphers | Informational |
| security.http.server | Automated RFC 9110 compliance validation of the device's HTTP/HTTPS server | The server responds with status 200 OK for both GET and HEAD methods with an empty HEAD body and matching critical headers, returns 405 or 501 for unsupported methods | Informational |

11 changes: 11 additions & 0 deletions modules/test/tls/conf/module_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,17 @@
"Disable connections to unsecure services",
"Ensure any URLs connected to are secure (https)"
]
},
{
"name": "security.http.server",
"test_description": "Automated RFC 9110 compliance validation of the device's HTTP/HTTPS server",
"expected_behavior": "The server responds with status 200 OK for both GET and HEAD methods with an empty HEAD body and matching critical headers, returns 405 or 501 for unsupported methods",
"recommendations": [
"Implement the GET and HEAD methods on the web server",
"Ensure that the HEAD response is empty",
"Ensure that the GET and HEAD response headers (Content-Length, Content-Type) match",
"Ensure that unsupported requests return a 405 or 501 status code"
]
}
]
}
Expand Down
133 changes: 133 additions & 0 deletions modules/test/tls/python/src/http_scan.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
LOGGER = None
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

_MSG_HTTP_NOT_DETECTED = 'No HTTP server detected on the device.'
_MSG_HTTP_COMPLIANT = 'Device HTTP server is COMPLIANT with the RFC 9110'
_MSG_HTTP_NON = 'Device HTTP server is NON-COMPLIANT with the RFC 9110'
_MSG_HTTP_ERROR = 'Error checking HTTP server.'


class HTTPScan():
"""Helper class to scan for all HTTP/HTTPS services for a device"""
Expand Down Expand Up @@ -128,3 +133,131 @@ def scan_for_http_services(self, ip_address):
for port, service_type in results.items():
LOGGER.info(f'Port {port}: {service_type}')
return results

def _http_make_request(
self, method: str,
url: str,
timeout: int = 20
) -> requests.Response | None:
"""Sends HTTP request and handles exceptions uniformly.

Returns:
requests.Response | None
"""

try:
resp = requests.request(
method=method,
url=url,
timeout=timeout,
verify=False # nosec B501
)
return resp
except requests.exceptions.Timeout as e:
msg = f'Timeout during {method.upper()} request to {url}'
LOGGER.error(f'{msg}: {e}')
return None
except requests.exceptions.ConnectionError as e:
msg = f'Connection refused during {method.upper()} request to {url}'
LOGGER.error(f'{msg}: {e}')
return None

def http_server_compliance(self, ip:str) -> tuple[str, str, list[str]]:
"""Checks HTTP server comliance to RFC 9110."""
result_state = 'Feature Not Detected'
result_message = _MSG_HTTP_NOT_DETECTED
result_details = []
try:
ports = self.scan_all_ports(ip)
if not ports:
msg = f'No HTTP/HTTPS ports found on {ip}'
LOGGER.info(msg)
return result_state, result_message, result_details
if '443' in ports:
url = f'https://{ip}'
else:
url = f'http://{ip}'
LOGGER.info(f'Checking HTTP methods on {url}')
try:
get_resp = self._http_make_request('GET', url)
if get_resp is None:
get_ok = False
else:
get_ok = get_resp.status_code == 200
head_resp = self._http_make_request('HEAD', url)
if head_resp is None:
head_ok = False
else:
head_ok = head_resp.status_code == 200
method_resp = self._http_make_request('foobar', url)
except requests.exceptions.RequestException as e:
LOGGER.error(f'Error checking HTTP methods on {url}: {e}')
return 'Error', _MSG_HTTP_ERROR, []
if not get_ok or not head_ok:
LOGGER.info(f'HTTP GET/HEAD method is not supported on {url}')
result_state = 'Non-Compliant'
result_message = _MSG_HTTP_NON
if not get_ok:
result_details.append('Server does not support GET method')
else:
result_details.append('Server supports GET method')
if not head_ok:
result_details.append('Server does not support HEAD method')
else:
result_details.append('Server supports HEAD method')
elif get_ok and head_ok:
LOGGER.info(f'HTTP GET and HEAD methods are supported on {url}')
result_state = 'Compliant'
result_message = _MSG_HTTP_COMPLIANT
result_details.extend([
'Server supports GET method',
'Server supports HEAD method'
])
if head_resp is not None and get_resp is not None:
head_body_len = len(head_resp.content)
head_body_empty = head_body_len == 0
headers_match = True
header_not_match = ''
for header in ('Content-Length', 'Content-Type'):
if header in get_resp.headers or header in head_resp.headers:
if get_resp.headers.get(header) != head_resp.headers.get(header):
headers_match = False
header_not_match = header
break
if not head_body_empty or not headers_match:
result_state = 'Non-Compliant'
result_message = _MSG_HTTP_NON
if not head_body_empty:
LOGGER.info('HEAD response body is not empty')
result_details.append('HEAD response body is not empty')
elif not headers_match:
msg = f'{header_not_match} does not match between GET and HEAD'
LOGGER.info(msg)
result_details.append(f'Header {header_not_match} does not match')
else:
LOGGER.info('HEAD response body is empty.')
LOGGER.info('Headers match between GET and HEAD methods.')
result_details.extend([
'HEAD response body is empty',
'Headers match between GET and HEAD methods'
])
if method_resp is None:
result_state = 'Non-Compliant'
result_message = _MSG_HTTP_NON
msg = 'Device server does not return 501 or 405 for unsupported methods'
LOGGER.info(msg)
result_details.append(msg)
elif method_resp.status_code in (405, 501):
msg = 'Device server returns 501 or 405 for unsupported methods'
LOGGER.info(msg)
result_details.append(msg)
else:
result_state = 'Non-Compliant'
result_message = _MSG_HTTP_NON
msg = 'Device server does not return 501 or 405 for unsupported methods'
LOGGER.info(msg)
result_details.append(msg)
except Exception as e:
LOGGER.error(f'Unexpected error {e}')

return result_state, result_message, result_details
6 changes: 6 additions & 0 deletions modules/test/tls/python/src/tls_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,12 @@ def _security_tls_v1_3_client(self):
'1.3',
unsupported_versions=['1.0', '1.1'])

def _security_http_server(self):
LOGGER.info('Running HTTP server test')
return self._http_scan.http_server_compliance(
self._device_ipv4_addr
)

def _validate_tls_client(self,
client_mac,
tls_version,
Expand Down
6 changes: 6 additions & 0 deletions modules/ui/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ module.exports = function (config) {
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
],
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox', '--disable-setuid-sandbox'],
},
},
client: {
jasmine: {
// you can add configuration options for Jasmine here
Expand Down
2 changes: 1 addition & 1 deletion modules/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"test": "ng test",
"test:coverage": "ng test --code-coverage",
"test-headless": "ng test --browsers=ChromeHeadless --watch=false",
"test-ci": "ng test --no-watch --no-progress --code-coverage --browsers=ChromeHeadless",
"test-ci": "ng test --no-watch --no-progress --code-coverage --browsers=ChromeHeadlessCI",
"docker": "docker rm -f test-run-ui && docker rmi test-run-ui && docker build -t test-run-ui . && docker run -d -p 80:80 --name test-run-ui test-run-ui",
"lint": "ng lint",
"lint:fix": "ng lint --fix",
Expand Down
4 changes: 4 additions & 0 deletions resources/test_packs/pilot/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@
{
"name": "security.tls.v1_3_client",
"required_result": "Informational"
},
{
"name": "security.http.server",
"required_result": "Informational"
}
]
}
5 changes: 5 additions & 0 deletions resources/test_packs/pilot/report_templates/summary.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@
<div class="summary-item-space"></div>
<div class="summary-item-label"><h4>MAC Address</h4></div>
<div class="summary-item-value">{{ device['mac_addr'] }}</div>
{% if device['kernel'] %}
<div class="summary-item-space"></div>
<div class="summary-item-label"><h4>Kernel</h4></div>
<div class="summary-item-value kernel-value">{{ device['kernel'] }}</div>
{% endif %}
</div>
</div>
<div class="summary-device-modules">
Expand Down
4 changes: 4 additions & 0 deletions resources/test_packs/qualification/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@
{
"name": "security.tls.v1_3_client",
"required_result": "Informational"
},
{
"name": "security.http.server",
"required_result": "Informational"
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@
<div class="summary-item-space"></div>
<div class="summary-item-label"><h4>MAC Address</h4></div>
<div class="summary-item-value">{{ device['mac_addr'] }}</div>
{% if device['kernel'] %}
<div class="summary-item-space"></div>
<div class="summary-item-label"><h4>Kernel</h4></div>
<div class="summary-item-value kernel-value">{{ device['kernel'] }}</div>
{% endif %}
</div>
</div>
<div class="summary-device-modules">
Expand Down
Loading
Loading