Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitaf7211e

Browse files
committed
passwordcheck: Add test suite
Also improve one error message.Reviewed-by: David Steele <david@pgmasters.net>
1 parent8423bf4 commitaf7211e

File tree

6 files changed

+50
-1
lines changed

6 files changed

+50
-1
lines changed

‎contrib/passwordcheck/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Generated subdirectories
2+
/log/
3+
/results/
4+
/tmp_check/

‎contrib/passwordcheck/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ PGFILEDESC = "passwordcheck - strengthen user password checks"
88
# PG_CPPFLAGS = -DUSE_CRACKLIB '-DCRACKLIB_DICTPATH="/usr/lib/cracklib_dict"'
99
# SHLIB_LINK = -lcrack
1010

11+
REGRESS_OPTS = --temp-config$(srcdir)/passwordcheck.conf
12+
REGRESS = passwordcheck
13+
# disabled because these tests require setting shared_preload_libraries
14+
NO_INSTALLCHECK = 1
15+
1116
ifdefUSE_PGXS
1217
PG_CONFIG = pg_config
1318
PGXS :=$(shell$(PG_CONFIG) --pgxs)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
CREATE USER regress_user1;
2+
-- ok
3+
ALTER USER regress_user1 PASSWORD 'a_nice_long_password';
4+
-- error: too short
5+
ALTER USER regress_user1 PASSWORD 'tooshrt';
6+
ERROR: password is too short
7+
-- error: contains user name
8+
ALTER USER regress_user1 PASSWORD 'xyzregress_user1';
9+
ERROR: password must not contain user name
10+
-- error: contains only letters
11+
ALTER USER regress_user1 PASSWORD 'alessnicelongpassword';
12+
ERROR: password must contain both letters and nonletters
13+
-- encrypted ok (password is "secret")
14+
ALTER USER regress_user1 PASSWORD 'md51a44d829a20a23eac686d9f0d258af13';
15+
-- error: password is user name
16+
ALTER USER regress_user1 PASSWORD 'md5e589150ae7d28f93333afae92b36ef48';
17+
ERROR: password must not equal user name
18+
DROP USER regress_user1;

‎contrib/passwordcheck/passwordcheck.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ check_password(const char *username,
7070
if (plain_crypt_verify(username,shadow_pass,username,&logdetail)==STATUS_OK)
7171
ereport(ERROR,
7272
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
73-
errmsg("password must notcontain user name")));
73+
errmsg("password must notequal user name")));
7474
}
7575
else
7676
{
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
shared_preload_libraries = 'passwordcheck'
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
CREATEUSERregress_user1;
2+
3+
-- ok
4+
ALTERUSER regress_user1 PASSWORD'a_nice_long_password';
5+
6+
-- error: too short
7+
ALTERUSER regress_user1 PASSWORD'tooshrt';
8+
9+
-- error: contains user name
10+
ALTERUSER regress_user1 PASSWORD'xyzregress_user1';
11+
12+
-- error: contains only letters
13+
ALTERUSER regress_user1 PASSWORD'alessnicelongpassword';
14+
15+
-- encrypted ok (password is "secret")
16+
ALTERUSER regress_user1 PASSWORD'md51a44d829a20a23eac686d9f0d258af13';
17+
18+
-- error: password is user name
19+
ALTERUSER regress_user1 PASSWORD'md5e589150ae7d28f93333afae92b36ef48';
20+
21+
DROPUSER regress_user1;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp