CyrusSASL: Difference between revisions

From CBLFS
Jump to navigationJump to search
No edit summary
 
(22 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 \
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 &&
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 115: 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.