X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=f00163297e43d367abf0d8ef249d25a3e8278129;hb=061bdbae513ff9052a4e3031c3dd58c80d88f21a;hp=eef342bc7dbd718b40ad203f80c5e0f61d6883ee;hpb=6624dcdf07d628e8d6a16fc6549edf40be25b7b2;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index eef342bc..f0016329 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -41,6 +41,12 @@ $errstr = (); # error string from eval $scriptbase = "$main::root/scripts"; # the place where all users start scripts go $maxerrors = 20; # the maximum number of concurrent errors allowed before disconnection +use vars qw($VERSION $BRANCH); +$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); +$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0; +$main::build += $VERSION; +$main::branch += $BRANCH; + # # obtain a new connection this is derived from dxchannel # @@ -125,6 +131,13 @@ sub start $self->tell_login('loginu'); + # do we need to send a forward/opernam? + my $lastoper = $user->lastoper || 0; + my $homenode = $user->homenode || ""; + if ($homenode eq $main::mycall && $lastoper + $DXUser::lastoperinterval < $main::systime) { + run_cmd($DXProt::me, "forward/opernam $call"); + $user->lastoper($main::systime); + } } # @@ -649,7 +662,7 @@ sub talk { my ($self, $from, $to, $via, $line) = @_; $line =~ s/\\5E/\^/g; - $self->send_later('T', "$to de $from: $line") if $self->{talk}; + $self->local_send('T', "$to de $from: $line") if $self->{talk}; Log('talk', $to, $from, $main::mycall, $line); # send a 'not here' message if required unless ($self->{here} && $from ne $to) {