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>