--- libaitcfg/example/test_pwd.c 2012/09/19 12:43:12 1.1.2.8 +++ libaitcfg/example/test_pwd.c 2012/09/19 15:18:55 1.1.2.13 @@ -2,13 +2,14 @@ #include #include #include +#include "aitcfg.h" #include "aitpwd.h" int main() { pwd_root_t ddd, db; - struct tagUser *u; + const struct tagUser *u; char str[256]; int ret = 0; @@ -18,54 +19,54 @@ int main() } /* unit test find */ - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_UID, 0); + u = cfg_findPasswdBy(&db, PWD_CRIT_UID, 0); printf("cfg_findPasswdBy %p UID 0 User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_UID, 444); + u = cfg_findPasswdBy(&db, PWD_CRIT_UID, 444); printf("cfg_findPasswdBy %p UID 444 User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_UID, 99999); + u = cfg_findPasswdBy(&db, PWD_CRIT_UID, 99999); printf("cfg_findPasswdBy %p UID 99999\n", u); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_GID, 0); + u = cfg_findPasswdBy(&db, PWD_CRIT_GID, 0); printf("cfg_findPasswdBy %p GID 0 User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_GID, 20); + u = cfg_findPasswdBy(&db, PWD_CRIT_GID, 20); printf("cfg_findPasswdBy %p GID 20 User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_GID, 99999); + u = cfg_findPasswdBy(&db, PWD_CRIT_GID, 99999); printf("cfg_findPasswdBy %p GID 99999\n", u); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_NAME, "user_l"); + u = cfg_findPasswdBy(&db, PWD_CRIT_NAME, "user_l"); printf("cfg_findPasswdBy %p NAME user_l User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_NAME, "aa"); + u = cfg_findPasswdBy(&db, PWD_CRIT_NAME, "aa"); printf("cfg_findPasswdBy %p NAME aa User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_NAME, NULL); + u = cfg_findPasswdBy(&db, PWD_CRIT_NAME, NULL); printf("cfg_findPasswdBy %p NAME NULL\n", u); - u = (struct tagUser *) cfg_findPasswdBy(&db, PWD_CRIT_NAME, ""); + u = cfg_findPasswdBy(&db, PWD_CRIT_NAME, ""); printf("cfg_findPasswdBy %p NAME \"\"\n", u); /* get */ - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_UID, 0); + u = cfg_getPasswd(&db, PWD_CRIT_UID, 0); printf("cfg_getPasswd %p UID 0 User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_UID, 444); + u = cfg_getPasswd(&db, PWD_CRIT_UID, 444); printf("cfg_getPasswd %p UID 444 User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_UID, 99999); + u = cfg_getPasswd(&db, PWD_CRIT_UID, 99999); printf("cfg_getPasswd %p UID 99999\n", u); - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_NAME, "user_l"); + u = cfg_getPasswd(&db, PWD_CRIT_NAME, "user_l"); printf("cfg_getPasswd %p NAME user_l User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_NAME, "aa"); + u = cfg_getPasswd(&db, PWD_CRIT_NAME, "aa"); printf("cfg_getPasswd %p NAME aa User=%s %u:%u\n", u, AIT_GET_STR(&u->usr_name), AIT_GET_U32(&u->usr_uid), AIT_GET_U32(&u->usr_gid)); - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_NAME, NULL); + u = cfg_getPasswd(&db, PWD_CRIT_NAME, NULL); printf("cfg_getPasswd %p NAME NULL\n", u); - u = (struct tagUser *) cfg_getPasswd(&db, PWD_CRIT_NAME, ""); + u = cfg_getPasswd(&db, PWD_CRIT_NAME, ""); printf("cfg_getPasswd %p NAME \"\"\n", u); printf("\n----------\n"); @@ -86,35 +87,36 @@ int main() printf("\n----------\n"); -#if 0 /* unit test unset */ - pwdSetValue(&ddd, ALL, "ttt"); - printf("attr=%d Count of array %d w/ NULL \n", Username, pwd_FindAttribute(db, Username, ddd->psUser)); - printf("UNset attr=%d %s db=%p ddd=%p set %d\n", Class, ddd->psClass, db, ddd, pwd_UnsetAttribute(&db, Class, ddd)); - printf("UNset attr=%d %s db=%p ddd=%p set %d\n", Password, ddd->psPass, db, ddd, pwd_UnsetAttribute(&db, Password, ddd)); - pwdFreeValue(&ddd, ALL); - pwdSetValue(&ddd, ALL, "aa"); - printf("UNset attr=%d %s db=%p ddd=%p set %d\n", ALL, ddd->psUser, db, ddd, pwd_UnsetAttribute(&db, ALL, ddd)); - pwdFreeValue(&ddd, ALL); - /* unit end unset */ - printf("ALL el. Count of array %d w/ NULL \n", pwd_FindAttribute(db, ALL, NULL)); + u = cfg_getPasswd(&db, PWD_CRIT_NAME, "ttt"); + printf("-> user=%s %u:%u \"%s\"\n", AIT_GET_STR(&u->usr_name), + (u_int) AIT_RAW(&u->usr_uid), (u_int) AIT_RAW(&u->usr_gid), + AIT_GET_LIKE(&u->usr_realm, char*)); + printf("unset %p\n", cfg_unsetPasswd(&db, PWD_CRIT_NAME, "ttt")); + printf("unset %p\n", cfg_unsetPasswd(&db, PWD_CRIT_NAME, "tttZZZ")); + printf("unset %p\n", cfg_unsetPasswd(&db, PWD_CRIT_NAME, "ttt")); - WritePasswd(stdout, &db); + printf("\n----------\n"); - pwdSetValue(&ddd, ALL, "user_l"); - pwdSetValue(&ddd, Password, "000"); - switch ((ret = pwd_Authenticate(db, ddd))) { - case -1: - printf("Error:: #%d - %s\n", pwd_GetErrno(), pwd_GetError()); - break; - case 0: - printf("Access denied!\n"); - break; - default: - printf("Access granted - user found at position %d\n", ret); - } - pwdFreeValue(&ddd, ALL); -#endif + cfgWritePasswd(stdout, &db); + + printf("\n----------\n"); + + if (!(u = cfgAuthPasswd(&db, "user_l", "000"))) + printf("Access denied! user_l\n"); + else + printf("Access granted - user found %p %s uid=%u:%u\n", u, AIT_GET_STR(&u->usr_name), + (u_int) AIT_RAW(&u->usr_uid), (u_int) AIT_RAW(&u->usr_gid)); + if (!(u = cfgAuthPasswd(&db, "BRYMMMM", "111222"))) + printf("Access denied! BRYMMMM\n"); + else + printf("Access granted - user found %p %s uid=%u:%u\n", u, AIT_GET_STR(&u->usr_name), + (u_int) AIT_RAW(&u->usr_uid), (u_int) AIT_RAW(&u->usr_gid)); + if (!(u = cfgAuthPasswd(&db, "aa", "bb"))) + printf("Access denied! aa\n"); + else + printf("Access granted - user found %p %s uid=%u:%u\n", u, AIT_GET_STR(&u->usr_name), + (u_int) AIT_RAW(&u->usr_uid), (u_int) AIT_RAW(&u->usr_gid)); if (cfgCreatePasswd("test4e.pwd", &db)) { printf("Error #%d - %s\n", cfg_GetErrno(), cfg_GetError());