Synch with No Gnus (201012062236).
[elisp/gnus-doc-ja.git] / sasl-ja.texi
1 \input texinfo                  @c -*-texinfo-*-
2
3 @setfilename sasl-ja
4 @iftex
5 @firstparagraphindent insert
6 @end iftex
7
8 @set VERSION 0.2
9 @settitle Emacs SASL Library @value{VERSION}
10
11 @copying
12 \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
13 \e$BL@$7$^$9!#\e(B
14
15 Copyright @copyright{} 2000, 2004, 2005, 2006, 2007, 2008, 2009, 2010
16 Free Software Foundation, Inc.
17
18 @quotation
19 Permission is granted to copy, distribute and/or modify this document
20 under the terms of the GNU Free Documentation License, Version 1.3 or
21 any later version published by the Free Software Foundation; with no
22 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
23 and with the Back-Cover Texts as in (a) below.  A copy of the license
24 is included in the section entitled ``GNU Free Documentation License''.
25
26 \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
27 \e$BBh\e(B 1.3 \e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9\e(B
28 \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
29 \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
30 \e$B!V\e(BGNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^$9!#\e(B
31
32 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
33 modify this GNU manual.  Buying copies from the FSF supports it in
34 developing GNU and promoting software freedom.''
35
36 (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
37 \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
38 \e$B$NB%?J$r;Y1g$7$^$9!#!W\e(B
39
40 This document is part of a collection distributed under the GNU Free
41 Documentation License.  If you want to distribute this document
42 separately from the collection, you can do so by adding a copy of the
43 license to the document, as described in section 6 of the license.
44
45 \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
46 \e$B$N0lIt$G$9!#$b$7$"$J$?$,$3$NJ8=q$r<}=8Cx:nJ*$+$iJ,N%$7$FG[I[$7$?$$$H$-$O!"\e(B
47 \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
48 \e$B$K$h$C$F!"9T$J$&$3$H$,$G$-$^$9!#\e(B
49 @end quotation
50 @end copying
51
52 @dircategory Emacs
53 @direntry
54 * SASL-ja: (sasl-ja).           The Emacs SASL library (Japanese).
55 @end direntry
56
57 @titlepage
58 @title Emacs SASL Library @value{VERSION}
59
60 @author by Daiki Ueno
61 @page
62
63 @vskip 0pt plus 1filll
64 @insertcopying
65 @end titlepage
66
67 @node Top
68 @top Emacs SASL
69
70 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
71 \e$B$r6&M-$9$k$?$a$N6&DL%$%s%?!<%U%'!<%9$G$9!#\e(B
72
73 @ifnottex
74 @insertcopying
75 @end ifnottex
76
77 @menu
78 * Overview::                    Emacs SASL \e$B%i%$%V%i%j!<$H$O\e(B
79 * How to use::                  \e$B%"%W%j%1!<%7%g%s$KG'>Z%5%]!<%H$rDI2C$9$k\e(B
80 * Data types::
81 * Back end drivers::            \e$BFH<+$N%I%i%$%P!<$r=q$/\e(B
82 * Index::
83 * Function Index::
84 * Variable Index::
85 @end menu
86
87 @node Overview
88 @chapter \e$BBgMW\e(B
89
90 @sc{sasl} \e$B$O\e(B @dfn{Simple Authentication and Security Layer} \e$B$NN,$G$9!#I8\e(B
91 \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
92 \e$B%W%m%H%3%k$K!"G'>Z%5%]!<%H$rDI2C$9$k$?$a$N4JC1$J<jCJ$rDs6!$7$^$9!#\e(B
93
94 \e$B$3$N%i%$%V%i%j!<$N:G>e0L$N%$%s%?!<%U%'!<%9$O!"\e(BJava @sc{sasl} Application
95 Program Interface \e$B$K$h$C$F?(H/$5$l$^$7$?!#$=$l$O!"Cj>]2=$7$?0lO"$NG'>Z%a\e(B
96 \e$B%+%K%:%`$N%I%i%$%P!<$rDj5A$7$^$9!#\e(B
97
98 \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
99 \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
100 \e$B$,$G$-$^$9!#\e(B
101
102 @node How to use
103 @chapter \e$B;H$$J}\e(B
104
105 (\e$B$^$@=q$+$l$F$$$^$;$s\e(B)\e$B!#\e(B
106
107 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
108 \e$B0J2<$N<0$rI>2A$7$F$/$@$5$$!#\e(B
109
110 @lisp
111 (require 'sasl)
112 @end lisp
113
114 \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
115 \e$B$J4X?t$N\e(B autoload \e$B$N@_Dj$rJB$Y$F$*$$$F$b9=$$$^$;$s!#\e(B
116
117 @node Data types
118 @chapter \e$B%G!<%?$N7?\e(B
119
120 \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
121 \e$B%a%+%K%:%`!"%/%i%$%"%s%H!&%Q%i%a!<%?!<!"$*$h$SG'>Z%9%F%C%W$,$"$j$^$9!#\e(B
122
123 @menu
124 * Mechanisms::
125 * Clients::
126 * Steps::
127 @end menu
128
129 @node Mechanisms
130 @section \e$B%a%+%K%:%`\e(B
131
132 \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
133 \e$B%:%`$N%I%i%$%P!<$N%9%-!<%`$G$9!#\e(B
134
135 @defvar sasl-mechanisms
136 \e$B%a%+%K%:%`L>$N%j%9%H!#\e(B
137 @end defvar
138
139 @defun sasl-find-mechanism mechanisms
140 \e$BE,@Z$J%a%+%K%:%`$r<hF@$7$^$9!#\e(B@*
141 \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
142 \e$B$J\e(B @code{sasl-mechanism} \e$B%*%V%8%'%/%H$rJV$7$^$9!#\e(B
143
144 @lisp
145 (let ((sasl-mechanisms '("CRAM-MD5" "DIGEST-MD5")))
146   (setq mechanism (sasl-find-mechanism server-supported-mechanisms)))
147 @end lisp
148 @end defun
149
150 @defun sasl-mechanism-name mechanism
151 \e$B%a%+%K%:%`$NL>A0$rJ8;zNs$GJV$7$^$9!#\e(B
152 @end defun
153
154 \e$BG'>Z%a%+%K%:%`$N%I%i%$%P!<\e(B (@ref{Back end drivers}) \e$B$r=q$-$?$1$l$P!"\e(B
155 @code{sasl-make-mechanism} \e$B$r;H$$!"\e(B@code{sasl-mechanisms} \e$B$*$h\e(B
156 \e$B$S\e(B @code{sasl-mechanism-alist} \e$B$r@5$7$/JQ99$7$F$/$@$5$$!#\e(B
157
158 @defun sasl-make-mechanism name steps
159 @code{sasl-mechanism} \e$B%*%V%8%'%/%H$r3d$jEv$F$^$9!#\e(B@*
160 \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
161 \e$B$a$N4X?t$N%j%9%H$r<u$1<h$j$^$9!#\e(B
162
163 @lisp
164 (defconst sasl-anonymous-steps
165   '(identity                            ; \e$B:G=i$O1~EzL5$7\e(B
166     sasl-anonymous-response))
167
168 (put 'sasl-anonymous 'sasl-mechanism
169      (sasl-make-mechanism "ANONYMOUS" sasl-anonymous-steps))
170 @end lisp
171 @end defun
172
173 @node Clients
174 @section \e$B%/%i%$%"%s%H\e(B
175
176 \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
177 \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
178 \e$B$5$l$^$9!#\e(B
179
180 @defun sasl-make-client mechanism name service server
181 @code{sasl-client} \e$B%*%V%8%'%/%H$rMQ0U$7$^$9!#\e(B
182 @end defun
183
184 @defun sasl-client-mechanism client
185 \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
186 @end defun
187
188 @defun sasl-client-name client
189 \e$B%/%i%$%"%s%H$NG'>ZL>$rJ8;zNs$GJV$7$^$9!#\e(B
190 @end defun
191
192 @defun sasl-client-service client
193 \e$B%/%i%$%"%s%H$N%5!<%S%9L>$rJ8;zNs$GJV$7$^$9!#\e(B
194 @end defun
195
196 @defun sasl-client-server client
197 \e$B%/%i%$%"%s%H$N%5!<%P!<L>$rJ8;zNs$GJV$7$^$9!#\e(B
198 @end defun
199
200 \e$BB0@-$N@_Dj$rDI2C$7$?$$>l9g$O!"\e(B@code{sasl-client-set-property} \e$B$r;H$C$F$/\e(B
201 \e$B$@$5$$!#\e(B
202
203 @defun sasl-client-set-property client property value
204 \e$BM?$($i$l$?B0@-$*$h$S$=$NCM$r%/%i%$%"%s%H$KDI2C$7$^$9!#\e(B
205 @end defun
206
207 @defun sasl-client-property client property
208 \e$B%/%i%$%s%H$NB0@-$NCM$rJV$7$^$9!#\e(B
209 @end defun
210
211 @defun sasl-client-set-properties client plist
212 \e$B%/%i%$%"%s%H$NB0@-$rGK2uE*$K@_Dj$7$^$9!#\e(B@*
213 \e$BBhFs0z?t$O?7$7$$%W%m%Q%F%#!<!&%j%9%H\e(B (plist) \e$B$G$9!#\e(B
214 @end defun
215
216 @defun sasl-client-properties client
217 \e$B%/%i%$%"%s%H$N@_Dj$N%W%m%Q%F%#!<!&%j%9%H$r!"$^$k$4$HJV$7$^$9!#\e(B
218 @end defun
219
220 @node Steps
221 @section \e$B%9%F%C%W\e(B
222
223 \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
224 \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
225 \e$B$^$;$s\e(B)\e$B!#\e(B
226
227 @defun sasl-step-data step
228 @var{step} \e$B$,J];}$9$k%G!<%?$rJ8;zNs$GJV$7$^$9!#\e(B
229 @end defun
230
231 @defun sasl-step-set-data step data
232 @var{step} \e$B$K\e(B @var{data} \e$B$NJ8;zNs$r3JG<$7$^$9!#\e(B
233 @end defun
234
235 \e$B:G=i$N1~Ez$rF@$k$K$O!"BhFs0z?t$r\e(B @code{nil} \e$B$K$7$F4X\e(B
236 \e$B?t\e(B @code{sasl-next-step} \e$B$r8F$P$J$1$l$P$J$j$^$;$s!#\e(B
237
238 @lisp
239 (setq name (sasl-mechanism-name mechanism))
240 @end lisp
241
242 \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
243 \e$B$-$^$9!#Nc$G$9!#\e(B
244
245 @lisp
246 (process-send-string
247  process
248  (if (sasl-step-data step)              ; \e$B:G=i$N1~Ez\e(B
249      (format "AUTH %s %s\r\n"
250              name (base64-encode-string (sasl-step-data step) t))
251    (format "AUTH %s\r\n" name)))
252 @end lisp
253
254 \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
255 \e$B$F\e(B @code{sasl-next-step} \e$B$r8F$V$3$H$G$9!#\e(B
256
257 @defun sasl-next-step client step
258 \e$BG'>Z%9%F%C%W$r<B9T$7$^$9!#\e(B@*
259 \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
260 @end defun
261
262 @node Back end drivers
263 @chapter \e$B%P%C%/%(%s%I!&%I%i%$%P!<\e(B
264
265 (\e$B$^$@=q$+$l$F$$$^$;$s\e(B)\e$B!#\e(B
266
267 @node Index
268 @chapter Index
269 @printindex cp
270
271 @node Function Index
272 @chapter Function Index
273 @printindex fn
274
275 @node Variable Index
276 @chapter Variable Index
277 @printindex vr
278
279 @summarycontents
280 @contents
281 @bye
282
283 @c Local Variables:
284 @c coding: iso-2022-7bit
285 @c fill-column: 72
286 @c mode: texinfo
287 @c use-kuten-for-period: t
288 @c use-touten-for-comma: t
289 @c End: