functionality. The core tools are, of course:
* Git (1.8.0+, 2.6+ for writing v2 repositories)
-* Perl 5.8+
+* Perl 5.10.1+
* SQLite (needed for Xapian use)
To accept incoming mail into a public inbox, you'll likely want:
rpm: perl-DBD-SQLite
(for NNTP service or gzipped mbox over HTTP)
- - Danga::Socket deb: libdanga-socket-perl
- rpm: perl-Danga-Socket
- (for bundled HTTP and NNTP servers)
-
- Net::Server deb: libnet-server-perl
rpm: perl-Net-Server
(for HTTP/NNTP servers as standalone daemons,
lib/PublicInbox/Cgit.pm
lib/PublicInbox/Config.pm
lib/PublicInbox/ContentId.pm
+ lib/PublicInbox/DS.pm
lib/PublicInbox/Daemon.pm
lib/PublicInbox/Emergency.pm
lib/PublicInbox/EvCleanup.pm
lib/PublicInbox/Spamcheck/Spamc.pm
lib/PublicInbox/Spawn.pm
lib/PublicInbox/SpawnPP.pm
+ lib/PublicInbox/Syscall.pm
lib/PublicInbox/Unsubscribe.pm
lib/PublicInbox/UserContent.pm
lib/PublicInbox/V2Writable.pm
lib/PublicInbox/WwwAtomStream.pm
lib/PublicInbox/WwwAttach.pm
lib/PublicInbox/WwwHighlight.pm
+lib/PublicInbox/WwwListing.pm
lib/PublicInbox/WwwStream.pm
lib/PublicInbox/WwwText.pm
sa_config/Makefile
package PublicInbox::NNTP;
use strict;
use warnings;
- use base qw(Danga::Socket);
+ use base qw(PublicInbox::DS);
use fields qw(nntpd article rbuf ng long_res);
use PublicInbox::Search;
use PublicInbox::Msgmap;
sub process_line ($$) {
my ($self, $l) = @_;
my ($req, @args) = split(/\s+/, $l);
- return unless defined($req);
+ return 1 unless defined($req); # skip blank line
$req = lc($req);
$req = eval {
no strict 'refs';
do_write($self, $data);
}
- # callbacks for Danga::Socket
+ # callbacks for PublicInbox::DS
sub event_hup { $_[0]->close }
sub event_err { $_[0]->close }
} else {
# no pipelined requests available, let the kernel know
# to wake us up if there's more
- $self->watch_read(1); # Danga::Socket::watch_read
+ $self->watch_read(1); # PublicInbox::DS::watch_read
}
}
use Net::NNTP;
use IO::Socket;
use Socket qw(SO_KEEPALIVE IPPROTO_TCP TCP_NODELAY);
- eval { require Danga::Socket };
- skip "Danga::Socket missing $@", 2 if $@;
+ eval { require PublicInbox::DS };
+ skip "PublicInbox::DS missing $@", 2 if $@;
my $err = "$mainrepo/stderr.log";
my $out = "$mainrepo/stdout.log";
my %opts = (
}
{
- my @warn;
my $x = 'x'x250;
my $y = 'y'x250;
- local $SIG{__WARN__} = sub { push @warn, @_ };
+ local $SIG{__WARN__} = sub {};
$mime->header_set('Subject', 'long mid');
$mime->header_set('Message-ID', "<$x>");
ok($im->add($mime), 'add excessively long Message-ID');