|
The Demo FTP Server For some time, I have been blogging about a demo
program showing the Indy FTP Server.
This was contributed from the "Indy Demos" mailing list and I worked on it
further on my own. The reason I did that was to do some testing in the FTP server when developing some
newer features.
In the process, I've learned a good deal and I was able to fix some major
bugs that effected path processing (it was
handled in an inconsistent manner) and I also used it for testing the MLST command and that lead to the OnMLST event I blogged about earlier. It
turned out to be more important than I originally thought because NcFTP was using that to see if a file
existed. In addition, I had started using it for a SITE UTIME event that I
may blog about later. Then, I had another bug with the OPTS MLST command
and that had broken on NcFTP.
The point I'm trying to make is that often, when writing a demo, you can
uncover quite a number of problems and see how something works as you code
it. That is important as there are often gaps between your theories
and reality. In practice, coding and the component are almost one in the
same. Do not underestimate the virtue of eating your own
dogfood.
The only thing I would note is that this
demo is intended as a starting point for developers to work from. It
should not be used in production environments at all. I tested it
only behind a NAT and it had no access outside of my internal
network. In reality, you usually require strong access controls along with
authentication and security (such as SSL). For stronger controls,
you would typically write your own file-system access control code or use
something like Windows NT authentication along with impersonation.
|