Add check for MID-Format and fallback to FQDN.
[usenet/yapfaq.git] / yapfaq.pl
index bac7fb8..a2042db 100644 (file)
--- a/yapfaq.pl
+++ b/yapfaq.pl
@@ -52,6 +52,7 @@ my @PGPorderheaders = ('from', 'newsgroups', 'subject', 'control',
 
 use strict;
 use Net::NNTP;
 
 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;
 use Date::Calc qw(Add_Delta_YM Add_Delta_Days Delta_Days Today);
 use Fcntl ':flock'; # import LOCK_* constants
 use Getopt::Std;
@@ -118,9 +119,7 @@ sub readconfig{
   my ($File, $Config, $Faq) = @_;
   my ($LastEntry, $Error, $i) = ('','',0);
 
   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>) {
 
   open FH, "<$$File" or die "$0: E: Can't open $$File: $!";
   while (<FH>) {
@@ -154,6 +153,9 @@ sub readconfig{
     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(!$$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;
     $Error .= "-" x 25 . "\n" if $Error;
   }
   die $Error if $Error;
@@ -184,9 +186,7 @@ sub postfaq {
   my ($ActName,$File,$From,$Subject,$NG,$Fup2,$MIDF,$ExtraHeaders,$Sender,$TDY,$TDM,$TDD,$ReplyTo,$Supersedes,$Expire) = @_;
   my (@Header,@Body,$MID,$InRealBody,$LastModified);
 
   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;
   
   #Prepare MID:
   $$TDM = ($$TDM < 10 && $$TDM !~ /^0/) ? "0" . $$TDM : $$TDM;
@@ -262,17 +262,13 @@ sub postfaq {
 
   my @Article = ($UsePGP)?@{signpgp(\@Header, \@Body)}:(@Header, "\n", @Body);
   
 
   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'});
 
   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";
 
   open (FH, ">$$File.cfg") or die "$0: E: Can't open $$File.cfg: $!";
   print FH "##;; Lastpost: $day.$month.$year\n";
This page took 0.011329 seconds and 4 git commands to generate.