Difference between revisions of "CyrusSASL"

From CBLFS
Jump to navigationJump to search
 
(8 intermediate revisions by 4 users not shown)
Line 8: Line 8:
 
----
 
----
  
== Introduction to Cyrus SASL ==
+
{{Package-Introduction|Cyrus SASL is the Carnegie Mellon University Implementation of the SASL C API. SASL is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. To use SASL, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. If its use is negotiated, a security layer is inserted between the protocol and the connection.|http://asg.web.cmu.edu/sasl/sasl-library.html}}
 
 
The Cyrus SASL package contains a Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. To use SASL, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. If its use is negotiated, a security layer is inserted between the protocol and the connection.
 
  
 
== Dependencies ==
 
== Dependencies ==
Line 21: Line 19:
 
* [[MIT krb5]] or [[Heimdal]]
 
* [[MIT krb5]] or [[Heimdal]]
 
* [[JDK]]
 
* [[JDK]]
* [[MySQL]]
+
* [[MySQL]] or [[PostgreSQL]] or [[SQLite]]
* [[PostgreSQL]]
+
* [[GDBM]] or [[Berkeley DB]]
* [[GDBM]]
 
 
* [[krb4]]
 
* [[krb4]]
* [[SQLite]]
 
 
* [[Dmalloc]]
 
* [[Dmalloc]]
  
Line 33: Line 29:
  
 
  --with-ldap --enable-ldapdb
 
  --with-ldap --enable-ldapdb
 +
 +
If building against [[MIT krb5]] or [[Heimdal]] add the following to the configure command:
 +
 +
--enable-gssapi
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 38: Line 38:
 
Compile the package:
 
Compile the package:
  
  sed -i '/sasl_global/s/^static //' lib/client.c &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
             --with-dbpath=/var/lib/sasl/sasldb2 \
 
             --with-dbpath=/var/lib/sasl/sasldb2 \
Line 58: Line 58:
 
Compile the package:
 
Compile the package:
  
  sed -i '/sasl_global/s/^static //' lib/client.c &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
 
  CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc \
 
  CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc \
 
             --with-dbpath=/var/lib/sasl/sasldb2 \
 
             --with-dbpath=/var/lib/sasl/sasldb2 \
Line 72: Line 72:
 
Compile the package:
 
Compile the package:
  
  sed -i '/sasl_global/s/^static //' lib/client.c &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
 
  sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in &&
 
  sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in &&
 
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \
 
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \
Line 87: Line 87:
 
Compile the package:
 
Compile the package:
  
  sed -i '/sasl_global/s/^static //' lib/client.c &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
 
  sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in &&
 
  sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in &&
 
  CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \
 
  CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \
Line 101: Line 101:
 
     saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} &&
 
     saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} &&
 
  install -v -m700 -d /var/lib/sasl
 
  install -v -m700 -d /var/lib/sasl
 +
 +
== Configuring ==
 +
 +
=== Bootscript ===
 +
 +
Install the init script included in the bootscripts package.
 +
 +
make install-cyrus-sasl
 +
 +
After installing the bootscript you will want to edit it and put the proper auth mech in.
  
 
= Contents =
 
= Contents =

Latest revision as of 17:22, 6 June 2009

Download Source: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz

Introduction to CyrusSASL

Cyrus SASL is the Carnegie Mellon University Implementation of the SASL C API. SASL is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. To use SASL, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. If its use is negotiated, a security layer is inserted between the protocol and the connection.

Project Homepage: http://asg.web.cmu.edu/sasl/sasl-library.html

Dependencies

Required

Optional

Configuration Information

If building against OpenLDAP add the following to the configure command:

--with-ldap --enable-ldapdb

If building against MIT krb5 or Heimdal add the following to the configure command:

--enable-gssapi

Non-Multilib

Compile the package:

sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
./configure --prefix=/usr --sysconfdir=/etc \
            --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run &&
make

Install the package

make install &&
install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
    saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m700 -d /var/lib/sasl

Multilib

32Bit

Compile the package:

sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc \
            --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run &&
make

Install the package

make install

N32

Compile the package:

sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in &&
CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \
            --libdir=/usr/lib32 --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run --with-plugindir=/usr/lib32/sasl2 &&
make

Install the package

make install

64Bit

Compile the package:

sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in &&
CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \
            --libdir=/usr/lib64 --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run --with-plugindir=/usr/lib64/sasl2 &&
make

Install the package

make install &&
install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
    saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m700 -d /var/lib/sasl

Configuring

Bootscript

Install the init script included in the bootscripts package.

make install-cyrus-sasl

After installing the bootscript you will want to edit it and put the proper auth mech in.

Contents

Installed Programs: saslauthd, sasldblistusers2, saslpasswd2
Installed Libraries: libjavasasl.so, libsasl2.so, numerous SASL plugins and Java classes
Installed Directories: /usr/include/sasl, /usr/lib/java/classes/sasl, /usr/lib/sasl2, /usr/share/doc/cyrus-sasl-2.1.23, /var/lib/sasl

Short Descriptions

saslauthd is the SASL authentication server.
sasldblistusers2 is used to list the users in the SASL password database sasldb2.
saslpasswd2 is used to set and delete a user's SASL password and mechanism specific secrets in the SASL password database sasldb2.
libsasl2.so is a general purpose authentication library for server and client applications.