summaryrefslogtreecommitdiffstats
path: root/eurephiafw.c
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-09-14 02:01:35 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-09-14 02:01:35 +0200
commitc88981983bd4c3f7357b7a59ab1dbb0447b6c026 (patch)
tree208609bd2d4d315bcab332fd9f7a933b15f9e621 /eurephiafw.c
parente72438c43e0fca7a0f30cf749ca320786372183f (diff)
downloadeurephia-c88981983bd4c3f7357b7a59ab1dbb0447b6c026.tar.gz
eurephia-c88981983bd4c3f7357b7a59ab1dbb0447b6c026.tar.xz
eurephia-c88981983bd4c3f7357b7a59ab1dbb0447b6c026.zip
First attempt to make efw_iptables do some real iptables work
Diffstat (limited to 'eurephiafw.c')
-rw-r--r--eurephiafw.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/eurephiafw.c b/eurephiafw.c
index 0866cf1..5381a75 100644
--- a/eurephiafw.c
+++ b/eurephiafw.c
@@ -202,27 +202,30 @@ void eFW_StopFirewall(eurephiaCTX *ctx) {
}
-int eFW_UpdateFirewall(eurephiaCTX *ctx, int mode, const char *data) {
- char buf[512];
+int eFW_UpdateFirewall(eurephiaCTX *ctx, int mode,
+ const char *macaddr, const char *fwdest, const char *fwprofile) {
+ char buf[1026];
+ memset(&buf, 0, 1026);
switch( mode ) {
case FWRULE_ADD:
- eurephia_log(ctx, LOG_INFO, 1, "Function call: eFW_UpdateFirewall(ctx, %s, '%s')",
- "ADD", data);
- snprintf(buf, 500, "ADD %s%c", data, 0);
+ eurephia_log(ctx, LOG_INFO, 1, "Function call: eFW_UpdateFirewall(ctx, %s, '%s', '%s', '%s')",
+ "ADD", macaddr, fwdest, fwprofile);
+ snprintf(buf, 1024, "A %s %s %s", macaddr, fwdest, fwprofile);
mq_send((*ctx->fwcfg).thrdata.msgq, buf, strlen(buf)+1, 1);
return 1;
case FWRULE_DELETE:
- eurephia_log(ctx, LOG_INFO, 1, "Function call: eFW_UpdateFirewall(ctx, %s, '%s')",
- "DELETE", data);
- snprintf(buf, 500, "DEL %s%c", data, 0);
+ eurephia_log(ctx, LOG_INFO, 1, "Function call: eFW_UpdateFirewall(ctx, %s, '%s', '%s', '%s')",
+ "DELETE", macaddr, fwdest, fwprofile);
+ snprintf(buf, 1024, "D %s %s %s", macaddr, fwdest, fwprofile);
mq_send((*ctx->fwcfg).thrdata.msgq, buf, strlen(buf)+1, 1);
return 1;
default:
eurephia_log(ctx, LOG_CRITICAL, 0,
- "Function call: eFW_UpdateFirewall(ctx, %s, '%s') - UNKNOWN MODE", "(unknown)", data);
+ "Function call: eFW_UpdateFirewall(ctx, %s, '%s') - UNKNOWN MODE", "(unknown)",
+ macaddr);
return 0;
}
}