Pftp means Paskma FTP server. It is a small simple FTP server written
in Ada95. The purpose it was created is that author needed to test
his knowledge on Ada95 "in the wild". So pftp is less
or more experimental project. But the fact is that pftp is stable,
reliable and secure program. If you have a huge web-hosting server
with thousands of users, this is really not for you, but if you
want to share some trivial gigabytes from your desktop computer
to your friends, pftp is a good choice.
|
Public domain. You can modify and redistribute without any restrictions.
|
Pftp implements FTP protocol as described in rfc-959 and rfc-775.
Supports user accounts, directory mapping, full set of file/directory
access rights. Pftp is a pure multithreaded system, so it is highly
robust. When a task that serves a user fails, the user can immediately
log on to another task. It is nearly impossible to make whole server
go down.
|
Pftp is about 4000 lines of source code written in programming
language Ada95. Ada is one of the most robust and complex language
ever created. It was designed for huge programs, so usage of this
technology leads to more reliable applications as if it was written
in C/C++. No access violations/segmentation faults and no buffer
overflows.
|
Used programs and libraries |
|
This project was compiled by GNAT compiler. The source code was
written in AdaGide editor.
Of course, the standard Ada library was used. Also was used GNAT's
libraries e.g. support for BSD sockets. Pftp is portable, but there
is an optimalization for Win32 available.This optimalization uses
Win32 API through GNAT-WIN library.
|
Supported operating systems |
|
Pftp is portable to all OSs/architectures for which the GNAT compiler
is available. And it is optimized for Win32 platform.
|
Since pftp is a console application, it would be dowdy to have
the console window on your desktop all the time pftp is running.
Xpftp is a simple (500 lines) application for Windows written in
Borland Delphi which substitutes the console by more friendly environment.
|
(pftp source, xpftp source, windows binaries of pftp and xpftp,
and Linux (RedHat 7.1 i686) binaries of pftp)
|
Marek Paska, 2002 - 2003
paskma 'at' students 'dot' zcu 'dot' cz
|
|