summaryrefslogtreecommitdiffstats
path: root/plugin
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
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')
-rw-r--r--plugin/eurephia.c16
-rw-r--r--plugin/eurephiadb_session.c64
-rw-r--r--plugin/firewall/eurephiafw.c10
-rw-r--r--plugin/firewall/iptables/efw-iptables.c2
4 files changed, 46 insertions, 46 deletions
diff --git a/plugin/eurephia.c b/plugin/eurephia.c
index 82a3097..761ab71 100644
--- a/plugin/eurephia.c
+++ b/plugin/eurephia.c
@@ -221,7 +221,7 @@ eurephiaCTX *eurephiaInit(const char **argv)
eurephia_log(ctx, LOG_PANIC, 0, "eurephia-auth is not available");
fclose(ctx->log);
}
- free_nullsafe(ctx);
+ free_nullsafe(ctx, ctx);
return NULL;
}
@@ -232,10 +232,10 @@ eurephiaCTX *eurephiaInit(const char **argv)
if( !eurephia_randstring(ctx, ctx->server_salt, SIZE_PWDCACHE_SALT) ) {
eurephia_log(ctx, LOG_PANIC, 0 , "Could not get enough random data for password cache.");
- free_nullsafe(ctx->server_salt);
+ free_nullsafe(ctx, ctx->server_salt);
eDBdisconnect(ctx);
fclose(ctx->log);
- free_nullsafe(ctx);
+ free_nullsafe(ctx, ctx);
return NULL;
}
@@ -301,8 +301,8 @@ int eurephiaShutdown(eurephiaCTX *ctx)
}
memset(ctx->server_salt, 0xff, SIZE_PWDCACHE_SALT+2);
- free_nullsafe(ctx->server_salt);
- free_nullsafe(ctx);
+ free_nullsafe(ctx, ctx->server_salt);
+ free_nullsafe(ctx, ctx);
return 1;
}
@@ -487,7 +487,7 @@ int eurephia_userauth(eurephiaCTX *ctx, const char **env)
}
exit:
- free_nullsafe(chkpwd);
+ free_nullsafe(ctx, chkpwd);
eDBfree_session(ctx, authsess);
DEBUG(ctx, 10, "** Function result: eurephia_userauth(...) = %i", (result>0));
return (result > 0);
@@ -652,7 +652,7 @@ int eurephia_learn_address(eurephiaCTX *ctx, const char *mode, const char *macad
fwprofile = eDBget_firewall_profile(ctx, session);
if( fwprofile != NULL ) {
eFW_UpdateFirewall(ctx, FWRULE_ADD, macaddr, fwdest, fwprofile);
- free_nullsafe(fwprofile);
+ free_nullsafe(ctx, fwprofile);
}
}
eDBfree_session(ctx, session);
@@ -673,7 +673,7 @@ int eurephia_learn_address(eurephiaCTX *ctx, const char *mode, const char *macad
fwprofile = eDBget_firewall_profile(ctx, session);
if( fwprofile != NULL ) {
eFW_UpdateFirewall(ctx, FWRULE_DELETE, macaddr, fwdest, fwprofile);
- free_nullsafe(fwprofile);
+ free_nullsafe(ctx, fwprofile);
}
}
ret = eDBdestroy_session(ctx, session);
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);
diff --git a/plugin/firewall/eurephiafw.c b/plugin/firewall/eurephiafw.c
index 10d48a7..0d2cc43 100644
--- a/plugin/firewall/eurephiafw.c
+++ b/plugin/firewall/eurephiafw.c
@@ -193,13 +193,13 @@ void eFW_StartFirewall(eurephiaCTX *ctx) {
// Setup semaphores we need
if( efwSetupSemaphores(ctx, &(*ctx->fwcfg).thrdata) == 0 ) {
- free_nullsafe(ctx->fwcfg->thrdata.fw_command);
+ free_nullsafe(ctx, ctx->fwcfg->thrdata.fw_command);
return;
};
// Setup a message queue
if( efwSetupMessageQueue(ctx, &(*ctx->fwcfg).thrdata) == 0 ) {
- free_nullsafe(ctx->fwcfg);
+ free_nullsafe(ctx, ctx->fwcfg);
return;
}
@@ -349,10 +349,10 @@ void eFW_StopFirewall(eurephiaCTX *ctx) {
sem_post(ctx->fwcfg->thrdata.semp_master);
// Clean up and exit
- free_nullsafe(ctx->fwcfg->fwblacklist_sendto);
+ free_nullsafe(ctx, ctx->fwcfg->fwblacklist_sendto);
eFree_values(ctx, ctx->fwcfg->blacklisted);
- free_nullsafe((*ctx->fwcfg).thrdata.fw_command);
- free_nullsafe(ctx->fwcfg);
+ free_nullsafe(ctx, (*ctx->fwcfg).thrdata.fw_command);
+ free_nullsafe(ctx, ctx->fwcfg);
eurephia_log(ctx, LOG_INFO, 2, "eurephia firewall interface is stopped");
}
diff --git a/plugin/firewall/iptables/efw-iptables.c b/plugin/firewall/iptables/efw-iptables.c
index 1329973..5d04d83 100644
--- a/plugin/firewall/iptables/efw-iptables.c
+++ b/plugin/firewall/iptables/efw-iptables.c
@@ -303,7 +303,7 @@ int process_input(eurephiaCTX *ctx, const char *fwcmd, const char *input) {
eurephia_log(ctx, LOG_CRITICAL, 0, "eFW_RunFirewall::process_input: Malformed update request");
ret = 1;
}
- free_nullsafe(orig_msg);
+ free_nullsafe(ctx, orig_msg);
return ret;
}