summaryrefslogtreecommitdiffstats
path: root/plugin/eurephiadb_session.c
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2009-09-07 21:32:10 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2009-09-07 21:32:10 +0200
commit2e1851802188515f8edeed8eb3f753cf69e348d9 (patch)
tree2eaa6d13c1f77f39145cf1b5f92c8ac076eb237b /plugin/eurephiadb_session.c
parent66b29488a7ed5909564ed03b3e89cd0d008df09e (diff)
downloadeurephia-2e1851802188515f8edeed8eb3f753cf69e348d9.tar.gz
eurephia-2e1851802188515f8edeed8eb3f753cf69e348d9.tar.xz
eurephia-2e1851802188515f8edeed8eb3f753cf69e348d9.zip
Added debug logging of free_nullsafe() calls as well
Diffstat (limited to 'plugin/eurephiadb_session.c')
-rw-r--r--plugin/eurephiadb_session.c64
1 files changed, 32 insertions, 32 deletions
diff --git a/plugin/eurephiadb_session.c b/plugin/eurephiadb_session.c
index aca3b28..c0a6878 100644
--- a/plugin/eurephiadb_session.c
+++ b/plugin/eurephiadb_session.c
@@ -99,7 +99,7 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
seeddata = (char *) malloc_nullsafe(ctx, (totlen * 2) + 4);
if( seeddata == NULL ) {
- free_nullsafe(new_session);
+ free_nullsafe(ctx, new_session);
return NULL;
}
snprintf((char *)seeddata, totlen,
@@ -114,8 +114,8 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
seed = (char *) malloc_nullsafe(ctx, (SHA512_HASH_SIZE*2)+3);
if( seed == NULL ) {
- free_nullsafe(seeddata);
- free_nullsafe(new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, new_session);
return NULL;
}
ptr = seed;
@@ -143,10 +143,10 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
// Loop until we get a unique sessionkey - don't loop more than 10 times
skeydata = (char *) malloc_nullsafe(ctx, (totlen*2)+4);
if( skeydata == NULL ) {
- free_nullsafe(new_session->sessionkey);
- free_nullsafe(new_session);
- free_nullsafe(seeddata);
- free_nullsafe(seed);
+ free_nullsafe(ctx, new_session->sessionkey);
+ free_nullsafe(ctx, new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, seed);
return NULL;
}
do {
@@ -157,10 +157,10 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
// Append some random data to our session seed
rndstr = (char *) malloc_nullsafe(ctx, (totlen * 2));
if( rndstr == NULL ) {
- free_nullsafe(new_session->sessionkey);
- free_nullsafe(new_session);
- free_nullsafe(seeddata);
- free_nullsafe(seed);
+ free_nullsafe(ctx, new_session->sessionkey);
+ free_nullsafe(ctx, new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, seed);
return NULL;
}
rndlen = ((totlen * 2) - strlen_nullsafe(seed) - 2);
@@ -168,10 +168,10 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
if( !eurephia_randstring(ctx, rndstr, rndlen) ) {
eurephia_log(ctx, LOG_PANIC, 0,
"Could not generate enough random data for session key");
- free_nullsafe(new_session->sessionkey);
- free_nullsafe(new_session);
- free_nullsafe(seeddata);
- free_nullsafe(seed);
+ free_nullsafe(ctx, new_session->sessionkey);
+ free_nullsafe(ctx, new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, seed);
return NULL;
}
@@ -180,12 +180,12 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
SHA512Update(&sha, rndstr, rndlen);
SHA512Final(&sha, sha_res);
- free_nullsafe(new_session->sessionkey);
+ free_nullsafe(ctx, new_session->sessionkey);
new_session->sessionkey = (char *) malloc_nullsafe(ctx, (SHA512_HASH_SIZE*2)+3);
if( new_session->sessionkey == NULL ) {
- free_nullsafe(new_session);
- free_nullsafe(seeddata);
- free_nullsafe(seed);
+ free_nullsafe(ctx, new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, seed);
return NULL;
}
@@ -196,31 +196,31 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
}
memset(&sha, 0, sizeof(SHA512Context));
memset(&sha_res, 0, sizeof(sha_res));
- free_nullsafe(rndstr);
+ free_nullsafe(ctx, rndstr);
loop++;
uniqcheck = eDBcheck_sessionkey_uniqueness(ctx, new_session->sessionkey);
} while( (uniqcheck == 0) && loop < 11 );
- free_nullsafe(skeydata);
+ free_nullsafe(ctx, skeydata);
// If we did not manage to create a unique session key (random data collection must have failed!)
if( uniqcheck == 0 ) {
eurephia_log(ctx, LOG_FATAL, 0,
"Did not manage to create a unique sessionkey after %i attempts", loop-1);
- free_nullsafe(new_session->sessionkey);
- free_nullsafe(new_session);
- free_nullsafe(seeddata);
- free_nullsafe(seed);
+ free_nullsafe(ctx, new_session->sessionkey);
+ free_nullsafe(ctx, new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, seed);
return NULL;
}
// Save this session key in the database and connect it to this session seed
if( eDBregister_sessionkey(ctx, seed, new_session->sessionkey) == 0) {
eurephia_log(ctx, LOG_FATAL, 0, "Could not register sessionkey");
- free_nullsafe(new_session->sessionkey);
- free_nullsafe(new_session);
- free_nullsafe(seeddata);
- free_nullsafe(seed);
+ free_nullsafe(ctx, new_session->sessionkey);
+ free_nullsafe(ctx, new_session);
+ free_nullsafe(ctx, seeddata);
+ free_nullsafe(ctx, seed);
return NULL;
};
new_session->sessionstatus = SESSION_NEW;
@@ -228,8 +228,8 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest,
new_session->sessionstatus = SESSION_EXISTING;
DEBUG(ctx, 13, "Session seed found, using sessionkey '%s'", new_session->sessionkey);
}
- free_nullsafe(seed);
- free_nullsafe(seeddata);
+ free_nullsafe(ctx, seed);
+ free_nullsafe(ctx, seeddata);
// Load session values from the database
new_session->sessvals = eDBload_sessiondata(ctx, new_session->sessionkey);
@@ -267,7 +267,7 @@ eurephiaSESSION *eDBopen_session_macaddr(eurephiaCTX *ctx, const char *macaddr)
if( new_session->sessionkey == NULL ) {
eurephia_log(ctx, LOG_CRITICAL, 0, "Could not find an active session for MAC address '%s'",
macaddr);
- free_nullsafe(new_session);
+ free_nullsafe(ctx, new_session);
return NULL;
}
DEBUG(ctx, 13, "Session seed found, using sessionkey '%s'", new_session->sessionkey);