commit f39f3abeb3102d20a78a7afcd8c50db535ba6de2
parent 36542d99b904673214dcd75c05241646ac08deb0
Author: Naveen N <zerous@karna.openbsd.amsterdam>
Date:   Wed, 20 Oct 2021 00:21:38 +0200
Add support for OpenBSD pf
pf.conf should contain the following two lines for creating a table
which can be used to un/block ip.
table <blacklist> persist
block in on vio0 from <blacklist> to any
Diffstat:
| M | fw.c | | | 16 | ++++++++++++++-- | 
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/fw.c b/fw.c
@@ -1,17 +1,29 @@
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 
 int
 fw_block(char *ip)
 {
-	/* stub */
+	/* pfctl -t blacklist -T add 123.123.123.123  */
+	char s[43] = "pfctl -t blacklist -T add ";
+
 	printf("fw_block: blocked ip: %s\n", ip);
+	strcat(s, ip);
+	if (system(s) == 127)
+		return 0;
 	return 1;
 }
 
 int
 fw_unblock(char *ip)
 {
-	/* stub */
+	/* pfctl -t blacklist -T delete 123.123.123.123  */
+	char s[46] = "pfctl -t blacklist -T delete ";
+
 	printf("fw_unblock: unblocked ip: %s\n", ip);
+	strcat(s, ip);
+	if (system(s) == 127)
+		return 0;
 	return 1;
 }