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