That are happening at the EA3CV-2.
Also make sure that an incoming connection's IP address is recorded.
use DXUtil;
use DXDebug;
+use DXLog;
use Mojo::IOLoop;
use Mojo::IOLoop::Subprocess;
use JSON;
{
my $pkg = shift;
my $class = ref $pkg || __PACKAGE__;
- my $ref = Mojo::IOLoop::Subprocess->new->serialize(\&encode_json)->deserialize(\&decode_json);
+ my $ref = Mojo::IOLoop::Subprocess->new->serialize(\&freeze)->deserialize(\&thaw);
return bless $ref, $class;
}
+
+sub freeze
+{
+ my $r;
+ my $j = shift;
+ unless ($j) {
+ LogDbg('DXUser', "DXSubcommand::freeze: undefined or empty input");
+ return q{[null, ""]};
+ }
+
+ eval { $r = encode_json($j) };
+ if ($@) {
+ my $dd = dd($j);
+ LogDbg('DXUser', "DXSubcommand::freeze: json error on '$dd': $@");
+ $r = qq{['$@','']};
+ }
+ return $r;
+}
+
+sub thaw
+{
+ my $r;
+ my $j = shift;
+ unless ($j) {
+ LogDbg('DXUser', "DXSubcommand::thaw: empty string on input");
+ return q{[null, ""]};
+ }
+
+ return [undef, [1]] unless $j;
+ eval { $r = decode_json($j) };
+ if ($@) {
+ LogDbg('DXUser', "DXSubcommand::thaw: json error on '$j': $@");
+ $r = qq{[$@,[1]]};
+ }
+ return $r;
+}
+1;
+
+
if (-e $filename || -e "$filename.n" || -e "$filename.o") {
$v4 = 1;
} else {
- if (-e localdata('users.v3')) {
- LogDbg('DXUser', "Converting " . localdata('users.v3') . " to new json version of users file, please wait");
- if (-x $convert) {
- system($convert);
- ++$export;
- }
- }
+# if (-e localdata('users.v3')) {
+# LogDbg('DXUser', "Converting " . localdata('users.v3') . " to new json version of users file, please wait");
+# if (-x $convert) {
+# system($convert);
+# ++$export;
+# }
+# }
die "User file $filename missing, please run $convert or copy a user_json backup from somewhere\n" unless -e "$filename.n" || -s $filename;
}
$sock->timeout(0);
$sock->start;
$conn->{peerhost} = eval { $handle->peerhost; };
- dbg((ref $conn) . " connected $conn->{cnum} to $conn->{peerhost}:$conn->{peerport}") if isdbg('connll');
+ dbg((ref $conn) . " connected $conn->{cnum} to $conn->{peerhost}:$conn->{peerport}") if isdbg('conn') || isdbg ('connect');
if ($conn->{on_connect}) {
&{$conn->{on_connect}}($conn, $handle);
}
$conn->{peerhost} = $handle->peerhost;
$conn->{peerhost} =~ s|^::ffff:||; # chop off leading pseudo IPV6 stuff on dual stack listeners
$conn->{peerport} = $handle->peerport;
- dbg((ref $conn) . " accept $conn->{cnum} from $conn->{peerhost}:$conn->{peerport}") if isdbg('connll');
+ dbg((ref $conn) . " accept $conn->{cnum} from $conn->{peerhost}:$conn->{peerport}") if isdbg('conn') || isdbg('connect');
my ($rproc, $eproc) = &{$server_conn->{rproc}} ($conn, $conn->{peerhost}, $conn->{peerport});
$conn->{sort} = 'Incoming';
if ($eproc) {