PROJECT DOSSIER // [MYFTP]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

MYFTP

C

A 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
MEDIA ATTACHMENTS (Images, Photos, Videos)

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…