22Mar01=======================================================================
1. edit the helpfile for set/debug and add help for show/debug
2. Allow ^Z again on messages
+3. Added back onboard support for ax25 OUTBOUND connections. You will need
+exactly the same facilities as before (ie netrom_call, ax25_call suid root
+etc) but it is called direct from the cluster.pl - client.pl is DEAD!
19Mar01=======================================================================
1. Add 'not allowed' messages into sh/filter with callsign and reduce priv
2. decode %xx characters in winclient.pl
use WCY;
use Sun;
use Internet;
-use IO::File;
use strict;
use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase);
# queue up any messages (look for privates only)
DXMsg::queue_msg(1) if $self->state eq 'normal';
+# broadcast_route($line, $self, $field[1]);
+# return;
last SWITCH;
}
dbg('chan', "PCPROT: $field[1] not known" );
return;
}
+# broadcast_route($line, $self, $field[2]);
+# return;
last SWITCH;
}
dbg('chan', "PCPROT: I WILL _NOT_ be disconnected!");
return;
}
+# broadcast_route($line, $self, $call);
+# return;
last SWITCH;
}
#
# some active measures
#
+sub send_route
+{
+ my $self = shift;
+ my $line = shift;
+ my @dxchan = DXChannel::get_all_nodes();
+ my $dxchan;
+
+ # send it if it isn't the except list and isn't isolated and still has a hop count
+ # taking into account filtering and so on
+ foreach $dxchan (@dxchan) {
+ my $routeit;
+ my ($filter, $hops);
+
+ if ($dxchan->{routefilter}) {
+ ($filter, $hops) = $dxchan->{routefilter}->it($self->{call}, @_);
+ next unless $filter;
+ }
+ next if $dxchan == $self;
+ if ($hops) {
+ $routeit = $line;
+ $routeit =~ s/\^H\d+\^\~$/\^H$hops\^\~/;
+ } else {
+ $routeit = adjust_hops($dxchan, $line); # adjust its hop count by node name
+ next unless $routeit;
+ }
+ if ($filter) {
+ $dxchan->send($routeit) if $routeit;
+ } else {
+ $dxchan->send($routeit) unless $dxchan->{isolate} || $self->{isolate};
+ }
+ }
+}
+
sub send_dx_spot
{
my $self = shift;
}
}
if ($conn->{state} eq 'WC' && exists $conn->{cmd} && @{$conn->{cmd}} == 0) {
- $conn->to_connected($conn->{call}, 'O', $conn->{sort});
+ $conn->to_connected($conn->{call}, 'O', $conn->{csort});
}
} elsif ($conn->{msg} =~ /\cJ/) {
my @lines = $conn->{msg} =~ /([^\cM\cJ]*)\cM?\cJ/g;
} elsif ($conn->{state} eq 'WL' ) {
$msg = uc $msg;
if (is_callsign($msg)) {
- $conn->to_connected($msg, 'A', 'telnet');
+ $conn->to_connected($msg, 'A', $conn->{csort});
} else {
$conn->send_now("Sorry $msg is an invalid callsign");
$conn->disconnect;
if (exists $conn->{cmd} && @{$conn->{cmd}}) {
$conn->_docmd($msg);
if ($conn->{state} eq 'WC' && exists $conn->{cmd} && @{$conn->{cmd}} == 0) {
- $conn->to_connected($conn->{call}, 'O', $conn->{sort});
+ $conn->to_connected($conn->{call}, 'O', $conn->{csort});
}
}
}