my $Version = "0.8-prelease";
+# Please do not change this setting!
+# You may override the default .rc file (.yapfaqrc) by using "-c .rc file"
my $RCFile = '.yapfaqrc';
+# Valid configuration variables for use in a .rc file
my @ValidConfVars = ('NNTPServer','NNTPUser','NNTPPass','Sender','ConfigFile',
'UsePGP','pgp','PGPVersion','PGPSigner','PGPPass',
'PathtoPGPPass','pgpbegin','pgpend','pgptmpf','pgpheader');
-################################### Defaults ##################################
+################################### Defaults ###################################
+# Please do not change anything in here!
+# Use a runtime configuration file (.yapfaqrc by default) to override defaults.
my %Config = (NNTPServer => "",
NNTPUser => "",
NNTPPass => "",
'content-transfer-encoding', 'summary', 'keywords', 'cancel-lock',
'cancel-key', 'also-control', 'x-pgp', 'user-agent');
-############################# End of Configuration #############################
+################################# Main program #################################
use strict;
use Net::NNTP;
warn "$0: W: The Expires for your project \"$$Config[$i]{'name'}\" is invalid - set to 3 month.\n";
$$Config[$i]{'expires'} = '3m'; # set default (3 month) if expires is unset or invalid
}
- unless(!$$Config[$i]{'mid-format'} || $$Config[$i]{'mid-format'} =~ /^<\S+\@\S{2,}\.\S{2,}>$/) {
+ unless(!$$Config[$i]{'mid-format'} || $$Config[$i]{'mid-format'} =~ /^<\S+\@(\S+\.)?\S{2,}\.\S{2,}>/) {
warn "$0: W: The Message-ID format for your project \"$$Config[$i]{'name'}\" seems to be invalid - set to default.\n";
$$Config[$i]{'mid-format'} = '<%n-%d.%m.%y@'.hostfqdn.'>'; # set default if mid-format is invalid
}
#Prepare MID:
$$TDM = ($$TDM < 10 && $$TDM !~ /^0/) ? "0" . $$TDM : $$TDM;
$$TDD = ($$TDD < 10 && $$TDD !~ /^0/) ? "0" . $$TDD : $$TDD;
+ my $Timestamp = time;
$MID = $$MIDF;
$MID = '<%n-%d.%m.%y@'.hostfqdn.'>' if !defined($MID); # set to default if unset
$MID =~ s/\%d/$$TDD/g;
$MID =~ s/\%m/$$TDM/g;
$MID =~ s/\%y/$$TDY/g;
+ $MID =~ s/\%t/$Timestamp/g;
#Now get the body:
open (FH, "<$$File");
the Message-ID header of the message.
You may use the special strings C<%n> for the I<Name> of your project,
-C<%d> for the date the message is posted, C<%m> for the month and
-C<%y> for the year, respectively.
+C<%d> for the date the message is posted, C<%m> for the month, C<%y>
+for the year and C<%t> for a time stamp (number of seconds since the
+epoch), respectively.
This setting is optional; the default is '<%n-%d.%m.%y@I<YOURHOST>>'
where I<YOURHOST> is the fully qualified domain name (FQDN) of the