diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2008-09-14 02:01:35 +0200 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2008-09-14 02:01:35 +0200 |
commit | c88981983bd4c3f7357b7a59ab1dbb0447b6c026 (patch) | |
tree | 208609bd2d4d315bcab332fd9f7a933b15f9e621 /eurephiafw.c | |
parent | e72438c43e0fca7a0f30cf749ca320786372183f (diff) | |
download | eurephia-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.c | 21 |
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; } } |