projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add CTY2210 prefix changes
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index 494b4348d9e13077b3ecf1d93766c331e24b4cef..59deac9d13ead66155e7957b011bcbcfa246b733 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-1111,9
+1111,19
@@
sub process_rcmd
my ($self, $tonode, $fromnode, $user, $cmd) = @_;
if ($tonode eq $main::mycall) {
my $ref = DXUser::get_current($fromnode);
my ($self, $tonode, $fromnode, $user, $cmd) = @_;
if ($tonode eq $main::mycall) {
my $ref = DXUser::get_current($fromnode);
+ unless ($ref && UNIVERSAL::isa($ref, 'DXUser')) {
+ dbg("DXProt process_rcmd: user $fromnode isn't a reference (check user_asc and tell G1TLH)");
+ $self->send_rcmd_reply($main::mycall, $fromnode, $user, "sorry...!");
+ return;
+ }
my $cref = Route::Node::get($fromnode);
my $cref = Route::Node::get($fromnode);
+ unless ($cref && UNIVERSAL::isa($cref, 'Route')) {
+ dbg("DXProt process_rcmd: Route $fromnode isn't a reference (tell G1TLH)");
+ $self->send_rcmd_reply($main::mycall, $fromnode, $user, "sorry...!");
+ return;
+ }
Log('rcmd', 'in', ($ref->{priv}||0), $fromnode, $cmd);
Log('rcmd', 'in', ($ref->{priv}||0), $fromnode, $cmd);
- if ($cmd !~ /^\s*rcmd/i && $
cref && $ref && $
ref->homenode && $cref->call eq $ref->homenode) { # not allowed to relay RCMDS!
+ if ($cmd !~ /^\s*rcmd/i && $ref->homenode && $cref->call eq $ref->homenode) { # not allowed to relay RCMDS!
if ($ref->{priv}) { # you have to have SOME privilege, the commands have further filtering
$self->{remotecmd} = 1; # for the benefit of any command that needs to know
my $oldpriv = $self->{priv};
if ($ref->{priv}) { # you have to have SOME privilege, the commands have further filtering
$self->{remotecmd} = 1; # for the benefit of any command that needs to know
my $oldpriv = $self->{priv};