<?php
require_once dirname(__FILE__).'/perm.inc.php';
function svc_default_port($type) {
$types = [
SVC_SSH => '22',
SVC_LDAP => '389',
SVC_SMTP => '25',
SVC_FTP => '21',
SVC_HTTP => '80',
SVC_POP => '110',
SVC_NNTP => '119',
SVC_IMAP => '143',
SVC_AGENT => '10050',
SVC_SNMPv1 => '161',
SVC_SNMPv2c => '161',
SVC_SNMPv3 => '161',
SVC_HTTPS => '443',
SVC_TELNET => '23'
];
return isset($types[$type]) ? $types[$type] : 0;
}
function discovery_check_type2str($type = null) {
$types = [
SVC_SSH => _('SSH'),
SVC_LDAP => _('LDAP'),
SVC_SMTP => _('SMTP'),
SVC_FTP => _('FTP'),
SVC_HTTP => _('HTTP'),
SVC_POP => _('POP'),
SVC_NNTP => _('NNTP'),
SVC_IMAP => _('IMAP'),
SVC_TCP => _('TCP'),
SVC_AGENT => _('Zabbix agent'),
SVC_SNMPv1 => _('SNMPv1 agent'),
SVC_SNMPv2c => _('SNMPv2 agent'),
SVC_SNMPv3 => _('SNMPv3 agent'),
SVC_ICMPPING => _('ICMP ping'),
SVC_TELNET => _('Telnet'),
SVC_HTTPS => _('HTTPS')
];
if ($type === null) {
return $types;
}
return isset($types[$type]) ? $types[$type] : false;
}
function discovery_check2str($type, $key, $port) {
$externalParam = '';
if ($key !== '') {
switch ($type) {
case SVC_SNMPv1:
case SVC_SNMPv2c:
case SVC_SNMPv3:
case SVC_AGENT:
$externalParam = ' "'.$key.'"';
break;
}
}
$result = discovery_check_type2str($type);
if ($port && (svc_default_port($type) !== $port || $type === SVC_TCP)) {
$result .= ' ('.$port.')';
}