Difference between revisions of "CyrusSASL"

From CBLFS
Jump to navigationJump to search
 
(18 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.22.tar.gz
+
| ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-{{CyrusSASL-Version}}.tar.gz
 
|-
 
|-
!Required Patch:
 
| http://svn.cross-lfs.org/svn/repos/patches/cyrus-sasl/cyrus-sasl-2.1.21-gcc4-1.patch
 
|-
 
!Required Patch:
 
| http://svn.cross-lfs.org/svn/repos/patches/cyrus-sasl/cyrus-sasl-2.1.21-openldap23-1.patch
 
|-
 
!Required Patch:
 
| http://svn.cross-lfs.org/svn/repos/patches/cyrus-sasl/cyrus-sasl-2.1.21-openssl98-1.patch
 
 
|}
 
|}
  
 
----
 
----
 +
 +
{{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}}
  
 
== Dependencies ==
 
== Dependencies ==
Line 21: Line 15:
 
* [[OpenSSL]]
 
* [[OpenSSL]]
 
=== Optional ===
 
=== Optional ===
* [[Linux-Pam]]
+
* [[Linux-PAM]]
 
* [[OpenLDAP]]
 
* [[OpenLDAP]]
 
* [[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 37: 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 42: Line 38:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../cyrus-sasl-2.1.21-openldap23-1.patch &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
patch -Np1 -i ../cyrus-sasl-2.1.21-openssl98-1.patch &&
 
patch -Np1 -i ../cyrus-sasl-2.1.21-gcc4-1.patch &&
 
  sed -i '/sasl_global/s/^static //' lib/client.c &&
 
sed -i 's/cat8/man8/' saslauthd/Makefile.in &&
 
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  ./configure --prefix=/usr --sysconfdir=/etc \
 
             --with-dbpath=/var/lib/sasl/sasldb2 \
 
             --with-dbpath=/var/lib/sasl/sasldb2 \
Line 55: Line 47:
  
 
  make install &&
 
  make install &&
  install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.21 &&
+
  install -v -m755 -d /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} &&
 
  install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
 
  install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
     saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.21 &&
+
     saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} &&
 
  install -v -m700 -d /var/lib/sasl
 
  install -v -m700 -d /var/lib/sasl
  
Line 66: Line 58:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../cyrus-sasl-2.1.21-openldap23-1.patch &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
patch -Np1 -i ../cyrus-sasl-2.1.21-openssl98-1.patch &&
 
patch -Np1 -i ../cyrus-sasl-2.1.21-gcc4-1.patch &&
 
  sed -i '/sasl_global/s/^static //' lib/client.c &&
 
sed -i 's/cat8/man8/' saslauthd/Makefile.in &&
 
 
  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 84: Line 72:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../cyrus-sasl-2.1.21-openldap23-1.patch &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
patch -Np1 -i ../cyrus-sasl-2.1.21-openssl98-1.patch &&
 
patch -Np1 -i ../cyrus-sasl-2.1.21-gcc4-1.patch &&
 
  sed -i '/sasl_global/s/^static //' lib/client.c &&
 
sed -i 's/cat8/man8/' saslauthd/Makefile.in &&
 
 
  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 103: Line 87:
 
Compile the package:
 
Compile the package:
  
patch -Np1 -i ../cyrus-sasl-2.1.21-openldap23-1.patch &&
+
  sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
patch -Np1 -i ../cyrus-sasl-2.1.21-openssl98-1.patch &&
 
patch -Np1 -i ../cyrus-sasl-2.1.21-gcc4-1.patch &&
 
  sed -i '/sasl_global/s/^static //' lib/client.c &&
 
sed -i 's/cat8/man8/' saslauthd/Makefile.in &&
 
 
  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 117: Line 97:
  
 
  make install &&
 
  make install &&
  install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.21 &&
+
  install -v -m755 -d /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} &&
 
  install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
 
  install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
     saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.21 &&
+
     saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} &&
 
  install -v -m700 -d /var/lib/sasl
 
  install -v -m700 -d /var/lib/sasl
  
= Contents =
+
== Configuring ==
  
The Cyrus SASL package contains a Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols.
+
=== Bootscript ===
  
Installed Programs: saslauthd, sasldblistusers2, saslpasswd2
+
Install the init script included in the bootscripts package.
  
Installed Libraries: libjavasasl.so, libsasl2.so, numerous SASL plugins and Java classes
+
make install-cyrus-sasl
  
Installed Directories: /usr/include/sasl, /usr/lib/java/classes/sasl, /usr/lib/sasl2, /usr/share/doc/cyrus-sasl-2.1.21, /var/lib/sasl
+
After installing the bootscript you will want to edit it and put the proper auth mech in.
  
=== Short Descriptions ===
+
= Contents =
  
saslauthd: is the SASL authentication server.
+
{| style="text-align: left;"
 +
|-
 +
! '''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-{{CyrusSASL-Version}}, /var/lib/sasl
 +
|}
  
sasldblistusers2: is used to list the users in the SASL password database sasldb2.
+
=== Short Descriptions ===
  
saslpasswd2: is used to set and delete a user's SASL password and mechanism specific secrets in the SASL password database sasldb2.  
+
{| style="text-align: left;"
 +
|-
 +
! '''saslauthd'''
 +
| is the SASL authentication server.
 +
|-
 +
! '''sasldblistusers2'''
 +
| is used to list the users in the SASL password database sasldb2.
 +
|-valign="top"
 +
! '''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.
 +
|}
  
libsasl2.so: is a general purpose authentication library for server and client applications.
+
[[Category:Security]]

Latest revision as of 16: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.