From 84f2b5c443f946c450c5d2c742735ed2a28113d8 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 5 Feb 2016 16:01:17 +0000 Subject: [PATCH] Bug 15343 [QA Followup] * Check for leading/trailing spaces in password * Check hashed password in tests Signed-off-by: Jonathan Druart --- koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt | 3 ++- opac/opac-memberentry.pl | 3 +++ t/db_dependent/Members.t | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt index 7ef1f5ba..0ea468d 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt @@ -61,7 +61,8 @@ [% IF field == "emailpro" %]
  • Contact information: secondary email address
  • [% END %] [% IF field == "B_email" %]
  • Alternate address information: email address
  • [% END %] [% IF field == "password_match" %]
  • Passwords do not match! password
  • [% END %] - [% IF field == "password_invalid" %]
  • Password does not meet minium requirements! password
  • [% END %] + [% IF field == "password_invalid" %]
  • Password does not meet minimum requirements! password
  • [% END %] + [% IF field == "password_spaces" %]
  • Password contains leading and/or trailing spaces! password
  • [% END %] [% END %] Please correct the errors and resubmit. diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 66bbb86..3d19846 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -326,6 +326,9 @@ sub CheckForInvalidFields { if ( $borrower->{'password'} && $minpw && (length($borrower->{'password'}) < $minpw) ) { push(@invalidFields, "password_invalid"); } + if ( $borrower->{'password'} ) { + push(@invalidFields, "password_spaces") if ($borrower->{'password'} =~ /^\s/ or $borrower->{'password'} =~ /\s$/); + } return \@invalidFields; } diff --git a/t/db_dependent/Members.t b/t/db_dependent/Members.t index 13e6b57..55bdf82 100755 --- a/t/db_dependent/Members.t +++ b/t/db_dependent/Members.t @@ -17,7 +17,7 @@ use Modern::Perl; -use Test::More tests => 76; +use Test::More tests => 77; use Test::MockModule; use Data::Dumper; use C4::Context; @@ -371,6 +371,9 @@ my $password=""; is( $password =~ /^[a-zA-Z]{10}$/ , 1, 'Test for autogenerated password if none submitted'); ( $borrowernumber, $password ) = AddMember_Opac(surname=>"Deckard",firstname=>"Rick",password=>"Nexus-6",branchcode => $library2->{branchcode}); is( $password eq "Nexus-6", 1, 'Test password used if submitted'); +$borrower = GetMember(borrowernumber => $borrowernumber); +my $hashed_up = Koha::AuthUtils::hash_password("Nexus-6", $borrower->{password}); +is( $borrower->{password} eq $hashed_up, 1, 'Check password hash equals hash of submitted password' ); -- 2.1.0