X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTP.pm;fp=lib%2FPublicInbox%2FNNTP.pm;h=533a0c59f9398d67aef89739a806f47bdd1c46d8;hb=b5371f1053676a4a551140739582070df773dc9c;hp=e4ca7d1462e292d1127f8f1abe02731b1c7d2afd;hpb=806b83f28401901daaf9170b030fca6fd2fd930e;p=public-inbox.git diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index e4ca7d14..533a0c59 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -29,7 +29,6 @@ use constant { r225 => "225 Headers follow (multi-line)\r\n", r430 => '430 No article with that message-id', }; -use PublicInbox::Syscall qw(EPOLLIN EPOLLONESHOT); use Errno qw(EAGAIN); my $ONE_MSGID = qr/\A$MID_EXTRACT\z/; my @OVERVIEW = qw(Subject From Date Message-ID References); @@ -47,25 +46,11 @@ HDR\r OVER\r COMPRESS DEFLATE\r -sub greet ($) { $_[0]->write($_[0]->{nntpd}->{greet}) }; - -sub new ($$$) { - my ($class, $sock, $nntpd) = @_; - my $self = bless { nntpd => $nntpd }, $class; - my $ev = EPOLLIN; - my $wbuf; - if ($sock->can('accept_SSL') && !$sock->accept_SSL) { - return CORE::close($sock) if $! != EAGAIN; - $ev = PublicInbox::TLS::epollbit() or return CORE::close($sock); - $wbuf = [ \&PublicInbox::DS::accept_tls_step, \&greet ]; - } - $self->SUPER::new($sock, $ev | EPOLLONESHOT); - if ($wbuf) { - $self->{wbuf} = $wbuf; - } else { - greet($self); - } - $self; +sub do_greet ($) { $_[0]->write($_[0]->{nntpd}->{greet}) }; + +sub new { + my ($cls, $sock, $nntpd) = @_; + (bless { nntpd => $nntpd }, $cls)->greet($sock) } sub args_ok ($$) {