summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-12-06 16:50:50 +0100
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-12-06 16:50:50 +0100
commit7572b6a34495d6288d07d16781c8f72fd5218cfe (patch)
tree048f6e83eef6a2da4d95db5b1d0c038e553c1939 /common
parentf9a997f3fcca5d81986168df1b9072bbf611ed9f (diff)
downloadeurephia-7572b6a34495d6288d07d16781c8f72fd5218cfe.tar.gz
eurephia-7572b6a34495d6288d07d16781c8f72fd5218cfe.tar.xz
eurephia-7572b6a34495d6288d07d16781c8f72fd5218cfe.zip
Moved over from earlier commit to use unified db translation
In other words, rewrote commit 6d4373e026b3f12c5685e45e35f9f060379ed0f3. Moved over all functions from that commit which could take advantage of the new API for unified table/field translation.
Diffstat (limited to 'common')
-rw-r--r--common/eurephia_admin_common.c69
-rw-r--r--common/eurephia_admin_common.h92
-rw-r--r--common/eurephia_admin_struct.h7
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