INSTALLATION The source code is very simple in the hope that there will be no problem to compile pftp on any computer running UNIX and an ANSI-C compiler. 1) Edit the Makefile to adjust the destination directory if it is not `/usr/bin' for the binary and `/usr/man' for the manual page. 2) Edit the Makefile if your system has shadow password and it is not recognized by the Makefile. 3) Edit the Makefile if your system has IPv6 libraries and headers. Just set the appropriate options. See FURTHER HINTS! 3) Type `make ; make install' If you install pftp system wide: 4) Try `make show_entry' to see the entry for `/etc/inetd.conf'. 5) Add the line `pftp 662/tcp' to `/etc/services'. 6) Copy `pftp.conf' to `/etc/pftp.conf' and adjust it to your needs 7) Give your `inetd' a kick. Good luck and have fun with pftp! ;*) FURTHER HINTS Updating pftp from versions prior to 1.0.12: Please, empty your upload directory specified by PFTPRECEIVE before you install this new version of pftp. IPv6: By now the IPv6 version has been tested on Linux, SunOS, and FreeBSD. The server accepts IPv6 as well as IPv4 clients. The client connects to IPv6 as well as IPv4 servers. Probably MULTICAST is not supported by your IPv6 C library. At least mine did not support it. I just implemented the appropriate switches according to RFC2133. I Hope MULTICAST works correctly if supported by your IPv6 library. If you managed to make pftp run on a system with IPv6 support and multicasting support, please be so kind as to drop me an e-mail. Always keep in mind that your kernel needs to be IPv6 capable to run the IPv6 version of pftp. If your Linux system is based on the glibc 2.1 be happy! You will not need and should not use any further libinet6.a and libresolv.a for the linking and should not use the headers found in `/usr/inet6/include'. Multicasting: To receive multicasted UDP datagrams your system needs to support multicasting though. Be sure to set the appropriate route, e.g. route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 on Linux. Also your kernel has to support multicasting. To send multicasted UDP datagrams you normaly only need to send UDP datagrams to a multicast group. So unless you want to set the ttl or set the loop back option you only need to use option `-u' with the appropriate group as hostname. PGP as filter program: Be sure that you set `TextMode = off' in your `config.txt' file!!! Otherwise if sending ascii files pgp does *_not_* decrypt the files to the originals. Thus pftp could not save them. Using pgp5 will probably not work. Unfortunately pgp seems to be no longer a good old UNIX style program. I could not fix that problem by now. Sorry! Maybe later versions of pgp are more sophisticated. So, please, use pgp263 for now. NEXTSTEP: Unfortunately you cannot send directories recursively on NEXTSTEP systems. Alternatively you might use pftp with option `-j' (rtfm). Since the last NEXTSTEP system I had access to has gone the NEXTSTEP version is no longer checked for compatibility, sorry! AIX, HP-UX, IRIX, Linux, OpenBSD, OSF1, SunOS, Solaris, ULTRIX, unicos: No problems have been encountered by now. CYGWIN: To build pftp on NT 4.0 ('95 and '98 are _*not*_ supported!!) 1) install the cygwin package found at http://www.cygnus.com 2) change to directory ./src/ 3) type `make -f Makefile.cygwin' The daemon respectively the server started by the internet daemon do not work. Thus the pfm (`pftp -n') does not work too. Also `-e' is not supported. All other options should work correctly. Other systems: If you want support for another than one of the above mentioned systems that has a network library installed just send me a million bucks and I will port pftp to your system. It takes about two or three weeks. ;^) Naming: When I started coding pftp in summer 1996 I searched all the Internet up and down for the name `pftp'. No archie, no gopher, and no other web searching engine gave me a single link. So I decided to take this name. By now you will find almost a dozen programs called pftp. That's just the Internet. I don't mind if there is any stand alone program that is called `pftp', but if the name pftp is used although never needed on command line nor really necessary, than I think this is just name space pollution! Decide for your self to just remove any symbolic links called `pftp' and install real world programs. My girl-friend and me prefer the name `pftp' but we also agree with the name `portftp'. Please, be so kind as to take one of them to let other people easily find it. Trademarks: AIX is a trademark of the IBM Corporation. HP-UX is a trademark of the Hewlett Packard Company. IRIX is a trademark of Silicon Graphics, Inc. Linux is a trademark of Linus Torvalds. OSF1 is a trademark of the Open Software Foundation, Inc. Solaris is a trademark of Sun Microsystems. SunOS is a trademark of Sun Microsystems. ULTRIX is a trademark of the Compaq Computer Corporation. UNICOS is a trademark of Cray Research, L.L.C. UNIX is a trademark of The Open Group.