- Adapted indenation to new agreed upon system

- Added support for second generation scriptcontext based counter
This commit is contained in:
koennecke
2009-02-13 09:00:03 +00:00
parent a3dcad2bfa
commit 91d4af0541
405 changed files with 88101 additions and 88173 deletions

210
passwd.c
View File

@ -45,120 +45,110 @@
#include "passwd.h"
#include "splitter.h"
typedef struct __PENTRY
{
char *name;
char *passwd;
int iCode;
struct __PENTRY *pNext;
} Pentry;
typedef struct __PENTRY {
char *name;
char *passwd;
int iCode;
struct __PENTRY *pNext;
} Pentry;
/* -------------------------- THE DATABASE --------------------------------*/
static Pentry *pPasswords = NULL;
static Pentry *pPasswords = NULL;
/*=========================================================================*/
void AddUser(char *name, char *passwd, int iCode)
{
Pentry *pNew = NULL;
void AddUser(char *name, char *passwd, int iCode)
{
Pentry *pNew = NULL;
assert(name);
assert(passwd);
pNew = (Pentry *)malloc(sizeof(Pentry));
assert(pNew);
assert(name);
assert(passwd);
pNew = (Pentry *) malloc(sizeof(Pentry));
assert(pNew);
pNew->name = NULL;
pNew->passwd = NULL;
pNew->name = strdup(name);
pNew->passwd = strdup(passwd);
pNew->iCode = iCode;
pNew->pNext = pPasswords;
pPasswords = pNew;
}
pNew->name = NULL;
pNew->passwd = NULL;
pNew->name = strdup(name);
pNew->passwd = strdup(passwd);
pNew->iCode = iCode;
pNew->pNext = pPasswords;
pPasswords = pNew;
}
/*--------------------------------------------------------------------------*/
int IsValidUser(char *name, char *password)
{
int iRes = -10;
Pentry *pCurrent = NULL;
assert(pPasswords);
int IsValidUser(char *name, char *password)
{
int iRes = -10;
Pentry *pCurrent = NULL;
if( (name == NULL) || (password == NULL) )
{
return iRes;
}
pCurrent = pPasswords;
while(pCurrent)
{
if(strcmp(pCurrent->name,name) == 0)
{
if(strcmp(pCurrent->passwd,password) == 0)
{
return pCurrent->iCode;
}
}
pCurrent = pCurrent->pNext;
}
return iRes;
}
/* --------------------------------------------------------------------------*/
void KillPasswd(void)
{
Pentry *pCurrent, *pTemp;
pCurrent = pPasswords;
while(pCurrent)
{
pTemp = pCurrent->pNext;
if(pCurrent->name)
free(pCurrent->name);
if(pCurrent->passwd)
free(pCurrent->passwd);
free(pCurrent);
pCurrent = pTemp;
}
pPasswords = NULL;
}
/*-------------------------------------------------------------------------*/
int InitPasswd(char *filename)
{
FILE *fp = NULL;
char pLine[256];
TokenList *pList = NULL;
int iRes = 0;
assert(filename);
fp = fopen(filename,"r");
if(!fp)
return 0;
while((int)fgets(pLine,255,fp) != EOF)
{
if(feof(fp))
break;
pList = SplitText(pLine);
if( (!pList) || (!pList->pNext) || (!pList->pNext->pNext) )
{
printf("Invalid Passwd Entry ::\n %s \n",pLine);
continue;
}
else
{
if(pList->pNext->pNext->Type != eInt)
{
continue;
}
else
{
AddUser(pList->text, pList->pNext->text,
pList->pNext->pNext->iVal);
iRes = 1;
}
}
DeleteTokenList(pList);
pList = NULL;
}
fclose(fp);
assert(pPasswords);
if ((name == NULL) || (password == NULL)) {
return iRes;
}
}
pCurrent = pPasswords;
while (pCurrent) {
if (strcmp(pCurrent->name, name) == 0) {
if (strcmp(pCurrent->passwd, password) == 0) {
return pCurrent->iCode;
}
}
pCurrent = pCurrent->pNext;
}
return iRes;
}
/* --------------------------------------------------------------------------*/
void KillPasswd(void)
{
Pentry *pCurrent, *pTemp;
pCurrent = pPasswords;
while (pCurrent) {
pTemp = pCurrent->pNext;
if (pCurrent->name)
free(pCurrent->name);
if (pCurrent->passwd)
free(pCurrent->passwd);
free(pCurrent);
pCurrent = pTemp;
}
pPasswords = NULL;
}
/*-------------------------------------------------------------------------*/
int InitPasswd(char *filename)
{
FILE *fp = NULL;
char pLine[256];
TokenList *pList = NULL;
int iRes = 0;
assert(filename);
fp = fopen(filename, "r");
if (!fp)
return 0;
while ((int) fgets(pLine, 255, fp) != EOF) {
if (feof(fp))
break;
pList = SplitText(pLine);
if ((!pList) || (!pList->pNext) || (!pList->pNext->pNext)) {
printf("Invalid Passwd Entry ::\n %s \n", pLine);
continue;
} else {
if (pList->pNext->pNext->Type != eInt) {
continue;
} else {
AddUser(pList->text, pList->pNext->text,
pList->pNext->pNext->iVal);
iRes = 1;
}
}
DeleteTokenList(pList);
pList = NULL;
}
fclose(fp);
return iRes;
}