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