The branch master has been updated via 497f3bf9a75a2917e50b16b7985e87c89b86a39b (commit) via 9f9f962d96425ed741569460791eee0280fcf942 (commit) from 06a79af200b5ad0e5f5f078dc726c20c78f11885 (commit)
- Log ----------------------------------------------------------------- commit 497f3bf9a75a2917e50b16b7985e87c89b86a39b Author: Richard Levitte <levi...@openssl.org> Date: Tue Sep 13 23:23:51 2016 +0200 Add a test for 'openssl passwd' Also, enlarge test group 20 to include openssl commands that aren't tested otherwise Reviewed-by: Rich Salz <rs...@openssl.org> commit 9f9f962d96425ed741569460791eee0280fcf942 Author: Richard Levitte <levi...@openssl.org> Date: Tue Sep 13 22:48:35 2016 +0200 Fix 'openssl passwd' with arguments -1 or -apr1 RT#4674 Reviewed-by: Rich Salz <rs...@openssl.org> ----------------------------------------------------------------------- Summary of changes: apps/passwd.c | 1 + test/README | 2 +- test/recipes/20-test_passwd.t | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 test/recipes/20-test_passwd.t diff --git a/apps/passwd.c b/apps/passwd.c index e2c9096..a45245c 100644 --- a/apps/passwd.c +++ b/apps/passwd.c @@ -319,6 +319,7 @@ static char *md5crypt(const char *passwd, const char *magic, const char *salt) || !EVP_DigestUpdate(md, magic, magic_len) || !EVP_DigestUpdate(md, "$", 1) || !EVP_DigestUpdate(md, salt_out, salt_len)) + goto err; md2 = EVP_MD_CTX_new(); if (md2 == NULL diff --git a/test/README b/test/README index 34ef29a..bca7ab8 100644 --- a/test/README +++ b/test/README @@ -22,7 +22,7 @@ The number {nn} is (somewhat loosely) grouped as follows: 05 individual symmetric cipher algorithms 10 math (bignum) 15 individual asymmetric cipher algorithms -20 openssl enc +20 openssl commands (some otherwise not tested) 25 certificate forms, generation and verification 30 engine and evp 70 PACKET layer diff --git a/test/recipes/20-test_passwd.t b/test/recipes/20-test_passwd.t new file mode 100644 index 0000000..68169ac --- /dev/null +++ b/test/recipes/20-test_passwd.t @@ -0,0 +1,38 @@ +#! /usr/bin/env perl +# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + + +use strict; +use warnings; + +use OpenSSL::Test; + +setup("test_passwd"); + +plan tests => 6; + +ok(compare1stline([qw{openssl passwd password}], '^.{13}\R$'), + 'crypt password with random salt'); +ok(compare1stline([qw{openssl passwd -1 password}], '^\$1\$.{8}\$.{22}\R$'), + 'BSD style MD5 password with random salt'); +ok(compare1stline([qw{openssl passwd -apr1 password}], '^\$apr1\$.{8}\$.{22}\R$'), + 'Apache style MD5 password with random salt'); +ok(compare1stline([qw{openssl passwd -salt xx password}], '^xxj31ZMTZzkVA\R$'), + 'crypt password with salt xx'); +ok(compare1stline([qw{openssl passwd -salt xxxxxxxx -1 password}], '^\$1\$xxxxxxxx\$UYCIxa628\.9qXjpQCjM4a\.\R$'), + 'BSD style MD5 password with salt xxxxxxxx'); +ok(compare1stline([qw{openssl passwd -salt xxxxxxxx -apr1 password}], '^\$apr1\$xxxxxxxx\$dxHfLAsjHkDRmG83UXe8K0\R$'), + 'Apache style MD5 password with salt xxxxxxxx'); + + +sub compare1stline { + my ($cmdarray, $regexp) = @_; + my @lines = run(app($cmdarray), capture => 1); + + return $lines[0] =~ m|$regexp|; +} _____ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits