[Top][All Lists]

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

Re: Modifying Emacs to use the Mac OS X Keychain Services

From: Ben Key
Subject: Re: Modifying Emacs to use the Mac OS X Keychain Services
Date: Sat, 28 May 2011 08:00:20 -0500

On Sat, May 28, 2011 at 6:09 AM, Michael Albinus <address@hidden> wrote:

secrets.el was initiated as implementation of D-Bus'
org.freedesktop.secrets interface. Does there exist a a server under OS
X for that? I know the Gnome (keyring) and KDE (kwallet) implementations
so far, a short search does not return results for OS X.

The functions in secrets.el are designed to give simple access to that

First, to give a little background.  Several months ago there was a request to have auth-source.el use the Mac OS X keychain functions (see http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00486.html).  These functions are documented at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/keychainServConcepts/03tasks/tasks.html.  I agreed to do it but then got busy and later forgot about it.  I want to finally keep my promise this weekend.

When I started looking into what would be needed to complete this task the first thing I noticed is that auth-source.el makes use of the functions in secrets.el I mentioned if the user customizes the auth-sources variable to include the secrets API.  Since the Keychain Services API provides functionality similar to that provided by the org.freedesktop.secrets interface I figured that secrets.el would be a logical place to put the change.  Putting the code there also makes it available to packages other than Gnus.  Of course I could just define another authentication source in auth-source.el as you suggest.

I thought that extending secrets.el was the more logical choice since much like the org.freedesktop.secrets interface, the Keychain Services API provides a Login key chain along with the possibility of using an application defined keychain.

I am willing to be over ruled though.

Which approach should I take?  Whichever approach I take, I may need some help writing the Lisp code necessary for my change.  While I know enough Lisp to perform simple tasks, I am definitely NOT a Lisp programmer.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]