Release of upstream version 4.11.
Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
parent
bb61da3743
commit
c9497882fb
14
CHANGES
14
CHANGES
|
@ -1,15 +1,21 @@
|
||||||
UseVoteGer Versionshistorie (aktuelle Version: 4.10, released 17.09.2012)
|
UseVoteGer Versionshistorie (aktuelle Version: 4.11, released 25.09.2012)
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- aussortieren von Bounces aus Stimmenliste
|
- aussortieren von Bounces aus Stimmenliste
|
||||||
- Unterstuetzung von Maildir
|
|
||||||
- [Zugschlus] ich fänd es klasse, wenn man eine Kopie des Wahlscheines ins
|
- [Zugschlus] ich fänd es klasse, wenn man eine Kopie des Wahlscheines ins
|
||||||
Abstimmungsverzeichnis legt und Usevote einem dann auf Abruf ein diff
|
Abstimmungsverzeichnis legt und Usevote einem dann auf Abruf ein diff
|
||||||
oder wdiff zwischen Sollwahlschein und wirklich eingreichtem
|
oder wdiff zwischen Sollwahlschein und wirklich eingreichtem
|
||||||
Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen
|
Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen
|
||||||
am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt).
|
am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt).
|
||||||
|
|
||||||
|
Version 4.11 (25.09.2012):
|
||||||
|
- Regular Expression fuer Pruefung des Abstimmungsnamens verbessert.
|
||||||
|
Es kam zu vielen False Positives
|
||||||
|
- Einlesen der Mailbox auf Perlmodule Mail::Box umgestellt, damit
|
||||||
|
auch Maildir moeglich (neue Option "mailboxtype" in usevote.cfg).
|
||||||
|
Archivierung erfolgt aber vorerst weiterhin immer als mbox
|
||||||
|
|
||||||
Version 4.10 (17.09.2012):
|
Version 4.10 (17.09.2012):
|
||||||
- Fehler in uvvote.pl, Zeile 126 behoben (Verarbeitung von temporaeren
|
- Fehler in uvvote.pl, Zeile 126 behoben (Verarbeitung von temporaeren
|
||||||
Dateien - es wurde nicht korrekt auf vorhandene Temp-Dateien
|
Dateien - es wurde nicht korrekt auf vorhandene Temp-Dateien
|
||||||
|
@ -23,7 +29,7 @@ Version 4.10 (17.09.2012):
|
||||||
auf die Ack-Mail geschickt werden koennen)
|
auf die Ack-Mail geschickt werden koennen)
|
||||||
- Fehler in Annullierungsbearbeitung behoben (wurde nur bei erstem
|
- Fehler in Annullierungsbearbeitung behoben (wurde nur bei erstem
|
||||||
oder letztem Abstimmungspunkt ausgewertet)
|
oder letztem Abstimmungspunkt ausgewertet)
|
||||||
- Abstimmungsname wird nun auf Korrektheit geprüft (Wahlschein gehört
|
- Abstimmungsname wird nun auf Korrektheit geprueft (Wahlschein gehört
|
||||||
zur richtigen Abstimmung)
|
zur richtigen Abstimmung)
|
||||||
- neue Konfigurations-Option "ballotintro" und neues Template
|
- neue Konfigurations-Option "ballotintro" und neues Template
|
||||||
tpl_wrong_voting
|
tpl_wrong_voting
|
||||||
|
@ -36,7 +42,7 @@ Version 4.09 (14.09.2007):
|
||||||
- "votefile"-Option in usevote.cfg an passendere Stelle verschoben und
|
- "votefile"-Option in usevote.cfg an passendere Stelle verschoben und
|
||||||
den Kommentar korrigiert (natuerlich gilt pop3=0 als Bedingung, nicht
|
den Kommentar korrigiert (natuerlich gilt pop3=0 als Bedingung, nicht
|
||||||
etwa wie vorher angegeben smtp=0)
|
etwa wie vorher angegeben smtp=0)
|
||||||
- Fehler in Template für Ergebnisausgabe korrigiert (fehlendes Newline
|
- Fehler in Template fuer Ergebnisausgabe korrigiert (fehlendes Newline
|
||||||
nach umgebrochenen Abstimmungspunkten)
|
nach umgebrochenen Abstimmungspunkten)
|
||||||
- Fehler in Doku der Kommandozeilenoptionen von uvcount.pl behoben
|
- Fehler in Doku der Kommandozeilenoptionen von uvcount.pl behoben
|
||||||
(--voters statt --votes)
|
(--voters statt --votes)
|
||||||
|
|
5
README
5
README
|
@ -1,4 +1,4 @@
|
||||||
UseVoteGer 4.10 (c) 2001-2012 Marc Langer
|
UseVoteGer 4.11 (c) 2001-2012 Marc Langer
|
||||||
|
|
||||||
UseVoteGer is a voting software for usenet votes.
|
UseVoteGer is a voting software for usenet votes.
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ written in C). Not all functions of Usevote/UseVoteGer 3.x are implemented!
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
UseVoteGer 4.10 - Usenet-Abstimmungssoftware
|
UseVoteGer 4.11 - Usenet-Abstimmungssoftware
|
||||||
===========================================
|
===========================================
|
||||||
|
|
||||||
von Marc Langer <uv@marclanger.de>
|
von Marc Langer <uv@marclanger.de>
|
||||||
|
@ -958,6 +958,7 @@ votename Name der Abstimmung
|
||||||
group1 Erster Abstimmungsgegenstand
|
group1 Erster Abstimmungsgegenstand
|
||||||
group2 Zweiter (und so weiter durchnummerieren)
|
group2 Zweiter (und so weiter durchnummerieren)
|
||||||
votefile Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
|
votefile Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
|
||||||
|
mailboxtype Typ der Mailbox (mbox, maildir)
|
||||||
personal Personalisierte Wahlscheine verwenden? [BOOL]
|
personal Personalisierte Wahlscheine verwenden? [BOOL]
|
||||||
(siehe gesonderten Abschnitt weiter oben)
|
(siehe gesonderten Abschnitt weiter oben)
|
||||||
voteaccount Mailadresse, unter der abgestimmt werden kann
|
voteaccount Mailadresse, unter der abgestimmt werden kann
|
||||||
|
|
|
@ -18,7 +18,7 @@ require Exporter;
|
||||||
$VERSION = "0.18";
|
$VERSION = "0.18";
|
||||||
|
|
||||||
# Usevote version
|
# Usevote version
|
||||||
$usevote_version = "UseVoteGer 4.10";
|
$usevote_version = "UseVoteGer 4.11";
|
||||||
|
|
||||||
sub read_config {
|
sub read_config {
|
||||||
|
|
||||||
|
@ -45,6 +45,7 @@ sub read_config {
|
||||||
voteaccount => "<> (unkonfiguriertes Usevote)",
|
voteaccount => "<> (unkonfiguriertes Usevote)",
|
||||||
mailfrom => "<> (unkonfiguriertes Usevote)",
|
mailfrom => "<> (unkonfiguriertes Usevote)",
|
||||||
envelopefrom => "<>",
|
envelopefrom => "<>",
|
||||||
|
mailboxtype => "mbox",
|
||||||
mailstart => "^From ",
|
mailstart => "^From ",
|
||||||
archivedir => "fertig",
|
archivedir => "fertig",
|
||||||
tmpdir => "tmp",
|
tmpdir => "tmp",
|
||||||
|
|
|
@ -9,6 +9,7 @@ use UVmessage;
|
||||||
use MIME::QuotedPrint;
|
use MIME::QuotedPrint;
|
||||||
use MIME::Base64;
|
use MIME::Base64;
|
||||||
use MIME::Parser;
|
use MIME::Parser;
|
||||||
|
use Mail::Box::Manager;
|
||||||
use POSIX qw(strftime);
|
use POSIX qw(strftime);
|
||||||
|
|
||||||
use vars qw($VERSION);
|
use vars qw($VERSION);
|
||||||
|
@ -118,6 +119,41 @@ sub process {
|
||||||
close (UIDLCACHE) or print STDERR UVmessage::get("READMAIL_UIDL_CLOSE") . "\n";
|
close (UIDLCACHE) or print STDERR UVmessage::get("READMAIL_UIDL_CLOSE") . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$pop->quit();
|
||||||
|
|
||||||
|
# Mailbox / Maildir
|
||||||
|
} else {
|
||||||
|
|
||||||
|
my $mgr = Mail::Box::Manager->new;
|
||||||
|
my $folder;
|
||||||
|
|
||||||
|
eval{
|
||||||
|
$folder = $mgr->open( folder => $config{votefile},
|
||||||
|
create => 0,
|
||||||
|
access => 'rw',
|
||||||
|
type => $config{mailboxtype},
|
||||||
|
expand => 'LAZY',
|
||||||
|
);
|
||||||
|
};
|
||||||
|
die UVmessage::get("READMAIL_NOMAILFILE", (FILE => $config{votefile})) . "\n\n" if $@;
|
||||||
|
|
||||||
|
# Iterate over the messages.
|
||||||
|
foreach (@$folder) {
|
||||||
|
my $mail = $_->string;
|
||||||
|
$_->delete();
|
||||||
|
my $fromline = 'From ';
|
||||||
|
if ($mail =~ /From: .*?<(.+?)>/) {
|
||||||
|
$fromline .= $1;
|
||||||
|
} elsif ($mail =~ /From:\s+?(\S+?\@\S+?)\s/) {
|
||||||
|
$fromline .= $1;
|
||||||
|
} else {
|
||||||
|
$fromline .= 'foo@bar.invalid';
|
||||||
|
}
|
||||||
|
$fromline .= ' ' . localtime() . "\n"; #strftime ('%a %b %d %H:%M:%S %Y', localtime) . "\n";
|
||||||
|
push (@mails, $fromline . $mail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# make archive of all mails
|
# make archive of all mails
|
||||||
my $fileproblem = 0;
|
my $fileproblem = 0;
|
||||||
open (VOTES, ">$filename") or $fileproblem = 1;
|
open (VOTES, ">$filename") or $fileproblem = 1;
|
||||||
|
@ -131,26 +167,6 @@ sub process {
|
||||||
(FILE => $filename)) . "\n";
|
(FILE => $filename)) . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$pop->quit();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
# open mail file
|
|
||||||
open(VOTES, "<$filename")
|
|
||||||
or die UVmessage::get("READMAIL_NOMAILFILE", (FILE => $filename)) . "\n\n";
|
|
||||||
|
|
||||||
# read all mails
|
|
||||||
my $i = 0;
|
|
||||||
while (<VOTES>) {
|
|
||||||
if (/$config{mailstart}/) {
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
$mails[$i] = ($mails[$i] || "") . $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
# close mail file
|
|
||||||
close(VOTES);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach my $mail (@mails) {
|
foreach my $mail (@mails) {
|
||||||
next unless $mail;
|
next unless $mail;
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,9 @@ pop3 = 1
|
||||||
# Mailbox, in der die zu verarbeitenden Mails liegen (falls pop3=0)
|
# Mailbox, in der die zu verarbeitenden Mails liegen (falls pop3=0)
|
||||||
votefile = votes
|
votefile = votes
|
||||||
|
|
||||||
|
# Typ der Mailbox (mbox, maildir)
|
||||||
|
mailboxtype = mbox
|
||||||
|
|
||||||
# POP3-Einstellungen fuer Abruf der eingehenden Wahlscheine:
|
# POP3-Einstellungen fuer Abruf der eingehenden Wahlscheine:
|
||||||
# Server, Port, Benutzername, Passwort
|
# Server, Port, Benutzername, Passwort
|
||||||
pop3server = 127.0.0.1
|
pop3server = 127.0.0.1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# UseVoteGer 4.10 Wahlscheingenerierung
|
# UseVoteGer 4.11 Wahlscheingenerierung
|
||||||
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
||||||
#
|
#
|
||||||
# This script package is free software; you can redistribute it and/or
|
# This script package is free software; you can redistribute it and/or
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# UseVoteGer 4.10 Bounce-Verarbeitung
|
# UseVoteGer 4.11 Bounce-Verarbeitung
|
||||||
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
||||||
#
|
#
|
||||||
# This script package is free software; you can redistribute it and/or
|
# This script package is free software; you can redistribute it and/or
|
||||||
|
|
2
uvcfv.pl
2
uvcfv.pl
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# UseVoteGer 4.10 Personalisierte Wahlscheine
|
# UseVoteGer 4.11 Personalisierte Wahlscheine
|
||||||
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
||||||
#
|
#
|
||||||
# This script package is free software; you can redistribute it and/or
|
# This script package is free software; you can redistribute it and/or
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# UseVoteGer 4.10 Stimmauswertung
|
# UseVoteGer 4.11 Stimmauswertung
|
||||||
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
||||||
#
|
#
|
||||||
# This script package is free software; you can redistribute it and/or
|
# This script package is free software; you can redistribute it and/or
|
||||||
|
|
14
uvvote.pl
14
uvvote.pl
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# UseVoteGer 4.10 Wahldurchfuehrung
|
# UseVoteGer 4.11 Wahldurchfuehrung
|
||||||
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
# (c) 2001-2012 Marc Langer <uv@marclanger.de>
|
||||||
#
|
#
|
||||||
# This script package is free software; you can redistribute it and/or
|
# This script package is free software; you can redistribute it and/or
|
||||||
|
@ -135,16 +135,6 @@ if ($clean) {
|
||||||
my $thisresult = "ergebnis-" . $ext;
|
my $thisresult = "ergebnis-" . $ext;
|
||||||
my $thisvotes = "stimmen-" . $ext;
|
my $thisvotes = "stimmen-" . $ext;
|
||||||
|
|
||||||
# POP3 not activated: rename votes file
|
|
||||||
unless ($config{pop3}) {
|
|
||||||
print UVmessage::get("VOTE_RENAMING_MAILBOX"), "\n";
|
|
||||||
rename ($config{votefile}, "$config{tmpdir}/$thisvotes")
|
|
||||||
or die UVmessage::get("ERR_RENAME_MAILFILE") . "$!\n\n";
|
|
||||||
|
|
||||||
# wait, so that current mail deliveries can finalize
|
|
||||||
sleep 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
# open results file
|
# open results file
|
||||||
open (RESULT, ">>$config{tmpdir}/$thisresult")
|
open (RESULT, ">>$config{tmpdir}/$thisresult")
|
||||||
or die UVmessage::get("VOTE_WRITE_RESULTS", (FILE=>$thisresult)) . "\n\n";
|
or die UVmessage::get("VOTE_WRITE_RESULTS", (FILE=>$thisresult)) . "\n\n";
|
||||||
|
@ -241,7 +231,7 @@ sub process_vote {
|
||||||
}
|
}
|
||||||
|
|
||||||
# correct voting?
|
# correct voting?
|
||||||
if ($$body =~ /\Q$config{ballotintro}\E\s+(.+?)\s*\n(.*?[\t ]+(\S+.+)\s*$)?/m) {
|
if ($$body =~ /\Q$config{ballotintro}\E\s+(.+?)[^\S\n]*\n([>:|]*?[\t ]+(\S+.+)\s*$)?/m) {
|
||||||
$voting = $1;
|
$voting = $1;
|
||||||
$voting .= " $3" if defined($3);
|
$voting .= " $3" if defined($3);
|
||||||
push (@errors, 'WrongVoting') if ($config{votename} !~ /^\s*\Q$voting\E\s*$/);
|
push (@errors, 'WrongVoting') if ($config{votename} !~ /^\s*\Q$voting\E\s*$/);
|
||||||
|
|
Loading…
Reference in a new issue