version 1.1.2.5, 2012/09/18 15:50:59
|
version 1.1.2.10, 2012/09/19 13:02:58
|
Line 48 SUCH DAMAGE.
|
Line 48 SUCH DAMAGE.
|
|
|
|
|
#include <time.h> |
#include <time.h> |
|
#include <sys/types.h> |
|
#include <aitio.h> |
|
|
|
|
#define PWD_CRIT_NAME 0 |
#define PWD_CRIT_NAME 0 |
Line 181 int cfgWritePasswd(FILE *f, pwd_root_t * __restrict pw
|
Line 183 int cfgWritePasswd(FILE *f, pwd_root_t * __restrict pw
|
int cfgConcatPasswd(pwd_root_t * __restrict pwd, pwd_root_t * __restrict add_pwd); |
int cfgConcatPasswd(pwd_root_t * __restrict pwd, pwd_root_t * __restrict add_pwd); |
|
|
/* |
/* |
|
* cfgAuthPasswd() - Authenticate user against passwords db |
|
* |
|
* @pwd = Password root |
|
* @csName = Username |
|
* @csPass = Password |
|
* return: -1 error, 1 deny or 0 allow |
|
*/ |
|
int cfgAuthPasswd(pwd_root_t * __restrict pwd, const char *csName, const char *csPass); |
|
|
|
/* |
* cfg_findPasswdBy() - Find user by criteria position in list |
* cfg_findPasswdBy() - Find user by criteria position in list |
* |
* |
* @pwd = Password root |
* @pwd = Password root |
Line 188 int cfgConcatPasswd(pwd_root_t * __restrict pwd, pwd_r
|
Line 200 int cfgConcatPasswd(pwd_root_t * __restrict pwd, pwd_r
|
* @arg1 = Username | UID | GID |
* @arg1 = Username | UID | GID |
* return: NULL not found item or error and !=NULL found item |
* return: NULL not found item or error and !=NULL found item |
*/ |
*/ |
struct tagUser *cfg_findPasswdBy(pwd_root_t * __restrict pwd, int criteria, ...); | const struct tagUser *cfg_findPasswdBy(pwd_root_t * __restrict pwd, int criteria, ...); |
/* |
/* |
* cfg_unsetPasswd() - Unset item from passwords and free resources |
* cfg_unsetPasswd() - Unset item from passwords and free resources |
* |
* |
Line 198 struct tagUser *cfg_findPasswdBy(pwd_root_t * __restri
|
Line 210 struct tagUser *cfg_findPasswdBy(pwd_root_t * __restri
|
* return: 0 item not found, -1 error or 1 removed item |
* return: 0 item not found, -1 error or 1 removed item |
*/ |
*/ |
int cfg_unsetPasswd(pwd_root_t * __restrict pwd, int criteria, ...); |
int cfg_unsetPasswd(pwd_root_t * __restrict pwd, int criteria, ...); |
|
|
#if 0 |
|
/* |
/* |
* pwdFreeValue() Free passwd_t value | * cfg_setPasswd() - Set item in password or adding new item if not exists |
* @ppwd = User object | * |
* @idx = Index of attribute, if ALL == idx is free all structure | * @cfg = Password root |
* return: 0 ok, -1 error | * @fields = Meaning continuous field |
*/ | * @csName = Username |
inline int pwdFreeValue(passwd_t * __restrict ppwd, passwd_attr_t idx); | * @arg1 = Password |
/* | * @arg2 = UID |
* pwdSetValue() Set passwd_t value | * @arg3 = GID |
* @ppwd = User object | * @arg4 = Login class |
* @idx = Index of attribute, if ALL == idx clean User object and set username! | * @arg5 = Chage date |
* @Value = Value to set | * @arg6 = Expire date |
* return: number of fields in passwd_t; -1 error:: can`t set passwd_t | * @arg7 = Realm |
*/ | * @arg8 = Home dir |
inline int pwdSetValue(passwd_t * __restrict ppwd, passwd_attr_t idx, unsigned char *Value); | * @arg9 = Shell |
/* | * return: 0 nothing changed, -1 error, 1 found and updated item or 2 added new item |
* pwdGetValue() Get passwd_t value | |
* @pwd = User object | |
* @idx = Index of attribute, if ALL == idx is error! | |
* @Value = Value to get | |
* @valLen = Size of Value string | |
* return: number of fields in passwd_t; -1 error:: can`t get passwd_t | |
*/ | |
inline int pwdGetValue(passwd_t __restrict pwd, passwd_attr_t idx, unsigned char *Value, int valLen); | |
| |
| |
/* | |
* pwd_FindAttribute() Find by attribute position in user array | |
* @pwd = User array | |
* @idx = Index of attribute, if ALL == idx return number of user array elements | |
* @csAttr = User attribute | |
* return: 0 not found item; -1 error: null parameters; >0 position in array + 1 | |
*/ | |
inline int pwd_FindAttribute(passwd_t __restrict pwd, passwd_attr_t idx, const unsigned char *csAttr); | |
/* | |
* pwd_SetAttribute() Set user in array or add new user if not exists | |
* @ppwd = User array | |
* @idx = Index of attribute to set | |
* @val = User structure for setup | |
* return: 0 nothing changed, -1 error: not enough memory; 1 find and update item; 2 added new item | |
*/ | |
int pwd_SetAttribute(passwd_t * __restrict ppwd, passwd_attr_t idx, passwd_t val); | |
/* | |
* pwd_GetAttribute() Get user from array, set username in val | |
* @pwd = User array | |
* @idx = Index of attribute to get, if idx == ALL return full element items | |
* @val = User structure | |
* return: 0 not found, -1 error; >0 found at position in array + 1 | |
*/ | |
int pwd_GetAttribute(passwd_t __restrict pwd, passwd_attr_t idx, passwd_t val); | |
/* | |
* pwd_UnsetAttribute() Unset user from array and free resources! | |
* @ppwd = User array | |
* @idx = Index of attribute to unset, if idx == ALL unset(delete) all items in element | |
* @val = User structure | |
* return: 0 item not found, -1 error: null parameters; >0 number of elements leave in array | |
*/ | |
int pwd_UnsetAttribute(passwd_t * __restrict ppwd, passwd_attr_t idx, passwd_t val); | |
/* | |
* pwd_Authenticate() Authenticate user, set username and password in val | |
* @pwd = User array | |
* @val = User structure for authenticate, set username & password | |
after authentication fill other fields if exists | |
* return: 0 not found, -1 error; >0 found at position in array + 1 | |
*/ | |
int pwd_Authenticate(passwd_t __restrict pwd, passwd_t val); | |
| |
| |
/* | |
* pwd_openAcct() Open accounting aDat binary database | |
* @csName - DB name | |
* @minR - Minimum records in database | |
* @maxR - Maximum records in database(round-robin db), if 0 unlimited grow | |
* @recSize - Size of record element | |
* @wrapR - If maxR >0 give ability to wrap round-robin db | |
* return: NULL error or !=NULL opened db handle | |
*/ |
*/ |
struct tagAcctDB *pwd_openAcct(const char *csName, unsigned int minR, unsigned int maxR, | int cfg_setPasswd(pwd_root_t * __restrict pwd, u_char fields, const char *csName, ...); |
size_t recSize, unsigned char wrapR); | |
/* |
/* |
* pwd_closeAcct() Close accounting aDat binary database | * cfg_getPasswd() - Get item from passwords and return structure from it |
* @db - DB handle | * |
* return: none | * @pwd = Password root |
| * @criteria = Search criteria [PWD_CRIT_NAME|PWD_CRIT_UID] |
| * @arg1 = Username | UID |
| * return: NULL item not found, !=NULL structure found |
*/ |
*/ |
void pwd_closeAcct(struct tagAcctDB ** __restrict db); | inline const struct tagUser *cfg_getPasswd(pwd_root_t * __restrict pwd, int criteria, ...); |
/* | |
* pwd_writeAcct() Write accounting record to aDat binary database | |
* @db - DB handle | |
* @posR - At position number, if db is unlimited grow (-1) write at last free record | |
* @rec - Record data | |
* return: -1 error or 0 ok | |
*/ | |
int pwd_writeAcct(struct tagAcctDB * __restrict db, unsigned int posR, void *rec); | |
/* | |
* pwd_readAcct() Read accounting record from aDat binary database | |
* @db - DB handle | |
* @posR - From position number | |
* @rec - Record data buffer | |
* @recsize - Record data buffer size | |
* return: -1 error or 0 ok | |
*/ | |
int pwd_readAcct(struct tagAcctDB * __restrict db, unsigned int posR, void *rec, int recsize); | |
| |
/* | |
* pwd_findAcct() Find accounting record from aDat binary database | |
* @db - DB handle | |
* @from - From position | |
* @to - To position, if 0 search to end-of-file | |
* @func - Check for match callback function | |
* @arg - Argument passthrough to callback as argument for search | |
* return: -1 error, 0 not found or >1 founded at position! (p.s:start from 1) | |
*/ | |
int64_t pwd_findAcct(struct tagAcctDB * __restrict db, unsigned int from, unsigned int to, | |
cb_acct_f func, void *arg); | |
#endif | |
|
|
|
|
#endif |
#endif |