* * Do not use Relayer with libdb versions less than 2.x. This program has only * been tested with Berkeley DB 2.x/3.x, and reports of using this program with * libdb 1.85 have been mixed, with one very negative experience. If you choose * to use this with a version less than 2.x, please be warned. * ********************** NOTE ********************** ********************** NOTE ********************** ********************** NOTE ********************** * * You must FIRST install relayer as of qpopper 4.0.8 and above! Otherwise * the configure statement below will be invalid and will not work. * ********************** NOTE ********************** ********************** NOTE ********************** ********************** NOTE ********************** Patching Qpopper: 1. Unpack the distribution into a directory other than where Relayer presently resides. 2. cd to the newly-created directory, qpopper-3.1 for example. 3. Issue the patch command: patch -p1 < /path/to/relayer/patch/qpopper-3.1.patch * There should be no warnings about hunks failing. If so, please send this * output, along with detail regarding the version of Qpopper to the author. * Do not attempt to use qpopper if this is the case. Compiling Qpopper: 1. cd to the newly-created directory, qpopper-3.1 for example. issue the "configure" command as follows: ** INSTALL RELAYER FIRST ** ./configure --enable-relayer 2. If you need additional options, add those to the configure line, however, be sure the "--enable-specialauth" appears at some point on your command line. 3. Compile the program by issuing: make 4. Install the program by issuing: make install * If you know what you are doing, you may simply copy the file to the * proper location for your system, as such: cp popper/popper /usr/sbin/qpopper 5. Follow the directions in the INSTALL file resident in the qpopper distribution directory for system configuration. Installing Relayer 1. Copy relayer to /usr/local/bin: cp relayer /usr/local/bin 2. Edit the relayer file and configure the following variables: $log_options -- Either terse or verbose. Don't set verbose and then create a cron entry. This is not good for your mailbox. $relay_time -- How many minutes a user may relay $log -- The log file for Relayer $relay_db -- Where the DB containing the host entries resides. Must match sendmail. $time_stamps -- Where the file containing the time stamps resides. May be anywhere. 3. Initialize the database: /usr/local/bin/relayer -init 3a. View the database: /usr/local/bin/relayer -view (should be empty) 3b. Test the database: /usr/local/bin/relayer 127.0.0.1 (view it again to be sure it worked) 3c. Remove the entry: /usr/local/bin/relayer -del Delete whom: 127.0.0.1 (view to be certain the entry was removed) 4. Ensure that Sendmail has the proper entry for the access_db file and that this location points to the same location as configured within Relayer: # Access list database (for spam stomping) Kaccess hash /etc/mail/access 5. Test sendmail: sendmail -bt >/map access 127.0.0.1 (should return 0) 6. Connect to your pop server: telnet localhost 110 user poptest pass relaytest (should authenticate and indicate messages waiting) 7. Ensure that Relayer wrote the entry: /usr/local/bin/relayer -view (you should see one entry at this time, unless your server is extremely busy, in which case you took your own route on a staging server and tested it for two weeks. If not, best of luck.) 8. Repeat step 5, you should see the same entry as displayed by step 7. Use the proper IP address if it is not your local IP address. 9. Create a cron entry to expire users: # expire the relay database. /usr/local/sbin/relayer -view to view it. 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/sbin/relayer -expire 10. Complete. Please let me know of any problems. Before you do, please be sure you have followed all of the steps, and that your libdb versions are consistent. This is the primary issue for most installations.