diff options
author | Eric Wong <e@80x24.org> | 2019-06-24 02:52:37 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-06-24 05:26:26 +0000 |
commit | 93fc0336d39ba3ef07b479877e64371f07c86eab (patch) | |
tree | cc86f8e17cae6dfc435eb9e9fcaca3d414aa1a6b /lib/PublicInbox/NNTP.pm | |
parent | 03b8f86532a29d0cb129ff6e8d3ddf2d51deb2f8 (diff) | |
download | public-inbox-93fc0336d39ba3ef07b479877e64371f07c86eab.tar.gz |
This will be needed for NNTPS support, since we need to negotiate the TLS connection before writing the greeting and we can reuse the existing buffer layer to enqueue writes.
Diffstat (limited to 'lib/PublicInbox/NNTP.pm')
-rw-r--r-- | lib/PublicInbox/NNTP.pm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 468a22f5..a18641d3 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -24,7 +24,7 @@ use constant { r225 => '225 Headers follow (multi-line)', r430 => '430 No article with that message-id', }; -use PublicInbox::Syscall qw(EPOLLIN EPOLLONESHOT); +use PublicInbox::Syscall qw(EPOLLOUT EPOLLONESHOT); use Errno qw(EAGAIN); my @OVERVIEW = qw(Subject From Date Message-ID References Xref); @@ -98,9 +98,11 @@ sub expire_old () { sub new ($$$) { my ($class, $sock, $nntpd) = @_; my $self = fields::new($class); - $self->SUPER::new($sock, EPOLLIN | EPOLLONESHOT); + $self->SUPER::new($sock, EPOLLOUT | EPOLLONESHOT); $self->{nntpd} = $nntpd; - res($self, '201 ' . $nntpd->{servername} . ' ready - post via email'); + my $greet = "201 $nntpd->{servername} ready - post via email\r\n"; + open my $fh, '<:scalar', \$greet or die "open :scalar: $!"; + $self->{wbuf} = [ $fh ]; $self->{rbuf} = ''; update_idle_time($self); $expt ||= PublicInbox::EvCleanup::later(*expire_old); |