projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reduce ring buffer output on carp/cluck in DXDebug
[spider.git]
/
perl
/
DXChannel.pm
diff --git
a/perl/DXChannel.pm
b/perl/DXChannel.pm
index 5a4ee228bccca52609684db7c66d42d9d3fffc9b..240142c65107a80e6979fa417935f247fd4f1866 100644
(file)
--- a/
perl/DXChannel.pm
+++ b/
perl/DXChannel.pm
@@
-64,7
+64,8
@@
$count = 0;
enhanced => '5,Enhanced Client,yesno',
errors => '9,Errors',
func => '5,Function',
enhanced => '5,Enhanced Client,yesno',
errors => '9,Errors',
func => '5,Function',
- group => '0,Access Group,parray', # used to create a group of users/nodes for some purpose or other
+ group => '0,Access Group,parray', # used to create a group of users/nodes for some purpose or other.
+ gtk => '5,Using GTK,yesno',
handle_xml => '9,Handles XML,yesno',
here => '0,Here?,yesno',
hostname => '0,Hostname',
handle_xml => '9,Handles XML,yesno',
here => '0,Here?,yesno',
hostname => '0,Hostname',
@@
-77,9
+78,11
@@
$count = 0;
inspotsfilter => '5,Spot Filt-inp',
inwcyfilter => '5,WCY Filt-inp',
inwwvfilter => '5,WWV Filt-inp',
inspotsfilter => '5,Spot Filt-inp',
inwcyfilter => '5,WCY Filt-inp',
inwwvfilter => '5,WWV Filt-inp',
+ isbasic => '9,Internal Connection',
isolate => '5,Isolate network,yesno',
isslugged => '9,Still Slugged,yesno',
itu => '0,ITU Zone',
isolate => '5,Isolate network,yesno',
isslugged => '9,Still Slugged,yesno',
itu => '0,ITU Zone',
+ K => '9,Seen on PC92 K,yesno',
lang => '0,Language',
lastmsgpoll => '0,Last Msg Poll,atime',
lastping => '5,Ping last sent,atime',
lang => '0,Language',
lastmsgpoll => '0,Last Msg Poll,atime',
lastping => '5,Ping last sent,atime',
@@
-106,6
+109,7
@@
$count = 0;
priv => '9,Privilege',
prompt => '0,Required Prompt',
rbnfilter => '5,RBN Filt-out',
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',
redirect => '0,Redirect messages to',
registered => '9,Registered?,yesno',
remotecmd => '9,doing rcmd,yesno',
@@
-131,7
+135,7
@@
$count = 0;
wx => '0,Want WX,yesno',
);
wx => '0,Want WX,yesno',
);
-$maxerrors =
20;
# the maximum number of concurrent errors allowed before disconnection
+$maxerrors =
5;
# the maximum number of concurrent errors allowed before disconnection
# object destruction
sub DESTROY
# object destruction
sub DESTROY
@@
-171,6
+175,7
@@
sub alloc
$self->{lang} = $main::lang if !$self->{lang};
$self->{func} = "";
$self->{width} ||= 80;
$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);
# add in all the dxcc, itu, zone info
my @dxcc = Prefix::extract($call);
@@
-181,6
+186,11
@@
sub alloc
}
$self->{inqueue} = [];
}
$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;
$count++;
dbg("DXChannel $self->{call} created ($count)") if isdbg('chan');
bless $self, $pkg;
@@
-711,9
+721,14
@@
sub process_one
while (my $data = shift @{$self->{inqueue}}) {
my ($sort, $call, $line) = $self->decode_input($data);
next unless defined $sort;
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;
# handle A records
my $user = $self->user;
@@
-768,6
+783,15
@@
sub error_handler
$self->disconnect(1);
}
$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
{
sub isregistered
{