No description
  • Rust 88.7%
  • Nix 9.1%
  • Makefile 2.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-21 00:47:51 -06:00
src Done 2026-09-21 00:47:51 -06:00
.envrc Done 2026-09-21 00:47:51 -06:00
.gitignore Done 2026-09-21 00:47:51 -06:00
Cargo.lock Done 2026-09-21 00:47:51 -06:00
Cargo.toml Done 2026-09-21 00:47:51 -06:00
flake.lock Done 2026-09-21 00:47:51 -06:00
flake.nix Done 2026-09-21 00:47:51 -06:00
Makefile Done 2026-09-21 00:47:51 -06:00
README.txt Done 2026-09-21 00:47:51 -06:00
rust-toolchain.toml Done 2026-09-21 00:47:51 -06:00

# CSCI471 Computer Networks Project 1

## Language

I asked Romig if I could write this in rust, and he said yes so long as I used
the linux syscalls rather than Rust's socket API. To avoid unsafe function calls
everywhere, he said using the `nix` library -- which provides safe wrappers over
libc functions -- was okay.

## Implementation

I am registered for CSCI471, but I did implement the CSCI598-J featues just for
fun. It should respond properly to POST & HEAD, as well as shut down cleanly on
ctrl-c. Non-GET/HEAD/POST request still should return 400 bad request.

## How to run

1. Install rust with `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
    * Defaults for the prompts are okay and should just work on ubuntu
    * This is the command from the https://rust-lang.org website
2. Run `make` to build
3. Binary to run is `./project1`