1 \input texinfo @c -*-texinfo-*-
5 @firstparagraphindent insert
12 * SASL-ja: (sasl-ja). The Emacs SASL library (Japanese).
15 @settitle Emacs SASL Library @value{VERSION}
18 \e$B$3$N%U%!%$%k$O
\e(B Emacs SASL
\e$B%i%$%V%i%j!<$r@bL@$7$^$9!#
\e(B
20 Copyright @copyright{} 2000, 2004, 2005, 2006, 2007, 2008
21 Free Software Foundation, Inc.
24 Permission is granted to copy, distribute and/or modify this document
25 under the terms of the GNU Free Documentation License, Version 1.3 or
26 any later version published by the Free Software Foundation; with no
27 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
28 and with the Back-Cover Texts as in (a) below. A copy of the license
29 is included in the section entitled ``GNU Free Documentation License''.
31 \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
32 \e$BBh
\e(B 1.3
\e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9
\e(B
33 \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
34 \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
35 \e$B!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^$9!#
\e(B
37 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
38 modify this GNU manual. Buying copies from the FSF supports it in
39 developing GNU and promoting software freedom.''
41 (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
42 \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
43 \e$B$NB%?J$r;Y1g$7$^$9!#!W
\e(B
45 This document is part of a collection distributed under the GNU Free
46 Documentation License. If you want to distribute this document
47 separately from the collection, you can do so by adding a copy of the
48 license to the document, as described in section 6 of the license.
50 \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
51 \e$B$N0lIt$G$9!#$b$7$"$J$?$,$3$NJ8=q$r<}=8Cx:nJ*$+$iJ,N%$7$FG[I[$7$?$$$H$-$O!"
\e(B
52 \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
53 \e$B$K$h$C$F!"9T$J$&$3$H$,$G$-$^$9!#
\e(B
60 @title Emacs SASL Library
65 @vskip 0pt plus 1filll
75 \e$B$3$N%^%K%e%"%k$O
\e(B Emacs SASL
\e$B%i%$%V%i%j!<$r@bL@$7$^$9!#
\e(B
77 \e$B0[$J$k%W%m%H%3%k$r;H$&%"%W%j%1!<%7%g%s4V$G!"J#?t$NG'>Z%a%+%K%:%`$r6&M-$9
\e(B
78 \e$B$k$?$a$N6&DL%$%s%?!<%U%'!<%9$G$9!#
\e(B
81 * Overview:: Emacs SASL
\e$B%i%$%V%i%j!<$H$O
\e(B
82 * How to use::
\e$B%"%W%j%1!<%7%g%s$KG'>Z%5%]!<%H$rDI2C$9$k
\e(B
84 * Back end drivers::
\e$BFH<+$N%I%i%$%P!<$r=q$/
\e(B
93 @sc{sasl}
\e$B$O
\e(B @dfn{Simple Authentication and Security Layer}
\e$B$NN,$G$9!#I8
\e(B
94 \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
95 \e$B%W%m%H%3%k$K!"G'>Z%5%]!<%H$rDI2C$9$k$?$a$N4JC1$J<jCJ$rDs6!$7$^$9!#
\e(B
97 \e$B$3$N%i%$%V%i%j!<$N:G>e0L$N%$%s%?!<%U%'!<%9$O!"
\e(BJava @sc{sasl} Application
98 Program Interface
\e$B$K$h$C$F?(H/$5$l$^$7$?!#$=$l$O!"Cj>]2=$7$?0lO"$NG'>Z%a
\e(B
99 \e$B%+%K%:%`$N%I%i%$%P!<$rDj5A$7$^$9!#
\e(B
101 \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
102 \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
106 @chapter
\e$B;H$$J}
\e(B
108 (
\e$B$^$@=q$+$l$F$$$^$;$s
\e(B)
\e$B!#
\e(B
110 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
111 \e$B0J2<$N<0$rI>2A$7$F$/$@$5$$!#
\e(B
117 \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
118 \e$B$J4X?t$N
\e(B autoload
\e$B$N@_Dj$rJB$Y$F$*$$$F$b9=$$$^$;$s!#
\e(B
121 @chapter
\e$B%G!<%?$N7?
\e(B
123 \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
124 \e$B%a%+%K%:%`!"%/%i%$%"%s%H!&%Q%i%a!<%?!<!"$*$h$SG'>Z%9%F%C%W$,$"$j$^$9!#
\e(B
133 @section
\e$B%a%+%K%:%`
\e(B
135 \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
136 \e$B%:%`$N%I%i%$%P!<$N%9%-!<%`$G$9!#
\e(B
138 @defvar sasl-mechanisms
139 \e$B%a%+%K%:%`L>$N%j%9%H!#
\e(B
142 @defun sasl-find-mechanism mechanisms
143 \e$BE,@Z$J%a%+%K%:%`$r<hF@$7$^$9!#
\e(B@*
144 \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
145 \e$B$J
\e(B @code{sasl-mechanism}
\e$B%*%V%8%'%/%H$rJV$7$^$9!#
\e(B
148 (let ((sasl-mechanisms '("CRAM-MD5" "DIGEST-MD5")))
149 (setq mechanism (sasl-find-mechanism server-supported-mechanisms)))
153 @defun sasl-mechanism-name mechanism
154 \e$B%a%+%K%:%`$NL>A0$rJ8;zNs$GJV$7$^$9!#
\e(B
157 \e$BG'>Z%a%+%K%:%`$N%I%i%$%P!<
\e(B (@ref{Back end drivers})
\e$B$r=q$-$?$1$l$P!"
\e(B
158 @code{sasl-make-mechanism}
\e$B$r;H$$!"
\e(B@code{sasl-mechanisms}
\e$B$*$h
\e(B
159 \e$B$S
\e(B @code{sasl-mechanism-alist}
\e$B$r@5$7$/JQ99$7$F$/$@$5$$!#
\e(B
161 @defun sasl-make-mechanism name steps
162 @code{sasl-mechanism}
\e$B%*%V%8%'%/%H$r3d$jEv$F$^$9!#
\e(B@*
163 \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
164 \e$B$a$N4X?t$N%j%9%H$r<u$1<h$j$^$9!#
\e(B
167 (defconst sasl-anonymous-steps
168 '(identity ;
\e$B:G=i$O1~EzL5$7
\e(B
169 sasl-anonymous-response))
171 (put 'sasl-anonymous 'sasl-mechanism
172 (sasl-make-mechanism "ANONYMOUS" sasl-anonymous-steps))
177 @section
\e$B%/%i%$%"%s%H
\e(B
179 \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
180 \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
183 @defun sasl-make-client mechanism name service server
184 @code{sasl-client}
\e$B%*%V%8%'%/%H$rMQ0U$7$^$9!#
\e(B
187 @defun sasl-client-mechanism client
188 \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
191 @defun sasl-client-name client
192 \e$B%/%i%$%"%s%H$NG'>ZL>$rJ8;zNs$GJV$7$^$9!#
\e(B
195 @defun sasl-client-service client
196 \e$B%/%i%$%"%s%H$N%5!<%S%9L>$rJ8;zNs$GJV$7$^$9!#
\e(B
199 @defun sasl-client-server client
200 \e$B%/%i%$%"%s%H$N%5!<%P!<L>$rJ8;zNs$GJV$7$^$9!#
\e(B
203 \e$BB0@-$N@_Dj$rDI2C$7$?$$>l9g$O!"
\e(B@code{sasl-client-set-property}
\e$B$r;H$C$F$/
\e(B
206 @defun sasl-client-set-property client property value
207 \e$BM?$($i$l$?B0@-$*$h$S$=$NCM$r%/%i%$%"%s%H$KDI2C$7$^$9!#
\e(B
210 @defun sasl-client-property client property
211 \e$B%/%i%$%s%H$NB0@-$NCM$rJV$7$^$9!#
\e(B
214 @defun sasl-client-set-properties client plist
215 \e$B%/%i%$%"%s%H$NB0@-$rGK2uE*$K@_Dj$7$^$9!#
\e(B@*
216 \e$BBhFs0z?t$O?7$7$$%W%m%Q%F%#!<!&%j%9%H
\e(B (plist)
\e$B$G$9!#
\e(B
219 @defun sasl-client-properties client
220 \e$B%/%i%$%"%s%H$N@_Dj$N%W%m%Q%F%#!<!&%j%9%H$r!"$^$k$4$HJV$7$^$9!#
\e(B
224 @section
\e$B%9%F%C%W
\e(B
226 \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
227 \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
228 \e$B$^$;$s
\e(B)
\e$B!#
\e(B
230 @defun sasl-step-data step
231 @var{step}
\e$B$,J];}$9$k%G!<%?$rJ8;zNs$GJV$7$^$9!#
\e(B
234 @defun sasl-step-set-data step data
235 @var{step}
\e$B$K
\e(B @var{data}
\e$B$NJ8;zNs$r3JG<$7$^$9!#
\e(B
238 \e$B:G=i$N1~Ez$rF@$k$K$O!"BhFs0z?t$r
\e(B @code{nil}
\e$B$K$7$F4X
\e(B
239 \e$B?t
\e(B @code{sasl-next-step}
\e$B$r8F$P$J$1$l$P$J$j$^$;$s!#
\e(B
242 (setq name (sasl-mechanism-name mechanism))
245 \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
246 \e$B$-$^$9!#Nc$G$9!#
\e(B
251 (if (sasl-step-data step) ;
\e$B:G=i$N1~Ez
\e(B
252 (format "AUTH %s %s\r\n"
253 name (base64-encode-string (sasl-step-data step) t))
254 (format "AUTH %s\r\n" name)))
257 \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
258 \e$B$F
\e(B @code{sasl-next-step}
\e$B$r8F$V$3$H$G$9!#
\e(B
260 @defun sasl-next-step client step
261 \e$BG'>Z%9%F%C%W$r<B9T$7$^$9!#
\e(B@*
262 \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
265 @node Back end drivers
266 @chapter
\e$B%P%C%/%(%s%I!&%I%i%$%P!<
\e(B
268 (
\e$B$^$@=q$+$l$F$$$^$;$s
\e(B)
\e$B!#
\e(B
275 @chapter Function Index
279 @chapter Variable Index
287 @c coding: iso-2022-7bit
290 @c use-kuten-for-period: t
291 @c use-touten-for-comma: t