~bryanb/eudyptula

fea7dcc6f4a7fab76d154ec05eca49ae1a281e6c — Bryan Brattlof 4 years ago 5bb2d6a
task 19: add task readme
2 files changed, 25 insertions(+), 0 deletions(-)

M readme.rst
A tasks/19/readme
M readme.rst => readme.rst +2 -0
@@ 48,3 48,5 @@ Here are the links to each task's readme:
17. Using Kernel Treads: `task <https://git.bryanbrattlof.com/eudyptula-challenge/tree/tasks/17/readme>`__

18. Handling Delayed Work: `task <https://git.bryanbrattlof.com/eudyptula-challenge/tree/tasks/18/readme>`__

19. Networking Filters: `task <https://git.bryanbrattlof.com/eudyptula-challenge/tree/tasks/19/readme>`__

A tasks/19/readme => tasks/19/readme +23 -0
@@ 0,0 1,23 @@
Task 19
=======

Handling delayed work is easy now, right?  So, time to move on to
something totally different.  How about networking?  We have been
ignoring that part of the kernel, so let us now focus on the network
side of the kernel, as that is a huge reason for why Linux has taken
over the world.

For this task, write a netfilter kernel module that does the following:

  - monitors all IPv4 network traffic that is coming into the machine

  - prints the id to the kernel debug log if the network traffic stream
    contains your id.

  - properly unregisters you from the netfilter core when the module
    unloads.

Test this by sending yourself an email with your id in the subject, much
like the email you need to send back to me.

Send in the proof and the .c file for the module.