Difference between revisions of "CyrusSASL"

From CBLFS
Jump to navigationJump to search
(Multilib)
 
(24 intermediate revisions by 7 users not shown)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.21.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 ==
 
   
 
   
 
=== Required ===
 
=== Required ===
* [[OpenSSL]]
+
* [[OpenSSL]]
* [[Linux-Pam]]
+
=== Optional ===
 +
* [[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 36: 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 41: 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 54: 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 65: 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 83: 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 &&
+
  sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in &&
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 ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \
 
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \
 
             --libdir=/usr/lib32 --with-dbpath=/var/lib/sasl/sasldb2 \
 
             --libdir=/usr/lib32 --with-dbpath=/var/lib/sasl/sasldb2 \
             --with-saslauthd=/var/run &&
+
             --with-saslauthd=/var/run --with-plugindir=/usr/lib32/sasl2 &&
 
  make
 
  make
  
Line 101: 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 &&
+
  sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in &&
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 ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \
 
  CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \
 
             --libdir=/usr/lib64 --with-dbpath=/var/lib/sasl/sasldb2 \
 
             --libdir=/usr/lib64 --with-dbpath=/var/lib/sasl/sasldb2 \
             --with-saslauthd=/var/run &&
+
             --with-saslauthd=/var/run --with-plugindir=/usr/lib64/sasl2 &&
 
  make
 
  make
  
Line 114: 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
 +
 +
== 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 =
 +
 +
{| 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
 +
|}
 +
 +
=== Short Descriptions ===
 +
 +
{| 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.
 +
|}
 +
 +
[[Category:Security]]

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.