X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fclient.pl;h=0199084fdabf101c62fe0f6585a2d663edab924b;hb=09c40605dd6922b1ac8d08767614697f51e094b2;hp=db3bb80a1b720be88880cd3b5323c0d2e1e5410d;hpb=295f32fa75fefedcf1cd980c5afcc5de08417ba9;p=spider.git diff --git a/perl/client.pl b/perl/client.pl index db3bb80a..0199084f 100755 --- a/perl/client.pl +++ b/perl/client.pl @@ -358,7 +358,7 @@ $stdout->autoflush(1); $SIG{'INT'} = \&sig_term; $SIG{'TERM'} = \&sig_term; -$SIG{'HUP'} = 'IGNORE'; +$SIG{'HUP'} = \&sig_term; $SIG{'CHLD'} = \&sig_chld; $SIG{'ALRM'} = \&timeout; @@ -369,6 +369,9 @@ if ($loginreq) { my $user; my $s; + $connsort = 'telnet' if $connsort eq 'local'; + setmode(); + if (-e "$data/issue") { open(I, "$data/issue") or die; local $/ = undef; @@ -386,14 +389,17 @@ if ($loginreq) { $stdout->print('login: '); $stdout->flush(); - local $\ = $nl; + local $\ = $mynl; $s = $stdin->getline(); chomp $s; $s =~ s/\s+//og; $s =~ s/-\d+$//o; # no ssids! - cease(0) unless $s gt ' ' && iscallsign($s); + cease(0) unless $s && $s gt ' '; + unless (iscallsign($s)) { + $stdout->print("Sorry, $s is an invalid callsign"); + cease(0); + } $call = uc $s; - $connsort = 'telnet' if $connsort eq 'local'; alarm(0); }