From f58e6d15d4846506cd9116f4f72472ff9e526234 Mon Sep 17 00:00:00 2001 From: ozgen Date: Thu, 24 Sep 2026 10:14:07 +0200 Subject: [PATCH 1/2] fix: hide port field for sensor scanners Hide the port field for Greenbone Sensor, Agent Sensor, and OpenVASD Sensor scanner types. Sensor scanners use port 0 internally and do not require users to provide a port. --- src/web/pages/scanners/ScannerDialog.tsx | 20 +++++++++++++------ .../scanners/__tests__/ScannerDialog.test.tsx | 10 +++++----- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/web/pages/scanners/ScannerDialog.tsx b/src/web/pages/scanners/ScannerDialog.tsx index 1a6a8a417d..631a5003cd 100644 --- a/src/web/pages/scanners/ScannerDialog.tsx +++ b/src/web/pages/scanners/ScannerDialog.tsx @@ -75,16 +75,16 @@ const isLocalConnection = (host?: string) => host?.startsWith('/') ?? false; const updatePort = (scannerType: ScannerType | undefined) => { if ( scannerType === GREENBONE_SENSOR_SCANNER_TYPE || - scannerType === AGENT_CONTROLLER_SENSOR_SCANNER_TYPE + scannerType === AGENT_CONTROLLER_SENSOR_SCANNER_TYPE || + scannerType === OPENVASD_SENSOR_SCANNER_TYPE ) { - return 22; + return 0; } if (scannerType === AGENT_CONTROLLER_SCANNER_TYPE) { return 8080; } if ( scannerType === OPENVASD_SCANNER_TYPE || - scannerType === OPENVASD_SENSOR_SCANNER_TYPE || scannerType === CONTAINER_IMAGE_SCANNER_TYPE || scannerType === WEB_APPLICATION_SCANNER_TYPE ) { @@ -98,7 +98,6 @@ export const isScannerTypeSupportingClientCertificates = ( ) => scannerType === OPENVAS_SCANNER_TYPE || scannerType === OPENVASD_SCANNER_TYPE || - scannerType === OPENVASD_SENSOR_SCANNER_TYPE || scannerType === CONTAINER_IMAGE_SCANNER_TYPE || scannerType === WEB_APPLICATION_SCANNER_TYPE || scannerType === AGENT_CONTROLLER_SCANNER_TYPE; @@ -273,15 +272,24 @@ const ScannerDialog = ({ const isGreenboneSensorType = scannerType === GREENBONE_SENSOR_SCANNER_TYPE; const isAgentControllerSensorScannerType = scannerType === AGENT_CONTROLLER_SENSOR_SCANNER_TYPE; + const isOpenvasdSensorType = scannerType === OPENVASD_SENSOR_SCANNER_TYPE; const showScannerDetails = isDefined(scannerType); - const showPort = showScannerDetails && !isGreenboneSensorType; + const showPort = + showScannerDetails && + !isGreenboneSensorType && + !isAgentControllerSensorScannerType && + !isOpenvasdSensorType; const isClientCertificateSupported = showScannerDetails && isScannerTypeSupportingClientCertificates(scannerType); const localConnection = isLocalConnection(scannerHost); - if (isGreenboneSensorType || isAgentControllerSensorScannerType) { + if ( + isGreenboneSensorType || + isAgentControllerSensorScannerType || + isOpenvasdSensorType + ) { credentialId = undefined; } return ( diff --git a/src/web/pages/scanners/__tests__/ScannerDialog.test.tsx b/src/web/pages/scanners/__tests__/ScannerDialog.test.tsx index 749a2ef8a8..ba5d0ee43e 100644 --- a/src/web/pages/scanners/__tests__/ScannerDialog.test.tsx +++ b/src/web/pages/scanners/__tests__/ScannerDialog.test.tsx @@ -36,13 +36,13 @@ describe('ScannerDialog tests', () => { test.each([ [OPENVAS_SCANNER_TYPE, true], [OPENVASD_SCANNER_TYPE, true], - [OPENVASD_SENSOR_SCANNER_TYPE, true], [AGENT_CONTROLLER_SCANNER_TYPE, true], [CONTAINER_IMAGE_SCANNER_TYPE, true], [WEB_APPLICATION_SCANNER_TYPE, true], [CVE_SCANNER_TYPE, false], [GREENBONE_SENSOR_SCANNER_TYPE, false], [AGENT_CONTROLLER_SENSOR_SCANNER_TYPE, false], + [OPENVASD_SENSOR_SCANNER_TYPE, false], [undefined, false], ])( 'should report whether scanner type %s supports client certificates', @@ -122,7 +122,7 @@ describe('ScannerDialog tests', () => { credentialId: undefined, type: GREENBONE_SENSOR_SCANNER_TYPE, id: undefined, - port: 22, + port: 0, }); }); @@ -147,7 +147,7 @@ describe('ScannerDialog tests', () => { const scannerType = screen.getByRole('textbox', {name: 'Scanner Type'}); expect(scannerType).toHaveValue('Agent Sensor'); expect(screen.getByName('host')).toHaveValue('localhost'); - expect(screen.getByName('port')).toHaveValue('22'); + expect(screen.queryByName('port')).not.toBeInTheDocument(); expect(screen.queryByName('caCertificate')).not.toBeInTheDocument(); expect( screen.queryByRole('textbox', {name: 'Credential'}), @@ -162,7 +162,7 @@ describe('ScannerDialog tests', () => { credentialId: undefined, type: AGENT_CONTROLLER_SENSOR_SCANNER_TYPE, id: undefined, - port: 22, + port: 0, }); }); @@ -452,7 +452,7 @@ describe('ScannerDialog tests', () => { credentialId: undefined, type: GREENBONE_SENSOR_SCANNER_TYPE, id: '1234', - port: 22, + port: 0, }); }); From ae40a3982c608f8a983de09feda056c4f4cc6d6d Mon Sep 17 00:00:00 2001 From: ozgen Date: Thu, 24 Sep 2026 10:36:01 +0200 Subject: [PATCH 2/2] test: fix unit tests for ScannerComponent --- src/web/pages/scanners/__tests__/ScannerComponent.test.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/web/pages/scanners/__tests__/ScannerComponent.test.tsx b/src/web/pages/scanners/__tests__/ScannerComponent.test.tsx index 1ecc34632f..22230aafd0 100644 --- a/src/web/pages/scanners/__tests__/ScannerComponent.test.tsx +++ b/src/web/pages/scanners/__tests__/ScannerComponent.test.tsx @@ -14,7 +14,6 @@ import Scanner, { GREENBONE_SENSOR_SCANNER_TYPE, OPENVAS_SCANNER_TYPE, OPENVASD_SCANNER_TYPE, - OPENVASD_SENSOR_SCANNER_TYPE, WEB_APPLICATION_SCANNER_TYPE, } from 'gmp/models/scanner'; import {createSession} from 'gmp/testing'; @@ -42,7 +41,6 @@ describe('ScannerComponent tests', () => { OPENVAS_SCANNER_TYPE, OPENVASD_SCANNER_TYPE, AGENT_CONTROLLER_SCANNER_TYPE, - OPENVASD_SENSOR_SCANNER_TYPE, CONTAINER_IMAGE_SCANNER_TYPE, WEB_APPLICATION_SCANNER_TYPE, ])( @@ -361,7 +359,7 @@ describe('ScannerComponent tests', () => { host: 'localhost', id: undefined, name: 'Unnamed', - port: 22, + port: 0, type: GREENBONE_SENSOR_SCANNER_TYPE, }); expect(handleCreated).toHaveBeenCalledWith({id: '1234'});