X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXMsg.pm;h=174a98a4792697ee7513f8298c03e7710b97d671;hb=5835ca385fb719194163512276666aaf75e82484;hp=9c75a048465badb106299e9ea326bc3665ea4bf1;hpb=fd0a34c34ad4112ee21e0730f7307498ff437e18;p=spider.git diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index 9c75a048..174a98a4 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -124,7 +124,7 @@ sub alloc $self->{gotit} = []; # $self->{lastt} = $main::systime; $self->{lines} = []; - $self->{private} = 1 if $bulltopriv && DXUser->get_current($self->{to}); + $self->{private} = 1 if $bulltopriv && DXUser::get_current($self->{to}); return $self; } @@ -200,7 +200,7 @@ sub handle_28 $ref->{lastt} = $main::systime; # look to see whether this is a non private message sent to a known callsign - my $uref = DXUser->get_current($ref->{to}); + my $uref = DXUser::get_current($ref->{to}); if (is_callsign($ref->{to}) && !$ref->{private} && $uref && $uref->homenode) { $ref->{private} = 1; dbg("set bull to $ref->{to} to private") if isdbg('msg'); @@ -216,7 +216,7 @@ sub handle_29 my $ref = get_fwq($fromnode, $stream); if ($ref) { - $_[4] =~ s/\%5E/^/g; + $_[4] =~ s/\%5E/~/g; if (@{$ref->{lines}}) { push @{$ref->{lines}}, $_[4]; } else { @@ -476,7 +476,7 @@ sub notify { my $ref = shift; my $to = $ref->{to}; - my $uref = DXUser->get_current($to); + my $uref = DXUser::get_current($to); my $dxchan = DXChannel::get($to); if (((*Net::SMTP && $email_server) || $email_prog) && $uref && $uref->wantemail) { my $email = $uref->email; @@ -786,6 +786,8 @@ sub queue_msg if ($dxchan) { if ($dxchan->is_node) { next if $clref->call eq $main::mycall; # i.e. it lives here + next if $dxchan->is_arcluster; # don't even go there, idiot people send the header in the wrong order and won't/can't fix it + next if $dxchan->isolate; # there is no mechanism for sending messages to isolated nodes. $ref->start_msg($dxchan) if !get_busy($dxchan->call) && $dxchan->state eq 'normal'; } } else { @@ -804,8 +806,10 @@ sub queue_msg next unless $call; next if $call eq $main::mycall; next if ref $ref->{gotit} && grep $_ eq $call, @{$ref->{gotit}}; - next unless $ref->forward_it($call); # check the forwarding file - next if $ref->{tonode}; # ignore it if it already being processed + next unless $ref->forward_it($call); # check the forwarding file + next if $ref->{tonode}; # ignore it if it already being processed + next if $dxchan->is_arcluster; # don't even go there, idiot people send the header in the wrong order and won't/can't fix it + next if $dxchan->isolate; # there is no mechanism for sending messages to isolated nodes. # if we are here we have a node that doesn't have this message if (!get_busy($call) && $dxchan->state eq 'normal') {