diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/eurephia_admin_common.c | 69 | ||||
-rw-r--r-- | common/eurephia_admin_common.h | 92 | ||||
-rw-r--r-- | common/eurephia_admin_struct.h | 7 |
3 files changed, 1 insertions, 167 deletions
diff --git a/common/eurephia_admin_common.c b/common/eurephia_admin_common.c index 8b62779..8a51ca4 100644 --- a/common/eurephia_admin_common.c +++ b/common/eurephia_admin_common.c @@ -27,76 +27,9 @@ #include <passwd.h> #define EUREPHIA_ADMIN_COMMON_C +#include "eurephia_admin_struct.h" #include "eurephia_admin_common.h" -eFieldMap *eAdminGetTableMap(int table) { - eFieldMap *map; - - switch( table ) { - case TABLE_USERS: - map = eSortkeys_user; - break; - - case TABLE_CERTS: - map = eSortkeys_certificates; - break; - - case TABLE_LASTLOG: - map = eSortkeys_lastlog; - - case TABLE_ATTEMPTS: - map = eSortkeys_attempts; - - case TABLE_BLACKLIST: - map = eSortkeys_blacklist; - - default: - map = NULL; - } - return map; -} - - -char *eAdminConvertSortKeys(eFieldMap *tfmap, const char *skeys_str) { - eFieldMap *sk_map = NULL; - int i, j; - char *cp = NULL, *tok = NULL, *delims = ","; - static char sortkeys[8194]; - - if( skeys_str == NULL ) { - return NULL; - } - - // Make sure we have table field map - assert( tfmap != NULL ); - - // Get the correct table mapping for user input - sk_map = eAdminGetTableMap(tfmap[0].tableid); - assert( sk_map != NULL ); - - // Split up the skeys_str (sort keys string) and build up a map - cp = strdup_nullsafe(skeys_str); - tok = strtok(cp, delims); - memset(&sortkeys, 0, 8194); - while( tok != NULL ) { - for( i = 0; sk_map[i].fieldname != NULL; i++ ) { - // If we find the the field in the unified mapping table ... - if( strcmp(tok, sk_map[i].fieldname) == 0 ) { - // look up the proper field name for the current database - for( j = 0; tfmap[j].fieldname != 0; j++ ) { - if( (sk_map[i].sortkeyid & tfmap[j].sortkeyid) == sk_map[i].sortkeyid ) { - strncat(sortkeys, tfmap[j].fieldname, (8192-strlen(sortkeys))); - strcat(sortkeys,","); - } - } - } - } - tok = strtok(NULL, delims); - } - free_nullsafe(cp); - sortkeys[strlen(sortkeys)-1] = '\0'; - return sortkeys; -} eurephiaUSERINFO *eAdminPopulateUSERINFO(int uid, const char *uname, const char *pwd, const char *activated, const char *deactivd, const char *lastacc) diff --git a/common/eurephia_admin_common.h b/common/eurephia_admin_common.h index aa6a989..58bbd96 100644 --- a/common/eurephia_admin_common.h +++ b/common/eurephia_admin_common.h @@ -21,98 +21,6 @@ #ifndef EUREPHIA_ADMIN_COMMON_H_ # define EUREPHIA_ADMIN_COMMON_H_ -#include <eurephia_admin_struct.h> - -#define TABLE_USERS 0x01 -#define TABLE_CERTS 0x02 -#define TABLE_LASTLOG 0x03 -#define TABLE_ATTEMPTS 0x04 -#define TABLE_BLACKLIST 0x05 - -#define SORTKEY_NONE 0x00000 -#define SORTKEY_RECID 0x00001 // Primary keys -#define SORTKEY_UID 0x00002 -#define SORTKEY_CERTID 0x00004 -#define SORTKEY_UNAME 0x00008 -#define SORTKEY_ACTIVATED 0x00010 -#define SORTKEY_DEACTIVATED 0x00020 -#define SORTKEY_LASTACCESS 0x00040 - -#define SORTKEY_CERTDEPTH 0x00080 -#define SORTKEY_CNAME 0x00100 -#define SORTKEY_EMAIL 0x00200 -#define SORTKEY_ORG 0x00400 -#define SORTKEY_REGISTERED 0x00800 - -#define SORTKEY_REMOTEIP 0x01000 -#define SORTKEY_VPNIP 0x02000 -#define SORTKEY_ATTEMPTS 0x04000 -#define SORTKEY_LASTATTEMPT 0x08000 - -#define SORTKEY_SESSTATUS 0x10000 -#define SORTKEY_LOGIN 0x20000 -#define SORTKEY_LOGOUT 0x40000 - -#ifdef EUREPHIA_ADMIN_COMMON_C -eFieldMap eSortkeys_user[] = { - {TABLE_USERS, SORTKEY_RECID, "recid"}, - {TABLE_USERS, SORTKEY_RECID, "uid"}, - {TABLE_USERS, SORTKEY_UNAME, "username"}, - {TABLE_USERS, SORTKEY_ACTIVATED, "activated"}, - {TABLE_USERS, SORTKEY_DEACTIVATED, "deactivated"}, - {TABLE_USERS, SORTKEY_LASTACCESS, "lastaccess"}, - {TABLE_USERS, SORTKEY_NONE, NULL} -}; - -eFieldMap eSortkeys_certificates[] = { - {TABLE_CERTS, SORTKEY_RECID, "recid"}, - {TABLE_CERTS, SORTKEY_RECID, "certid"}, - {TABLE_CERTS, SORTKEY_CERTDEPTH, "depth"}, - {TABLE_CERTS, SORTKEY_CNAME, "name"}, - {TABLE_CERTS, SORTKEY_ORG, "org"}, - {TABLE_CERTS, SORTKEY_EMAIL, "email"}, - {TABLE_CERTS, SORTKEY_REGISTERED, "registered"}, - {TABLE_CERTS, SORTKEY_NONE, NULL} -}; - -eFieldMap eSortkeys_lastlog[] = { - {TABLE_LASTLOG, SORTKEY_UID, "uid"}, - {TABLE_LASTLOG, SORTKEY_CERTID, "certid"}, - {TABLE_LASTLOG, SORTKEY_REMOTEIP, "ip"}, - {TABLE_LASTLOG, SORTKEY_VPNIP, "vpnip"}, - {TABLE_LASTLOG, SORTKEY_SESSTATUS, "status"}, - {TABLE_LASTLOG, SORTKEY_LOGIN, "login"}, - {TABLE_LASTLOG, SORTKEY_LOGOUT, "logout"}, - {TABLE_LASTLOG, SORTKEY_RECID, "recid"}, - {TABLE_LASTLOG, SORTKEY_NONE, NULL} -}; - -eFieldMap eSortkeys_attempts[] = { - {TABLE_ATTEMPTS, SORTKEY_UNAME, "username"}, - {TABLE_ATTEMPTS, SORTKEY_REMOTEIP, "ip"}, - {TABLE_ATTEMPTS, SORTKEY_ATTEMPTS, "attempts"}, - {TABLE_ATTEMPTS, SORTKEY_REGISTERED, "registered"}, - {TABLE_ATTEMPTS, SORTKEY_LASTATTEMPT, "lastattempt"}, - {TABLE_ATTEMPTS, SORTKEY_RECID, "recid"}, - {TABLE_ATTEMPTS, SORTKEY_NONE, NULL} -}; - -eFieldMap eSortkeys_blacklist[] = { - {TABLE_BLACKLIST, SORTKEY_UNAME, "username"}, - {TABLE_BLACKLIST, SORTKEY_REMOTEIP, "ip"}, - {TABLE_BLACKLIST, SORTKEY_REGISTERED, "registered"}, - {TABLE_BLACKLIST, SORTKEY_LASTACCESS, "lastattempt"}, - {TABLE_BLACKLIST, SORTKEY_LASTACCESS, "lastaccessed"}, - {TABLE_BLACKLIST, SORTKEY_RECID, "recid"}, - {TABLE_BLACKLIST, SORTKEY_NONE, NULL} -}; - -#endif // #ifdef EUREPHIA_ADMIN_COMMON_C - - -eFieldMap *eAdminGetTableMap(int table); -char *eAdminConvertSortKeys(eFieldMap *, const char *); - eurephiaUSERINFO *eAdminPopulateUSERINFO(int uid, const char *uname, const char *pwd, const char *activated, const char *deactivd, const char *lastacc); diff --git a/common/eurephia_admin_struct.h b/common/eurephia_admin_struct.h index 9f962bf..5a13a1f 100644 --- a/common/eurephia_admin_struct.h +++ b/common/eurephia_admin_struct.h @@ -71,11 +71,4 @@ typedef struct { int maxlen_header; } eurephiaLOGLIST; - -typedef struct { - int tableid; - long sortkeyid; - char *fieldname; -} eFieldMap; - #endif |