Synch with No Gnus (201109102129).
[elisp/gnus-doc-ja.git] / auth-ja.texi
index 75fd016..7ae1c3b 100644 (file)
@@ -141,16 +141,16 @@ password @var{mypassword}
 \e$B$o$J$$$G$/$@$5$$\e(B}\e$B!#$5$b$J$$$H$R$I$$L\$K2q$&$G$7$g$&!#\e(B
 
 ``Netrc'' \e$B%U%!%$%k$ODL>o\e(B @code{.authinfo} \e$B$^$?$O\e(B @code{.netrc} \e$B$H8F$P$l\e(B
-\e$B$^$9!#:#$G$O\e(B @code{.authinfo} \e$B$NJ}$,Ia5Z$7$F$$$k$h$&$J$N$G!"8e$G$o$+$k$h\e(B
-\e$B$&$K\e(B auth-source \e$B%i%$%V%i%j!<$O$=$l$r%G%#%U%)%k%H$K$9$k$3$H$K$h$C$F!"$3\e(B
-\e$B$N:.Mp$r=uD9$7$F$$$^$9!#\e(B
+\e$B$^$9!#:#$G$O\e(B @code{.authinfo} \e$B$NJ}$,Ia5Z$7$F$$$k$h$&$G$9$,!"8e$G$o$+$k$h\e(B
+\e$B$&$K\e(B auth-source \e$B%i%$%V%i%j!<$O$=$l$i$NN>J}$r<u$1F~$l$k$?$a$K!"$3$N:.Mp\e(B
+\e$B$r=uD9$7$F$$$^$9!#\e(B
 
-\e$B$b$78!:w$GLdBj$,$"$k$N$J$i\e(B @code{auth-source-debug} \e$B$r\e(B @code{t} \e$B$K@_Dj$7\e(B
-\e$B$F!"%i%$%V%i%j!<$,$I$N%[%9%H!"%]!<%H$*$h$S%f!<%6!<$r%A%'%C%/$7$F$$$k$+\e(B
-\e$B$r\e(B @code{*Messages*} \e$B%P%C%U%!!<$G8+$F$/$@$5$$!#F1MM$KB>$N$I$s$JLdBj$K$D\e(B
-\e$B$$$F$b!"2?$,%A%'%C%/$5$l$F$$$k$+$rD4$Y$k$N$,!"$"$J$?$NBh0lJb$G$9!#BhFs$N\e(B
-\e$B%9%F%C%W$O$b$A$m$s$=$l$K$D$$$F$N\e(B blog \e$B$r=q$$$F!"%3%a%s%H$G2sEz$rBT$D$3$H\e(B
-\e$B$G$9!#\e(B
+\e$B$b$78!:w$GLdBj$,$"$k$N$J$i\e(B @code{auth-source-debug} \e$B$r\e(B @code{trivia} \e$B$K\e(B
+\e$B@_Dj$7$F!"%i%$%V%i%j!<$,$I$N%[%9%H!"%]!<%H$*$h$S%f!<%6!<$r%A%'%C%/$7$F$$\e(B
+\e$B$k$+$r\e(B @code{*Messages*} \e$B%P%C%U%!!<$G8+$F$/$@$5$$!#F1MM$KB>$N$I$s$JLdBj\e(B
+\e$B$K$D$$$F$b!"2?$,%A%'%C%/$5$l$F$$$k$+$rD4$Y$k$N$,!"$"$J$?$NBh0lJb$G$9!#Bh\e(B
+\e$BFs$N%9%F%C%W$O$b$A$m$s$=$l$K$D$$$F$N\e(B blog \e$B$r=q$$$F!"%3%a%s%H$G2sEz$rBT$D\e(B
+\e$B$3$H$G$9!#\e(B
 
 \e$BJQ?t\e(B @code{auth-sources} \e$B$r%+%9%?%^%$%:$9$k$3$H$,$G$-$^$9!#$b$78E$$%P!<\e(B
 \e$B%8%g%s$N\e(B Emacs \e$B$r;H$C$F$$$k$+!"2?$+$NM}M3$N$?$a$K\e(B auth-source \e$B%i%$%V%i%j!<\e(B
@@ -173,7 +173,7 @@ password @var{mypassword}
 ;;; \e$B$[$\Ey2A$@$,!"$h$jC;$$\e(B (\e$B8e=R$N\e(B fallback \e$B$K$D$$$F$N5-=R$r;2>H\e(B)\e$B!#\e(B
 (setq auth-sources '((:source "~/.authinfo.gpg")))
 ;;; \e$B$5$i$KC;$$\e(B @emph{\e$B%G%#%U%)%k%H\e(B}:
-(setq auth-sources '("~/.authinfo.gpg" "~/.authinfo"))
+(setq auth-sources '("~/.authinfo.gpg" "~/.authinfo" "~/.netrc"))
 ;;; \e$B%7!<%/%l%C%H\e(B API \e$B$N\e(B @var{Login} \e$B%3%l%/%7%g%s$r;H$&\e(B
 ;;; (@pxref{Secret Service API})
 (setq auth-sources '("secrets:Login"))
@@ -200,8 +200,8 @@ password @var{mypassword}
 \e$B$O\e(B GnuPG \e$B$G0E9f2=$5$l$?%U%!%$%k$G$9\e(B (@pxref{GnuPG and EasyPG Assistant
 Configuration})\e$B!#\e(B
 
-\e$B$b$7$=$NFI$_9~$_$K<:GT$9$k$H!"0E9f2=$5$l$F$$$J$$\e(B netrc \e$B%U%!%$\e(B
-\e$B%k\e(B @code{~/.authinfo} \e$B$,;H$o$l$^$9!#\e(B
+\e$B$b$7$=$NFI$_9~$_$K<:GT$9$k$H!"0E9f2=$5$l$F$$$J$$\e(B netrc \e$B%U%!%$%k$G$"\e(B
+\e$B$k\e(B @code{~/.authinfo}\e$B!"B3$$$F\e(B @code{~/.netrc} \e$B$,;H$o$l$^$9!#\e(B
 
 \e$BBeI=E*$J\e(B netrc \e$B9T$NNc$O!"%]!<%H$,L5$$$b$N$G$9!#\e(B
 
@@ -248,6 +248,15 @@ TODO: \e$B$I$&F/$/$+$r0lHLE*$K!"\e(Bsecrets.el \e$B$O$I$&$d$k$+!"$$$/$D$+$NNc!#\e(B
 @node Help for developers
 @chapter \e$B3+H/<T$N$?$a$N%X%k%W\e(B
 
+auth-source \e$B%i%$%V%i%j!<$O!"2?$i$+$NF0:n$r9T$J$C$?7k2L$N5-O?$r:N$k$3$H$,\e(B
+\e$B$G$-$^$9!#\e(B
+
+@defvar auth-source-debug
+\e$B$3$NJQ?t$r\e(B @code{trivia} \e$B$K$9$k$H!"\e(B@code{*Messages*} \e$B%P%C%U%!!<$X$N$?$/\e(B
+\e$B$5$s$N=PNO$r8+$k$3$H$,$G$-$^$9!#$"$k$$$O$3$l$K\e(B @code{message} \e$B$K;w$?4X?t\e(B
+\e$B$r@_Dj$7$F!"$"$J$?FH<+$N$d$jJ}$G5-O?$r:N$k$3$H$b$G$-$^$9!#\e(B
+@end defvar
+
 auth-source \e$B%i%$%V%i%j!<$K$O!"30It$G;H$&$?$a$N4X?t$O>/$7$7$+$"$j$^$;$s!#\e(B
 
 @defun auth-source-search SPEC
@@ -256,6 +265,61 @@ TODO: \e$B$I$&$d$C$F\e(B docstring \e$B$r4^$a$k\e(B?
 
 @end defun
 
+\e$B$G$O\e(B Gnus \e$B$N\e(B @code{nnimap.el} \e$B$+$i\e(B @code{auth-source-search} \e$B$r;H$&Nc$r\e(B
+\e$B8+$F$_$^$7$g$&!#\e(B
+
+@example
+(defun nnimap-credentials (address ports)
+  (let* ((auth-source-creation-prompts
+          '((user  . "IMAP user at %h: ")
+            (secret . "IMAP password for %u@@%h: ")))
+         (found (nth 0 (auth-source-search :max 1
+                                           :host address
+                                           :port ports
+                                           :require '(:user :secret)
+                                           :create t))))
+    (if found
+        (list (plist-get found :user)
+              (let ((secret (plist-get found :secret)))
+                (if (functionp secret)
+                    (funcall secret)
+                  secret))
+              (plist-get found :save-function))
+      nil)))
+@end example
+
+@c \e$B0J2<$NLuJ8$N<A$,0-$$$N$O86J8$N=PMh$N9s$5$N$?$a!#\e(B
+\e$B$3$N8F$S=P$7$O$=$N7k2L$K%f!<%6!<L>$H%Q%9%o!<%I\e(B (\e$B<0Cf$N\e(B @code{secret}) \e$B$,\e(B
+\e$B4^$^$l$k$3$H$r5a$a$F$$$^$9!#$5$i$K!"$b$7$=$N9`L\$,$^$@L5$+$C$?$i:n$kI,MW\e(B
+\e$B$b$"$j$^$9!#$=$N9`L\$r:n$k:]$K%f!<%6!<$H$d$j<h$j$9$k>l9g$O!"<0Cf$K$"$k<A\e(B
+\e$BLdJ8$,;H$o$l$^$9!#$3$N8F$S=P$7$O!"%f!<%6!<$X$N<ALdJ8$N%G%#%U%)%k%HCM$N$?\e(B
+\e$B$a$K\e(B @code{auth-source-creation-defaults} \e$B$K$"$k%G!<%?$rEO$9$3$H$b$G$-$^\e(B
+\e$B$9!#\e(B
+
+\e$B%Q%9%o!<%I$,$b$74X?t$@$C$?$i!"$=$l$OI>2A$5$l$kI,MW$,$"$k$3$H$KCm0U$7$F$/\e(B
+\e$B$@$5$$!#$"$kDxEY$N0BA4BP:v$H$7$F!"$=$l$O4X?t$GJq$^$l$F$$$^$9!#\e(B
+
+\e$B$=$N8e%m%0%$%s$K@.8y$7$?$i\e(B @code{nnimal.el} \e$B$O<!$N$h$&\e(B
+\e$B$K\e(B @code{:save-function} \e$B$r8F$S$^$9\e(B:
+
+@example
+(when (functionp (nth 2 credentials))
+   (funcall (nth 2 credentials)))
+@end example
+
+\e$B$3$l$O\e(B @code{:save-function} \e$B$NM-L5$K4X$o$i$9F0:n$9$k$G$7$g$&!#\e(B
+@code{:save-function}\e$B$O?7$7$$9`L\$,:n$i$l$?$H$-$@$1Ds6!$5$l$k$N$G!"$3$l\e(B
+\e$B$O<B:]$K!V%m%0%$%s@.8y8e!W$J$N$G$9!#$=$7$F2f!9$,$A$g$&$I;H$C$F$$$?G'>Z>p\e(B
+\e$BJs\e(B (\e$B$?$@$7$3$l$,?7$?:n$i$l$?$b$N$G$"$k$N$J$i\e(B) \e$B$r%;!<%V$7$^$9!#\e(B
+
+\e$B:G=i$K$=$l$,8F$P$l$?8e!"\e(B@code{:save-function} \e$B$,:FEYAv$k$3$H$O$"$j$^$;$s\e(B
+(\e$B$7$+$7$b$7\e(B @code{auth-source-debug} \e$B$r\e(B @code{'trivia} \e$B$K@_Dj$7$F$"$k$J\e(B
+\e$B$i$P!"$=$N$3$H$rB?>/5-O?$7$^$9!#$3$l$9$J$o$A!"$=$l$O]5F+$7$$F1$8<ALd$,7+\e(B
+\e$B$jJV$5$l$k$3$H$O$J$$$H$$$&$3$H$G$9!#\e(B
+
+\e$B$7$?$,$C$F\e(B @code{:create t} \e$B$r@_Dj$7$?\e(B API \e$B%f!<%6!<$N@UG$$O!"$b$7B8:_$9\e(B
+\e$B$k$J$i$P\e(B @code{:save-function} \e$B$r8F$V$3$H$G$9!#\e(B
+
 @defun auth-source-delete SPEC
 
 TODO: \e$B$I$&$d$C$F\e(B docstring \e$B$r4^$a$k\e(B?