HWPORT FTP Server

  • 개발자
    조재혁(Mminzkn@minzkn.com)

  • 기록사항
    2010년 7월 9일 : 개인적으로 만들어서 사용하기 위한 용도로 개발시작
    2010년 7월 15일 : 기본적인 FTP기능 구현완료
    2010년 8월 17일 : 소스를 정리하여 공개
    2011년 10월 11일 : sourceforge.net으로 project이름 "hwport-ftpd"으로 등록

개요

개인적인 필요에 의해서 FTP Server를 구현하여 사용하다가 필요한 사람이 있을것 같아서 공개합니다. 크기가 작고 임의로 자신의 입맞에 맞게 수정이 가능한 FTP Server를 찾으시는 분들께 이 소스를 바칩니다.

프로젝트 정보

사용권한

hwport-ftpd library source 는 수정없이 사용하신다면 누구나 그대로 사용하셔도 좋습니다. 단, source를 수정하셔서 사용하시려고 한다면 해당 수정사항에 대한 부분을 저에게 알려주시길 바랍니다.

다운로드

완료된 기능

  • Linux지원
  • 기본적인 FTP Server기능
  • 다양한 계정등록지원
  • daemon 방식 지원
  • 구현된 FTP Command 목록
    CWD, XCWD, CDUP, XCUP, QUIT, PORT, PASV, RNFR, RNTO,
    DELE, MDTM, RMF, XRMD, MKD, XMKD, PWD, XPWD, SIZE,
    SYST, HELP, NOOP, OPTS, TYPE, RETR, STOR, APPE, REST,
    ABOR, USER, PASS, LIST, NLST
    


개발중인 기능

  • Windows로의 포팅
  • xinetd 지원
  • IPv6 지원 (Socket 처리부분은 고려되어 있으나 EPRT, EPSV 미구현)

언젠가는 추가하고자 하는 기능

  • sftp 지원

구현된사항은 있으나 공개계획이 없는 기능

  • 가상파일시스템 서비스
  • Embedded board상에서의 Firmware upgrade 및 Firmware download 기능

참고기술자료

  • rfc640: Revised FTP Reply Codes
  • rfc959: FILE TRANSFER PROTOCOL (FTP)
  • rfc2428: FTP Extensions for IPv6 and NATs
  • rfc854: TELNET PROTOCOL SPECIFICATION
  • 기본 FTP command 요약 (비표준 확장 포함)
    USER <SP> <username> <CRLF>
    PASS <SP> <password> <CRLF>
    SYST <CRLF>
    TYPE <SP> <type-code> <CRLF>
    MODE <SP> <mode-code> <CRLF>
    ABOR <CRLF>
    QUIT <CRLF>
    NOOP <CRLF>
    PORT <SP> <host-port> <CRLF>
    EPRT <SP> <d> <net-prt> <d> <net-addr> <d> <tcp-port> <d> <CRLF>
    PWD  <CRLF>
    XPWD <CRLF>
    CWD  <SP> <pathname> <CRLF>
    XCWD <SP> <pathname> <CRLF>
    CDUP <CRLF>
    XCUP <CRLF>
    RMD  <SP> <pathname> <CRLF>
    XRMD <SP> <pathname> <CRLF>
    MKD  <SP> <pathname> <CRLF>
    XMKD <SP> <pathname> <CRLF>
    DELE <SP> <pathname> <CRLF>
    PASV <CRLF>
    EPSV <SP> <net-prt> <CRLF> OR EPSV <SP> ALL <CRLF>
    LPSV ???
    LIST [<SP> <pathname>] <CRLF>
    NLST [<SP> <pathname>] <CRLF>
    ACCT <SP> <account-information> <CRLF>
    SIZE <SP> <pathname> <CRLF>
    STRU <SP> <structure-code> <CRLF>
    RNFR <SP> <pathname> <CRLF>
    RNTO <SP> <pathname> <CRLF>
    RETR <SP> <pathname> <CRLF>
    STOR <SP> <pathname> <CRLF>
    APPE <SP> <pathname> <CRLF>
    REST <SP> <marker> <CRLF>
    MDTM <SP> <pathname> <CRLF>
    OPTS <SP> <option> <value> <CRLF>
    SITE <SP> <string> <CRLF>
    HELP [<SP> <string>] <CRLF>
    SMNT <SP> <pathname> <CRLF>
    REIN <CRLF>
    STOU <CRLF>
    STAT [<SP> <pathname>] <CRLF>
    ALLO <SP> <decimal-integer> [<SP> R <SP> <decimal-integer>] <CRLF>
    



/*

[ FrontPage | PrintView | RawView | RSS ]

Copyright ⓒ MINZKN.COM
All Rights Reserved.

MINZKN

----

*/