lib/client/Test-IcingaRESTClientBlacklisted.psm1
function Test-IcingaRESTClientBlacklisted() { param ( [System.Net.Sockets.TcpClient]$Client = $null, $ClientList = $null ); if ($null -eq $Client) { return $FALSE; } [string]$Endpoint = Get-IcingaTCPClientRemoteEndpoint -Client $Client; [string]$IpAddress = $Endpoint.Split(':')[0]; [int]$Value = Get-IcingaHashtableItem ` -Hashtable $ClientList ` -Key $IpAddress ` -NullValue 0; # After 9 invalid attempts we will blacklist the client if ($Value -gt 9) { Write-IcingaDebugMessage -Message 'Client is blacklisted' -Objects $IpAddress, $Value, $Client.Client; return $TRUE; } return $FALSE; } |