From 21d520b717e7ae23ea2dee62fe7d769ed91cedc0 Mon Sep 17 00:00:00 2001 From: AKP Date: Mon, 30 Oct 2023 14:44:43 +0000 Subject: [PATCH] Initial commit for assignment 2 --- README.md | 3 +- firewall-server/Makefile | 21 +++++++ firewall-server/README.md | 8 +++ firewall-server/client.c | 6 ++ firewall-server/ex2.pdf | Bin 0 -> 104756 bytes firewall-server/server.c | 6 ++ firewall-server/test.sh | 122 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 firewall-server/Makefile create mode 100644 firewall-server/README.md create mode 100644 firewall-server/client.c create mode 100644 firewall-server/ex2.pdf create mode 100644 firewall-server/server.c create mode 100644 firewall-server/test.sh diff --git a/README.md b/README.md index 8230e35..2973614 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,5 @@ ### Contents -* [Assignment 1: Firewall Rules](./firewall-rules) \ No newline at end of file +* [Assignment 1: Firewall Rules](./firewall-rules) +* [Assignment 2: Firewall Server](./firewall-server) \ No newline at end of file diff --git a/firewall-server/Makefile b/firewall-server/Makefile new file mode 100644 index 0000000..33ed419 --- /dev/null +++ b/firewall-server/Makefile @@ -0,0 +1,21 @@ +CFLAGS = -Wall -Werror -g -fdiagnostics-color=always + +.PHONY: all clean + +all: server client + +server: server.o + $(CC) $(CFLAGS) -o server server.o -lpthread + +server.o: server.c + $(CC) $(CFLAGS) -c server.c + + +client: client.o + $(CC) $(CFLAGS) -o client client.o + +client.o: client.c + $(CC) $(CFLAGS) -c client.c + +clean: + rm -f *.o server client diff --git a/firewall-server/README.md b/firewall-server/README.md new file mode 100644 index 0000000..cfd7441 --- /dev/null +++ b/firewall-server/README.md @@ -0,0 +1,8 @@ +# Firewall Server + +*Create a simple server for operating on firewall rules* + +--- + +* [Problem statement](./ex2.pdf) +* Formative diff --git a/firewall-server/client.c b/firewall-server/client.c new file mode 100644 index 0000000..15d320c --- /dev/null +++ b/firewall-server/client.c @@ -0,0 +1,6 @@ +#include + +int main (int argc, char **argv) { + // Client to be written + return 0; +} diff --git a/firewall-server/ex2.pdf b/firewall-server/ex2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..870db226402e300c86d390a828f2d53176a9e987 GIT binary patch literal 104756 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 + +int main (int argc, char **argv) { + // Server to be written + return 0; +} diff --git a/firewall-server/test.sh b/firewall-server/test.sh new file mode 100644 index 0000000..0db593f --- /dev/null +++ b/firewall-server/test.sh @@ -0,0 +1,122 @@ +#!/bin/bash + +#globals +ret=0 +server="server" +client="client" +serverOut=testServerOutput.txt +clientOut=testClientOutput.txt +successFile=testSuccess.txt +IPADDRESS=localhost +PORT=2200 + +# --- helper function --- +function run(){ + echo -e "$1:" + $1 #execute + #check errors + tmp=$? + if [ $tmp -ne 0 ]; then + ret=$tmp + fi + echo "" #newline + return $tmp +} + +function checkConnection() { + sleep 0.1 + case `netstat -a -n -p 2>/dev/null| grep $PORT ` in + *":::2200"*) + return 1;; + esac + sleep 0.2 + case `netstat -a -n -p 2>/dev/null| grep $PORT` in + *":::2200"*) + return 1;; + esac + sleep 0.2 + case `netstat -a -n -p 2>/dev/null| grep $PORT` in + *":::2200"*) + return 1;; + esac + sleep 0.2 + case `netstat -a -n -p 2>/dev/null| grep $PORT` in + *":::2200"*) + return 1;; + esac + sleep 0.2 + case `netstat -a -n -p 2>/dev/null| grep $PORT` in + *":::2200"*) + return 1;; + esac + return 0 +} + +# --- TESTCASES --- +function basic_testcase(){ + t="testcase 1" + + #cleanup + rm -f $serverOut + rm -f $clientOut + rm -f $successFile + echo "Rule added" > $successFile + killall $server > /dev/null 2> /dev/null + + # start server + echo -en "starting server: \t" + ./$server $PORT > $serverOut 2>&1 & + checkConnection + if [ $? -ne 1 ] + then + echo -e "ERROR: could not start server" + return -1 + else + echo "OK" + fi + + # start client + command="A 147.188.192.41 443" + echo -en "executing client: \t" + ./$client $IPADDRESS $PORT $command > $clientOut 2>/dev/null + if [ $? -ne 0 ] + then + echo -e "Error: Could not execute client" + killall $server > /dev/null 2> /dev/null + return -1 + else + echo "OK" + fi + killall $server > /dev/null 2> /dev/null + if [ ! -r $clientOut ] + then + echo "Error: Client produced no output" + return -1 + fi + + echo -en "server result: \t" + res=`diff $clientOut $successFile 2>&1` + if [ " $res" != " " ] + then + echo "Error: Server returned invalid result" + return -1 + else + echo "OK" + fi + return 0 +} + +# --- execution --- +#reset +rmmod $executable 2>/dev/null + +run basic_testcase +#cleanup +if [ $ret != 0 ] +then + echo Basic test failed +else + echo Basic test succeeded +fi +exit $ret +