# these can momentarily double the memory consumption :<
$$msg =~ s/^\./../smg;
$$msg =~ s/(?<!\r)\n/\r\n/sg; # Alpine barfs without this
- $$msg .= "\r\n" unless $$msg =~ /\r\n\z/s;
+ $$msg .= "\r\n" unless substr($$msg, -2, 2) eq "\r\n";
$self->msg_more($$msg);
}
$self->long_response(\&xover_i, @$r);
}
-sub compressed { undef }
-
sub cmd_starttls ($) {
my ($self) = @_;
my $sock = $self->{sock} or return;
my ($self, $alg) = @_;
return "503 Only DEFLATE is supported\r\n" if uc($alg) ne 'DEFLATE';
return r502 if $self->compressed;
- PublicInbox::NNTPdeflate->enable($self);
+ PublicInbox::NNTPdeflate->enable($self) or return
+ \"403 Unable to activate compression\r\n";
+ PublicInbox::DS::write($self, \"206 Compression active\r\n");
$self->requeue;
undef
}
defined($self->{rbuf}) || defined($self->{wbuf})
}
+package PublicInbox::NNTPdeflate;
+use PublicInbox::DSdeflate;
+our @ISA = qw(PublicInbox::DSdeflate PublicInbox::NNTP);
+
1;