QPopper (latest version is 2.4) Instructions

A) Required Software

	1)	The latest version of "qpopper", which can always be obtained from :
			ftp://ftp.qualcomm.com/eudora/servers/unix/popper

	2)	dbm libraries and header files (libdbm.a, dbm.h, ndbm.h). Due to inefficiencies
		of the NeXT "dbm" library it is better to get and compile the latest version of the
		GNU "dbm" library (gdbm) from the GNU archives, or just get a compiled version
		from the NeXT archives (either peak or peanuts)
		In the gnu subdirectory I have included a quad-fat version of "libgdbm.a". To install
		it use the instructions in the README.NeXT file.

	3)	That is it.

	This version is compiled quad-fat for NextStep by Panagiotis Velissariou, using
         	AUTHFILE="/usr/local/etc/popper/lib/auth_users_db"
		NONAUTHFILE="/usr/local/etc/popper/lib/non_auth_users_db"
		APOP="/usr/local/etc/popper/lib/pop_auth_db"
		POPUID="root"
	For details see the files config.h.NeXT and INSTALL.
	It uses libgdbm.a (version 1.7.3).
		e-mail :	takis@takis2.ee.net
				takis@superior.eng.ohio-state.edu
				takis@promail1.ee.net
				pvelissa@postbox.acs.ohio-state.edu

	Note :	While this version is compiled for : Motorola/Intel/HP/Sparc it has been tested
			only on my machine running NextStep3.3/Motorola.

ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ

B) QPopper Source Code Modifications

	1)	I have modified the file md5.h by commenting out the first line.

	2)	I have modified the file popauth.c as folows :
		a) line 474
			the data base file was open by calls to gdbm_open (dbm_open), therefore
			the next call of open, opens again the same file with a different file
			descriptor. In gdbm you allowed only one witer at a time.
		b) line 609
			same as in (a)

		Please compare the files popauth.c.orig and popauth.c.NeXT for details.

	3)	I have modified the file Makefile so qpopper and popauth can be compiled
		quad-fat and to use libgdbm.a and header files found in the gnu directory.

	4)	I have modified the file config.h so GDBM can be used and to define the various
		directories/files for qpopper.
                 Please study the file config.h.NeXT

ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ

C) Compilation

	1)	First copy :
		Makefile.NeXT -> Makefile (adjust any defines if applicable)

	2)	Next make the executables by typing in the command line :
		make next
		make

	3)	The above are true if you want to recompile from scratch, or you need to 
		define the qpopper variables differently.
ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ

D) Installation

	This installs qpopper2.4 on your NEXTSTEP system. 

	1)	Login as root or su.

	2)	Create the directories :
		/usr/local/etc/popper 
		/usr/local/etc/popper /bin
		/usr/local/etc/popper /lib
		/usr/local/etc/popper /man
		/usr/local/etc/popper /spool
		/usr/local/etc/popper /bulletins

		The permissions of the directory  /usr/local/etc/popper /spool should be the same
		as the permissions of /usr/spool/mail

		If a diffrent installation directory was requested in (C) above adjust the popper
		directories accordingly.

	3)	In the command line just type :
		make install
		The above will install binaries/man pages in the selected directories, then 
		thin the binaries for your platform (lipo) and set the correct permissions.

	3-1)	In the command line just type :
		/usr/local/etc/popper/bin/popauth -init
		touch /usr/local/etc/popper/lib/auth_users_db
		touch /usr/local/etc/popper/lib/non_auth_users_db

		Please read the file INSTALL on how to configure/use the above databases.

	3-2)	Edit the file ":/usr/local/etc/popper/lib/auth_users_db" and list all the users
		which can have pop access to your machine (one user per line).

		Edit the file ":/usr/local/etc/popper/lib/non_auth_users_db" and list all the users
		which can not have pop access to your machine (one user per line).

		If you want all users to have access please modify the config.h file and
		and comment out the lines :
			#define AUTHFILE ....
			#define NONAUTHFILE ...
		Then recompile.

	3-3)	You may want to apply "lipo" to thin the executables in /usr/local/etc/popper/bin
		in order to save some disk space.

	(NOTE : 	All NEXTSTEP systems, even without developer have make.)

	4)	Startup NetinfoManager
		4.1)	Select the services directory
		4.2)	Select pop
		4.3)	Choose duplicate (Cmd-d)
		4.4)	Open (double click) Copy_of_pop
		4.5)	Change the name value to pop3
		4.6)	Change the port to 110

	5)	IF NETINFO IS RUNNING the file  /etc/services is not read.
		IF NETINFO IS NOT RUNNING then :
			Add the following line to /etc/services:
			pop3		110/tcp		postoffice

	6)	Add the following line to /etc/inetd.conf
		pop3	stream	tcp	nowait	root	/usr/local/etc/popper/bin/popper	popper

	7)	Restart the inetd daemon.

	NOTE:	the popper server should be run on the system that holds the mail spooling area
			(normally mailhost) if you have more than one machine.

			NeXTmail also empties the mailbox in /private/spool/mail. So, if your users use both
			NeXTmail and some POP mail client they are in for some hassle with their mail
			messages. There are several ways around this problem, but that you can find out for
			yourself or someone else can do an easy-install package.

Panagiotis Velissariou (takis@superior.eng.ohio-state.edu)