Cyrus SASLv2 INSTALL Documentation

# Installation Procedure

This document offers a general overview of installing the SASL library.

## Quick and Dirty

      cd (directory it was untarred into)
      ./configure
      make
      make install

If you're checking this directly out of CVS, you'll need to run "sh ./SMakefile" to build the configure script first.

Read to learn how to configure SASL. There is also a document that covers upgrade issues.

## Details

Note that the library looks for plugins in `/usr/lib/sasl2`, but installs them into `${prefix}/lib/sasl2`, where `${prefix}` is usually something like `/usr/local`. This is intentional - we want the plugins installed with the rest of the package (wherever things get installed at your site), but we want the library to *always* be able to find its plugins under `/usr/lib/sasl2`, no matter where you install things, so that the SASL plugin ABI on all platforms is roughly the same.

If you don't want to do this for some reason, you can set the location where the library will look for plugins by setting the environment variable SASL_PATH to the path the library should use.

You'll probably need the GNU make program, available as of this writing here.

libsasl2 can use gdbm, Berkeley db, or ndbm to implement its user/password lookup. Most systems come with ndbm these days; as of this writing, gdbm is available as this file. Berkeley DB is available from: here

For Kerberos support, you'll need the kerberos libraries. At CMU, the version we use comes from here.

For GSSAPI support you will need either MIT Kerberos 5 or the Heimdal implementation.

For OTP support you will need OPIE v2.4 and this patch.

This has been tested under Linux 2.2, Linux 2.4, Solaris 2.7 and Solaris 2.8. It should work under any platform where dynamic objects can be linked against other dynamic objects, and where the dynamic library file extension is ".so", or where libtool creates the .la files correctly.

You may want to play with your CPPFLAGS and LDFLAGS a little if you're using vendor compilers (which we recommend). You can see what compilers we use on our platforms by looking at the "SMakefile".

## Installation under Win32:

If you are using SASL under Win32 or have compiled it, please let us know!
Note: The Win32 port of SASLv2 is Incomplete.

We've tested the latest version under Windows and are eager to see other people use it!

- From within Visual C++, open workspace "sasl\win32\libsasl\libsasl.dsw"
- Select "Batch Build" under the Build menu to build all versions.

At this time, there are no installers available. To install by hand:

- Decide on an installation directory for your plugins (IE: c:\windows\sasl)
- Copy all generated plugins into this directory:

        cd sasl\win32
        copy libsasl\Release\*.dll c:\sasl-plugins
        copy saslANONYMOUS\Release\*.dll c:\sasl-plugins
        copy saslCRAM\Release\*.dll c:\sasl-plugins
        copy saslKERBEROSV4\Release\*.dll c:\sasl-plugins
        copy saslPLAIN\Release\*.dll c:\sasl-plugins

- Update the registry with these locations. Example registry settings are in the file:

        sasl\win32\cmu-sasl.reg

- Add this directory to your path, so that apps will be able to find the library

        PATH=c:\sasl-plugins;%PATH%

This has been tested under Windows 2000, using Visual Studio 6 SP1.

### More notes

- ANONYMOUS, CRAM-MD5, DIGEST-MD5 and KERBEROS_V4 have been tested.
- Kerberos mechanism has been compiled using MIT's kclient package
- PLAIN is currently crippled, and does not support server use.
- GSSAPI has been totally untested.

Back to the index