#!/usr/bin/perl defined($la= $ENV{'NNTPMERGE_AUTHD_AS'}) || die "no la"; $la.= "\@chiark"; $outnews= "/usr/local/lib/exchange/outnews"; $route= "nyx"; $|=1; print "200 nyxpost\r\n"; while (<>) { s/\s*\n$//; if (m/^POST$/i) { print "340 mmmm\r\n"; $art= ''; for (;;) { length($_=<>) || exit(1); last if m/^\.\r?\n$/; s/^\.//; s/\r\n$/\n/; $art.= $_; } defined($c= open(P,"-|")) || die "fork: $!"; if (!$c) { open(STDERR,">&STDOUT"); defined($c2= open(Q,"|-")) || die "fork: $!"; if (!$c2) { exec($outnews,"--sender",$la,$route); die "exec: $!"; } print(Q $art) || die "write: $!"; close(Q); $? && die "outnews: $?"; exit(0); } undef $/; $_=

; $/= "\n"; s/\n/ /g; close(P); if ($?) { print "441 $_\r\n"; } else { print "240 $_\r\n"; } } elsif (m/^QUIT$/i) { print "205 ttfn\r\n"; exit(0); } else { print "500 too stupid\r\n"; } }