Mercurial > emacs
changeset 102054:c35aac5fa64e
Merge from gnus--devo--0
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1548
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 16 Feb 2009 09:32:19 +0000 |
parents | 20687882f9e1 |
children | 4d3a5c88cb2b |
files | doc/misc/ChangeLog doc/misc/auth.texi lisp/gnus/ChangeLog lisp/gnus/gnus-art.el |
diffstat | 4 files changed, 216 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/misc/ChangeLog Mon Feb 16 01:33:10 2009 +0000 +++ b/doc/misc/ChangeLog Mon Feb 16 09:32:19 2009 +0000 @@ -1,3 +1,7 @@ +2009-02-13 Teodor Zlatanov <tzz@lifelogs.com> + + * auth.texi: New file documenting auth-source. + 2009-02-13 Carsten Dominik <dominik@science.uva.nl> * org.texi (Org Plot): Fix link.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/misc/auth.texi Mon Feb 16 09:32:19 2009 +0000 @@ -0,0 +1,203 @@ +\input texinfo @c -*-texinfo-*- + +@setfilename auth.info + +@set VERSION 0.1 + +@dircategory Emacs +@direntry +* auth-source: (auth). The Emacs auth-source library. +@end direntry + +@settitle Emacs auth-source Library @value{VERSION} + +@copying +This file describes the Emacs auth-source library. + +Copyright @copyright{} 2008, 2009 +Free Software Foundation, Inc. + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +and with the Back-Cover Texts as in (a) below. A copy of the license +is included in the section entitled ``GNU Free Documentation License'' +in the Emacs manual. + +(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and +modify this GNU manual. Buying copies from the FSF supports it in +developing GNU and promoting software freedom.'' + +This document is part of a collection distributed under the GNU Free +Documentation License. If you want to distribute this document +separately from the collection, you can do so by adding a copy of the +license to the document, as described in section 6 of the license. +@end quotation +@end copying + +@tex + +@titlepage +@title Emacs auth-source Library + +@author by Ted Zlatanov +@page + +@vskip 0pt plus 1filll +@insertcopying +@end titlepage +@page + +@end tex + +@node Top +@top Emacs auth-source +This manual describes the Emacs auth-source library. + +It is a way for multiple applications to share a single configuration +(in Emacs and in files) for user convenience. + +@menu +* Overview:: Overview of the auth-source library. +* Help for users:: +* Help for developers:: +* Index:: +* Function Index:: +* Variable Index:: +@end menu + +@node Overview +@chapter Overview + +To be done. + +@node Help for users +@chapter Help for users + +If you have problems with the port, turn up @code{gnus-verbose} and +see what port the library is checking. Ditto for any other +problems, your first step is to see what's being checked. + +Setup: + +@lisp +(require 'auth-source) +(customize-variable 'auth-sources) ;; optional, do it once +@end lisp + +@defvar auth-sources + +The @var{auth-sources} variable tells the auth-source library where +your netrc files live for a particular host and protocol. While you +can get fancy, the default and simplest configuration is: + +@lisp +(setq auth-sources '((:source "~/.authinfo.gpg" :host t :protocol t))) +@end lisp + +By adding multiple entries to that list with a particular host or +protocol, you can have specific netrc files for that host or protocol. + +@end defvar + + +``Netrc'' files are a de facto standard. They look like this: +@example +machine mymachine login myloginname password mypassword port myport +@end example + +The port is optional. If it's missing, auth-source will assume any +port is OK. Actually the port is a protocol name or a port number so +you can have separate entries for port 143 and for protocol ``imap'' +if you fancy that. + +If you don't customize @var{auth-sources}, you'll have to live with +the defaults: any host and any port are looked up in the netrc +file @code{~/.authinfo.gpg}. This is an encrypted file if and only if +you set up EPA, which is strongly recommended. + +@lisp +(require 'epa-file) +(epa-file-enable) +(setq epa-file-cache-passphrase-for-symmetric-encryption t) ; VERY important +@end lisp + +For url-auth authentication (HTTP/HTTPS), you need to put this in your +netrc file: + +@example +machine yourmachine.com:80 port http login testuser password testpass +@end example + +This will match any realm and authentication method (basic or +digest). If you want finer controls, explore the url-auth source +code and variables. + +For Tramp authentication, use: + +@example +machine yourmachine.com port scp login testuser password testpass +@end example + +Note that the port denotes the Tramp connection method. When you +don't use a port entry, you match any Tramp method, as explained +earlier. + +@node Help for developers +@chapter Help for developers + +The auth-source library only has one function for external use. + +@defun auth-source-user-or-password mode host port + +Retrieve appropriate authentication tokens, determined by @var{mode}, +for host @var{host} and @var{port}. If @code{gnus-verbose} is 9 or +higher, debugging messages will be printed. + +If @var{mode} is a list of strings, the function will return a list of +strings or @code{nil} objects. If it's a string, the function will +return a string or a @code{nil} object. Currently only the modes +``login'' and ``password'' are recognized but more may be added in the +future. + +@var{host} is a string containing the host name. + +@var{port} contains the protocol name (e.g. ``imap'') or +a port number. It must be a string, corresponding to the port in the +users' netrc files. + +@example +;; IMAP example +(setq auth (auth-source-user-or-password + '("login" "password") + "anyhostnamehere" + "imap")) +(nth 0 auth) ; the login name +(nth 1 auth) ; the password +@end example + +@end defun + +@node Index +@chapter Index +@printindex cp + +@node Function Index +@chapter Function Index +@printindex fn + +@node Variable Index +@chapter Variable Index +@printindex vr + +@summarycontents +@contents +@bye + +@c End: + +@ignore + arch-tag: 7b835fd3-473f-40fc-9776-1c4e49d26c94 +@end ignore
--- a/lisp/gnus/ChangeLog Mon Feb 16 01:33:10 2009 +0000 +++ b/lisp/gnus/ChangeLog Mon Feb 16 09:32:19 2009 +0000 @@ -1,3 +1,7 @@ +2009-02-15 Reiner Steib <Reiner.Steib@gmx.de> + + * gnus-art.el (gnus-button-alist): Recognize Konqueror info links. + 2009-02-15 Glenn Morris <rgm@gnu.org> * gnus-util.el (rmail-insert-rmail-file-header)
--- a/lisp/gnus/gnus-art.el Mon Feb 16 01:33:10 2009 +0000 +++ b/lisp/gnus/gnus-art.el Mon Feb 16 09:32:19 2009 +0000 @@ -7412,7 +7412,11 @@ gnus-button-ctan-directory-regexp "/[-_.a-z0-9]+/[-_./a-z0-9]+[/a-z0-9]\\)") 1 (>= gnus-button-tex-level 8) gnus-button-handle-ctan 1) - ;; This is info (home-grown style) <info://foo/bar+baz> + ;; Info Konqueror style <info:/foo/bar baz>. + ;; Must come before " Gnus home-grown style". + ("\\binfo://?\\([^'\">\n\t]+\\)" + 0 (>= gnus-button-emacs-level 1) gnus-button-handle-info-url 1) + ;; Info, Gnus home-grown style (deprecated) <info://foo/bar+baz> ("\\binfo://\\([^'\">\n\t ]+\\)" 0 (>= gnus-button-emacs-level 1) gnus-button-handle-info-url 1) ;; Info GNOME style <info:foo#bar_baz>