- my $baseuser = DXUser::get_current($basecall);
- my $lock = $user->lockout if $user;
- if ($baseuser && $baseuser->lockout || $lock) {
- if (!$user || !defined $lock || $lock) {
- my $host = $conn->peerhost;
- LogDbg('DXCommand', "$call on $host is locked out, disconnected");
- $conn->disconnect;
- return;
- }
+ my $lock;
+ if ($user) {
+ # we are a real user
+ $lock = $user->lockout;
+ } elsif ($allowmultiple) {
+ # could we be a potential "pseudo" connection
+ $user = DXUser::get_current($basecall);
+ $lock = $user->lockout if $user;
+ }
+ if ($lock) {
+ my $host = $conn->peerhost;
+ LogDbg('DXCommand', "$call on $host is locked out, disconnected");
+ $conn->disconnect;
+ return;