# It can be redistributed and/or modified under the same terms under
# which Perl itself is published.
-my $Version = "0.6.1";
+my $Version = "0.6.2";
my $NNTPServer = "localhost";
my $NNTPUser = "";
use strict;
use Net::NNTP;
+use Net::Domain qw(hostfqdn);
use Date::Calc qw(Add_Delta_YM Add_Delta_Days Delta_Days Today);
use Fcntl ':flock'; # import LOCK_* constants
use Getopt::Std;
my ($File, $Config, $Faq) = @_;
my ($LastEntry, $Error, $i) = ('','',0);
- if($Options{'v'}) {
- print "Reading configuration.\n";
- }
+ print "Reading configuration.\n" if($Options{'v'});
open FH, "<$$File" or die "$0: E: Can't open $$File: $!";
while (<FH>) {
unless(!$$Config[$i]{'expires'} || $$Config[$i]{'expires'} =~ /^\s*\d+\s*[dwmy]\s*$/) {
warn "$0: W: The Expires for your project \"$$Config[$i]{'name'}\" is invalid - set to 3 month.\n";
}
+ unless(defined($$Config[$i]{'mid-format'}) && $$Config[$i]{'mid-format'} =~ /^<\S+\@\S{2,}\.\S{2,}>$/) {
+ warn "$0: W: The Expires for your project \"$$Config[$i]{'name'}\" seems to be invalid - set to default.\n";
+ }
$Error .= "-" x 25 . "\n" if $Error;
}
die $Error if $Error;
my ($ActName,$File,$From,$Subject,$NG,$Fup2,$MIDF,$ExtraHeaders,$Sender,$TDY,$TDM,$TDD,$ReplyTo,$Supersedes,$Expire) = @_;
my (@Header,@Body,$MID,$InRealBody,$LastModified);
- if($Options{'v'}) {
- print "$$ActName: Preparing to post.\n";
- }
+ print "$$ActName: Preparing to post.\n" if($Options{'v'});
#Prepare MID:
$$TDM = ($$TDM < 10 && $$TDM !~ /^0/) ? "0" . $$TDM : $$TDM;
my @Article = ($UsePGP)?@{signpgp(\@Header, \@Body)}:(@Header, "\n", @Body);
- if($Options{'v'}) {
- print "$$ActName: Posting article ...\n";
- }
+ print "$$ActName: Posting article ...\n" if($Options{'v'});
post(\@Article);
# Test mode?
return if($Options{'t'});
- if($Options{'v'}) {
- print "$$ActName: Save status information.\n";
- }
+ print "$$ActName: Save status information.\n" if($Options{'v'});
open (FH, ">$$File.cfg") or die "$0: E: Can't open $$File.cfg: $!";
print FH "##;; Lastpost: $day.$month.$year\n";