[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: |
Ted Zlatanov |
Subject: |
Re: Modifying Emacs to use the Mac OS X Keychain Services |
Date: |
Tue, 31 Jul 2012 11:45:21 -0400 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1.50 (gnu/linux) |
On Mon, 30 Jul 2012 15:34:45 +0200 Michael Albinus <address@hidden> wrote:
MA> Ted Zlatanov <address@hidden> writes:
>> I haven't heard from Ben Key (CC-ed on this post) in a year so I figured
>> it's simpler to implement this myself. I've pushed something into the
>> Gnus repo, which you can test. It doesn't support creation or deletion,
>> but searching works.
MA> Wouldn't this be a good time to extend auth-source.el by a backend
MA> concept? You have mentioned it as todo, and I belive it would pay. These
MA> two new backend work only for Mac OS; the Secret Services backend is good
MA> for GNU/Linux.
It already uses backends; see the following calls:
#+begin_src lisp
(auth-source-backend-parse "myfile.gpg")
(auth-source-backend-parse 'default)
(auth-source-backend-parse "secrets:Login")
(auth-source-backend-parse 'macos-keychain-internet)
(auth-source-backend-parse 'macos-keychain-generic)
(auth-source-backend-parse "macos-keychain-internet:/path/here.keychain")
(auth-source-backend-parse "macos-keychain-generic:/path/here.keychain")
#+end_src
The developer pain, at this point, seems to be that
1) each backend has to implement its own treatment of the general search
parameters (:source :type :user :host :port :max), and interpret them in
its own domain; and
2) I use flat plists but most Emacs developers don't. That's my
impression, at least, and perhaps the reason I haven't seen any
contributions to auth-source.el besides the `plstore' backend from Daiki
Ueno, which was mostly a copy of the `netrc' backend.
If you or anyone else has suggestions on redesigning auth-source.el and
perhaps changing its call interface, please speak up (with patches or
words).
Thanks
Ted