A GObject class for PAM authentication



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi folks,

For a while I've been working on a project which uses PAM for
authenticating users.  Initially, I added support directly inside one
of my GObjects, but over the last month or so, it became gradually
abstracted into a totally generic implementation which wraps the
functionality of PAM into a set of GObjects.

I think this might have wider utility, so I though you might be
interested in looking at it for including as part of GNOME or a
companion library to libglib.

The library is comprised of several parts:

SbuildAuth               wraps pam_handle_t, the basic PAM object as a
                         GObject.  Users set various information, and
                         then connect signal handlers/derive from it
                         to customise for their own session handling
                         and authentication needs.
SbuildAuthConv           wraps pam_conv, the PAM conversation
                         interface as a GInterface.  Any object can
                         implement this, so it could be a basic
                         terminal-oriented object, a GtkWidget or
                         a GnomeCanvasItem.
SbuildAuthConvTty        basic example implementation of
                         SbuildAuthConv for terminal devices
SbuildAuthMessage        messaging structures to wrap pam_message and
SbuildAuthMessageVector  pam_response.

The prefix can be changed easily enough.  The current version is
available here:

  http://people.debian.org/~rleigh/schroot/schroot-0.1.5.tar.bz2

It's part of a working program, so feel free to try it out.  A
complete API reference is included.

This does not yet implement:
* Solaris compatibility (the Linux-PAM implements the messaging
  structures differently, but with the same API).
* wrapping PAM client library (libpamc, as SbuildAuthClient)
* the (Linux-specific?) PAM binary protocol
But these can be compatibly added later.  I don't think the latter two
are part of the Sun standard implementation anyway.

There may be some weaknesses in the API; I'm particularly unhappy with
the complexity of the messaging structures, but it now implements all
the basic features, works, and I thought you might find it of
interest.


Regards,
Roger

- -- 
Roger Leigh
                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                Debian GNU/Linux        http://www.debian.org/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD4DBQFDCH/8VcFcaSW/uEgRAoFCAJiwPLS10iE2dzX293zzpgPzRyjYAJ9DrdWy
Avhqlq6SeqEj4vmI9X9AJw==
=auYl
-----END PGP SIGNATURE-----



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]