01 // PROJECT AT A GLANCE
MYFTP
CA standards-compliant FTP server, able to talk to real clients.
The FTP protocol dates from 1971, and the standard still in force today — RFC 959 — was published in 1985. The project consists in writing a server that respects that specification closely enough for commercial FTP clients to connect without knowing they are talking to a student's program. The judge is therefore no longer the school's autograder but third-party software that can neither be charmed nor circumvented.
An FTP server in C compliant with RFC 959: TCP sockets, control commands, data channel in active and passive mode, multi-client handling.
PRIMARYC
DELIVERYTEAM RECORD
VERIFICATIONmake
SOURCEINSPECTOR READY
03 // KEY OUTCOMES
- Interoperable with real commercial FTP clients
- A dual control/data channel, in active (PORT) as well as passive (PASV) mode
- One fork per data transfer: the control channel never blocks
BEYOND THE BRIEF
- Active and passive modes both implemented, when passive alone would have been enough
- A HELP command with its own detailed message (message_help.c)
04 // SOURCE TREE
READING SOURCE…