From a1131337d71a61da5b3b5e129545d3257a709480 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Thu, 11 Dec 2008 19:41:49 +0000 Subject: Relevant BUGIDs: Purpose of commit: new feature Commit summary: --------------- 2008-12-10 Thorsten Kukuk * doc/man/pam_item_types_ext.inc.xml: Document PAM_AUTHTOK_TYPE. * libpam/pam_end.c (pam_end): Free authtok_type. * tests/tst-pam_get_item.c: Add PAM_AUTHTOK_TYPE as test case. * tests/tst-pam_set_item.c: Likewise. * libpam/pam_start.c (pam_start): Initialize xdisplay, xauth and authtok_type. * libpam/pam_get_authtok.c (pam_get_authtok): Rename "type" to "authtok_type". * modules/pam_cracklib/pam_cracklib.8.xml: Replace "type=" with "authtok_type=". * doc/man/pam_get_authtok.3.xml: Document authtok_type argument. * modules/pam_cracklib/pam_cracklib.c (pam_sm_chauthtok): Set type= argument as PAM_AUTHTOK_TYPE item. * libpam/pam_get_authtok.c (pam_get_authtok): If no type argument given, use PAM_AUTHTOK_TYPE item. * libpam/pam_item.c (pam_get_item): Fetch PAM_AUTHTOK_TYPE item. (pam_set_item): Store PAM_AUTHTOK_TYPE item. * libpam/pam_private.h: Add authtok_type to pam_handle. * libpam/include/security/_pam_types.h (PAM_AUTHTOK_TYPE): New. --- tests/tst-pam_get_item.c | 3 ++- tests/tst-pam_set_item.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/tst-pam_get_item.c b/tests/tst-pam_get_item.c index d88b8b29..e6c98a0f 100644 --- a/tests/tst-pam_get_item.c +++ b/tests/tst-pam_get_item.c @@ -56,7 +56,8 @@ struct mapping items[] = { {PAM_OLDAUTHTOK, "PAM_OLDAUTHTOK", PAM_BAD_ITEM}, {PAM_RUSER, "PAM_RUSER", 0}, {PAM_USER_PROMPT, "PAM_USER_PROMPT", 0}, - {PAM_FAIL_DELAY, "PAM_FAIL_DELAY", 0} + {PAM_FAIL_DELAY, "PAM_FAIL_DELAY", 0}, + {PAM_AUTHTOK_TYPE, "PAM_AUTHTOK_TYPE", 0} }; int diff --git a/tests/tst-pam_set_item.c b/tests/tst-pam_set_item.c index 069d7aff..f8f271d1 100644 --- a/tests/tst-pam_set_item.c +++ b/tests/tst-pam_set_item.c @@ -57,7 +57,8 @@ struct mapping items[] = { {PAM_OLDAUTHTOK, "PAM_OLDAUTHTOK", PAM_BAD_ITEM, "none"}, {PAM_RUSER, "PAM_RUSER", PAM_SUCCESS, "noroot"}, {PAM_USER_PROMPT, "PAM_USER_PROMPT", PAM_SUCCESS, "your name: "}, - {PAM_FAIL_DELAY, "PAM_FAIL_DELAY", PAM_SUCCESS, "4000"} + {PAM_FAIL_DELAY, "PAM_FAIL_DELAY", PAM_SUCCESS, "4000"}, + {PAM_AUTHTOK_TYPE, "PAM_AUTHTOK_TYPE", PAM_SUCCESS, "U**X"} }; int -- cgit v1.2.3 From 48a26b6141fb6bf276208bc1a06f5105880e843e Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Wed, 25 Feb 2009 17:05:22 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2009-02-25 Thorsten Kukuk * libpam/pam_misc.c (_pam_StrTok): Use unsigned char instead of int. Reported by Marcus Granado. * tests/Makefile.am (TESTS): Add tst-pam_mkargv. * tests/tst-pam_mkargv.c (main): Test case for _pam_mkargv. * po/de.po: Update fuzzy translations. --- tests/.cvsignore | 1 + tests/Makefile.am | 6 +++--- tests/tst-pam_mkargv.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 tests/tst-pam_mkargv.c (limited to 'tests') diff --git a/tests/.cvsignore b/tests/.cvsignore index 8907f478..d8828fe6 100644 --- a/tests/.cvsignore +++ b/tests/.cvsignore @@ -18,3 +18,4 @@ tst-pam_set_data tst-pam_set_item tst-pam_setcred tst-pam_start +tst-pam_mkargv diff --git a/tests/Makefile.am b/tests/Makefile.am index de1594bd..dfe745da 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright (c) 2006 Thorsten Kukuk +# Copyright (c) 2006, 2009 Thorsten Kukuk # AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \ @@ -11,9 +11,9 @@ CLEANFILES = *~ TESTS = tst-pam_start tst-pam_end tst-pam_fail_delay tst-pam_open_session \ tst-pam_close_session tst-pam_acct_mgmt tst-pam_authenticate \ tst-pam_chauthtok tst-pam_setcred tst-pam_get_item tst-pam_set_item \ - tst-pam_getenvlist tst-pam_get_user tst-pam_set_data + tst-pam_getenvlist tst-pam_get_user tst-pam_set_data \ + tst-pam_mkargv check_PROGRAMS = ${TESTS} tst-dlopen tst_dlopen_LDADD = -ldl - diff --git a/tests/tst-pam_mkargv.c b/tests/tst-pam_mkargv.c new file mode 100644 index 00000000..462875b8 --- /dev/null +++ b/tests/tst-pam_mkargv.c @@ -0,0 +1,52 @@ +/* + Copyright (C) Thorsten Kukuk 2009 + + 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 in version 2 of the License. +*/ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include + +#include "pam_misc.c" + +/* Simple program to see if _pam_mkargv() would succeed. */ +int main(void) +{ + char *argvstring = "user = XENDT\\userĪ± user=XENDT\\user1"; + const char *argvresult[] = {"user", "=", "XENDT\\userĪ±", + "user=XENDT\\user1"}; + int myargc; + char **myargv; + int argvlen; + int i; + + argvlen = _pam_mkargv(argvstring, &myargv, &myargc); + +#if 0 + printf ("argvlen=%i, argc=%i", argvlen, myargc); + for (i = 0; i < myargc; i++) { + printf(", argv[%d]=%s", i, myargv[i]); + } + printf ("\n"); +#endif + + if (argvlen != 333) + return 1; + + if (myargc != 4) + return 1; + + for (i = 0; i < 4; i++) + { + if (strcmp (myargv[i], argvresult[i]) != 0) + return 1; + } + + return 0; +} -- cgit v1.2.3 From c773c1786718c76155074331c7da60e934786da3 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 3 Mar 2009 18:29:04 +0000 Subject: Relevant BUGIDs: Purpose of commit: bugfix Commit summary: --------------- 2009-03-03 Dmitry V. Levin * tests/tst-pam_mkargv.c (main): Fix for non-64bit architectures. --- tests/tst-pam_mkargv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/tst-pam_mkargv.c b/tests/tst-pam_mkargv.c index 462875b8..d3e7a616 100644 --- a/tests/tst-pam_mkargv.c +++ b/tests/tst-pam_mkargv.c @@ -24,8 +24,10 @@ int main(void) int myargc; char **myargv; int argvlen; + int explen; int i; + explen = (strlen(argvstring) + 1) * ((sizeof(char)) + sizeof(char *)); argvlen = _pam_mkargv(argvstring, &myargv, &myargc); #if 0 @@ -36,7 +38,7 @@ int main(void) printf ("\n"); #endif - if (argvlen != 333) + if (argvlen != explen) return 1; if (myargc != 4) -- cgit v1.2.3