A GObject class for PAM authentication
- From: Roger Leigh <rleigh whinlatter ukfsn org>
- To: gtk-devel-list gnome org
- Subject: A GObject class for PAM authentication
- Date: Sun, 21 Aug 2005 14:22:06 +0100
-----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]