Make a git repository for your project as described in the handout.
Create a select()-based echo server with support for multiple concurrent clients.
Your server must have the capability to parse input HTTP 1.1 requests and classify them as good or bad based on the specified RFC.
For all good requests, simply echo back the input request.
For all bad requests, provide back a reponse with 400 error code.
Test using our provided cp1_checker.py test script (read that script and understand it too)
Submission is in the form of a tarball (see handout) which must be uploaded to Autolab by September 11 (cut off is midnight).
To aid you in programming an echo server, and testing it, we have prepared
this starter package for you.
The server code needs to be modified to use select() as well as adding support for multiple clients
at once. The lex and yacc starter code needs additional rules to do correct parsing.
Files we expect to see:
Makefile - make sure nothing is hard coded specific to your user; should build a 'lisod' file which runs the echo server
All of your source code - all .c and .h files
design.pdf - file containing a brief description of your design. Click here for more details
readme.txt - file containing a brief description of your current implementation of lisod
tests.txt - file containing a brief description of your testing methods for lisod
vulnerabilities.txt - identify at least one vulnerability in your current implementation
Last updated: 2017-10-16 21:22:50 -0400
[validate xhtml]