projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow blank in field 4 of PC10
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index 26d1b169854b585ee1cd94a136da525cb1ff47d7..e2c1dae4221ebdc9cceca1ce97c14b09d11637f4 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-51,7
+51,7
@@
$baddxfn = "$main::data/baddx.pl";
@checklist =
(
@checklist =
(
- [ qw(c c m
p bc c) ],
# pc10
+ [ qw(c c m
bp bc c) ],
# pc10
[ qw(f m d t m c c h) ], # pc11
[ qw(c bc m bp bm p h) ], # pc12
[ qw(c h) ], #
[ qw(f m d t m c c h) ], # pc11
[ qw(c bc m bp bm p h) ], # pc12
[ qw(c h) ], #
@@
-239,7
+239,7
@@
sub start
# send initialisation string
unless ($self->{outbound}) {
# send initialisation string
unless ($self->{outbound}) {
-
$self->send(pc38()) if DXNode->get_all();
+
#
$self->send(pc38()) if DXNode->get_all();
$self->send(pc18());
$self->{lastping} = $main::systime;
} else {
$self->send(pc18());
$self->{lastping} = $main::systime;
} else {
@@
-617,12
+617,16
@@
sub normal
if ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me!
my $node = DXCluster->get_exact($call);
if ($node) {
if ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me!
my $node = DXCluster->get_exact($call);
if ($node) {
+ if ($call eq $self->{call}) {
+ dbg('chan', "LOOP: Trying to disconnect myself with PC21");
+ return;
+ }
if ($node->dxchan != $self) {
dbg('chan', "LOOP: $call come in on wrong channel");
return;
}
my $dxchan;
if ($node->dxchan != $self) {
dbg('chan', "LOOP: $call come in on wrong channel");
return;
}
my $dxchan;
- if (
($dxchan = DXChannel->get($call)) && $dxchan != $self
) {
+ if (
$dxchan = DXChannel->get($call)
) {
dbg('chan', "LOOP: $call connected locally");
return;
}
dbg('chan', "LOOP: $call connected locally");
return;
}