package Shadowd::Connector;
use 5.010;
use strict;
use JSON;
use Config::IniFiles;
use IO::Socket;
use IO::Socket::SSL;
use Crypt::Mac::HMAC qw(hmac_hex);
use Attribute::Abstract;
use POSIX qw(strft
STATUS_BAD_REQUEST => 2,
STATUS_BAD_SIGNATURE => 3,
STATUS_BAD_JSON => 4,
STATUS_ATTACK => 5,
STATUS_CRITICAL_ATTACK
' . $!);
binmode $handler;
my $content = <$handler>;
my $json = decode_json($content);
foreach my $entry (@$json) {
if (!defined $entry->{'path'} && defined $entry->{'caller'