From 1b29788e2fff0aa189068b6045924504213b392e Mon Sep 17 00:00:00 2001 From: TimotheLitt Date: Wed, 10 Oct 2012 15:52:22 +0000 Subject: [PATCH] Item12130: Respect EnableSMIME in the checkers (otherwiki doesn't have it) - noticed by George (thanks). Add one for key password. git-svn-id: http://svn.foswiki.org/trunk@15556 0b4bb1d4-4e5a-0410-9cc4-b2b747904278 --- .../Checkers/Email/SmimeCertificateFile.pm | 5 +- .../Configure/Checkers/Email/SmimeKeyFile.pm | 1 + .../Checkers/Email/SmimeKeyPassword.pm | 62 +++++++++++++++++++ 3 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyPassword.pm diff --git a/core/lib/Foswiki/Configure/Checkers/Email/SmimeCertificateFile.pm b/core/lib/Foswiki/Configure/Checkers/Email/SmimeCertificateFile.pm index 0286ad7542..bc6db1518e 100644 --- a/core/lib/Foswiki/Configure/Checkers/Email/SmimeCertificateFile.pm +++ b/core/lib/Foswiki/Configure/Checkers/Email/SmimeCertificateFile.pm @@ -10,10 +10,7 @@ use base 'Foswiki::Configure::Checkers::Certificate::EmailChecker'; sub check { my $this = shift; - return '' - unless ( defined $Foswiki::cfg{SmimeCertificateFile} - && length $Foswiki::cfg{SmimeCertificateFile} ); - + return '' unless ( $Foswiki::cfg{Email}{EnableSMIME} ); return $this->SUPER::check(@_); } 1; diff --git a/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyFile.pm b/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyFile.pm index 28454f37e8..ad3c6972f8 100644 --- a/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyFile.pm +++ b/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyFile.pm @@ -10,6 +10,7 @@ use base 'Foswiki::Configure::Checkers::Certificate::KeyChecker'; sub check { my $this = shift; + return '' unless ( $Foswiki::cfg{Email}{EnableSMIME} ); return $this->SUPER::check( @_, '{Email}{SmimeKeyPassword}' ); } diff --git a/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyPassword.pm b/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyPassword.pm new file mode 100644 index 0000000000..c7a733f986 --- /dev/null +++ b/core/lib/Foswiki/Configure/Checkers/Email/SmimeKeyPassword.pm @@ -0,0 +1,62 @@ +# See bottom of file for license and copyright information + +package Foswiki::Configure::Checkers::Email::SmimeKeyPassword; + +use strict; +use warnings; + +use base 'Foswiki::Configure::Checker'; + +sub check { + my $this = shift; + my $valobj = shift; + + my $value = $Foswiki::cfg{SmimeKeyPassword}; + + # Expand any references to other variables + + Foswiki::Configure::Load::expandValue($value); + + # Unused passwords should not be hanging around. + + unless ( $Foswiki::cfg{Email}{EnableSMIME} ) { + return $this->WARN( + "Unused password field is not empty, please clear it") + if ( defined $value && length $value ); + return ''; + } + + # I'm not going to nag about length or complexity, though I could.. + + return ''; +} + +1; + +__END__ + +Foswiki - The Free and Open Source Wiki, http://foswiki.org/ + +Copyright (C) 2008-2010 Foswiki Contributors. Foswiki Contributors +are listed in the AUTHORS file in the root of this distribution. +NOTE: Please extend that file, not this notice. + +Additional copyrights apply to some or all of the code in this +file as follows: + +Copyright (C) 2000-2006 TWiki Contributors. All Rights Reserved. +TWiki Contributors are listed in the AUTHORS file in the root +of this distribution. NOTE: Please extend that file, not this notice. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. For +more details read LICENSE in the root of this distribution. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +As per the GPL, removal of this notice is prohibited. +