Compare commits

..

No commits in common. "7e7285d126c76ff3773769e487fb7bc3f2d38745" and "2bfafad4cb589ee3c5d905d2491165ac1b8651cd" have entirely different histories.

2 changed files with 8 additions and 14 deletions

View file

@ -1,10 +1,6 @@
yapfaq 1.1.0 (unreleased) yapfaq 1.1.0 (unreleased)
yapfaq 1.0.1 (unreleased)
* Add %t placeholder for Message-ID (feature parity with 0.9).
* Remove debugging code.
yapfaq 1.0.0 (2025-01-23) yapfaq 1.0.0 (2025-01-23)
* Complete rewrite. * Complete rewrite.
* Add POD. * Add POD.

View file

@ -32,6 +32,8 @@ use Path::Tiny; # CPAN
use Getopt::Long qw(GetOptions); use Getopt::Long qw(GetOptions);
Getopt::Long::config ('bundling'); Getopt::Long::config ('bundling');
use Data::Dumper;
# configuration ####################### # configuration #######################
# may be overwritten via ~/.yapfaqrc or command line # may be overwritten via ~/.yapfaqrc or command line
my %Config; my %Config;
@ -262,7 +264,7 @@ sub AddDuration {
### ------------------------------------------------------------------ ### ------------------------------------------------------------------
### return a hash of all headers (ignoring duplicate headers) ### return a hash of all headers (ignoring duplicate headers)
# taken and modified from pgpverify.pl # taken and modified from tinews.pl
sub ParseHeaders { sub ParseHeaders {
my @Headers = @_; my @Headers = @_;
my (%Header, $Label, $Value); my (%Header, $Label, $Value);
@ -462,18 +464,15 @@ sub BuildPosting {
# %m current month # %m current month
# %d current day # %d current day
# %p PID # %p PID
# %t timestamp (seconds since epoch)
if (/^Message-ID: /i) { if (/^Message-ID: /i) {
my $TDY = $TD->strftime('%Y'); my $TDY = $TD->strftime('%Y');
my $TDM = $TD->strftime('%m'); my $TDM = $TD->strftime('%m');
my $TDD = $TD->strftime('%d'); my $TDD = $TD->strftime('%d');
my $TimeStamp = time;
$_ =~ s/\%n/$Project/g; $_ =~ s/\%n/$Project/g;
$_ =~ s/\%y/$TDY/g; $_ =~ s/\%y/$TDY/g;
$_ =~ s/\%m/$TDM/g; $_ =~ s/\%m/$TDM/g;
$_ =~ s/\%d/$TDD/g; $_ =~ s/\%d/$TDD/g;
$_ =~ s/\%p/$$/g; $_ =~ s/\%p/$$/g;
$_ =~ s/\%t/$TimeStamp/g;
# add random part in test mode # add random part in test mode
if ($OptTest) { if ($OptTest) {
my $random = sprintf("%08X", rand(0xFFFFFFFF)); my $random = sprintf("%08X", rand(0xFFFFFFFF));
@ -748,12 +747,11 @@ curly brackets and spaces) is removed.
If a I<Message-ID:> header is present, placeholders in that header If a I<Message-ID:> header is present, placeholders in that header
will be replaced: I<%n> with the project name, I<%y> with the current will be replaced: I<%n> with the project name, I<%y> with the current
year (YYYY), I<%m> with the current month (MM), I<%d> with the year (YYYY), I<%m> with the current month (MM), I<%d> with the
current day (DD), I<%p> with the current process ID (PID) of current day (DD) and I<%p> with the current process ID (PID) of
B<yapfaq> and I<%t> with a timestamp timestamp (seconds since epoch). B<yapfaq>. If no I<Message-ID:> header is present, the I<Message-ID>
If no I<Message-ID:> header is present, the I<Message-ID> will be will be generated with the hostname of the system B<yapfaq> is
generated with the hostname of the system B<yapfaq> is running on and running on and I<%n-%y-%m-%d> as template for the left hand side. If
I<%n-%y-%m-%d> as template for the left hand side. If the the I<Message-ID:> header in the headers file does not contain
I<Message-ID:> header in the headers file does not contain
placeholders, the next repost will most probably fail. placeholders, the next repost will most probably fail.
If an I<Expires:> header is present, it must contain a time period of If an I<Expires:> header is present, it must contain a time period of