1 \input texinfo @c -*-texinfo-*-
3 @include gnus-overrides-ja.texi
7 @firstparagraphindent insert
11 @settitle Emacs SASL Library @value{VERSION}
14 \e$B$3$N%U%!%$%k$O
\e(B Emacs SASL
\e$B%i%$%V%i%j!<!"%P!<%8%g%s
\e(B @value{VERSION}
\e$B$r@b
\e(B
17 Copyright @copyright{} 2000, 2004-2012
18 Free Software Foundation, Inc.
21 Permission is granted to copy, distribute and/or modify this document
22 under the terms of the GNU Free Documentation License, Version 1.3 or
23 any later version published by the Free Software Foundation; with no
24 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
25 and with the Back-Cover Texts as in (a) below. A copy of the license
26 is included in the section entitled ``GNU Free Documentation License''.
28 \e$B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N
\e(B GNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q
\e(B
29 \e$BBh
\e(B 1.3
\e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9
\e(B
30 \e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,$O;XDj$7$^$;$s!#!H
\e(BA GNU Manual
\e$B!I$OI=I=;f
\e(B
31 \e$B%F%-%9%H!"0J2<$N
\e(B (a)
\e$B$ON"I=;f%F%-%9%H$G$9!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O
\e(B
32 \e$B!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^$9!#
\e(B
34 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
35 modify this GNU manual. Buying copies from the FSF supports it in
36 developing GNU and promoting software freedom.''
38 (a) FSF
\e$B$NN"I=;f%F%-%9%H
\e(B:
\e$B!V$"$J$?$K$O$3$N
\e(B GNU Manual
\e$B$rJ#@=$7$?$jJQ99$9
\e(B
39 \e$B$k<+M3$,$"$j$^$9!#
\e(BFSF
\e$B$+$i$NJ#<L$N9XF~$O
\e(B GNU
\e$B$N3+H/$H%=%U%H%&%'%"$N<+M3
\e(B
40 \e$B$NB%?J$r;Y1g$7$^$9!#!W
\e(B
42 This document is part of a collection distributed under the GNU Free
43 Documentation License. If you want to distribute this document
44 separately from the collection, you can do so by adding a copy of the
45 license to the document, as described in section 6 of the license.
47 \e$B$3$NJ8=q$O!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$K4p$E$$$FG[I[$5$l$?<}=8Cx:nJ*
\e(B
48 \e$B$N0lIt$G$9!#$b$7$"$J$?$,$3$NJ8=q$r<}=8Cx:nJ*$+$iJ,N%$7$FG[I[$7$?$$$H$-$O!"
\e(B
49 \e$B7@Ls=q$NBh
\e(B 6
\e$B9`$K5-=R$5$l$F$$$k$h$&$K!"J8=q$K7@Ls=q$NJ#<L$rIU2C$9$k$3$H
\e(B
50 \e$B$K$h$C$F!"9T$J$&$3$H$,$G$-$^$9!#
\e(B
54 @dircategory Emacs network features
56 * SASL-ja: (sasl-ja). The Emacs SASL library (Japanese).
61 @title Emacs SASL Library @value{VERSION} (DEVELOPMENT VERSION)
64 @title Emacs SASL Library @value{VERSION}
70 @vskip 0pt plus 1filll
77 SASL
\e$B$O0[$J$k%W%m%H%3%k$r;H$&%"%W%j%1!<%7%g%s4V$G!"J#?t$NG'>Z%a%+%K%:%`
\e(B
78 \e$B$r6&M-$9$k$?$a$N6&DL%$%s%?!<%U%'!<%9$G$9!#
\e(B
85 * Overview:: Emacs SASL
\e$B%i%$%V%i%j!<$H$O
\e(B
86 * How to use::
\e$B%"%W%j%1!<%7%g%s$KG'>Z%5%]!<%H$rDI2C$9$k
\e(B
88 * Back end drivers::
\e$BFH<+$N%I%i%$%P!<$r=q$/
\e(B
97 @sc{sasl}
\e$B$O
\e(B @dfn{Simple Authentication and Security Layer}
\e$B$NN,$G$9!#I8
\e(B
98 \e$B=`$O
\e(B RFC2222
\e$B$KJ8=q2=$5$l$F$$$^$9!#$3$l$O!"$5$^$6$^$J%"%W%j%1!<%7%g%s!&
\e(B
99 \e$B%W%m%H%3%k$K!"G'>Z%5%]!<%H$rDI2C$9$k$?$a$N4JC1$J<jCJ$rDs6!$7$^$9!#
\e(B
101 \e$B$3$N%i%$%V%i%j!<$N:G>e0L$N%$%s%?!<%U%'!<%9$O!"
\e(BJava @sc{sasl} Application
102 Program Interface
\e$B$K$h$C$F?(H/$5$l$^$7$?!#$=$l$O!"Cj>]2=$7$?0lO"$NG'>Z%a
\e(B
103 \e$B%+%K%:%`$N%I%i%$%P!<$rDj5A$7$^$9!#
\e(B
105 \e$B%P%C%/%(%s%I$N%I%i%$%P!<$O!"$J$k$Y$/G'>Z%a%+%K%:%`$KL)@\$7$F$$$k$3$H$rL\
\e(B
106 \e$B;X$7$F$$$^$9!#$I$3$K$"$kDI2C$N@_Dj>pJs$K$b!"$3$N<BAu$+$i%"%/%;%9$9$k$3$H
\e(B
110 @chapter
\e$B;H$$J}
\e(B
112 (
\e$B$^$@=q$+$l$F$$$^$;$s
\e(B)
\e$B!#
\e(B
114 Emacs SASL
\e$B%i%$%V%i%j!<$r;H$&$K$O!"%"%W%j%1!<%7%g%s!&%W%m%0%i%`$N:G=i$G!"
\e(B
115 \e$B0J2<$N<0$rI>2A$7$F$/$@$5$$!#
\e(B
121 \e$B<B9T;~$K$N$_
\e(B sasl.el
\e$B$,B8:_$7$F$$$k$3$H$r8!::$7$?$$$J$i$P!"Be$o$j$KI,MW
\e(B
122 \e$B$J4X?t$N
\e(B autoload
\e$B$N@_Dj$rJB$Y$F$*$$$F$b9=$$$^$;$s!#
\e(B
125 @chapter
\e$B%G!<%?$N7?
\e(B
127 \e$B%M%4%7%(!<%H$5$l$?%;%-%e%j%F%#!<AX$NEAAw$K;H$o$l$k;0$D$N%G!<%?$N7?$H$7$F!"
\e(B
128 \e$B%a%+%K%:%`!"%/%i%$%"%s%H!&%Q%i%a!<%?!<!"$*$h$SG'>Z%9%F%C%W$,$"$j$^$9!#
\e(B
137 @section
\e$B%a%+%K%:%`
\e(B
139 \e$B%a%+%K%:%`
\e(B (@code{sasl-mechanism}
\e$B%*%V%8%'%/%H
\e(B)
\e$B$,!"
\e(B@sc{sasl}
\e$BG'>Z%a%+%K
\e(B
140 \e$B%:%`$N%I%i%$%P!<$N%9%-!<%`$G$9!#
\e(B
142 @defvar sasl-mechanisms
143 \e$B%a%+%K%:%`L>$N%j%9%H!#
\e(B
146 @defun sasl-find-mechanism mechanisms
147 \e$BE,@Z$J%a%+%K%:%`$r<hF@$7$^$9!#
\e(B@*
148 \e$B$3$N4X?t$O
\e(B @var{mechanisms}
\e$B$H
\e(B @code{sasl-mechanisms}
\e$B$rHf3S$7$F!"E,@Z
\e(B
149 \e$B$J
\e(B @code{sasl-mechanism}
\e$B%*%V%8%'%/%H$rJV$7$^$9!#
\e(B
152 (let ((sasl-mechanisms '("CRAM-MD5" "DIGEST-MD5")))
153 (setq mechanism (sasl-find-mechanism server-supported-mechanisms)))
157 @defun sasl-mechanism-name mechanism
158 \e$B%a%+%K%:%`$NL>A0$rJ8;zNs$GJV$7$^$9!#
\e(B
161 \e$BG'>Z%a%+%K%:%`$N%I%i%$%P!<
\e(B (@ref{Back end drivers})
\e$B$r=q$-$?$1$l$P!"
\e(B
162 @code{sasl-make-mechanism}
\e$B$r;H$$!"
\e(B@code{sasl-mechanisms}
\e$B$*$h
\e(B
163 \e$B$S
\e(B @code{sasl-mechanism-alist}
\e$B$r@5$7$/JQ99$7$F$/$@$5$$!#
\e(B
165 @defun sasl-make-mechanism name steps
166 @code{sasl-mechanism}
\e$B%*%V%8%'%/%H$r3d$jEv$F$^$9!#
\e(B@*
167 \e$B$3$N4X?t$OFs$D$N%Q%i%a!<%?!<!"$9$J$o$A%a%+%K%:%`$NL>A0!"$*$h$SG'>Z$9$k$?
\e(B
168 \e$B$a$N4X?t$N%j%9%H$r<u$1<h$j$^$9!#
\e(B
171 (defconst sasl-anonymous-steps
172 '(identity ;
\e$B:G=i$O1~EzL5$7
\e(B
173 sasl-anonymous-response))
175 (put 'sasl-anonymous 'sasl-mechanism
176 (sasl-make-mechanism "ANONYMOUS" sasl-anonymous-steps))
181 @section
\e$B%/%i%$%"%s%H
\e(B
183 \e$B%/%i%$%"%s%H
\e(B (@code{sasl-client}
\e$B%*%V%8%'%/%H
\e(B)
\e$B$O;M$D$N%Q%i%a!<%?!<!"$9
\e(B
184 \e$B$J$o$A%a%+%K%:%`!"%f!<%6!<L>!"%5!<%S%9L>!"$*$h$S%5!<%P!<L>$K$h$C$F=i4|2=
\e(B
187 @defun sasl-make-client mechanism name service server
188 @code{sasl-client}
\e$B%*%V%8%'%/%H$rMQ0U$7$^$9!#
\e(B
191 @defun sasl-client-mechanism client
192 \e$B%/%i%$%"%s%H$N%a%+%K%:%`
\e(B (@code{sasl-mechanism}
\e$B%*%V%8%'%/%H
\e(B)
\e$B$rJV$7$^$9!#
\e(B
195 @defun sasl-client-name client
196 \e$B%/%i%$%"%s%H$NG'>ZL>$rJ8;zNs$GJV$7$^$9!#
\e(B
199 @defun sasl-client-service client
200 \e$B%/%i%$%"%s%H$N%5!<%S%9L>$rJ8;zNs$GJV$7$^$9!#
\e(B
203 @defun sasl-client-server client
204 \e$B%/%i%$%"%s%H$N%5!<%P!<L>$rJ8;zNs$GJV$7$^$9!#
\e(B
207 \e$BB0@-$N@_Dj$rDI2C$7$?$$>l9g$O!"
\e(B@code{sasl-client-set-property}
\e$B$r;H$C$F$/
\e(B
210 @defun sasl-client-set-property client property value
211 \e$BM?$($i$l$?B0@-$*$h$S$=$NCM$r%/%i%$%"%s%H$KDI2C$7$^$9!#
\e(B
214 @defun sasl-client-property client property
215 \e$B%/%i%$%s%H$NB0@-$NCM$rJV$7$^$9!#
\e(B
218 @defun sasl-client-set-properties client plist
219 \e$B%/%i%$%"%s%H$NB0@-$rGK2uE*$K@_Dj$7$^$9!#
\e(B@*
220 \e$BBhFs0z?t$O?7$7$$%W%m%Q%F%#!<!&%j%9%H
\e(B (plist)
\e$B$G$9!#
\e(B
223 @defun sasl-client-properties client
224 \e$B%/%i%$%"%s%H$N@_Dj$N%W%m%Q%F%#!<!&%j%9%H$r!"$^$k$4$HJV$7$^$9!#
\e(B
228 @section
\e$B%9%F%C%W
\e(B
230 \e$B%9%F%C%W
\e(B (@code{sasl-step}
\e$B%*%V%8%'%/%H
\e(B)
\e$B$OG'>Z!V%9%F%C%W!W$NCj>]2=$G$9!#
\e(B
231 \e$B$=$l$O!"1~Ez$NCM$H<!2s$NG'>Z=hM}$NF~$j8}$rJ];}$7$^$9
\e(B (
\e$B8e<T$O%"%/%;%9$G$-
\e(B
232 \e$B$^$;$s
\e(B)
\e$B!#
\e(B
234 @defun sasl-step-data step
235 @var{step}
\e$B$,J];}$9$k%G!<%?$rJ8;zNs$GJV$7$^$9!#
\e(B
238 @defun sasl-step-set-data step data
239 @var{step}
\e$B$K
\e(B @var{data}
\e$B$NJ8;zNs$r3JG<$7$^$9!#
\e(B
242 \e$B:G=i$N1~Ez$rF@$k$K$O!"BhFs0z?t$r
\e(B @code{nil}
\e$B$K$7$F4X
\e(B
243 \e$B?t
\e(B @code{sasl-next-step}
\e$B$r8F$P$J$1$l$P$J$j$^$;$s!#
\e(B
246 (setq name (sasl-mechanism-name mechanism))
249 \e$B$3$NCJ3,$G!"
\e(BSASL
\e$B$NG'>Z%W%m%H%3%k$N8r49$r3+;O$9$k%3%^%s%I$rAw$k$3$H$,$G
\e(B
250 \e$B$-$^$9!#Nc$G$9!#
\e(B
255 (if (sasl-step-data step) ;
\e$B:G=i$N1~Ez
\e(B
256 (format "AUTH %s %s\r\n"
257 name (base64-encode-string (sasl-step-data step) t))
258 (format "AUTH %s\r\n" name)))
261 \e$BG'>Z=hM}$rB3$1$k$?$a$K9T$J$o$J$1$l$P$J$i$J$$$3$H$O!"O"B3$7
\e(B
262 \e$B$F
\e(B @code{sasl-next-step}
\e$B$r8F$V$3$H$G$9!#
\e(B
264 @defun sasl-next-step client step
265 \e$BG'>Z%9%F%C%W$r<B9T$7$^$9!#
\e(B@*
266 \e$B:G=i$O
\e(B @var{step}
\e$B$r
\e(B @code{nil}
\e$B$K@_Dj$7$J$1$l$P$J$j$^$;$s!#
\e(B
269 @node Back end drivers
270 @chapter
\e$B%P%C%/%(%s%I!&%I%i%$%P!<
\e(B
272 (
\e$B$^$@=q$+$l$F$$$^$;$s
\e(B)
\e$B!#
\e(B
279 @chapter Function Index
283 @chapter Variable Index
291 @c coding: iso-2022-7bit
294 @c use-kuten-for-period: t
295 @c use-touten-for-comma: t