add localhost client aliasing on spots and PC92A
[spider.git] / perl / DXChannel.pm
index c4584ba7014d01a66a362febe1f3c62fde1bd893..84585ef1ee240f8d19ad10ba6d3468d386b26953 100644 (file)
@@ -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',
@@ -184,6 +185,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 +720,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 +782,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
 {