X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FDXChannel.pm;h=dcd7b909bf25af8983044ace748da460efb896eb;hb=8e14149148baba63ce5ae2b95aacda8ab6dd0d87;hp=c4584ba7014d01a66a362febe1f3c62fde1bd893;hpb=a4ec795f9648328dc8b22efec8f0b2516671c3e3;p=spider.git diff --git a/perl/DXChannel.pm b/perl/DXChannel.pm index c4584ba7..dcd7b909 100644 --- a/perl/DXChannel.pm +++ b/perl/DXChannel.pm @@ -109,6 +109,7 @@ $count = 0; priv => '9,Privilege', prompt => '0,Required Prompt', rbnfilter => '5,RBN Filt-out', + rbnseeme => '0,RBN See Me,yesno', redirect => '0,Redirect messages to', registered => '9,Registered?,yesno', remotecmd => '9,doing rcmd,yesno', @@ -174,6 +175,7 @@ sub alloc $self->{lang} = $main::lang if !$self->{lang}; $self->{func} = ""; $self->{width} ||= 80; + $self->{_nospawn} = 0; # add in all the dxcc, itu, zone info my @dxcc = Prefix::extract($call); @@ -184,6 +186,11 @@ sub alloc } $self->{inqueue} = []; + if ($conn) { + $self->{hostname} = $self->{conn}->peerhost; + $self->{sockhost} = $self->{conn}->sockhost; + } + $count++; dbg("DXChannel $self->{call} created ($count)") if isdbg('chan'); bless $self, $pkg; @@ -714,9 +721,14 @@ sub process_one while (my $data = shift @{$self->{inqueue}}) { my ($sort, $call, $line) = $self->decode_input($data); next unless defined $sort; - - # do the really sexy console interface bit! (Who is going to do the TK interface then?) - dbg("<- $sort $call $line") if $sort ne 'D' && isdbg('chan'); + + if ($sort ne 'D') { + if (isdbg('chan')) { + if (($self->is_rbn && isdbg('rbnchan')) || !$self->is_rbn) { + dbg("<- $sort $call $line") if isdbg('chan'); # you may think this is tautology, but it's needed get the correct label on the debug line + } + } + } # handle A records my $user = $self->user; @@ -771,6 +783,15 @@ sub error_handler $self->disconnect(1); } +sub refresh_user +{ + my $call = shift; + my $user = shift; + return unless $call && $user && ref $user; + my $self = DXChannel::get($call); + $self->{user} = $user; + return $user; +} sub isregistered {